/* Plain accordion rows, matching the service page. */
.faq .faq__list { border-top: 0; }
.faq .faq__item { border-bottom: 1px solid var(--line); }
.faq .faq__item[open] { background: transparent; }
.faq .faq__summary { min-height: 0; padding: 13px 5px 13px 0; gap: 20px; }
.faq .faq__question { display: block; font: 400 1rem/1.55 Arial, sans-serif; letter-spacing: 0; }
.faq .faq__indicator { width: 20px; height: 24px; font: 400 1.25rem/1 Arial, sans-serif; transform: none; }
.faq .faq__indicator::after { content: '+'; }
.faq .faq__item[open] .faq__indicator { transform: none; }
.faq .faq__item[open] .faq__indicator::after { content: '−'; }
.faq .faq__answer { max-width: none; padding: 0 25px 16px 0; }
.faq .faq__answer p { font-size: .95rem; line-height: 1.55; text-wrap: initial; }

/* A contained photographic carousel with room for the next frame to peek in. */
main#top .team-story {
  width: calc(100% - var(--film-frame) * 2);
  margin: var(--section-space) auto;
  padding: clamp(28px, 3vw, 48px) !important;
  background: #f5f4f0 !important;
  border-radius: var(--film-radius, 14px);
  overflow: hidden;
}
.team-story .team-story__inner { max-width: none; width: 100%; margin: 0; }
.team-story .team-story__intro { display: block; }
.team-story .team-story__heading { max-width: 1050px; margin: 0 0 24px; }
.team-story .team-story__copy { grid-template-columns: minmax(0,1fr) auto; gap: 32px; }
.team-story .team-story__lead { max-width: 65ch; }
.team-story .team-story__actions { margin: 0; }
.team-story .team-story__gallery { width: 100%; margin: 32px 0 0; }
.team-story .team-story__viewport {
  width: 100%; padding: 0; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.team-story .team-story__viewport::-webkit-scrollbar { display: none; }
.team-story .team-story__track { display: block; width: 100%; animation: none; transform: none; will-change: auto; }
.team-story .team-story__set { display: flex; width: 100%; gap: clamp(16px, 1.6vw, 28px); }
.team-story .team-story__frame {
  flex: 0 0 30%; width: 30%; aspect-ratio: 1 / 1;
  border: 0; padding: 0; border-radius: 10px; overflow: hidden; scroll-snap-align: start;
}
.team-story .team-story__photo { border: 0; border-radius: 0; width: 100%; height: 100%; }
.team-story .team-story__frame .team-story__image {
  display: block; width: 100% !important; height: 100% !important; object-fit: cover;
  border: 0; border-radius: 0; box-shadow: none; transform: none; translate: none;
}
.team-carousel-controls { display: flex; align-items: center; gap: 10px; margin-top: 24px; }
.team-carousel-controls[hidden] { display: none; }
.team-carousel-progress { height: 2px; flex: 1; background: #11111120; margin-right: 20px; overflow: hidden; }
.team-carousel-progress span { display: block; height: 100%; background: #11111180; width: 30%; }
.team-carousel-controls button {
  flex: 0 0 44px; height: 44px; padding: 0; border: 1px solid #11111160;
  border-radius: 50%; background: transparent; color: #111; font: 300 28px/1 Arial, sans-serif; cursor: pointer;
}
.team-carousel-controls button:hover { background: var(--brand-jet); }
.team-carousel-controls button:disabled { opacity: .3; cursor: default; background: transparent; }
.team-story .team-story__viewport:focus-visible { outline: 2px solid #111; outline-offset: -3px; }
@media(max-width: 1000px) {
 .team-story .team-story__copy { grid-template-columns: 1fr; }
 .team-story .team-story__actions { justify-content: start; }
 .team-story .team-story__frame { flex-basis: 43%; width: 43%; }
}
@media(max-width: 700px) {
 main#top .team-story { padding: 24px 18px !important; }
 .team-story .team-story__frame { flex-basis: 84%; width: 84%; aspect-ratio: 4 / 5; }
 .team-story .team-story__actions { display: flex; flex-wrap: wrap; gap: 10px; }
 .team-story .team-story__button { width: auto; }
 .team-carousel-progress { margin-right: 8px; }
}
