/* Scoped improvements for treatment detail pages and the team page. */
.ff-page-nav {
  position: relative;
  z-index: 2;
  padding: 20px 24px;
  background: #111827;
  border-block: 1px solid rgba(162, 194, 225, .13);
}
.ff-page-nav__inner {
  max-width: 1184px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
.ff-page-nav__label {
  color: #b7c7da;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ff-page-nav__links { display: flex; flex-wrap: wrap; gap: 8px; }
.ff-page-nav a, .ff-specialism-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid rgba(152, 173, 217, .22);
  border-radius: 999px;
  color: #e0f2fe;
  background: rgba(99, 125, 184, .1);
  font-size: .8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
.ff-page-nav a:hover, .ff-specialism-link:hover {
  background: rgba(11, 130, 197, .2);
  border-color: #68b5e1;
}
.ff-info-target { scroll-margin-top: 112px; }
.ff-specialisms { align-items: center; }
.ff-specialism-link { min-height: 44px; padding: 8px 12px; font-size: .75rem; color: #92d5f8; }
.ff-about-cta {
  position: relative;
  z-index: 2;
  padding: 48px 24px;
  background: #111827;
  border-top: 1px solid rgba(162, 194, 225, .13);
}
.ff-about-cta__inner {
  max-width: 1184px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 32px;
  border: 1px solid rgba(162, 194, 225, .2);
  border-radius: 20px;
  background: linear-gradient(115deg, #171f32, #112432);
  flex-wrap: wrap;
  gap: 24px;
}
.ff-about-cta h2 { font-size: clamp(1.35rem, 3vw, 1.75rem); font-weight: 600; color: #fff; }
.ff-about-cta p { margin-top: 8px; color: #b7c7da; font-size: .875rem; }
.ff-about-cta__links { display: flex; flex-wrap: wrap; gap: 12px; }
.ff-about-cta a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid rgba(152, 173, 217, .35);
  border-radius: 12px;
  color: #fff;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
}
.ff-about-cta a:hover { background: rgba(99, 125, 184, .16); border-color: #68b5e1; }
.ff-about-cta a.ff-about-cta__primary { background: linear-gradient(120deg, #71437f, #096ba3); border-color: transparent; }
.ff-about-cta a.ff-about-cta__primary:hover { background: linear-gradient(120deg, #81508f, #0b79b7); }
.ff-page-nav a:focus-visible, .ff-specialism-link:focus-visible, .ff-about-cta a:focus-visible {
  outline: 3px solid #91d9ff;
  outline-offset: 4px;
}
@media (min-width: 768px) {
  .ff-page-nav:not(.ff-pricing-nav), .ff-about-cta { padding-inline: 48px; }
}
@media (max-width: 600px) {
  .ff-page-nav { padding: 16px 24px; }
  .ff-page-nav__inner { align-items: flex-start; gap: 12px; }
  .ff-page-nav__label { width: 100%; }
  .ff-page-nav a { padding-inline: 13px; }
  .ff-about-cta__inner { padding: 24px; }
  .ff-about-cta__links { width: 100%; }
  .ff-about-cta a { flex: 1 1 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .ff-page-nav a, .ff-specialism-link { transition: none; }
}
/* Long Dutch treatment names also fit the smallest phone screens. */
.ff-info-target h2, .ff-info-target h3 {
  overflow-wrap: anywhere;
  hyphens: auto;
}
