.field-help {
  color: var(--muted);
  font-size: .9rem;
  margin-bottom: 0;
}

.field-format {
  color: var(--orange);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.product-section {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: start;
}

.section-heading {
  position: sticky;
  top: 120px;
}

.spec-table {
  border-top: 1px solid var(--line);
}

.spec-group h3 {
  background: #ebe7df;
  margin: 0;
  padding: .75rem 1rem;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.spec-row {
  display: grid;
  grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr);
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-top: 0;
  background: #fff;
}

.spec-row span { color: #4d4b47; }
.lead-light { color: #ddd; }

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: #3a3a3a;
  border: 1px solid #3a3a3a;
  margin-top: 2.5rem;
}

.option-grid article { background: #181818; padding: 1.6rem; }
.option-grid small { color: var(--orange); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.option-grid h3 { color: #fff; margin: .6rem 0; }
.option-grid p { font-size: .95rem; color: #aaa; }

.quote-band { background: #e9e4db; border-top: 1px solid var(--line); }
.quote-band-inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.quote-band h2 { margin-bottom: 0; }

@media (max-width: 900px) {
  .product-section { grid-template-columns: 1fr; }
  .section-heading { position: static; }
}

@media (max-width: 620px) {
  .option-grid { grid-template-columns: 1fr; }
  .spec-row { grid-template-columns: 1fr; gap: .25rem; }
  .quote-band-inner { align-items: flex-start; flex-direction: column; }
}
