/* ============================================================
   90-home — small Propel-specific additions to home sections.
   Every selector is scoped under .sec-90-home, which is added
   alongside the owning section's own root class.
   ============================================================ */

/* --- 04 conditions: the six conditions with no body-map region --- */
.sec-90-home .sec-90-home__also {
  margin-top: clamp(2rem, 4vw, 3rem);
  text-align: center;
}
.sec-90-home .sec-90-home__also-label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-on-bone-dim);
  margin-bottom: 0.85rem;
}
.sec-90-home .sec-90-home__also-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
}
.sec-90-home .sec-90-home__also-list a {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--line-bone);
  background: var(--white);
  color: var(--text-on-bone);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
.sec-90-home .sec-90-home__also-list a:hover,
.sec-90-home .sec-90-home__also-list a:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
}

/* --- 05 services: "All services" link + rebalanced bento ---
   Row 1: Physical Therapy (tall, left) + Sports Rehab.
   Row 2: Dry Needling beside the tall tile.
   Row 3: Pelvic Floor and Manual Therapy as two equal halves. */
.sec-90-home .sec-90-home__cta {
  margin-top: clamp(2rem, 4vw, 3rem);
  text-align: center;
}
@media (min-width: 861px) {
  .sec-90-home .sec-05-services__grid {
    grid-template-rows: clamp(260px, 22vw, 340px) clamp(260px, 22vw, 340px) clamp(240px, 19vw, 300px);
  }
  .sec-90-home .sec-05-services__tile--needling {
    grid-column: 8 / 13;
    grid-row: 2 / 3;
  }
  .sec-90-home .sec-05-services__tile--massage {
    grid-column: 1 / 7;
    grid-row: 3 / 4;
    margin-top: 0;
  }
  .sec-90-home .sec-05-services__tile--massage .sec-05-services__body {
    padding: 1.5rem 1.6rem;
    gap: 0.5rem;
  }
  .sec-90-home .sec-05-services__tile--massage .sec-05-services__tags { gap: 0.4rem; }
  .sec-90-home .sec-05-services__tile--massage .sec-05-services__tag {
    font-size: 0.7rem;
    padding: 0.28rem 0.7rem;
  }
  .sec-90-home .sec-05-services__tile--massage .sec-05-services__desc {
    font-size: 0.92rem;
    max-width: 38ch;
    display: block;
    overflow: visible;
  }
  .sec-90-home .sec-05-services__tile--perf {
    grid-column: 7 / 13;
    grid-row: 3 / 4;
  }
  .sec-90-home .sec-05-services__tile--perf .sec-05-services__body {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.5rem;
  }
  .sec-90-home .sec-05-services__tile--perf .sec-05-services__desc {
    flex: 0 0 auto;
    max-width: 38ch;
  }
  .sec-90-home .sec-05-services__tile--perf .sec-05-services__arrow { margin-left: 0; }
}

/* --- 09 team: five people, second row centred --- */
@media (min-width: 861px) {
  .sec-90-home .sec-09-team__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sec-90-home .sec-09-team__card { grid-column: span 2; }
  .sec-90-home .sec-09-team__card:nth-child(4) { grid-column: 2 / 4; }
  .sec-90-home .sec-09-team__card:nth-child(5) { grid-column: 4 / 6; }
}

/* --- 16 comebacks: real review spans vary in length, so fix the card width
   (otherwise each card sizes to one long line of text) --- */
.sec-90-home .sec-16-comebacks__track { align-items: stretch; }
.sec-90-home .sec-16-comebacks__card { width: 22rem; }
.sec-90-home .sec-16-comebacks__foot { margin-top: auto; padding-top: 1.1rem; }
@media (max-width: 480px) {
  .sec-90-home .sec-16-comebacks__card { width: 18rem; }
}

/* --- 13 location: city links inside the "also serving" row --- */
.sec-90-home .sec-13-location__row span a {
  padding-top: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--accent);
}

/* Payment-method chips: the grid stretches to match the tall benefits form, so each chip
   carries a one-line explainer instead of sitting as an empty box. */
.sec-11-insurance .sec-11-insurance__chip { flex-direction: column; gap: 0.45rem; }
.sec-11-insurance .sec-11-insurance__chip small {
  font-size: var(--fs-small);
  line-height: 1.4;
  color: var(--text-on-bone-dim);
  max-width: 18ch;
}

/* Insurance panel: consecutive footnotes (self-pay, LOP, payment) read as separate notes. */
.sec-11-insurance .sec-11-insurance__footnote + .sec-11-insurance__footnote { margin-top: 0.75rem; }
