/* ============================================================
   BSKL Team — /team/ page stylesheet (scoped, loaded on Team page)
   Theme tokens: --navy, --teal, --surface-2, --gold accents scoped here.
   ============================================================ */

:root {
  --team-gold: #c8a24a;
  --team-gold-soft: rgba(200, 162, 74, 0.14);
}

/* ---------- Hero ---------- */
.team-hero .ph-bg {
  filter: saturate(1.05) brightness(0.72);
}

/* ---------- Intro split ---------- */
.team-photo-wrap { position: relative; }
.team-photo-chip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  background: var(--navy);
  color: #fff;
  font-family: var(--font-head);
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 10px 16px;
  border-left: 3px solid var(--team-gold);
}
.team-signoff {
  margin-top: 26px;
  padding: 18px 20px;
  background: var(--team-gold-soft);
  border-left: 3px solid var(--team-gold);
}
.team-signoff-title {
  font-family: var(--font-head);
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.06em;
}
.team-signoff-note {
  margin-top: 6px;
  font-size: 0.85rem;
  color: #5c6770;
}

/* ---------- Team category sections (Management / Dyeing / Sweater / Knitting) ---------- */
.team-section .team-grid { margin-top: 44px; }

/* Tinted surface so a long /team/ page stays readable. */
.team-section-alt { background: var(--surface-2); }

/* ---------- THE team card — one design, every category, every member ---------- */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
}
.team-grid-related { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.team-card {
  position: relative;
  display: flex;
  background: var(--bskl-white);
  border: 1px solid var(--bskl-border);
  border-radius: var(--bskl-radius-md);
  overflow: hidden;
  box-shadow: var(--bskl-shadow-sm);
  transition: transform 0.35s var(--bskl-ease), box-shadow 0.35s var(--bskl-ease), border-color 0.35s var(--bskl-ease);
}
.team-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--bskl-shadow-md);
  border-color: var(--bskl-teal);
}

/* Whole card is the link — one target, correct keyboard behaviour. */
.team-card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.team-card-link:focus-visible {
  outline: 3px solid var(--bskl-teal-bright);
  outline-offset: 2px;
}

/* Consistent 4:5 portrait across every member, faces kept toward the top. */
.team-card-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  background: var(--bskl-soft);
  overflow: hidden;
}
.team-card-media .team-photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.6s var(--bskl-ease);
}
.team-card:hover .team-card-media .team-photo-img { transform: scale(1.03); }

.team-card-monogram {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--bskl-font-head);
  font-weight: 700;
  font-size: 3rem;
  color: var(--bskl-teal);
  background: var(--bskl-ice);
}

.team-card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  padding: 20px 22px 22px;
}
.team-card-position {
  font-family: var(--bskl-font-ui);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bskl-teal);
}
.team-card-name {
  font-family: var(--bskl-font-head);
  font-size: 1.12rem;
  line-height: 1.3;
  color: var(--bskl-navy);
  margin: 2px 0 0;
}
.team-card-dept {
  font-size: 0.82rem;
  color: var(--bskl-muted);
}
.team-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
  font-family: var(--bskl-font-ui);
  font-weight: 600;
  font-size: 0.86rem;
  color: var(--bskl-navy);
}
.team-card-cta i { font-size: 0.8rem; transition: transform 0.3s var(--bskl-ease); }
.team-card:hover .team-card-cta { color: var(--bskl-teal); }
.team-card:hover .team-card-cta i { transform: translateX(4px); }

/* ---------- Admin-only notice (never shown to visitors) ---------- */
.team-admin-notice {
  margin: 0 0 8px;
  padding: 14px 18px;
  background: #fff8e6;
  border: 1px solid #f0d99a;
  border-left: 4px solid var(--team-gold);
  border-radius: 10px;
  font-size: 0.88rem;
  color: #6b5316;
}

/* ---------- Single profile: hero ---------- */
.team-profile {
  display: grid;
  grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: 34px 0 10px;
}
.team-profile-photo {
  position: relative;
  aspect-ratio: 4 / 5;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--bskl-radius-md);
  overflow: hidden;
}
.team-profile-photo .team-photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.team-profile-monogram {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--bskl-font-head);
  font-weight: 700;
  font-size: 5rem;
  color: var(--bskl-teal-bright);
}
.team-profile-body h1 { margin-bottom: 10px; }
.team-profile-position {
  font-family: var(--bskl-font-ui);
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--bskl-teal-bright);
  margin-bottom: 4px;
}
.team-profile-dept {
  font-family: var(--bskl-font-ui);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}
.team-profile-intro {
  margin-top: 16px;
  max-width: 54ch;
  color: rgba(255, 255, 255, 0.86);
  font-size: 1rem;
}
.team-profile-linkedin { margin-top: 20px; }

/* ---------- Single profile: content ---------- */
.team-profile-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.team-block + .team-block { margin-top: 38px; }
.team-block h2 {
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  margin-bottom: 12px;
}
.team-block p { color: var(--bskl-muted); }
.team-block .lead { color: var(--bskl-text); }

.team-duties {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.team-duties li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--bskl-soft);
  border: 1px solid var(--bskl-border);
  border-left: 3px solid var(--bskl-teal);
  border-radius: 12px;
  font-weight: 500;
  color: var(--bskl-navy);
  font-size: 0.95rem;
}

/* Professional Information panel — only rows with data exist. */
.team-info-panel {
  background: var(--bskl-soft);
  border: 1px solid var(--bskl-border);
  border-radius: var(--bskl-radius-md);
  padding: 26px 28px 28px;
}
.team-info-heading { font-size: 1.15rem; margin-bottom: 16px; }
.team-info-list { margin: 0; display: grid; gap: 0; }
.team-info-row { padding: 12px 0; border-top: 1px solid var(--bskl-border); }
.team-info-row:first-child { border-top: 0; padding-top: 0; }
.team-info-row dt {
  font-family: var(--bskl-font-ui);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bskl-muted);
  margin-bottom: 3px;
}
.team-info-row dd {
  margin: 0;
  font-weight: 500;
  color: var(--bskl-navy);
  font-size: 0.95rem;
}

/* ---------- Back to Our Team ---------- */
.team-back-section { padding-top: 0; }
.team-back-wrap { display: flex; justify-content: center; }

/* ---------- Expertise 01–08 ---------- */
.expertise-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 44px;
}
.expertise-item {
  position: relative;
  padding: 26px 24px 28px;
  background: #fff;
  border: 1px solid rgba(15, 42, 66, 0.09);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(15, 42, 66, 0.05);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.expertise-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(15, 42, 66, 0.12);
}
.expertise-num {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--team-gold);
  margin-bottom: 14px;
}
.expertise-item h3 {
  font-size: 1.15rem;
  margin-bottom: 10px;
}
.expertise-item p { font-size: 0.92rem; line-height: 1.65; }

/* ---------- Shared standard checks ---------- */
.team-checks {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.team-checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 500;
  color: var(--navy);
}
.team-checks i { color: var(--teal); font-size: 1.1rem; }

/* ---------- CTA row ---------- */
.team-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-grid,
  .team-grid-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-profile { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
  .team-profile-content { grid-template-columns: minmax(0, 1fr); }
  .team-info-panel { max-width: 520px; }
}
/* Single column on tablet portrait so nothing overflows. */
@media (max-width: 768px) {
  .expertise-grid { grid-template-columns: 1fr; }
  .team-profile {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding-top: 22px;
  }
  .team-profile-photo { max-width: 320px; }
  .team-duties { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .team-grid,
  .team-grid-related { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .team-cta-row { flex-direction: column; }
  .team-cta-row .btn { width: 100%; justify-content: center; }
  .team-card-body { padding: 16px 18px 18px; }
  .team-back-wrap .btn { width: 100%; justify-content: center; }
  .team-info-panel { padding: 20px 18px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .team-card,
  .team-card-media .team-photo-img,
  .team-card-cta i,
  .expertise-item { transition: none; }
  .team-card:hover,
  .expertise-item:hover,
  .team-card:hover .team-card-media .team-photo-img,
  .team-card:hover .team-card-cta i { transform: none; }
}
/* ============================================================
   LEADERSHIP COMPONENTS — restored approved design
   ------------------------------------------------------------
   The signed-off Our Team page used a featured Chairman card
   (photo beside the biography, gold rule, duty pills) followed by
   "profile to be added" placeholders. When team members became
   dynamic these classes were dropped, which left the page rendering
   plain .team-card tiles and made it look flat. They live here again
   so bskl_team_leader_card() can reuse the approved look.
   ============================================================ */

.team-leadership {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 44px;
}

.leader-card {
  background: #fff;
  border: 1px solid rgba(15, 42, 66, 0.09);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(15, 42, 66, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  display: flex;
  flex-direction: column;
}
.leader-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(15, 42, 66, 0.13);
}

/* Featured: photo beside the copy, spanning the full row */
.leader-card--featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 340px 1fr;
  border: 1px solid rgba(200, 162, 74, 0.4);
  box-shadow: 0 16px 44px rgba(15, 42, 66, 0.1);
}
.leader-card--featured::before {
  content: "";
  grid-column: 1 / -1;
  height: 4px;
  background: linear-gradient(90deg, var(--team-gold), transparent);
}
.leader-card--featured .leader-photo {
  height: 100%;
  min-height: 300px;
}
.leader-card--featured .leader-body {
  padding: clamp(24px, 3vw, 42px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.leader-photo {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--surface-2);
  overflow: hidden;
}
.leader-photo img,
.leader-photo .team-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.leader-monogram {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 3rem;
  color: var(--teal);
  background: linear-gradient(160deg, rgba(24, 166, 160, 0.1), rgba(15, 42, 66, 0.12));
}
.leader-card--placeholder .leader-monogram {
  color: var(--team-gold);
  font-size: 1.9rem;
  background: linear-gradient(160deg, rgba(200, 162, 74, 0.12), rgba(15, 42, 66, 0.08));
}

.leader-body { padding: 22px 24px 26px; }
.leader-name { font-size: 1.25rem; margin-bottom: 4px; }
.leader-position {
  font-weight: 600;
  color: var(--teal);
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}
.leader-dept {
  margin-top: 4px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #7a828b;
}
.leader-bio {
  margin-top: 14px;
  font-size: 0.92rem;
  line-height: 1.7;
  color: #4b5863;
}
.leader-duties {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.leader-duties li {
  font-size: 0.82rem;
  background: var(--surface-2);
  color: var(--navy);
  padding: 6px 12px;
  border-radius: 999px;
}
.leader-linkedin {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #0a66c2;
  font-size: 0.9rem;
}
.leader-linkedin:hover { color: var(--navy); }

.leader-card--placeholder { opacity: 0.85; border-style: dashed; }

/* Whole-card link used on real (non-placeholder) leader cards */
.leader-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.leader-card-link:hover { color: inherit; }
.leader-card-link:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}
.leader-card-cta {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--teal);
  letter-spacing: 0.04em;
}
.leader-card:hover .leader-card-cta i { transform: translateX(4px); }
.leader-card-cta i { transition: transform 0.3s ease; }

@media (max-width: 1024px) {
  .team-leadership { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .leader-card--featured { grid-template-columns: 1fr; }
  .leader-card--featured .leader-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .team-leadership { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .leader-card { transition: none; }
  .leader-card:hover { transform: none; }
}

/* ============================================================
   PREMIUM CHAIRMAN FEATURE
   Scoped to .team-chairman* only. No selector here can affect a
   normal member card, the rest of the Team page, or any other
   page. Layout follows the approved 42% portrait / 58% content
   split, collapsing to portrait-first on small screens.
   ============================================================ */

:root {
  --team-ivory: #F7F4EE;
  --team-ivory-line: rgba(6, 26, 43, 0.08);
  --team-charcoal: #1B242C;
}

/* ---------- /team/ premium chairman block ---------- */
.team-chairman {
  position: relative;
  display: grid;
  /* Portrait 42% / content 58%, inside the approved 40–45 / 55–60 band. */
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  align-items: stretch;
  gap: 0;
  margin: 0 0 44px;
  background: var(--team-ivory);
  border: 1px solid var(--team-ivory-line);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
/* Champagne gold keyline, drawn as an inset ring so it never
   affects layout or adds a scrollable overflow edge. */
.team-chairman::before {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid var(--team-gold-soft);
  border-radius: calc(var(--r-lg) - 10px);
  pointer-events: none;
  z-index: 2;
}

.team-chairman-photo {
  position: relative;
  min-height: 0;
  background: var(--navy);
  overflow: hidden;
}
.team-chairman-photo img {
  width: 100%;
  height: 100%;
  /* Portrait crop that keeps the face in the upper third. */
  object-fit: cover;
  object-position: center 22%;
  display: block;
  filter: saturate(1.02) contrast(1.02);
  transition: transform 0.9s var(--ease-out);
}
.team-chairman:hover .team-chairman-photo img { transform: scale(1.025); }

.team-chairman-monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 420px;
  font-family: var(--font-head);
  font-size: 5rem;
  font-weight: 700;
  color: var(--team-gold);
  background: linear-gradient(150deg, var(--navy) 0%, var(--navy-2) 100%);
}

.team-chairman-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 56px 60px;
  min-width: 0; /* allows the long bio to wrap instead of overflowing */
}

.team-chairman-label {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bskl-muted);
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--team-gold);
  align-self: flex-start;
}

.team-chairman-name {
  font-family: var(--font-head);
  font-size: clamp(1.85rem, 1.35rem + 1.6vw, 2.9rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--navy);
  margin: 0 0 8px;
  overflow-wrap: break-word;
}

.team-chairman-position {
  font-family: var(--font-head);
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--team-charcoal);
  margin: 0 0 6px;
}

.team-chairman-department {
  font-size: 0.88rem;
  color: var(--bskl-muted);
  margin: 0 0 18px;
}

.team-chairman-bio {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--bskl-text);
  margin: 0 0 26px;
  max-width: 58ch;
}

.team-chairman .team-chairman-profile {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.team-chairman .team-chairman-profile i { transition: transform 0.3s var(--ease); }
.team-chairman .team-chairman-profile:hover i { transform: translateX(4px); }
.team-chairman .team-chairman-profile:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}

/* ---------- /team/<chairman>/ premium hero ---------- */
.team-chairman-hero {
  position: relative;
  overflow: hidden;
}
.team-chairman-hero .ph-bg { filter: saturate(1.05) brightness(0.55); }

.team-chairman-hero-grid {
  display: grid;
  /* Large portrait 44% / content 56% on desktop. */
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  padding: clamp(20px, 3vw, 40px) 0 clamp(34px, 5vw, 64px);
}

.team-chairman-hero-photo {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--navy-2);
  aspect-ratio: 4 / 5; /* portrait first, even on wide screens */
  box-shadow: var(--shadow-lg);
}
.team-chairman-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}

.team-chairman-hero-content { min-width: 0; }

.team-chairman-hero .team-chairman-label {
  color: var(--team-gold);
  border-bottom-color: var(--team-gold);
  margin-bottom: 16px;
}
.team-chairman-hero .team-chairman-name {
  font-size: clamp(2.1rem, 1.5rem + 2.2vw, 3.5rem);
  color: #fff;
}
.team-chairman-hero .team-chairman-position {
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
}
.team-chairman-hero .team-chairman-department {
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 26px;
}

.team-chairman-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
}
.team-chairman-hero-actions .team-profile-linkedin:focus-visible,
.team-chairman-hero-back:focus-visible {
  outline: 3px solid var(--team-gold);
  outline-offset: 3px;
}
.team-chairman-hero-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-ui);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.86);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  padding-bottom: 3px;
  transition: color 0.25s var(--ease), border-color 0.25s var(--ease);
}
.team-chairman-hero-back:hover {
  color: #fff;
  border-bottom-color: var(--team-gold);
}
.team-chairman-hero-back i { transition: transform 0.3s var(--ease); }
.team-chairman-hero-back:hover i { transform: translateX(-4px); }

/* ---------- Leadership Statement (optional, any member) ---------- */
.team-chairman-statement {
  margin-top: 4px;
  padding: 30px 34px;
  background: var(--team-ivory);
  border: 1px solid var(--team-ivory-line);
  border-left: 3px solid var(--team-gold);
  border-radius: var(--r-md);
}
.team-chairman-statement-label {
  display: block;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bskl-muted);
  margin-bottom: 12px;
}
.team-chairman-statement-quote {
  margin: 0;
  padding: 0;
  border: 0;
}
.team-chairman-statement-quote p {
  font-family: var(--font-head);
  font-size: clamp(1.02rem, 0.98rem + 0.25vw, 1.2rem);
  line-height: 1.7;
  font-weight: 500;
  color: var(--navy);
  margin: 0;
}

/* ---------- Responsive: portrait-first on small screens ---------- */
@media (max-width: 1024px) {
  .team-chairman { grid-template-columns: 1fr; }
  .team-chairman-photo { aspect-ratio: 16 / 11; }
  .team-chairman-monogram { min-height: 0; aspect-ratio: 16 / 11; font-size: 3.5rem; }
  .team-chairman-content { padding: 40px 38px; }
  .team-chairman-hero-grid { grid-template-columns: 1fr; }
  .team-chairman-hero-photo { max-width: 420px; aspect-ratio: 4 / 5; }
}
@media (max-width: 768px) {
  .team-chairman { margin-bottom: 34px; }
  .team-chairman::before { inset: 7px; border-radius: calc(var(--r-lg) - 7px); }
  .team-chairman-photo { aspect-ratio: 4 / 3; }
  .team-chairman-content { padding: 30px 24px; }
  .team-chairman-bio { font-size: 0.96rem; margin-bottom: 22px; }
  .team-chairman .team-chairman-profile { width: 100%; justify-content: center; }
  .team-chairman-statement { padding: 24px 22px; }
  .team-chairman-hero-actions { gap: 12px 16px; }
  .team-chairman-hero-actions .team-profile-linkedin { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
  .team-chairman-label { letter-spacing: 0.16em; margin-bottom: 12px; padding-bottom: 12px; }
  .team-chairman-content { padding: 26px 20px; }
  .team-chairman-hero-photo { max-width: none; }
}

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion: reduce) {
  .team-chairman,
  .team-chairman-photo img,
  .team-chairman .team-chairman-profile i,
  .team-chairman-hero-back,
  .team-chairman-hero-back i {
    transition: none;
  }
  .team-chairman:hover .team-chairman-photo img { transform: none; }
  .team-chairman:hover .team-chairman-profile i,
  .team-chairman-hero-back:hover i { transform: none; }
}

@media print {
  .team-chairman { box-shadow: none; break-inside: avoid; }
  .team-chairman::before { display: none; }
  .team-chairman-hero-actions,
  .team-chairman-hero .ph-bg { display: none; }
}
