/* Werkwijze: dezelfde basis als de vernieuwde locatiepagina's. */
.approach-page h1 { hyphens: none; }
.approach-page .r-hero-copy > p { max-width: 485px; }
.approach-page .r-essentials { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.approach-page .w-jumps { background: #fff; border-bottom: 1px solid var(--r-line); }
.approach-page .w-jumps .r-wrap { display: flex; flex-wrap: wrap; gap: 0 36px; padding-top: 10px; padding-bottom: 10px; }
.approach-page .w-jumps a { display: inline-flex; align-items: center; min-height: 44px; color: var(--r-ink); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 5px; }
.approach-page .r-steps { gap: 30px; }
.approach-page .w-treatment-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 64px; align-items: center; }
.approach-page .w-treatment-grid h3 { margin-top: 28px; }
.approach-page .w-pack-list { margin: 24px 0; padding-left: 21px; }
.approach-page .w-pack-list li { padding-left: 5px; margin-bottom: 14px; }
.approach-page .w-pack-list li::marker { color: var(--r-purple); }
.approach-page .w-small { font-size: 13px; }
.approach-page .w-small a,
.approach-page .w-source a,
.approach-page .w-fenne a { text-decoration: underline; text-underline-offset: 3px; }
.approach-page .r-questions h3 { margin-bottom: 20px; }
.approach-page .r-questions details:first-of-type { border-top: 1px solid var(--r-line); }
.approach-page .w-care-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 72px; align-items: start; }
.approach-page .w-fenne { display: flex; align-items: center; gap: 20px; margin-top: 28px; }
.approach-page .w-fenne img { flex: 0 0 86px; width: 86px; height: 116px; object-fit: cover; object-position: center 15%; border-radius: 12px 12px 28px 12px; }
.approach-page .w-fenne strong { display: block; font-family: 'Baloo 2', 'Nunito', Arial, sans-serif; color: var(--r-ink); font-size: 23px; line-height: 1.3; }
.approach-page .w-fenne > div > span { display: block; font-size: 13px; line-height: 1.5; margin: 4px 0; }
.approach-page .w-fenne a { display: inline-block; font-size: 14px; font-weight: 700; padding: 6px 0; }
.approach-page .w-quality { border-left: 1px solid var(--r-line); padding: 10px 0 10px 36px; }
.approach-page .w-source { font-size: 13px; margin-top: 22px; margin-bottom: 0; }
.approach-page .w-reviews { background: var(--r-mint); }
.approach-page .w-reviews-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.approach-page .w-review-panel { min-width: 0; padding: 20px; border-radius: 20px; border: 1px solid #d2ded5; background: #fff; }
.approach-page .w-review-widget { width: 100%; height: 420px; border: 0; display: block; }
.approach-page .w-review-widget:not([src]) { display: none; }
.approach-page .w-review-widget[src] + .w-review-placeholder { display: none; }
.approach-page .w-review-placeholder { padding: 12px; }
.approach-page .w-review-placeholder h3 { font-size: 25px; }
.approach-page .w-review-placeholder p { font-size: 15px; }
.approach-page .w-review-panel > .r-action { font-size: 14px; margin: 12px; }
.approach-page .w-phone { display: inline-flex; align-items: center; gap: 10px; }
@media (max-width: 850px) {
  .approach-page .w-treatment-grid,
  .approach-page .w-care-grid,
  .approach-page .w-reviews-grid,
  .approach-page .r-visit-grid,
  .approach-page .r-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .approach-page .w-treatment-grid .r-room { max-width: 620px; }
  .approach-page .w-quality { border-left: 0; border-top: 1px solid var(--r-line); padding: 28px 0 0; }
  .approach-page .w-review-panel { max-width: 560px; width: 100%; }
}
@media (max-width: 600px) {
  .approach-page .r-essentials { grid-template-columns: minmax(0, 1fr); }
  .approach-page .w-jumps .r-wrap { gap: 0 24px; }
  .approach-page .w-jumps a { font-size: 13px; }
  .approach-page .r-steps li { gap: 12px; grid-template-columns: 32px minmax(0, 1fr); }
  .approach-page .r-step-number { width: 32px; height: 32px; }
  .approach-page .w-review-panel { padding: 12px; }
  .approach-page .w-review-widget { height: 440px; }
}

/* Teamfoto bij samen leren en afstemmen. */
.approach-page .w-team-photo { margin: 18px 0 22px; }
.approach-page .w-team-photo img { width: 100%; height: auto; border-radius: 16px 16px 36px 16px; }

.approach-page .w-all-faq { margin-top: 24px; }
