
.about-page__team, .team-carousel { min-width: 0; }
.team-carousel { display: grid; gap: 16px; }
.team-carousel__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.team-carousel__toolbar > span { color: var(--muted); font-size: .85rem; line-height: 1.5; }
.team-carousel__arrows { display: flex; gap: 8px; flex-shrink: 0; }
.team-carousel__arrows button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--forest); border-radius: 50%; background: var(--forest); color: white; cursor: pointer; transition: background 180ms ease, opacity 180ms ease; }
.team-carousel__arrows button:disabled { opacity: .35; cursor: default; background: transparent; color: var(--forest); }
.team-carousel__arrows button:hover:not(:disabled) { background: var(--gold-dark); }
.team-carousel__arrows button:focus-visible, .team-carousel__dots button:focus-visible, .team-carousel__track:focus-visible { outline: 3px solid var(--gold-dark); outline-offset: 3px; }
.team-carousel__track { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 2.4); gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0; scrollbar-width: none; padding: 3px 0 14px; -webkit-overflow-scrolling: touch; }
.team-carousel__track::-webkit-scrollbar { display: none; }
.team-carousel .about-page__team-card { display: flex; flex-direction: column; scroll-snap-align: start; border-radius: 16px; background: #fffdf3; border: 1px solid rgba(23,61,44,.12); box-shadow: 0 7px 18px rgba(23,61,44,.06); }
.about-page__team-card > .team-carousel__portrait { padding: 0; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #e9e2d4; }
.team-carousel__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.about-page__team-card > .team-carousel__body { display: flex; flex-direction: column; gap: 12px; padding: 22px; flex: 1; }
.team-carousel__body > span { line-height: 1.5; letter-spacing: .02em; }
.team-carousel .about-page__team-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; line-height: 1.2; }
.team-carousel .about-page__team-card p { -webkit-line-clamp: 4; font-size: .9rem; line-height: 1.7; }
.team-carousel__body small { margin-top: auto; padding-top: 8px; line-height: 1.6; }
.team-carousel__dots { display: flex; gap: 4px; justify-content: center; }
.team-carousel__dots button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; padding: 0; background: transparent; cursor: pointer; border-radius: 50%; }
.team-carousel__dots button span { width: 8px; height: 8px; border-radius: 50%; background: rgba(23,61,44,.25); transition: width 180ms ease; }
.team-carousel__dots button[aria-current="true"] span { width: 24px; border-radius: 8px; background: var(--forest); }
@media (max-width: 1000px) { .team-carousel__track { grid-auto-columns: 46%; gap: 16px; } }
@media (max-width: 620px) { .team-carousel__track { grid-auto-columns: 86%; gap: 14px; } .team-carousel__toolbar > span { max-width: 24ch; } .about-page__team-card > .team-carousel__body { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .team-carousel * { transition: none !important; scroll-behavior: auto !important; } }
