/* Request-a-Quote additions on top of the shared WSI style.css */
.eyebrow { margin: 0 0 6px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-dark); }
.req { color: #b91c1c; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.steps article { border-left: 3px solid var(--teal); padding: 2px 0 2px 12px; }
.steps h3 { margin: 0 0 4px; font-size: 1rem; color: var(--navy); }
.steps p { margin: 0; color: var(--muted); font-size: .92rem; }
.steps .step-num { font-weight: 800; color: var(--teal-dark); margin-bottom: 4px; font-size: .85rem; }
.quote-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 16px; align-items: start; }
.quote-layout .card { margin-top: 16px; }
.aside h3 { margin: 0 0 6px; color: var(--navy); }
.aside p { margin: 0 0 8px; }
.aside hr { border: 0; border-top: 1px solid var(--line); margin: 12px 0; }
.aside-label { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 2px !important; }
label.check { display: flex; gap: 8px; align-items: center; text-transform: none; letter-spacing: 0; font-size: .95rem; color: var(--ink); font-weight: 600; }
label.check input { width: 18px; height: 18px; margin: 0; }
.has-error input, .has-error textarea { border-color: #dc2626; }
.field-error { color: #991b1b; font-size: .82rem; margin: 4px 0 0; }
.thanks { text-align: center; padding: 34px 22px; }
.thanks h2 { font-size: 1.8rem; }
.thanks-actions { margin-top: 18px !important; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 760px) {
  .steps, .quote-layout { grid-template-columns: 1fr; }
}
