.bravis-team{--bravis-cols:4;--bravis-gap:26px;position:relative;min-width:0}.bravis-team-track{display:flex;gap:var(--bravis-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain}.bravis-team-track::-webkit-scrollbar{display:none}.bravis-team-card{box-sizing:border-box;flex:0 0 calc((100% - (var(--bravis-cols) - 1)*var(--bravis-gap))/var(--bravis-cols));min-width:0;scroll-snap-align:start}.bravis-team-media{aspect-ratio:1/1;width:100%;overflow:hidden}.bravis-team-photo{width:100%;height:100%;object-fit:cover;display:block}.bravis-team-placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;background:#e7e8e1}.bravis-team-card:nth-child(even) .bravis-team-placeholder{background:#dce5e3}.bravis-team-initials{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);font-weight:400;color:#8ca4a8;line-height:1}.bravis-team-info{padding-top:18px}.bravis-team-name{font-size:16px;line-height:1.35;margin:0 0 9px;font-weight:600}.bravis-team-role{font-size:12px;line-height:1.5;color:#65737b;margin-bottom:12px}.bravis-team-social{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 12px}.bravis-team-social a{font-size:12px;text-decoration:none}.bravis-team-profile{display:inline-block;font-size:12px;text-decoration:none;color:#11669b}.bravis-team-profile:hover{text-decoration:underline}.bravis-team-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.bravis-team-nav button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:25px;line-height:1;cursor:pointer;padding:0}.bravis-team-nav button:disabled{opacity:.3;cursor:default}.bravis-team-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.bravis-team-dots button{height:8px;width:8px;border-radius:50%;border:1px solid currentColor;background:transparent;padding:0;cursor:pointer}.bravis-team-dots button[aria-current=true]{background:currentColor}@media(max-width:1024px){.bravis-team{--bravis-cols:2}}@media(max-width:767px){.bravis-team{--bravis-cols:1}}

.bravis-team-social{align-items:center;gap:12px}.bravis-team-social a{display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;min-width:18px;min-height:22px}.bravis-team-social a i{font-size:inherit;line-height:1}.bravis-team-social a:hover{opacity:.8}


/* Swiper: let the library own the transform, widths and transition. */
.bravis-team .bravis-team-viewport{overflow:hidden;min-width:0;touch-action:pan-y;cursor:grab}
.bravis-team .bravis-team-viewport:active{cursor:grabbing}
.bravis-team .bravis-team-track.swiper-wrapper{display:flex;gap:0;overflow:visible;scroll-snap-type:none;scroll-behavior:auto;transition-property:transform;will-change:transform}
.bravis-team .bravis-team-card.swiper-slide{flex-shrink:0;flex-basis:auto;scroll-snap-align:none}
.bravis-team .bravis-team-photo{-webkit-user-drag:none;user-select:none}
.bravis-team-dots .bravis-team-dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid currentColor;background:transparent;cursor:pointer;opacity:1}
.bravis-team-dots .bravis-team-dot.is-active{background:currentColor}

/* Preserve Swiper's dynamic duration even against global reduced-motion overrides.
   Swiper explicitly sets 0ms while correcting its infinite loop. */
@media (prefers-reduced-motion: reduce) {
  html .bravis-team .bravis-team-track.swiper-wrapper {
    transition-duration: var(--bravis-swiper-duration, 0ms) !important;
  }
}

/* Static team grid: same cards and Elementor styles as the carousel, no Swiper. */
.bravis-team.bravis-team-grid .bravis-team-track{display:grid;grid-template-columns:repeat(var(--bravis-cols,4),minmax(0,1fr));gap:var(--bravis-gap,26px);overflow:visible;scroll-snap-type:none;scroll-behavior:auto}
.bravis-team.bravis-team-grid .bravis-team-card{width:auto;min-width:0;flex:none;scroll-snap-align:none}

.bravis-agent-social .bravis-team-social{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}.bravis-agent-social .bravis-team-social a{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;text-decoration:none}.bravis-agent-social .bravis-team-social a:hover{opacity:.75}

/* Keep linked team photos visually identical to their original media wrapper. */
.bravis-team-media-link{display:block;text-decoration:none;color:inherit;cursor:pointer}
.bravis-team-media-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Agent photo widget: match team-grid placeholders and respect Elementor image dimensions. */
.bravis-agent-photo .bravis-team-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;width:100%;height:auto;max-width:100%;box-sizing:border-box;overflow:hidden}
.bravis-agent-photo .bravis-team-placeholder.is-color-1{background:#e7e8e1}
.bravis-agent-photo .bravis-team-placeholder.is-color-2{background:#dce5e3}
.bravis-agent-photo .bravis-team-initials{font-family:Georgia,serif;font-size:clamp(42px,5vw,76px);font-weight:400;color:#8ca4a8;line-height:1}

/* Agent photo: fill the Elementor widget even without an image. */
.elementor-widget-bravis-agent-photo, .elementor-widget-bravis-agent-photo > .elementor-widget-container { width:100%; min-width:0; }
.bravis-agent-photo { display:block; width:100%; min-width:0; box-sizing:border-box; }
.bravis-agent-photo > img { display:block; width:100%; max-width:100%; height:auto; }
.bravis-agent-photo > .bravis-team-placeholder { display:flex; width:100%; max-width:100%; min-width:0; height:auto; aspect-ratio:1 / 1; align-items:center; justify-content:center; box-sizing:border-box; }
