/* Scoped to the estimator so existing homepage sections retain their styles. */
.wq-impact { padding: 88px 20px; background: linear-gradient(135deg, #f0fdf4, #f2f7fd); }
.wq-impact-container { max-width: 1120px; margin-inline: auto; min-width: 0; }
.wq-impact-heading { text-align: center; max-width: 720px; margin: 0 auto 38px; }
.wq-impact-eyebrow { display: block; color: #166534; font-size: .72rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 12px; }
.wq-impact-heading h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.2; letter-spacing: -.04em; margin-bottom: 16px; }
.wq-impact-heading h2 span { color: #0750ad; }
.wq-impact-heading p, .wq-impact-muted { color: var(--text-muted, #4b5e47); font-size: .9rem; }
.wq-impact-layout { display: grid; grid-template-columns: 1fr 1.12fr; gap: 24px; align-items: stretch; }
.wq-impact-inputs, .wq-impact-results { min-width: 0; border: 1px solid #dbe8e1; border-radius: 20px; padding: 30px; background: #fff; box-shadow: 0 8px 32px rgba(10,32,22,.05); }
.wq-impact h3 { font-size: 1.2rem; line-height: 1.4; margin-bottom: 7px; }
.wq-impact-field { min-width: 0; margin-top: 20px; }
.wq-impact-field label { display: block; font-size: .81rem; font-weight: 700; margin-bottom: 8px; }
.wq-impact-field input, .wq-impact-field select { display: block; width: 100%; min-width: 0; height: 49px; padding: 10px 12px; border: 1px solid #c6d8cf; border-radius: 9px; font: inherit; font-size: .93rem; color: #0a2016; background: #fcfefc; }
.wq-impact-field input:focus-visible, .wq-impact-field select:focus-visible { outline: 3px solid #0750ad; outline-offset: 3px; }
.wq-impact-field-row { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; }
.wq-impact-help, .wq-impact-validation, .wq-impact-disclaimer { font-size: .74rem; line-height: 1.65; margin-top: 12px; color: #4b5e47; }
.wq-impact-validation { color: #8b3d12; }
.wq-impact-validation:empty { display: none; }
.wq-impact-results { background: linear-gradient(145deg, #fff 35%, #f3faf8); display: flex; flex-direction: column; }
.wq-impact-results-heading { margin-bottom: 24px; }
.wq-impact-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; flex: 1; }
.wq-impact-metric { padding: 18px; border: 1px solid #dce9e4; border-radius: 12px; background: #fff; min-width: 0; }
.wq-impact-metric dt { font-size: .79rem; font-weight: 700; }
.wq-impact-metric dt span, .wq-impact-metric dd > span { display: block; font-size: .68rem; font-weight: 500; color: #4b5e47; margin-top: 5px; }
.wq-impact-metric dd { margin-top: 13px; color: #166534; font-weight: 800; font-size: clamp(1.2rem, 2.4vw, 1.7rem); line-height: 1.35; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wq-impact-metric-carbon dd { color: #0750ad; }
.wq-impact-total { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding: 24px; background: linear-gradient(105deg, #166534, #147b78 55%, #0750ad); border-radius: 12px; color: white; }
.wq-impact-total > span { font-size: .86rem; font-weight: 700; }
.wq-impact-total small { display: block; font-size: .66rem; font-weight: 400; margin-top: 5px; }
.wq-impact-total output { min-width: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .wq-impact { padding: 56px 16px; }
  .wq-impact-layout { grid-template-columns: minmax(0, 1fr); }
  .wq-impact-inputs, .wq-impact-results { padding: 24px; }
}
@media (max-width: 400px) {
  .wq-impact-inputs, .wq-impact-results { padding: 18px; }
  .wq-impact-field-row, .wq-impact-metrics { grid-template-columns: minmax(0, 1fr); }
  .wq-impact-total { padding: 18px; flex-direction: column; align-items: flex-start; gap: 12px; }
}