.team-hero {
  padding: clamp(5rem, 10vw, 9rem) var(--space-lg);
  background:
    linear-gradient(
      to bottom,
      var(--color-bg-primary),
      var(--color-bg-secondary)
    );
  text-align: center;
  position: relative;
}

.team-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at top center,
      rgba(255,255,255,0.05),
      transparent 60%
    );
  pointer-events: none;
}

.team-hero-inner {
  max-width: var(--container-narrow);
  margin: 0 auto;
}

.team-hero-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.team-hero-eyebrow .line {
  width: 42px;
  height: 1px;
  background: var(--color-accent-gold);
  opacity: 0.6;
}

.team-hero-eyebrow .label {
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.team-hero h1 {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 5vw, 3.2rem);
  line-height: 1.15;
  margin-bottom: var(--space-md);
}

.team-hero p {
  max-width: 520px;
  margin: 0 auto;
  font-size: var(--text-base);
  line-height: var(--leading-loose);
  color: var(--color-text-secondary);
}

.team-intro {
  padding: clamp(3.5rem, 8vw, 6rem) var(--space-lg);
  background: var(--color-bg-primary);
}

.team-intro-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.intro-marker {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-xl);
}

.intro-marker span {
  width: 72px;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--color-accent-gold),
    transparent
  );
  opacity: 0.8;
}

.team-intro p {
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 2.4vw, 1.25rem);
  line-height: var(--leading-loose);
  color: var(--color-text-primary);
}

.team_grid {
  padding: clamp(4rem, 8vw, 6.5rem) var(--space-lg);
  background: var(--color-bg-secondary);
}

.team_grid_inner {
  max-width: var(--container-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
}

.team_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.team_image {
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-lg);
  position: relative;
}

.team_image img {
  width: 100%;
  display: block;
  /* filter: grayscale(100%); */
  transition: transform var(--duration-medium) var(--ease-standard),
              filter var(--duration-medium) var(--ease-standard);
}

.team_card:hover img {
  transform: scale(1.03);
  /* filter: grayscale(0%); */
}

.team-meta h3 {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  margin-bottom: var(--space-xs);
}

.team-meta span {
  display: inline-block;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent-gold);
  margin-bottom: var(--space-sm);
}

.team-quote {
  padding: clamp(4rem, 9vw, 7rem) var(--space-lg);
  background:
    linear-gradient(
      to bottom,
      var(--color-bg-secondary) 0%,
      var(--color-bg-primary) 100%
    );
  position: relative;
}

.team-quote-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.quote-mark {
  display: block;
  font-size: 0.85rem;
  letter-spacing: 0.3em;
  color: var(--color-accent-gold);
  opacity: 0.7;
  margin-bottom: var(--space-xl);
}

.team-quote blockquote {
  margin: 0;
}

.team-quote blockquote p {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3.2vw, 2.2rem);
  line-height: var(--leading-loose);
  font-style: italic;
  color: var(--color-text-primary);
  margin-bottom: var(--space-lg);
}

.team-quote cite {
  display: block;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  font-style: normal;
}

.team-quote::before,
.team-quote::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: var(--color-accent-gold);
  opacity: 0.25;
  margin: 0 auto;
}

.team-quote::before {
  margin-bottom: var(--space-2xl);
}

.team-quote::after {
  margin-top: var(--space-2xl);
}

.team-cta {
  padding: clamp(5rem, 10vw, 8rem) var(--space-lg);
  background:
    radial-gradient(
      circle at center,
      rgba(212,175,55,0.06),
      transparent 60%
    ),
    var(--color-bg-primary);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.team-cta::before {
  top: 40px;
}

.team-cta::after {
  bottom: 40px;
}

.team-cta-inner {
  max-width: 680px;
  margin: 0 auto;
}

.cta-eyebrow {
  display: block;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-accent-gold);
  margin-bottom: var(--space-md);
}

.team-cta h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  margin-bottom: var(--space-md);
}

.team-cta p {
  color: var(--color-text-secondary);
  line-height: var(--leading-loose);
  margin-bottom: var(--space-2xl);
}

.team-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: var(--space-md) var(--space-2xl);
  border: var(--border-accent);
  font-family: var(--font-serif);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-primary);
  text-decoration: none;
  transition:
    background var(--duration-medium) var(--ease-standard),
    color var(--duration-medium) var(--ease-standard),
    transform var(--duration-medium) var(--ease-standard);
}

.cta-arrow {
  font-size: 1rem;
  transition: transform var(--duration-medium) var(--ease-standard);
}

.team-cta-btn:hover {
  background: var(--color-accent-gold);
  color: var(--color-bg-primary);
  transform: translateY(-2px);
}

.team-cta-btn:hover .cta-arrow {
  transform: translateX(6px);
}


@media (max-width: 1024px) {
  .team_grid_inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .team-hero-eyebrow .line {
    width: 26px;
  }

  .team-hero p {
    font-size: var(--text-sm);
  }

  .intro-marker span {
    width: 48px;
  }

  .team-intro p {
    font-size: var(--text-base);
  }

  .team_grid_inner {
    grid-template-columns: 1fr;
  }

  .team-meta p {
    max-width: none;
  }

   .quote-mark {
    margin-bottom: var(--space-lg);
  }

  .team-quote::before,
  .team-quote::after {
    width: 56px;
  }

   .team-cta::before,
    .team-cta::after {
        width: 72px;
    }

    .team-cta p {
        margin-bottom: var(--space-xl);
    }
}

@media (max-width: 768px) {
  .team-hero-eyebrow .line {
    width: 26px;
  }

  .team-hero p {
    font-size: var(--text-sm);
  }

  .intro-marker span {
    width: 48px;
  }

  .team-intro p {
    font-size: var(--text-base);
  }

  .team_grid_inner {
    grid-template-columns: 1fr;
  }

  .team-meta p {
    max-width: none;
  }

   .quote-mark {
    margin-bottom: var(--space-lg);
  }

  .team-quote::before,
  .team-quote::after {
    width: 56px;
  }

   .team-cta::before,
  .team-cta::after {
    width: 72px;
  }

  .team-cta p {
    margin-bottom: var(--space-xl);
  }
}