/* ================= BO TEAM PREVIEW STRIP WIDGET — default styling =================
   Scoped under .bo-team-preview-wrap. Self-contained: does not depend on theme
   globals like .wrap/.eyebrow/.btn/:root vars, so it renders correctly even
   if the theme's own stylesheet isn't loaded.
   ========================================================================= */

.bo-team-preview-wrap{
  --tp-navy: #031B39;
  --tp-blue: #1083E6;
  --tp-slate-light: #8B97A8;
  --tp-ease: cubic-bezier(.22,1,.36,1);
  --tp-bg: #ffffff;
  --tp-container-max: 1220px;
  --tp-top-padding: 80px;
  --tp-header-margin: 40px;
  --tp-card-width: 220px;
  --tp-card-gap: 18px;
  --tp-radius: 14px;
  --tp-photo-ratio: 3 / 4;
  --tp-eyebrow-color: #1083E6;
  --tp-heading-color: #031B39;
  --tp-btn-bg: #031B39;
  --tp-btn-bg-hover: #1083E6;
  --tp-btn-text: #ffffff;
  --tp-name-color: #031B39;
  --tp-role-color: #8B97A8;
  --tp-cta-border: #C7CEDA;
  --tp-cta-border-hover: #1083E6;
  --tp-cta-bg-hover: rgba(16,131,230,.04);
  --tp-cta-text: #031B39;
  --tp-cta-text-hover: #1083E6;
  --tp-btn-icon: currentColor;
  --tp-cta-icon: currentColor;
  --tp-cta-icon-hover: currentColor;
  font-family:'Roboto', sans-serif;
}

.bo-team-preview-wrap .au-team-preview{
  padding: var(--tp-top-padding) 0 0;
  background: var(--tp-bg);
  overflow: hidden;
}

.bo-team-preview-wrap .wrap{
  max-width: var(--tp-container-max);
  margin: 0 auto;
  padding: 0 40px;
}

/* ---------- Header ---------- */
.bo-team-preview-wrap .au-tp-header{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--tp-header-margin);
  gap: 20px;
}

.bo-team-preview-wrap .tp-eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tp-eyebrow-color);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.bo-team-preview-wrap .tp-eyebrow::before{
  content: '';
  width: 18px; height: 1px;
  background: var(--tp-eyebrow-color);
  display: inline-block;
}

.bo-team-preview-wrap .au-tp-header .au-tp-heading{
  font-family:'Roboto Slab', serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--tp-heading-color);
  margin: 0;
}

/* ---------- Header CTA button ---------- */
.bo-team-preview-wrap .tp-btn-primary{
  font-family:'Roboto', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  padding: 11px 22px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
  background: var(--tp-btn-bg);
  color: var(--tp-btn-text);
  transition: all .35s var(--tp-ease);
  box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 8px 20px -8px rgba(11,31,58,.45);
}
.bo-team-preview-wrap .tp-btn-primary:hover{
  background: var(--tp-btn-bg-hover);
  color: var(--tp-btn-text);
  transform: translateY(-2px);
}
.bo-team-preview-wrap .tp-btn-primary svg{ transition: transform .35s var(--tp-ease); stroke: var(--tp-btn-icon); }
.bo-team-preview-wrap .tp-btn-primary:hover svg{ transform: translateX(3px); }

/* ---------- Scroll track ---------- */
.bo-team-preview-wrap .au-tp-scroll{
  overflow-x: auto;
  padding: 0 max(calc((100vw - var(--tp-container-max)) / 2), 40px) 40px;
  scrollbar-width: none;
}
.bo-team-preview-wrap .au-tp-scroll::-webkit-scrollbar{ display: none; }

.bo-team-preview-wrap .au-tp-track{
  display: flex;
  gap: var(--tp-card-gap);
  width: max-content;
  margin: 0 auto;
}

/* ---------- Cards ---------- */
.bo-team-preview-wrap .au-tp-card{
  width: var(--tp-card-width);
  flex-shrink: 0;
}

.bo-team-preview-wrap .au-tp-photo{
  border-radius: var(--tp-radius);
  overflow: hidden;
  aspect-ratio: var(--tp-photo-ratio);
  margin-bottom: 14px;
  position: relative;
  background: #eef1f5;
}
.bo-team-preview-wrap .au-tp-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .6s var(--tp-ease);
}
.bo-team-preview-wrap:not(.tp-no-zoom) .au-tp-card:hover .au-tp-photo img{ transform: scale(1.05); }

.bo-team-preview-wrap .au-tp-info strong{
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--tp-name-color);
  margin-bottom: 3px;
  font-family:'Roboto', sans-serif;
}
.bo-team-preview-wrap .au-tp-info span{
  font-size: 12.5px;
  color: var(--tp-role-color);
}

/* ---------- End CTA card ---------- */
.bo-team-preview-wrap .au-tp-card--cta{ display: flex; align-items: stretch; }
.bo-team-preview-wrap .au-tp-card--cta a{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  aspect-ratio: var(--tp-photo-ratio);
  border: 1.5px dashed var(--tp-cta-border);
  border-radius: var(--tp-radius);
  color: var(--tp-cta-text);
  text-decoration: none;
  transition: all .3s var(--tp-ease);
}
.bo-team-preview-wrap .au-tp-card--cta a:hover{
  border-color: var(--tp-cta-border-hover);
  background: var(--tp-cta-bg-hover);
  color: var(--tp-cta-text-hover);
}
.bo-team-preview-wrap .au-tp-card--cta a:hover svg{ stroke: var(--tp-cta-icon-hover); }
.bo-team-preview-wrap .au-tp-card--cta svg{ width: 20px; height: 20px; stroke: var(--tp-cta-icon); }
.bo-team-preview-wrap .au-tp-card--cta span{ font-size: 13px; font-weight: 600; }

/* ---------- Reveal / stagger (self-contained, no theme JS required) ---------- */
.bo-team-preview-wrap .reveal{
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .8s var(--tp-ease), transform .8s var(--tp-ease);
}
.bo-team-preview-wrap .reveal.in{ opacity: 1; transform: translateY(0); }

.bo-team-preview-wrap .stagger-children .au-tp-card{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s var(--tp-ease), transform .6s var(--tp-ease);
}
.bo-team-preview-wrap .stagger-children.in .au-tp-card{ opacity: 1; transform: translateY(0); }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(1){ transition-delay: .05s; }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(2){ transition-delay: .10s; }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(3){ transition-delay: .15s; }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(4){ transition-delay: .20s; }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(5){ transition-delay: .25s; }
.bo-team-preview-wrap .stagger-children.in .au-tp-card:nth-child(n+6){ transition-delay: .30s; }

@media (prefers-reduced-motion: reduce){
  .bo-team-preview-wrap .reveal,
  .bo-team-preview-wrap .stagger-children .au-tp-card{ opacity: 1; transform: none; transition: none; }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
  .bo-team-preview-wrap .au-tp-header{
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .bo-team-preview-wrap .au-tp-header h2{ font-size: 26px; }
  .bo-team-preview-wrap .wrap{ padding: 0 20px; }
}

@media (max-width: 640px){
  .bo-team-preview-wrap{
    --tp-top-padding: 56px;
    --tp-card-width: 160px;
    --tp-card-gap: 14px;
  }
  .bo-team-preview-wrap .au-tp-header h2{ font-size: 22px; }
  .bo-team-preview-wrap .tp-btn-primary{ width: 100%; justify-content: center; }
  .bo-team-preview-wrap .au-tp-scroll{ padding: 0 20px 30px; }
}

body.elementor-editor-active .bo-team-preview-wrap .reveal,
body.elementor-editor-active .bo-team-preview-wrap .stagger-children,
body.elementor-editor-active .bo-team-preview-wrap .stagger-children > * {
	opacity: 1 !important;
	transform: none !important;
}