/* =============================================================
   THE BELL SYSTEM — team.css
   "Our Team" profile page. Loads AFTER styles.css and reuses its
   tokens (--navy, --gold, --cream, --radius-*, --section-gap).

   NOTE: nothing here sits inside .section-navy on purpose. That
   selector carries a (0,2,1) rule that repaints every descendant
   <p> white, which silently kills body text on any light card
   placed inside it (see the .pain-card incident). The dark hero
   below styles its own text instead.
   ============================================================= */

/* ---- Page hero ----------------------------------------------- */
.team-hero {
  position: relative;
  padding-top: calc(var(--nav-h) + 80px);
  padding-bottom: 88px;
  background:
    radial-gradient(1100px 460px at 78% -10%, rgba(201,164,92,.20), transparent 62%),
    linear-gradient(165deg, var(--navy-deep) 0%, var(--navy-sect) 62%, var(--navy) 100%);
  overflow: hidden;
}
/* Hairline of gold along the bottom edge, echoing the trust bar. */
.team-hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-dim), var(--gold-light), var(--gold-dim));
}

.team-hero-copy { max-width: 760px; }
.team-hero h1 { color: var(--white); }
.team-hero .team-hero-lede {
  color: rgba(255,255,255,.82);
  font-size: 1.12rem;
  margin-top: 1.15rem;
}
.team-hero .team-hero-sub {
  color: rgba(255,255,255,.62);
  font-size: 1rem;
  margin-top: .9rem;
}
.team-hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.1rem; }

/* ---- Group heading ------------------------------------------- */
.team-group { padding-block: var(--section-gap); }
.team-group-pale { background: var(--blue-pale); }

.team-group-hd {
  max-width: 780px;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.team-group-pale .team-group-hd { border-bottom-color: #D3DFEC; }
.team-group-hd p { font-size: 1.05rem; margin-top: .9rem; }

/* ---- Profile card -------------------------------------------- */
.profile-list { display: flex; flex-direction: column; gap: 1.75rem; }

.profile {
  display: grid;
  grid-template-columns: 264px 1fr;
  gap: 2.75rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 2.4rem 2.6rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
}
.profile:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

/* Left rail — identity */
.profile-id { position: relative; }

.profile-mark {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: linear-gradient(150deg, var(--navy) 0%, var(--navy-deep) 100%);
  color: var(--gold-light);
  font-family: 'Poppins', sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: .04em;
  box-shadow: 0 6px 18px rgba(14,35,64,.22);
  margin-bottom: 1.35rem;
}

.profile-name { font-size: 1.5rem; margin-bottom: .35rem; }

.profile-role {
  font-family: 'Poppins', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--gold-dim);
  line-height: 1.45;
}

.profile-meta {
  margin-top: 1.35rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.profile-meta li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .88rem;
  color: var(--text-light);
  line-height: 1.45;
}
.profile-meta svg {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: .18rem;
  color: var(--gold-dim);
}

/* Right column — the story */
.profile-body > p { font-size: 1rem; }
.profile-body > p + p { margin-top: .95rem; }

/* Pull quote */
.profile-quote {
  margin-top: 1.6rem;
  padding: 1.15rem 0 1.15rem 1.5rem;
  border-left: 3px solid var(--gold);
  font-family: 'Poppins', sans-serif;
  font-size: 1.06rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1.5;
  color: var(--navy);
}

/* Fact strip */
.profile-facts {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem 2.25rem;
}
.profile-fact-wide { grid-column: 1 / -1; }

.profile-fact dt {
  font-family: 'Poppins', sans-serif;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: .4rem;
}
.profile-fact dd { font-size: .95rem; color: var(--text-mid); line-height: 1.55; }
.profile-fact dd.said { color: var(--navy); font-weight: 500; }

/* ---- Closing CTA --------------------------------------------- */
.team-cta {
  background: var(--cream);
  padding-block: var(--section-gap);
  text-align: center;
}
.team-cta .container { max-width: 720px; }
.team-cta p { font-size: 1.05rem; margin-top: 1rem; margin-bottom: 2rem; }

/* ---- Responsive ---------------------------------------------- */
@media (max-width: 980px) {
  .profile { grid-template-columns: 1fr; gap: 1.75rem; padding: 2rem 2rem; }
  .profile-mark { width: 64px; height: 64px; font-size: 1.25rem; margin-bottom: 1.1rem; }
  .profile-meta { margin-top: 1.1rem; padding-top: 1rem; }
}

@media (max-width: 768px) {
  .team-hero { padding-top: calc(var(--nav-h) + 52px); padding-bottom: 62px; }
  .team-hero .team-hero-lede { font-size: 1.02rem; }
  .profile-facts { grid-template-columns: 1fr; gap: 1.25rem; }
  .profile-name { font-size: 1.3rem; }
}

@media (max-width: 480px) {
  .profile { padding: 1.6rem 1.4rem; }
  .team-hero-actions { flex-direction: column; align-items: stretch; }
  .team-hero-actions .btn { justify-content: center; }
  .profile-quote { padding-left: 1.1rem; font-size: 1rem; }
}
