/* ─────────────────────────────────────────────────────────────────────────
 * clever-prep-team-single.css
 * Single team_member template — hero (photo + info) + body (bio + sidebar)
 * ───────────────────────────────────────────────────────────────────────── */

/* ── Hero ─────────────────────────────────────────────────────────────── */
.cp-team-single-hero {
  background: var(--cp-cream-bg, #F7F4ED);
  padding: clamp(120px, 14vw, 160px) clamp(20px, 5vw, 64px) clamp(48px, 7vw, 72px);
}
.cp-team-single-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex !important;
  flex-direction: row !important;
  gap: clamp(32px, 5vw, 64px);
  align-items: flex-start !important;
}

/* Photo column */
.cp-team-single-hero__left {
  flex: 0 0 clamp(260px, 30vw, 380px) !important;
  width: auto !important;
  max-width: none !important;
}
.cp-team-single-hero__photo {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--cp-about-navy-dark, #131A26);
}
.cp-team-single-hero__img,
.cp-team-single-hero__photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

/* Text column */
.cp-team-single-hero__right {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  padding-top: 8px;
}

.cp-team-single-hero__back {
  font-family: var(--cp-font-mono, ui-monospace);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--cp-text-secondary, #4a5568);
  text-decoration: none;
  margin-bottom: 8px;
  transition: color 0.2s;
}
.cp-team-single-hero__back:hover {
  color: var(--cp-orange, #ED863C);
}

.cp-team-single-hero__eyebrow {
  opacity: 0.6;
  text-transform: uppercase;
}

.cp-team-single-hero__name {
  font-family: var(--cp-font-heading, Georgia, serif);
  font-weight: 400;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--cp-text-headline, #28354A);
  margin: 0;
}

.cp-team-single-hero__position {
  font-family: var(--cp-font-body, system-ui);
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 500;
  color: var(--cp-text-secondary, #4a5568);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

.cp-team-single-hero__percentile {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cp-font-mono, ui-monospace);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cp-text-headline, #28354A);
  margin-top: 4px;
}
.cp-team-single-hero__percentile::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cp-orange, #ED863C);
  flex-shrink: 0;
}
.cp-team-single-hero__percentile:empty { display: none; }

.cp-team-single-hero__specialties {
  font-family: var(--cp-font-mono, ui-monospace);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--cp-text-secondary, #4a5568);
  opacity: 0.7;
}
.cp-team-single-hero__specialties:empty { display: none; }

/* ── Body ─────────────────────────────────────────────────────────────── */
.cp-team-single-body {
  background: #fff;
  padding: clamp(48px, 8vw, 80px) clamp(20px, 5vw, 64px) clamp(72px, 10vw, 100px);
}
.cp-team-single-body__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex !important;
  flex-direction: row !important;
  gap: clamp(40px, 6vw, 80px);
  align-items: flex-start !important;
}

/* Main: bio */
.cp-team-single-body__main {
  flex: 1 !important;
  min-width: 0;
}
.cp-team-single-body__heading {
  font-family: var(--cp-font-heading, Georgia, serif);
  font-weight: 400;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.1;
  color: var(--cp-text-headline, #28354A);
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.cp-team-single-body__bio {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.65;
  color: var(--cp-text-secondary, #4a5568);
}
.cp-team-single-body__bio p { margin: 0 0 16px; }
.cp-team-single-body__bio p:last-child { margin-bottom: 0; }
/* Hide bio section if empty */
.cp-team-single-body__bio:empty { display: none; }

/* Sidebar: details */
.cp-team-single-body__sidebar {
  flex: 0 0 clamp(240px, 28vw, 320px) !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px;
  border-left: 1px solid rgba(40, 53, 74, 0.10);
  padding-left: clamp(24px, 3vw, 40px);
}

.cp-team-single-detail__label {
  opacity: 0.55;
  margin-top: 18px;
}
.cp-team-single-detail__label:first-child { margin-top: 0; }

.cp-team-single-detail__value {
  font-size: 15px;
  line-height: 1.5;
  color: var(--cp-text-headline, #28354A);
  margin: 0;
}
.cp-team-single-detail__value:empty,
.cp-team-single-detail__value:empty + .cp-team-single-detail__label { display: none; }

/* Education: preserve line breaks */
.cp-team-single-detail__value--edu {
  white-space: pre-line;
}

/* Hide label+value pairs when value is empty */
.cp-team-single-detail__label:has(+ .cp-team-single-detail__value:empty) { display: none; }

/* ── CTA ──────────────────────────────────────────────────────────────── */
.cp-team-single-cta {
  --cp-r-dot-color: #ffffff;
  --cp-r-dot-size: 22px;
  --cp-r-dot-opacity: 0.32;
  max-width: 1100px;
  margin: clamp(48px, 8vw, 80px) auto;
  overflow: hidden;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .cp-team-single-hero__inner {
    flex-direction: column !important;
  }
  .cp-team-single-hero__left {
    flex: none !important;
    width: 100% !important;
    max-width: 340px;
  }
  .cp-team-single-body__inner {
    flex-direction: column !important;
  }
  .cp-team-single-body__sidebar {
    flex: none !important;
    width: 100% !important;
    border-left: none;
    border-top: 1px solid rgba(40, 53, 74, 0.10);
    padding-left: 0;
    padding-top: 24px;
  }
}
