/* Portraits and biographies follow the same restrained editorial grid. */
.team-section {
  border-top: 1px solid var(--line);
  padding-top: 112px;
  padding-bottom: 112px;
  background: var(--paper, #f7f7f4);
}
.team-section .team-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 0 56px;
  align-items: end;
  text-align: left;
  margin-bottom: 56px;
}
.team-section .team-heading > .mono {
  display: block;
  grid-column: 1 / -1;
  margin-bottom: 24px;
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--muted);
}
.team-section .team-heading > .mono::before,
.team-section .portrait-cross { display: none; }
.team-section .team-heading > p {
  max-width: 37ch;
  margin: 0;
  justify-self: end;
  font-size: 17px;
  line-height: 1.65;
  color: var(--muted);
}
.team-section .founder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.team-section .founder {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.team-section .founder-portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  max-height: none;
  overflow: hidden;
  background: #e7e7e2;
}
.team-section .founder-portrait img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: grayscale(1) contrast(.97);
  transform: none;
}
.team-section .founder--jasper .founder-portrait img {
  transform: scale(1.16);
  transform-origin: 100% 32%;
}
.team-section .founder-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
}
.team-section .founder-title h3 {
  min-width: 0;
  font-size: clamp(27px, 2.2vw, 32px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.032em;
}
.team-section .founder-title a {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--ink);
  font-size: 23px;
  border: 1px solid var(--line);
  border-radius: 50%;
  transition: border-color .2s ease, color .2s ease;
}
.team-section .founder-title a:hover { color: #b64e21; border-color: #c1b3a8; }
.team-section .founder-title a:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.team-section .founder-role {
  display: block;
  margin-top: 4px;
  font: 400 12px/1.6 var(--sans, "Hanken Grotesk", Arial, sans-serif);
  text-transform: none;
  letter-spacing: 0;
  color: var(--muted);
}
.team-section .founder > p {
  max-width: 53ch;
  margin: 19px 0 0;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}
/* Shared rows align both profiles even when a name or biography wraps. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 561px) {
    .team-section .founder {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
      row-gap: 0;
    }
  }
}

@media (max-width: 1100px) {
  .team-section .founder-grid { gap: 32px; }
  .team-section .team-heading { gap: 0 40px; }
}
@media (max-width: 760px) {
  .team-section .team-heading { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-bottom: 36px; }
  .team-section .team-heading > .mono { margin-bottom: 0; }
  .team-section .team-heading > p { justify-self: start; font-size: 16px; }
  .team-section .founder-grid { gap: 28px; }
  .team-section .founder-title { gap: 10px; margin-top: 18px; }
  .team-section .founder-title h3 { font-size: 25px; }
  .team-section .founder > p { font-size: 15px; margin-top: 17px; }
}
@media (max-width: 560px) {
  .team-section .founder-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .team-section .founder-title h3 { font-size: 28px; }
  .team-section .founder > p { max-width: none; font-size: 16px; }
}
@media (max-width: 380px) {
  .team-section .founder-title h3 { font-size: 25px; }
  .team-section .founder > p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .team-section .founder-title a { transition: none; }
}
