/* Shared inner-page patterns (Who we are, Team, etc.) */

/* ── Placeholders ── */
.img-placeholder {
  display: block;
  width: 100%;
  background: var(--color-placeholder);
}

/* ── Page intro (serif hero title) ── */
.page-intro,
.who-intro {
  padding-top: var(--page-intro-space-top);
  padding-bottom: var(--page-stack-gap);
  text-align: center;
}

.page-intro__title,
.who-intro__title {
  margin: 0 0 var(--page-title-gap);
  font-family: var(--font-serif);
  font-size: var(--page-serif-hero-size);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-brand-red);
  line-height: 1.12;
}

.page-intro__text,
.who-intro__text {
  margin: 0 auto;
  max-width: var(--page-intro-text-max);
  font-size: var(--page-body-size);
  line-height: var(--page-body-lh);
  color: var(--color-text);
}

/* ── Section head with rule line ── */
.page-section-head,
.who-section-head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.page-section-head::before,
.who-section-head::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: var(--page-rule-gap);
  background: var(--color-text);
}

.page-section-head__title,
.who-section-head__title {
  margin: 0;
  font-size: var(--page-module-title-size);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.page-section--ruled,
.who-section--ruled {
  padding-block: var(--page-section-space);
}

.page-section--ruled + .page-section--ruled,
.who-section--ruled + .who-section--ruled {
  padding-top: 0;
}

/* ── Pill button ── */
.btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 14rem);
  padding: 0.875rem 2.25rem;
  border: 1px solid var(--color-text);
  border-radius: 999px;
  font-size: 0.9375rem;
  font-weight: 400;
  background: var(--color-white);
  color: var(--color-text);
  transition: background var(--transition-fast);
}

.btn-pill:hover,
.btn-pill:focus-visible {
  background: var(--color-pill-hover-bg);
}

.btn-pill--sm {
  min-width: 0;
  padding: 0.5rem 1.375rem;
  font-size: 0.875rem;
}

.img-placeholder--portrait {
  aspect-ratio: 1;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  margin-inline: auto;
}

.who-testimonial__portrait-frame,
.page-testimonial__portrait-frame {
  width: 5rem;
  height: 5rem;
  margin-inline: auto;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.who-testimonial__portrait-frame img,
.page-testimonial__portrait-frame img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

/* ── Testimonial carousel (shared) ── */
.page-testimonial,
.who-testimonial {
  padding-block: var(--page-section-space);
  text-align: center;
}

.page-testimonial__slider,
.who-testimonial__slider {
  position: relative;
  max-width: 46rem;
  margin-inline: auto;
  padding-inline: clamp(3.25rem, 8vw, 4.75rem);
}

.page-testimonial__slide,
.who-testimonial__slide {
  display: none;
}

.page-testimonial__slide.is-active,
.who-testimonial__slide.is-active {
  display: block;
}

.page-testimonial__company,
.who-testimonial__company {
  margin: 0 0 var(--page-stack-gap);
  font-size: 0.9375rem;
  font-weight: 400;
}

.page-testimonial__quote,
.who-testimonial__quote {
  margin: 0 0 var(--page-stack-gap);
  padding: 0;
  border: 0;
  font-size: clamp(1.25rem, 2.1vw, 1.625rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

.page-testimonial__person,
.who-testimonial__person {
  margin: var(--page-stack-gap) 0 0;
  font-size: 0.9375rem;
}

.page-testimonial__nav,
.who-testimonial__nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  color: var(--color-testimonial-accent);
  transition: opacity var(--transition-fast);
}

.page-testimonial__nav:hover,
.page-testimonial__nav:focus-visible,
.who-testimonial__nav:hover,
.who-testimonial__nav:focus-visible {
  opacity: 0.6;
}

.page-testimonial__nav--prev,
.who-testimonial__nav--prev {
  left: 0;
}

.page-testimonial__nav--next,
.who-testimonial__nav--next {
  right: 0;
}

.page-testimonial__nav svg,
.who-testimonial__nav svg {
  width: 4rem;
  height: 4rem;
}

.page-testimonial__dots,
.who-testimonial__dots {
  display: flex;
  justify-content: center;
  gap: 0.4375rem;
  margin-top: var(--page-stack-gap);
}

.page-testimonial__dot,
.who-testimonial__dot {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: var(--color-border);
  transition: background var(--transition-fast);
}

.page-testimonial__dot.is-active,
.who-testimonial__dot.is-active {
  background: var(--color-testimonial-accent);
}
