/* /quote/: the quote request page. Reuses .contact, .c-aside, .enq, .fld, .send, .alert and .sent from style.css. */
.quote{padding-bottom:var(--sec)}
.q-grid{margin-top:0;grid-template-columns:minmax(0,1fr) minmax(0,600px);column-gap:72px}
.q-aside{gap:14px}
.q-h{margin:14px 0 0;font:700 clamp(20px,2vw,26px)/1.15 var(--display);letter-spacing:-.02em}
.q-h:first-child{margin-top:0}
.q-steps{margin:0;padding:0;list-style:none;counter-reset:q;display:grid;gap:14px}
.q-steps li{counter-increment:q;position:relative;padding-left:46px;font-size:1.0625rem;line-height:1.5;color:var(--ink-soft)}
.q-steps li strong{color:var(--ink)}
.q-steps li::before{content:counter(q);position:absolute;left:0;top:-1px;width:32px;height:32px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--blue);color:var(--ink);font:700 1rem/1 var(--display)}
.q-note{margin:0;font-size:1.0625rem;line-height:1.5;color:var(--ink-soft)}
.q-note a{text-decoration:underline;text-underline-offset:3px;font-weight:650;color:var(--ink)}
.q-need{margin:0;padding:0;border:0;display:grid;gap:10px;min-width:0}
.q-need legend{padding:0;margin-bottom:12px;font:700 1rem/1.25 var(--body)}
.q-opts{display:grid;gap:8px}
.q-opt{display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 14px;border:2px solid var(--ink);background:var(--paper-3);font:500 1.0625rem/1.3 var(--body);cursor:pointer}
.q-opt input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--ink)}
.q-opt:has(input:checked){background:var(--blue)}
.q-opt:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}
.q-need[aria-invalid="true"] .q-opt{border-color:var(--err)}
.q-opt-t{font:500 .875rem/1 var(--body);color:var(--ink-soft)}
.q-form .err{margin-top:0}
.q-sent[hidden]{display:none!important}
@media(max-width:959px){.q-grid{grid-template-columns:minmax(0,1fr);row-gap:36px}.q-formwrap{order:-1}}
