/* Context links stay within the existing paragraph's typography and theme.
   The captured .text-link is a flex control with a dark colour, so it cannot
   safely own inline links in the dark service and location sections. */
a.ce-context-link {
  display: inline;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
}

a.ce-context-link:hover,
a.ce-context-link:focus-visible {
  text-decoration-thickness: .12em;
}

/* Preserve the captured FAQ geometry, while real buttons own interaction. */
.ce-faq-heading {
  margin: 0;
}

button.ce-faq-button {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  appearance: none;
  cursor: pointer;
}

.ce-faq-answer {
  height: auto !important;
}

.ce-faq-answer[hidden] {
  display: none !important;
}

.ce-faq-button[aria-expanded="true"] .faq4_icon-wrappper {
  transform: rotate(45deg);
}

.ce-faq-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}

.pg-lb-caption {
  margin: .25rem 1rem .5rem;
  text-align: center;
  white-space: normal;
}

/* The captured row uses flex with content-sized children. Longer useful copy
   must not make one of the three service reassurance cards wider than others. */
.services-overview > .hover-lift {
  flex: 1 1 0%;
  min-width: 0;
}

/* Fill the existing stretched Work With Us frame instead of leaving the lower
   half empty. Clip the after layer, never change the video's rendered width. */
#baVideo {
  height: 100%;
  aspect-ratio: auto;
}

#baVideo .ba-video__after-wrap {
  width: 100%;
  clip-path: inset(0 0 0 50%);
  will-change: clip-path;
}

#baVideo .ba-video__after-wrap .ba-video__after {
  width: 100%;
}

#baDivider:focus-visible .ba-video__handle {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

/* The captured CTA becomes one column below the Webflow tablet breakpoint. */
@media (max-width: 991px) {
  .image-wrapper.landscape:has(#baVideo),
  .code-embed-6:has(#baVideo) {
    height: auto;
    position: relative;
  }

  #baVideo {
    height: auto;
    aspect-ratio: 16 / 9;
  }
}
