/* Composite image: 400 × 460, transparent portrait area: 400 × 260. */
.exp-speakers-section { background: #222925 !important; padding: 72px 0 !important; }
.exp-speakers-section .exp-speakers-row { width: 92% !important; max-width: 1376px !important; padding: 0 !important; }
.exp-speakers-section .exp-speakers-column { width: 100% !important; max-width: none !important; padding: 0 !important; }
.exp-speakers-section .exp-speakers-title h2 { color: #fff; font-family: 'Neue Haas Grotesk Display Pro 75 Bold', Arial, sans-serif; font-size: clamp(32px, 4vw, 54px); line-height: 1.05; padding: 0; margin: 0; }
.exp-speakers-section .exp-speakers-title { margin: 0 0 28px !important; }
.exp-speakers-section .exp-speakers-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.exp-speakers-grid .exp-speaker-card {
  position: relative; display: block !important; container-type: inline-size;
  width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important;
  height: var(--exp-card-height, auto) !important; min-height: var(--exp-card-height, 0) !important;
  overflow: hidden; border-radius: 30px; background: #fff; isolation: isolate; box-sizing: border-box;
  --exp-speaker-color: #FFF7B2;
}
.exp-speaker-card::before { content: ''; position: absolute; z-index: -1; top: 0; left: 0; width: 100%; aspect-ratio: 400 / 260; background: var(--exp-speaker-color); }
.exp-speaker-card .exp-speaker-image { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; }
.exp-speaker-card .exp-speaker-image .et_pb_image_wrap { display: block !important; width: 100% !important; }
.exp-speaker-card .exp-speaker-image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 400 / 460; object-fit: contain; margin: 0; }
.exp-speaker-card .exp-speaker-copy { position: relative; margin: calc(-50cqw + 30px) 0 0 !important; padding: 0 30px 30px !important; color: #242824; }
.exp-speaker-copy .et_pb_text_inner { margin: 0; }
.exp-speaker-copy .exp-speaker-title {
  display: flow-root; width: 100%; min-height: max(0px, calc(20cqw - 30px));
  padding: 0 !important; margin: 0 0 8px !important; color: #141814 !important;
  font-family: 'Neue Haas Grotesk Display Pro 75 Bold', Arial, sans-serif !important;
  font-size: clamp(18px, 7cqw, 28px) !important; font-weight: 800 !important; line-height: 1.02 !important;
  overflow-wrap: anywhere; hyphens: auto;
}
.exp-speaker-copy .exp-speaker-title::before { content: ''; float: right; width: max(0px, calc(35cqw - 30px)); height: max(0px, calc(20cqw - 30px)); }
.exp-speaker-title .exp-speaker-name, .exp-speaker-title .exp-speaker-surname { display: block; }
.exp-speaker-copy .exp-speaker-role { padding: 0 !important; margin: 0 !important; font-family: 'Neue Haas Grotesk Display Pro 55 Roman', Arial, sans-serif !important; font-size: clamp(13px, 4.3cqw, 17px) !important; line-height: 1.25 !important; font-weight: 400; overflow-wrap: anywhere; white-space: pre-line; }
.exp-speaker-key { display: none !important; }
.exp-speaker-image, .exp-speaker-copy { opacity: 1; transition: opacity 220ms ease; }
.exp-speaker-changing .exp-speaker-image, .exp-speaker-changing .exp-speaker-copy { opacity: 0; }
.exp-speakers-measure { position: fixed !important; top: -100000px !important; left: 0 !important; visibility: hidden !important; pointer-events: none !important; z-index: -100 !important; }
@media (max-width: 980px) { .exp-speakers-section .exp-speakers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; } }
@media (max-width: 767px) {
  .exp-speakers-section { padding: 44px 0 !important; }
  .exp-speakers-section .exp-speakers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .exp-speakers-grid .exp-speaker-card { border-radius: 22px; }
  .exp-speaker-copy .exp-speaker-title { font-size: clamp(16px, 8cqw, 23px) !important; }
}
@media (prefers-reduced-motion: reduce) { .exp-speaker-image, .exp-speaker-copy { transition: none; } }
