/* ==========================================================================
   Voices of Global Speakers — self-contained carousel styles (.gst-*)
   Palette pulled from the site's own style.css:
     accent  #FC226A  | dark text #01054C | body text #757F95
     surface #F6F6F6  | rule      #E6E6EF | card      #FFFFFF
   Depends on nothing but slick.css + this file.
   ========================================================================== */
.gst-section{
  --gst-accent:#FC226A;
  --gst-accent2:#8C52FF;
  --gst-dark:#01054C;
  --gst-text:#757F95;
  --gst-surface:#F6F6F6;
  --gst-rule:#E6E6EF;
  --gst-card:#FFFFFF;
  --gst-star:#F5A623;
  background:var(--gst-surface);
  border-top:1px solid var(--gst-rule);
  border-bottom:1px solid var(--gst-rule);
  padding:60px 0;
  font-family:"Poppins","Roboto",sans-serif;
}
.gst-section *{box-sizing:border-box;}
.gst-container{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---- Self-contained heading motif: centered h3 + short accent underline ---- */
.gst-title{text-align:center;margin:0 0 42px;}
.gst-title h3{
  margin:0;
  font-weight:600;
  font-size:32px;
  line-height:1.2;
  color:var(--gst-dark);
  font-family:"Poppins","Roboto",sans-serif;
}
.gst-title h3 span{color:var(--gst-accent);}
.gst-title .gst-underline{
  display:block;
  width:70px;
  height:3px;
  margin:14px auto 0;
  border-radius:3px;
  background:var(--gst-accent);
}

/* ---- Slide wrapper carries the gap as PADDING (no card margin -> no clip) ---- */
.gst-slide{padding:14px 12px;}

/* ---- Equal-height carousel plumbing (required verbatim) ---- */
.gst-carousel .slick-track{display:flex!important;}
.gst-carousel .slick-slide{height:auto;}
.gst-card{display:flex;flex-direction:column;justify-content:flex-start!important;}
.gst-quote{flex:0 0 auto!important;}
.gst-person{margin-top:auto!important;}

/* ---- Card ---- */
.gst-card{
  height:100%;
  background:var(--gst-card);
  border:1px solid var(--gst-rule);
  border-radius:16px;
  padding:28px 26px;
  box-shadow:0 10px 30px rgba(1,5,76,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.gst-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(1,5,76,.10);}

/* stars + quote pinned to top */
.gst-stars{color:var(--gst-star);font-size:15px;letter-spacing:2px;line-height:1;margin-bottom:14px;}
.gst-quote{
  position:relative;
  margin:0;
  padding-left:2px;
  color:var(--gst-text);
  font-size:15.5px;
  line-height:1.7;
}
.gst-quote .gst-qmark{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:52px;
  line-height:0;
  height:22px;
  color:var(--gst-accent);
  opacity:.28;
}

/* person block pinned to bottom */
.gst-person{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--gst-rule);
}
.gst-photo{
  flex:0 0 auto;
  width:72px;height:72px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;   /* portraits are full/half body -> crop from top to show the face */
  border:2px solid var(--gst-accent);
  background:var(--gst-surface);
}
.gst-meta{min-width:0;}
.gst-name{margin:0;font-size:16px;font-weight:600;color:var(--gst-dark);line-height:1.25;}
.gst-role{display:block;font-size:12.5px;color:var(--gst-text);line-height:1.4;margin-top:3px;}
.gst-country{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--gst-accent);}
.gst-country::before{content:"\f3c5";font-family:"Font Awesome 6 Free","FontAwesome";font-weight:900;margin-right:5px;font-size:11px;}

/* ---- Slick arrows (base slick.css ships none) ---- */
.gst-carousel{position:relative;}
.gst-carousel .slick-list{margin:0 -12px;}
.gst-carousel .slick-prev,
.gst-carousel .slick-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;height:44px;
  padding:0;
  border:0!important;
  border-radius:50%;
  background:var(--gst-accent)!important;
  box-shadow:0 6px 16px rgba(252,34,106,.35);
  cursor:pointer;
  font-size:0;
  line-height:44px;
  text-align:center;
  transition:background .25s ease, transform .25s ease;
}
.gst-carousel .slick-prev:hover,
.gst-carousel .slick-next:hover{background:var(--gst-accent2)!important;}
.gst-carousel .slick-prev{left:-54px;}
.gst-carousel .slick-next{right:-54px;}
.gst-carousel .slick-prev::before,
.gst-carousel .slick-next::before{
  font-family:"Font Awesome 6 Free","FontAwesome";
  font-weight:900;
  font-size:16px;
  line-height:44px;
  color:#fff;
  opacity:1;
}
.gst-carousel .slick-prev::before{content:"\f053";}
.gst-carousel .slick-next::before{content:"\f054";}
.gst-carousel .slick-prev.slick-disabled,
.gst-carousel .slick-next.slick-disabled{opacity:.4;}

/* ---- Slick dots (base slick.css ships none; unstyled dot = raw "1" box) ---- */
.gst-carousel .slick-dots{
  list-style:none;
  display:flex!important;
  justify-content:center;
  gap:10px;
  margin:30px 0 0;
  padding:0;
}
.gst-carousel .slick-dots li{width:auto;height:auto;margin:0;}
.gst-carousel .slick-dots li button{
  width:11px;height:11px;
  padding:0;
  border:0!important;
  border-radius:50%;
  background:var(--gst-rule)!important;
  font-size:0;
  line-height:0;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
.gst-carousel .slick-dots li button::before{display:none!important;content:""!important;}
.gst-carousel .slick-dots li.slick-active button{
  background:var(--gst-accent)!important;
  transform:scale(1.25);
}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .gst-carousel .slick-prev{left:-16px;}
  .gst-carousel .slick-next{right:-16px;}
}
@media (max-width:767px){
  .gst-section{padding:44px 0;}
  .gst-title h3{font-size:26px;}
  .gst-carousel .slick-prev{left:-6px;width:38px;height:38px;line-height:38px;}
  .gst-carousel .slick-next{right:-6px;width:38px;height:38px;line-height:38px;}
  .gst-carousel .slick-prev::before,
  .gst-carousel .slick-next::before{line-height:38px;}
}
