/* Coaching team: editorial profile rows. Portrait and copy, alternating sides. */
.team { padding: clamp(56px, 9vw, 112px) 0; }
.team__list { display: grid; gap: clamp(64px, 10vw, 128px); }
.profile { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); align-items: start; }
.profile__fig { margin: 0; }
.profile__photo { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-2); }
.profile__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profile__photo--todo { display: grid; place-items: center; border: 1px dashed var(--border); }
.profile__photo--todo span { font: 600 12px/1 var(--font-display); letter-spacing: .14em; text-transform: uppercase; color: var(--fg-muted); }
.profile__body { display: grid; gap: 16px; max-width: 62ch; }
.profile__body .eyebrow { margin: 0; }
.profile__name { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(34px, 6vw, 56px); line-height: 1; letter-spacing: -.02em; }
.profile__body p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--fg-muted); text-wrap: pretty; }
.profile__quote { margin: 8px 0 0; padding-top: 20px; border-top: 1px solid var(--border); display: grid; gap: 10px; }
.profile__quote p { font-family: var(--font-display); font-weight: 600; font-size: clamp(18px, 2.4vw, 22px); line-height: 1.45; color: var(--fg); }
.profile__quote cite { font: 600 12px/1 var(--font-display); letter-spacing: .14em; text-transform: uppercase; color: var(--fg-muted); font-style: normal; }
.profile__quote cite::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); margin-right: 10px; }
.profile__link { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--fg); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
@media (min-width: 820px) {
  .profile { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 88px); }
  .profile--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .profile--flip .profile__fig { order: 2; }
  .profile__fig { position: sticky; top: 104px; }
}

/* Hero: the house inner-page H1 size (15.3cqw, as Wimbledon Park), two lines
   set with <br>; lede and actions sit beneath. */
.hero-type--place { padding-top: clamp(32px, 5vw, 64px); }
.hero-type--place .crumbs { margin-bottom: clamp(28px, 4vw, 48px); }
.hero-type--place h1 { font-size: 15.3cqw; line-height: .84; white-space: nowrap; }
.hero-type--place .hero-type__aside { margin: clamp(20px, 3vw, 32px) 0 0; max-width: 40ch; font-size: clamp(20px, 2.6vw, 26px); line-height: 1.3; font-weight: 500; }
.hero-type--place .hero-type__cols { grid-template-columns: 1fr; }
@media (min-width: 1100px) {
  /* As Wimbledon Park: the lede sits beside the short second line, buttons on its column. */
  .hero-type--place .hero-type__top { display: block; position: relative; }
  .hero-type--place .hero-type__aside { position: absolute; right: 0; bottom: .6cqw; width: 44%; margin: 0; max-width: none; font-size: clamp(20px, 2.35cqw, 26px); }
  .hero-type--place .hero-type__row { margin-left: min(56%, calc(100% - 480px)); flex-wrap: nowrap; gap: 12px; }
  .hero-type--place .hero-type__row .btn { white-space: nowrap; padding-inline: clamp(18px, 1.8vw, 26px); }
}

/* Athlete Leadership Group */
.leaders { padding: clamp(56px, 8vw, 104px) 0 clamp(36px, 5vw, 64px); }
/* Straight after the coach profiles: the team section's bottom padding already
   holds the gap, so the top is trimmed rather than doubled. */
.team + .leaders { padding-top: clamp(16px, 2vw, 32px); }
.leaders__head { display: grid; gap: 14px; max-width: 62ch; margin-bottom: clamp(32px, 5vw, 56px); }
.leaders__head .eyebrow { margin: 0; }
.leaders__rule { display: block; width: 40px; height: 4px; background: var(--accent); }
.leaders__h { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(30px, 5vw, 48px); line-height: 1.05; letter-spacing: -.02em; }
.leaders__lede { margin: 0; font-size: 16px; line-height: 1.7; color: var(--fg-muted); text-wrap: pretty; }

.leaders__split { display: grid; gap: clamp(32px, 5vw, 56px); align-items: center; }
.leaders__head { display: grid; gap: 16px; justify-items: start; max-width: 52ch; margin: 0; }
.leaders__h { font-size: clamp(34px, 6vw, 56px); line-height: 1.02; letter-spacing: -.02em; }
.leaders__link { margin-top: 8px; gap: 12px; }
.leaders__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.leaders__tile { aspect-ratio: 1; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-2); }
.leaders__tile img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.leaders__tile--todo { display: grid; place-items: center; border: 1px dashed var(--border); }
.leaders__tile--todo span { font: 600 11px/1 var(--font-display); letter-spacing: .14em; text-transform: uppercase; color: var(--fg-muted); }
/* The five athletes run as the Wimbledon Park statement rail, bleeding off the right edge. */
.leaders { overflow: hidden; }
.leaders__rail { margin-right: calc(-1 * (max(0px, (100vw - var(--wrap)) / 2) + var(--gutter))); }
@media (min-width: 1000px) {
  .leaders__split { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
  .leaders__rail .statement-rail__card { width: clamp(220px, 21vw, 300px); }
}

/* "LEADERSHIP" is a letter longer than "WIMBLEDON", so the headline is set a touch
   smaller; "GROUP." then clears the lede column and lede and buttons share the
   Wimbledon alignment. */
.hero-type--lead h1 { font-size: 14cqw; }

/* The point of difference: three principles, the third (the dot) set as an ink card. */
.principles { padding: clamp(56px, 8vw, 104px) 0; }
.principles__grid { display: grid; gap: clamp(32px, 5vw, 64px); }
.principles__head { display: grid; gap: 16px; justify-items: start; max-width: 52ch; }
.principles__head .eyebrow { margin: 0; }
.principles__rule { display: block; width: 40px; height: 4px; background: var(--accent); }
.principles__h { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: clamp(34px, 6vw, 56px); line-height: 1.02; letter-spacing: -.02em; max-width: 12ch; }
.principles__lede { margin: 0; font-size: 17px; line-height: 1.65; color: var(--fg-2); text-wrap: pretty; }
.principles__list { list-style: none; margin: 0; padding: 0; display: grid; }
.principles__item { display: grid; grid-template-columns: clamp(64px, 9vw, 104px) minmax(0, 1fr); gap: clamp(12px, 2vw, 24px); padding: clamp(24px, 3vw, 32px) 0; border-top: 1px solid var(--border); }
.principles__n { font-family: var(--font-display); font-weight: 900; font-size: clamp(40px, 5vw, 56px); line-height: .9; letter-spacing: -.04em; color: var(--fg); opacity: .16; }
.principles__t { margin: 0 0 8px; font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 2vw, 24px); line-height: 1.2; letter-spacing: -.01em; }
.principles__p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--fg-2); max-width: 56ch; text-wrap: pretty; }
/* Inverts with the theme so it stays a card in dark mode too. */
.principles__item--dot { background: var(--fg); border-top: 0; border-radius: var(--radius-lg); padding-inline: clamp(20px, 3vw, 32px); margin-top: 8px; }
.principles__item--dot .principles__n { color: var(--accent); opacity: 1; }
.principles__item--dot .principles__t { color: var(--bg); }
.principles__item--dot .principles__p { color: var(--bg); opacity: .82; }
.principles__stop { color: var(--accent); }
@media (min-width: 1000px) {
  .principles__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
  .principles__head { position: sticky; top: calc(var(--nav-h) + 32px); }
}
