/* ============================================================
   GET A QUOTE — 1:1 with sFgB3. Fluid / rem.
   ============================================================ */
.q-hero{ padding-top:3.5rem; padding-bottom:2.5rem; }
.q-crumb{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.11em; color:#AEB7A6; margin:0 0 0.875rem; }
.q-title{ font-family:var(--font-display); font-weight:800; font-size:3.25rem; letter-spacing:-.01em; line-height:1.02; color:#F6F8F3; margin:0 0 0.875rem; }
.q-sub{ color:#AEB7A6; font-size:0.9375rem; line-height:1.5; max-width:35rem; margin:0; }

.q-main{ padding-bottom:4rem; }
.q-main-grid{ display:flex; gap:3.5rem; align-items:flex-start; }

/* Form card */
.q-form{ flex:1 1 0; display:flex; flex-direction:column; gap:0.875rem; background:#272E27; border-radius:0.375rem; padding:2rem; }
.q-form-t{ font-family:var(--font-display); font-weight:800; font-size:1rem; letter-spacing:.02em; color:#F6F8F3; margin:0 0 0.25rem; }
.q-row{ display:flex; gap:0.8125rem; }
.q-row > *{ flex:1 1 0; min-width:0; }
.q-form input, .q-form select, .q-form textarea{ font-family:var(--font-body); font-size:0.813rem; color:#232925; background:#fff; border:0; border-radius:0.25rem; padding:0.875rem 0.9375rem; width:100%; }
.q-form input::placeholder, .q-form textarea::placeholder{ color:#8A8F88; font-size:0.781rem; font-weight:600; letter-spacing:.03em; }
.q-form select{ color:#8A8F88; font-size:0.781rem; font-weight:600; letter-spacing:.03em; }
.q-submit{ align-self:flex-start; width:auto; min-width:14.375rem; justify-content:center; margin-top:0.25rem; }

/* Side */
.q-side{ flex:0 0 25rem; display:flex; flex-direction:column; gap:2rem; }
.q-side-t{ font-family:var(--font-display); font-weight:700; font-size:0.719rem; letter-spacing:.12em; color:#AEB7A6; margin:0 0 0.25rem; }
.q-step{ display:flex; gap:1rem; padding-block:1rem; border-bottom:1px solid #3A4238; }
.q-step:last-child{ border-bottom:0; }
.q-step-no{ font-family:var(--font-display); font-weight:800; font-size:1.25rem; color:#9CBE6E; flex:0 0 1.75rem; }
.q-step-tc{ display:flex; flex-direction:column; gap:0.25rem; }
.q-step-h{ font-family:var(--font-display); font-weight:800; font-size:0.9375rem; color:#F6F8F3; }
.q-step-d{ color:#AEB7A6; font-size:0.813rem; line-height:1.5; }
.q-contact{ background:#272E27; border-radius:0.375rem; padding:1.5rem; }
.q-contact-p{ display:block; font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:#F6F8F3; margin:0.25rem 0; }
.q-contact-m, .q-contact-a{ color:#AEB7A6; font-size:0.813rem; margin:0.25rem 0 0; }
.q-contact-m a{ color:#AEB7A6; }
.q-contact-m a:hover{ color:#9CBE6E; }

/* Trust strip (light) */
.q-trust{ background:#FBFAF6; border-top:1px solid #E4E0D4; }
.q-trust-grid{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.625rem; flex-wrap:wrap; }
.q-trust-item{ display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-display); font-weight:700; font-size:0.75rem; letter-spacing:.02em; color:#232925; }
.q-trust-item svg{ width:0.9375rem; height:0.9375rem; color:#232925; }
.q-trust-sep{ width:1px; height:1.25rem; background:#E4E0D4; flex:none; }

@media (max-width:900px){
  .q-main-grid{ flex-direction:column; }
  .q-side{ flex-basis:auto; width:100%; }
  .q-row{ flex-direction:column; }
  .q-title{ font-size:2.5rem; }
  .q-trust-sep{ display:none; }
  .q-trust-grid{ gap:0.75rem 1.5rem; justify-content:flex-start; }
}
@media (max-width:480px){
  .q-title{ font-size:2rem; }
}
