/* Board Section Stylesheet
 * ------------------------
 * Styles for the Scientific Advisory & Executive Board (Liquid Glass 3D Flip Cards).
 */

.board-section {
  position: relative;
  width: 100%;
  max-width: 1536px;
  margin-inline: auto;
  padding-block: clamp(80px, 10vw, 120px);
  padding-inline: clamp(24px, 5vw, 64px);
  z-index: 10;
  content-visibility: auto;
  contain-intrinsic-block-size: auto 1200px;
}

.board-header {
  text-align: center;
  margin-block-end: clamp(40px, 6vw, 64px);
}

.board-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 300;
  color: var(--idx-navy);
  margin: 0;
  letter-spacing: -0.02em;
}

:root[dir="rtl"] .board-title {
  letter-spacing: 0;
}

.board-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  color: var(--idx-slate);
  margin-block-start: 12px;
}

/* Pyramid Grid Layout */
.board-pyramid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, 4vw, 40px);
  width: 100%;
}

.board-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(24px, 4vw, 40px);
  width: 100%;
}

/* 3D Flip Card Container */
.board-card {
  position: relative;
  scroll-margin-block-start: 140px;
  width: 100%;
  max-width: clamp(260px, 18vw, 330px);
  height: 520px; /* Ample space for vertical portrait */
  perspective: 1200px;
  transform: translateZ(0); /* GPU Acceleration */
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Automated 5.0s Targeted Card 3D Flip Reveal Engine (Choreographed Staging) */
.board-card.is-targeted .board-card-inner {
  animation: board-card-auto-flip 5.0s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes board-card-auto-flip {
  0%, 20% {
    transform: rotateY(0deg);
    box-shadow: var(--idx-shadow-card);
  }
  40%, 80% {
    transform: rotateY(180deg);
    box-shadow: var(--idx-shadow-hero), 0 0 32px rgba(15, 118, 110, 0.35);
  }
  100% {
    transform: rotateY(0deg);
    box-shadow: var(--idx-shadow-card);
  }
}

:root[dir="rtl"] .board-card.is-targeted .board-card-inner {
  animation: board-card-auto-flip-rtl 5.0s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes board-card-auto-flip-rtl {
  0%, 20% {
    transform: rotateY(0deg);
    box-shadow: var(--idx-shadow-card);
  }
  40%, 80% {
    transform: rotateY(-180deg);
    box-shadow: var(--idx-shadow-hero), 0 0 32px rgba(15, 118, 110, 0.35);
  }
  100% {
    transform: rotateY(0deg);
    box-shadow: var(--idx-shadow-card);
  }
}

/* Flip Engine */
.board-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 1.0s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: var(--idx-shadow-card);
  border-radius: 24px;
}

.board-card:hover .board-card-inner,
.board-card.is-flipped .board-card-inner,
.board-card:focus-visible .board-card-inner {
  animation: none !important;
  transform: rotateY(180deg) !important;
  box-shadow: var(--idx-shadow-hero);
}

/* :focus-visible ring for keyboard navigation — WCAG 2.1 AA */
.board-card:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 4px;
  border-radius: 24px;
}

:root[dir="rtl"] .board-card:hover .board-card-inner,
:root[dir="rtl"] .board-card.is-flipped .board-card-inner,
:root[dir="rtl"] .board-card:focus-visible .board-card-inner {
  animation: none !important;
  transform: rotateY(-180deg) !important; /* Natural RTL rotation direction */
}

/* Front & Back Global Settings */
.board-card-front, .board-card-back {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden; /* Keeps internal elements clipped to border-radius */
}

/* ── FRONT SIDE ── */
.board-card-front {
  background: var(--idx-surface);
  transform: rotateY(0deg);
}

.board-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  /* Original vibrant color, no grayscale */
  transition: transform 1.0s var(--idx-ease);
}

.board-card:hover .board-portrait,
.board-card.is-flipped .board-portrait {
  transform: scale(1.05); /* Slight zoom during flip */
}

.board-portrait-gradient {
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  height: 60%;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 50%, transparent 100%);
  pointer-events: none;
}

.board-front-content {
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  padding: 32px 24px;
  color: var(--idx-white);
  text-align: center;
  z-index: 2;
}

.board-name {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.3rem, 1.8vw, 1.5rem);
  font-weight: 600;
  margin: 0 0 8px 0;
  line-height: 1.2;
}

.board-role {
  font-family: var(--idx-ff-ui);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--idx-sage); /* Clinical brand color */
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

:root[dir="rtl"] .board-role {
  letter-spacing: 0;
}

/* ── BACK SIDE (LIQUID GLASS) ── */
.board-card-back {
  transform: rotateY(180deg);
  background: var(--idx-surface);
  display: flex;
  flex-direction: column;
}

.board-card-back .nav-pill-glass-container {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.board-backdrop {
  position: absolute;
  inset: -24px;
  background: rgba(15, 118, 110, 0.04); /* Clinical soft teal tint */
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}

.board-rim {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.1), inset 0 0 20px rgba(15, 118, 110, 0.04);
}

.board-back-content {
  position: relative;
  z-index: 1;
  padding: 32px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  color: var(--idx-navy);
}

.board-icon-wrap {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-end: 16px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
}

.board-icon {
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke: var(--idx-teal);
}

.board-expertise {
  font-family: var(--idx-ff-body);
  font-size: 1rem;
  color: var(--idx-teal);
  font-weight: 600;
  margin: 0 0 16px 0;
  line-height: 1.4;
  text-align: center;
  border-block-end: 1px solid var(--idx-border-soft);
  padding-block-end: 16px;
  padding-inline-end: 24px; /* avoid icon overlap */
}

.board-hover-details {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--idx-teal) transparent;
  padding-inline-end: 8px; /* Room for scrollbar */
}

.board-hover-details::-webkit-scrollbar {
  width: 4px;
}
.board-hover-details::-webkit-scrollbar-thumb {
  background: var(--idx-teal);
  border-radius: 4px;
}

.board-key-sentence {
  font-family: var(--idx-ff-body);
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--idx-slate);
  margin: 0 0 16px 0;
  line-height: 1.6;
  font-style: italic;
  border-inline-start: 2px solid var(--idx-teal);
  padding-inline-start: 12px;
}

:root[dir="rtl"] .board-key-sentence {
  font-style: normal;
}

.board-achievements {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.board-achievements li {
  font-family: var(--idx-ff-ui);
  font-size: 0.85rem;
  color: var(--idx-slate);
  line-height: 1.5;
  position: relative;
  padding-inline-start: 16px;
}

.board-achievements li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--idx-sage);
}

.board-achievements li strong {
  color: var(--idx-navy);
  font-weight: 600;
}

.board-section-label {
  font-family: var(--idx-ff-ui);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--idx-teal);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 16px 0 8px 0;
  border-block-end: 1px solid var(--idx-border-soft);
  padding-block-end: 4px;
}

:root[dir="rtl"] .board-section-label {
  letter-spacing: 0;
}

