.bio-carousel{--bio-gap:22px;--bio-visible:3;margin-top:36px;color:#173e32;position:relative;min-width:0}
.bio-carousel *{box-sizing:border-box}
.bio-carousel .bio-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 18px}
.bio-carousel .bio-eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#42655a}
.bio-carousel h3{font-family:inherit;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.3;color:#173e32;margin:8px 0 0}
.bio-carousel .bio-count{font-size:.8rem;letter-spacing:.12em;white-space:nowrap;font-variant-numeric:tabular-nums}
.bio-carousel .bio-stage{position:relative;padding:0 24px}
.bio-carousel .bio-window{overflow:hidden;padding:12px 0 20px;touch-action:pan-y pinch-zoom;cursor:grab}
.bio-carousel .bio-track{display:flex;gap:var(--bio-gap);align-items:stretch;transition:transform 560ms cubic-bezier(.22,.68,.2,1);will-change:transform}
.bio-carousel .bio-card{flex:0 0 calc((100% - (var(--bio-columns,var(--bio-visible)) - 1)*var(--bio-gap))/var(--bio-columns,var(--bio-visible)));min-width:0;margin:0;background:#fdfbf6;border:1px solid #dbdfd1;border-radius:20px;overflow:hidden;box-shadow:0 7px 16px #163b2e0d;transform:scale(.97);opacity:1;transition:transform 560ms cubic-bezier(.22,.68,.2,1),opacity 560ms ease;display:flex;flex-direction:column}
.bio-carousel .bio-card.is-active{transform:scale(1);opacity:1}
.bio-carousel .bio-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;user-select:none}
.bio-carousel figcaption{padding:18px 19px 20px;flex:1;display:flex;flex-direction:column}
.bio-carousel h4{font-family:inherit;color:#173e32;font-size:1.06rem;line-height:1.4;margin:0 0 8px}
.bio-carousel figcaption p{font-size:.9rem;line-height:1.65;color:#3c594e;margin:0 0 14px;transform:translateY(3px);opacity:1;transition:transform 560ms ease,opacity 560ms ease}
.bio-carousel .is-active figcaption p{transform:translateY(0);opacity:1}
.bio-carousel small{display:block;margin-top:auto;font-size:.75rem;line-height:1.5;color:#4a6258}
.bio-carousel a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.bio-carousel button{font:inherit;cursor:pointer;touch-action:manipulation}
.bio-carousel .bio-arrow{position:absolute;z-index:2;top:35%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid #cfdbcf;background:#173e32;color:#fff;font-size:1.5rem;box-shadow:0 4px 12px #173e3220}
.bio-carousel .bio-prev{left:0}.bio-carousel .bio-next{right:0}
.bio-carousel .bio-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.bio-carousel .bio-dots{display:flex;gap:2px}
.bio-carousel .bio-dot{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;padding:0}
.bio-carousel .bio-dot span{width:8px;height:8px;border-radius:50%;background:#7c9084}
.bio-carousel .bio-dot[aria-pressed=true] span{width:20px;border-radius:8px;background:#173e32;outline:2px solid #147568;outline-offset:4px}
.bio-carousel .bio-play{border:1px solid #bbc9ba;border-radius:24px;padding:10px 16px;min-height:44px;background:#fdfbf6;color:#173e32;font-size:.8rem}
.bio-carousel :focus-visible{outline:3px solid #08685f;outline-offset:4px}
.bio-carousel .bio-progress{width:120px;height:3px;border-radius:4px;background:#cfd8cc;overflow:hidden;margin:12px auto 0}
.bio-carousel .bio-progress span{display:block;width:100%;height:100%;background:#147568;transform:scaleX(0);transform-origin:left}
.bio-carousel[data-paused=true] .bio-track,.bio-carousel[data-paused=true] .bio-card,.bio-carousel[data-paused=true] figcaption p{will-change:auto}
.bio-carousel:not([data-ready]) .bio-track{overflow-x:auto;scroll-snap-type:x mandatory}
.bio-carousel:not([data-ready]) .bio-card{scroll-snap-align:start}
.bio-carousel:not([data-ready]) .bio-controls,.bio-carousel:not([data-ready]) .bio-arrow,.bio-carousel:not([data-ready]) .bio-progress{visibility:hidden}
@media(max-width:1023px){.bio-carousel{--bio-visible:2;--bio-gap:18px}}
@media(max-width:639px){.bio-carousel{--bio-visible:1;--bio-gap:14px;margin-top:28px}.bio-carousel .bio-stage{padding:0 10px}.bio-carousel .bio-arrow{width:44px;height:44px}.bio-carousel figcaption{padding:16px}.bio-carousel .bio-heading{align-items:start}.bio-carousel .bio-controls{gap:6px}.bio-carousel h3{max-width:260px}}
@media(prefers-reduced-motion:reduce){.bio-carousel .bio-track,.bio-carousel .bio-card,.bio-carousel figcaption p{transition:none!important;transform:none;opacity:1}.bio-carousel .bio-progress{display:none}}

.bio-carousel h4{transform:translateY(2px);transition:transform 560ms ease,opacity 560ms ease}
.bio-carousel .is-active h4{transform:translateY(0)}
.bio-carousel[data-suspended=true] .bio-track,.bio-carousel[data-suspended=true] .bio-card,.bio-carousel[data-suspended=true] figcaption p,.bio-carousel[data-suspended=true] h4{transition:none}
@media(prefers-reduced-motion:reduce){.bio-carousel h4{transition:none;transform:none}}

/* Keep mobile indicators clear of the existing floating contact button. */
@media(max-width:639px){.bio-carousel .bio-controls{padding-right:60px}.bio-carousel .bio-dot{flex-shrink:0}}
