.team-profiles {}
.team-profiles .section-container {}
.team-profiles .profile {}

/*
  NOTE: Some `.hidden-content` elements are intentionally implemented as
  inline <span> to support mid-sentence hidden text in at least one place.
  That is invalid HTML when those spans contain block elements (e.g. <p>, <ul>),
  and browsers may autocorrect the DOM differently across user agents.
  We left the markup unchanged by request. To reduce surprises we rely on
  CSS (media queries + .profile.is-open) to control visibility and use
  `display: revert` on reveal so the element's user-agent default (inline vs
  block) is restored. If you later convert block-wrapping spans to <div>,
  remove the revert usage and explicitly set display:block where appropriate.
*/



.team-profiles .section-container {
  display:grid;
  gap: 50px;
  text-align: center;
}

.team-profiles .profile {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 5vw, 106px);
  min-width: 322px;
}
.profile-img {
  width: 100%;
  aspect-ratio: 322 / 255;
  overflow: hidden;
}
.profile-img img {
  border-radius: 20px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.profile-img img.lisab {
  object-position: bottom left;
}
.profile-content {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.team-profiles h3 {
  font-size: 26px;
  font-weight: 500; /* medium */
}
.profile-content h2 {
    font-size: 30px;
    font-weight: 500;
    padding: 20px 0;
    line-height: 1.4;
}
.profile-title {
  color: #1d5b2e;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 2rem;
}
.profile h3 {
  font-size: 20px;
  font-weight: 700;
  color: #1d5b2e;
  margin: 30px 0;
  border-top: 2px solid #688E26;
  padding-top: 30px;
}
.profile-text-sub {
  font-size: 18px;
  color: #1d5b2e;
  margin-bottom: 30px;
}
.hidden-content ul li {
  font-size: 16px;
  line-height: 1.8;
  list-style-type: none;
  margin-bottom: 20px;
}

/* Default (mobile): show hidden content, hide the toggle link */
.toggle-link {
  display: none;
  cursor: pointer;
  font-size: 20px;
  line-height: 1.1;
  color: #688E26;
}

.toggle-link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .team-profiles .section-container {
    gap: 100px;
    text-align: left;
    margin-bottom: 140px;
  }
  .team-profiles .profile {
  }
  .profile-img {
  }
  .profile-img img {
    max-height: 630px;
    /* aspect-ratio: 1/1; */
    height: 100%;
  }
  .team-profiles .profile {
    flex-direction: row;
  }
  .profile-img {
    width: clamp(322px, 41.1vw, 444px);
    flex-shrink: 0;
    aspect-ratio: 444 / 628;
  }
  .profile-img img {
  }
  .profile-img img.lisab {
    object-position: calc(50% + 180px);
  }
  .profile-content {
    padding-top: 60px;
  }
  .profile-content h2 {
    font-size: 58px;
    line-height: 1.1;
    margin-bottom: .5rem;
    padding: 0;
  }
  .profile-title {
    font-size: 1.5rem;
  }
  .profile-text {
    font-size: 20px;
  }
  .team-profiles h3 {
    font-size: 36px;
    font-weight: 500; /* medium */
    text-align: left;
    color: #000;
    margin-bottom: -40px;
  }
  .profile-content h2 {
  }
  .profile h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1d5b2e;
    margin: 30px 0;
    border: none;
    padding: 0;
  }
  .profile-text-sub {
  }
  .hidden-content {
    display: none;
  }
  .hidden-content ul {
    /* padding: 0; */
  }
  .hidden-content ul li {
    margin-bottom: 30px;
    list-style-type: disc;
  }
  /* Show toggle link on desktop and allow JS-opened profiles to reveal content.
     Use 'revert' so inline vs block elements restore their user-agent default display. */
  .toggle-link {
    display: inline-block;
    display: block;
    margin: 0 0 60px;
  }
  .profile.is-open .hidden-content {
    display: revert;
  }
}



