/* Shared, directly bookable conversation section. */
.service-booking {
  padding: clamp(48px, 7vw, 88px) var(--gutter, 24px);
  background: var(--color-bg-muted, #f4f4f5);
  color: var(--color-text, #09090b);
  scroll-margin-top: 96px;
}
.service-booking-inner { max-width: 1000px; margin: 0 auto; min-width: 0; }
.service-booking-intro { max-width: 680px; margin-bottom: 32px; }
.service-booking-intro p { font-size: 1.0625rem; line-height: 1.7; color: var(--color-text-body, #3f3f46); }
.service-booking-intro .service-booking-details { margin-top: 14px; font-size: .875rem; line-height: 1.7; }
.service-booking-frame {
  background: #fff;
  border: 1px solid var(--color-border, #e4e4e7);
  border-top: 3px solid var(--color-accent, #00B050);
  border-radius: 12px;
}
.service-booking-frame iframe { display: block; width: 100%; height: 1100px; border: 0; border-radius: 0 0 12px 12px; }
.service-booking-help { margin-top: 22px; }
.service-booking-help p { margin: 10px 0 0; font-size: .875rem; line-height: 1.75; color: var(--color-text-body, #3f3f46); }
.service-booking-help a { color: var(--color-accent-text, #00692b); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.service-booking :is(a,iframe):focus-visible { outline: 3px solid var(--color-accent-text, #00692b); outline-offset: 4px; }
.ff-brand .page-hero .hero-ctas { margin-top: 28px; }
.page-hero .booking-cta-note { display: block; margin-top: 12px; font-size: .8125rem; line-height: 1.65; color: rgba(255,255,255,.7); max-width: 560px; }
@media (max-width: 768px) {
  .service-booking { scroll-margin-top: 80px; }
  .service-booking-frame iframe { height: 1250px; }
}
