.segments.bedrooms {
  grid-template-columns: repeat(5, 1fr);
}

.preference-row {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 18px;
  margin: 0 0 25px;
}

.preference-row label span {
  color: #78827f;
  font-weight: 400;
  text-transform: none;
}

.money-input { position: relative; }
.money-input > span {
  position: absolute;
  left: 14px;
  top: 15px;
  font-weight: 700;
}
.money-input input { padding-left: 30px; }

.check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--rule);
  background: #fff;
  text-transform: none;
  cursor: pointer;
}

.check > input {
  flex: 0 0 auto;
  width: 19px;
  min-height: 19px;
  margin: 2px 0 0;
}

.check strong,
.check small { display: block; }
.check small { font-weight: 400; line-height: 1.45; }

.report-counts {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  margin: 25px 0;
  border: 1px solid var(--rule);
  background: var(--rule);
}

.report-counts div {
  padding: 14px;
  background: #fff;
  text-align: center;
}

.report-counts strong,
.report-counts span { display: block; }
.report-counts strong { font: 800 1.35rem "Playfair Display"; }
.report-counts span {
  color: #66716e;
  font-size: .65rem;
  text-transform: uppercase;
}

.source-name {
  color: #7a8581;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.cards { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
  .segments.bedrooms { grid-template-columns: repeat(3, 1fr); }
  .cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 800px) {
  .cards { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .preference-row { grid-template-columns: 1fr; }
  .segments.bedrooms,
  .report-counts { grid-template-columns: repeat(2, 1fr); }
}
