/* ==========================================================================
   Residential Solutions page
   ========================================================================== */

/* ---------- Main block: heading, project accordion, service cards ---------- */
.rs-main { padding: 1em 0; }
.rs-wrap { padding: 10px; }
.rs-heading { max-width: 720px; margin: 0 auto; padding: 2em; text-align: center; }
.rs-experience { padding: 10px; }
.rs-experience-title { color: var(--c-red); padding-bottom: 10px; margin-bottom: 20px; }

/* Accordion: the original keeps the same head and table sizes at every width */
.rs-accordion .acc-title { margin: 0; font: inherit; letter-spacing: normal; text-transform: none; }
.rs-accordion .acc-head { padding: 15px 31px; font-size: 16px; gap: 4px; }
.rs-accordion .acc-head .icon g { stroke-width: 1.1; }
.rs-accordion .acc-head .icon-arrow-up { font-size: 24px; margin: -2px -6px; }
.rs-accordion .acc-head .icon-arrow-down { font-size: 32px; margin: -4px -8px; }
.rs-accordion .acc-body { padding: 30px 85px 20px 65px; }
.rs-accordion .project-table { font-size: 14.4px; line-height: 1.5; border-color: #bbb; }
.rs-accordion .project-table th { width: auto; }
.rs-accordion .project-table th,
.rs-accordion .project-table td { padding: 15px; border-color: #bbb; }
.rs-accordion .project-figure { margin-top: 16px; }
.rs-photos { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 4px; margin-top: 16px; }
.rs-photos.is-center { justify-content: center; }
.rs-photos img { flex: 0 1 auto; min-width: 0; }

/* Service cards: two per row, dashed blue frame */
.rs-cards {
  list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2em; padding: 1em;
}
.rs-card {
  padding: 3em 2em; text-align: center;
  border: 1px dashed var(--c-blue); border-radius: var(--radius-lg);
  transition: box-shadow .3s, transform .3s;
}
.rs-card:hover { box-shadow: 0 12px 40px -18px rgba(13, 30, 70, .35); transform: translateY(-3px); }
.rs-card img {
  width: 100%; height: 250px; margin-bottom: 28px;
  object-fit: cover; object-position: center; border-radius: var(--radius);
}
.rs-card.is-tall img { height: 300px; }
.rs-card-title {
  margin-bottom: 15px;
  font-size: var(--fs-h4); font-weight: 300; line-height: 1.3; letter-spacing: -0.5px;
}
.rs-card p { margin: 0; }
.rs-card p a { color: var(--c-blue); text-decoration: underline; text-underline-offset: 2px; }
.rs-card p a:hover { color: var(--c-red); }

/* ---------- Closing section: text, technician, counters ---------- */
.rs-closing { padding: 1em 0 0; overflow: hidden; }
.rs-closing-grid { display: flex; }
.rs-closing-text {
  width: 40%; padding: 3em 5em 3em 1em;
  display: flex; flex-direction: column; justify-content: center;
}
.rs-closing-text h2 { margin-bottom: 20px; }
.rs-closing-text p { margin: 0 0 36px; } /* the original keeps a hidden button's spacing under the text */
.rs-closing-media { width: 30%; background: url(../../img/2023/10/memphis_img2.png) center no-repeat; }
.rs-closing-media img { margin: 0 auto; }
.rs-closing-counters { width: 29.666%; padding: 3em 1em 3em 5em; justify-content: center; }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .rs-main { padding: 1em 0 0; }
  .rs-cards { gap: 20px; padding: 10px; }
  .rs-card { padding: 2em; }
  .rs-closing-grid { flex-wrap: wrap; }
  .rs-closing-text { width: 100%; padding: 2em; }
  .rs-closing-media { width: 60%; }
  .rs-closing-counters { width: 40%; padding: 2em; }
}

/* ---------- Phone ---------- */
@media (max-width: 767px) {
  .rs-main { padding: 0; }
  .rs-heading { padding: 21px; }
  .rs-accordion .acc-head { padding: 15px 31px; font-size: 16px; }
  .rs-accordion .acc-body { padding: 30px 50px 20px 65px; }
  .rs-accordion .project-table { font-size: 14.4px; }
  .rs-accordion .project-table th,
  .rs-accordion .project-table td { padding: 15px; }
  .rs-cards { grid-template-columns: minmax(0, 1fr); }
  .rs-closing-text, .rs-closing-media, .rs-closing-counters { width: 100%; }
  .rs-closing-text, .rs-closing-counters { padding: 21px; }
}
