.ld {
  --ink: #0b1f3a;
  --text: #3a4658;
  --line: #e3e8ef;
  --surface: #f6f8fb;
  --accent: #114A43;
  max-width: 1120px;
  margin: 0 auto;
  padding: 72px 24px 96px;
  color: var(--text);
  font-family: inherit;
  line-height: 1.65;
}
.ld h1, .ld h2 { color: var(--ink); letter-spacing: -0.02em; line-height: 1.2; margin: 0; }
.ld p { margin: 0 0 14px; max-width: 68ch; }

/* Intro */
.ld-intro { margin-bottom: 56px; }
.ld-intro h1 { font-size: clamp(2.25rem, 4.5vw, 3.25rem); font-weight: 650; margin-bottom: 14px; }
.ld-intro p { font-size: 1.125rem; margin: 0; }

/* Photos */
.ld-photo { aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--surface); }
.ld-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.ld-initials {
  display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
  font-size: 2.5rem; font-weight: 600; color: var(--accent);
}

/* Role and tags */
.ld-role { color: var(--accent); font-weight: 600; margin-bottom: 16px !important; }
.ld-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 18px 0; }
.ld-tags li {
  font-size: 0.8125rem; color: var(--ink); background: var(--surface);
  border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px;
}

/* Links */
.ld-link { color: var(--accent); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; }
.ld-link:hover { border-bottom-color: currentColor; }
.ld a:focus-visible, .ld summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

/* Managing Director */
.ld-md {
  display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: start;
  padding-bottom: 64px; margin-bottom: 64px; border-bottom: 1px solid var(--line);
}
.ld-md h2 { font-size: 2rem; font-weight: 650; margin-bottom: 4px; }

/* Executive Directors */
.ld-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ld-card {
  display: flex; flex-direction: column; padding: 24px;
  border: 1px solid var(--line); border-radius: 16px; background: #fff;
}
.ld-card .ld-photo { margin-bottom: 20px; }
.ld-card h2 { font-size: 1.25rem; font-weight: 650; margin-bottom: 4px; }
.ld-card .ld-tags { margin-top: auto; padding-top: 6px; }
.ld-card .ld-link { align-self: flex-start; }

/* Expandable profile */
.ld details { margin-bottom: 6px; }
.ld summary { cursor: pointer; color: var(--ink); font-weight: 600; list-style: none; }
.ld summary::-webkit-details-marker { display: none; }
.ld summary::after { content: " +"; color: var(--accent); }
.ld details[open] summary::after { content: " \2212"; }
.ld details p { margin-top: 12px; }

/* Call to action */
.ld-cta { margin-top: 80px; padding: 48px; border-radius: 20px; background: var(--ink); color: #d5deea; }
.ld-cta h2 { color: #fff; font-size: 1.75rem; margin-bottom: 8px; }
.ld-cta p { margin-bottom: 24px; }
.ld-button {
  display: inline-block; padding: 12px 24px; border-radius: 10px; background: #fff;
  color: var(--ink); font-weight: 600; text-decoration: none;
}
.ld-button:hover { background: var(--surface); }

/* Responsive */
@media (max-width: 960px) {
  .ld-grid { grid-template-columns: 1fr; }
  .ld-card .ld-photo { max-width: 240px; }
}
@media (max-width: 760px) {
  .ld { padding: 48px 20px 72px; }
  .ld-md { grid-template-columns: 1fr; gap: 28px; }
  .ld-md .ld-photo { max-width: 260px; }
  .ld-cta { padding: 32px 24px; }
}
@media (prefers-reduced-motion: reduce) { .ld * { transition: none !important; } }
