.elementor-kit-980{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-980 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.speakers-page { background: #eaf3fb; padding: 34px; border-radius: 12px; box-shadow: 0 6px 18px rgba(10,30,60,0.06); }
.speakers-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.speakers-title { font-size:28px; margin:0; color:#17324b; }

.speakers-search { display:flex; align-items:center; gap:8px; }
.speakers-search input[type="search"] {
  width:260px; max-width:40vw; padding:10px 12px; border-radius:6px; border:1px solid rgba(0,0,0,0.08);
  background:#fff;
}
.speakers-search button { background:transparent; border:0; cursor:pointer; font-size:14px; }

.speakers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}

.speaker-card {
  background: #fff;
  padding: 18px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(10,30,60,0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 250ms ease, box-shadow 250ms ease;
}

.speaker-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 12px 28px rgba(10,30,60,0.12); }

.speaker-photo-wrap {
  width: 96px; height: 96px; border-radius: 50%; overflow:hidden; display:flex; align-items:center; justify-content:center; margin-bottom:12px;
  background:#f1f6fa;
}
.speaker-photo {
  width:100%; height:100%; object-fit:cover; border-radius:50%; transition: transform 300ms ease;
}
.speaker-card:hover .speaker-photo { transform: scale(1.07); }

.speaker-name { font-weight:700; margin:6px 0 2px; color:#14324a; font-size:16px; }
.speaker-role { color:#2f5870; font-size:13px; margin:0 0 8px; min-height:1.6em; }
.speaker-excerpt { font-size:13px; color:#556b78; margin-bottom:10px; line-height:1.25; max-height:3.75em; overflow:hidden; text-overflow:ellipsis; }
.speaker-link { font-size:13px; color:#1976d2; text-decoration:none; }

.no-results { text-align:center; padding:18px; color:#4a5560; }

@media (max-width: 520px) {
  .speakers-grid { grid-template-columns: repeat(2, 1fr); gap:10px; }  /* ensures not only 1 per row */
  .speakers-search input[type="search"] { width:160px; }
}
@media (max-width:380px) {
  .speaker-photo-wrap { width:80px; height:80px; }
}
/* Container + header */
.speakers-page {
  background: #eaf3fb;
  padding: 34px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(10,30,60,0.06);
  max-width: 1200px;
  margin: 0 auto;
}
.speakers-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.speakers-title {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: 28px;
  letter-spacing: 0.3px;
  margin: 0;
  color: #17324b;
}

/* search */
.speakers-search {
  display: flex;
  align-items: center;
  gap: 8px;
}
.speakers-search input[type="search"] {
  width: 260px;
  max-width: 40vw;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
.speakers-search button {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 14px;
}

/* Grid layout: responsive, fills columns and avoids single column on mobile */
.speakers-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  align-items: start;
}

/* Card styling & hover animation */
.speaker-card {
  background: #fff;
  padding: 18px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(10,30,60,0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 240ms ease, box-shadow 240ms ease;
  overflow: hidden;
}
.speaker-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 12px 28px rgba(10,30,60,0.12);
}

/* Circle photo: fixed diameter for all cards */
.speaker-photo-wrap {
  width: 96px;        /* change this single value to scale all circles */
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  background: #f1f6fa;
  flex-shrink: 0;
}
.speaker-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;    /* ensures every image fills the circle the same way */
  display: block;
  border-radius: 50%;
  transition: transform 300ms ease, filter 300ms ease;
}
.speaker-card:hover .speaker-photo {
  transform: scale(1.07);
  filter: saturate(1.05);
}

/* Text inside card */
.speaker-name {
  font-weight: 700;
  margin: 6px 0 2px;
  color: #14324a;
  font-size: 16px;
}
.speaker-role {
  color: #2f5870;
  font-size: 13px;
  margin: 0 0 8px;
  min-height: 1.6em;
}
.speaker-excerpt {
  font-size: 13px;
  color: #556b78;
  margin-bottom: 10px;
  line-height: 1.25;
  max-height: 3.75em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.speaker-link {
  font-size: 13px;
  color: #1976d2;
  text-decoration: none;
}

/* No results message */
.no-results {
  text-align: center;
  padding: 18px;
  color: #4a5560;
}

/* Responsive rules: make sure mobile shows two columns (not only one) */
@media (max-width: 700px) {
  .speakers-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .speakers-search input[type="search"] { width: 160px; }
}
/* Very small screens: slightly smaller circle */
@media (max-width: 380px) {
  .speaker-photo-wrap { width: 80px; height: 80px; }
}

/* Optional: make sure long names wrap nicely */
.speaker-name,
.speaker-role { word-break: break-word; }/* End custom CSS */