.page-header {
  background: linear-gradient(rgba(25, 26, 24, 0.7), rgba(25, 26, 24, 0.7)),
    url("https://cdn.bufeterivapalacio.com/img/ff90455a-2c98-4a04-9377-c9b8e3fd22af.avif") no-repeat center
      center/cover;
  color: var(--color-white);
  padding: 120px 0 60px;
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.page-header__title {
  font-size: 3rem;
  margin-bottom: var(--spacing-sm);
}

.page-header__breadcrumb {
  font-size: 0.9rem;
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.founder {
  padding-bottom: var(--spacing-xl);
}

.founder-card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-white);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  margin-bottom: var(--spacing-xl);
}

.founder-card__image {
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: top;
}

.founder-card__details {
  padding: var(--spacing-lg);
  background: linear-gradient(to right, #f8fafc, #fff);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.founder-card__name {
  font-size: 2rem;
  color: var(--color-primary);
  margin-bottom: 5px;
}

.founder-card__role {
  display: block;
  color: var(--color-secondary);
  font-weight: 600;
  margin-bottom: var(--spacing-md);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.9rem;
}

.founder-card__bio {
  margin-bottom: var(--spacing-md);
  color: var(--color-text);
  text-align: justify;
}

@media (min-width: 768px) {
  .founder-card {
    flex-direction: row;
    min-height: 450px;
  }

  .founder-card__image {
    width: 40%;
    height: auto;
  }

  .founder-card__details {
    width: 60%;
    padding: var(--spacing-xl);
  }
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--spacing-lg);
  padding-bottom: var(--spacing-xl);
}

.team-card {
  background-color: transparent;
  height: 600px;
  perspective: 1000px;
  cursor: pointer;
}

.team-card__inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform-style: preserve-3d;
  box-shadow: var(--shadow-md);
  border-radius: 8px;
}

.team-card.is-flipped .team-card__inner {
  transform: rotateY(180deg);
}

.team-card__front,
.team-card__back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.team-card__front {
  background-color: var(--color-white);
}

.team-card__image-wrapper {
  height: 65%;
  overflow: hidden;
}

.team-card__image {
  width: max-content;
  height: max-content;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.team-card__image.--reduced {
  object-fit: contain;
  padding: var(--spacing-md);
}

.team-card:hover .team-card__image {
  transform: scale(1.05);
}

.team-card__info {
  padding: var(--spacing-md);
  height: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-white);
  border-top: 1px solid #f1f5f9;
}

.team-card__name {
  font-size: 1.25rem;
  color: var(--color-primary);
  margin-bottom: 5px;
}

.team-card__role {
  color: #64748b;
  font-size: 0.9rem;
  margin-bottom: var(--spacing-md);
  font-weight: 500;
  text-transform: uppercase;
}

.team-card__back {
  background-color: var(--color-primary);
  color: var(--color-white);
  transform: rotateY(180deg);
  padding: var(--spacing-lg);
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(
    135deg,
    var(--color-primary) 0%,
    #2c333a 100%
  );
}

.team-card__back .team-card__name {
  color: var(--color-secondary);
  margin-bottom: 10px;
}

.team-card__bio {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: var(--spacing-lg);
  opacity: 0.9;
}

.btn--card {
  font-size: 0.8rem;
  padding: 8px 20px;
  border-width: 1px;
}

.btn--card-close {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--color-white);
}

.btn--card-close:hover {
  background-color: var(--color-white);
  color: var(--color-primary);
}