.about-reel__head { max-width: 44rem; }

.about-reel__arrow { width: 3.25rem; height: 3.25rem; appearance: none; -webkit-appearance: none; cursor: pointer; transition: transform 200ms ease, opacity 200ms ease; }
.about-reel__arrow[disabled] { opacity: .35; cursor: default; transform: none; }

.about-reel__timeline { padding: 0 .25rem; }
.about-reel__rail { top: 1.125rem; height: .25rem; }
.about-reel__rail-fill { width: 0; transition: width 250ms ease-out; }
.about-reel__node { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; opacity: .55; transition: opacity 300ms ease; }
.about-reel__node.is-active, .about-reel__node.is-done { opacity: 1; }
.about-reel__node:focus-visible { outline: 2px solid; outline-offset: 4px; border-radius: .5rem; }
.about-reel__dot { width: 2.5rem; height: 2.5rem; font-size: .9375rem; transform: scale(.82); transition: transform 300ms cubic-bezier(.3, 1.4, .4, 1); }
.about-reel__node.is-active .about-reel__dot { transform: scale(1.08); }
.about-reel__node-label { font-size: .875rem; line-height: 1.25rem; }

.about-reel__track { scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.about-reel__track:focus-visible { outline: 2px solid; outline-offset: 4px; border-radius: 1.5rem; }
.about-reel__card { flex: 0 0 86%; scroll-snap-align: start; opacity: .55; transform: scale(.96); transition: opacity 500ms ease, transform 500ms cubic-bezier(.2, .8, .2, 1); }
.about-reel__card.is-active { opacity: 1; transform: none; }
@media (min-width: 640px) { .about-reel__card { flex-basis: 60%; } }
@media (min-width: 1024px) { .about-reel__card { flex-basis: 40%; } }
@media (min-width: 1280px) { .about-reel__card { flex-basis: 36%; } }

.about-reel__figure { aspect-ratio: 16 / 10; }
.about-reel__img { object-fit: cover; transform: scale(1.1); transition: transform 1200ms cubic-bezier(.2, .8, .2, 1); }
.about-reel__card.is-active .about-reel__img { transform: scale(1); }

.about-reel__caption { font-size: .875rem; line-height: 1.25rem; }
.about-reel__meter { height: .5rem; }
.about-reel__meter-fill { width: 0; transition: width 1400ms cubic-bezier(.2, .8, .2, 1) 200ms; }

@media (prefers-reduced-motion: reduce) {
    .about-reel__track { scroll-behavior: auto; }
    .about-reel__card, .about-reel__img, .about-reel__meter-fill, .about-reel__rail-fill, .about-reel__dot { transition: none; }
    .about-reel__card { opacity: 1; transform: none; }
}
/* keep edge labels inside the container */
.about-reel__node-label { max-width: 9rem; text-align: center; }
.about-reel__timeline li:first-child .about-reel__node { align-items: flex-start !important; }
.about-reel__timeline li:first-child .about-reel__node-label { text-align: left; }
.about-reel__timeline li:last-child .about-reel__node { align-items: flex-end !important; }
.about-reel__timeline li:last-child .about-reel__node-label { text-align: right; }
@media (max-width: 767px) { .about-reel__node-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }

.values-mission-panel__col {
    max-width: 24rem;
}

.values-mission-panel__thumb {
    width: 6rem;
    height: 6rem;
}

.values-mission-panel__card {
    max-width: 24rem;
}

/* team v19 — masonry with corner dots */
.team-masonry__media {
  height: 16rem;
}

.team-masonry__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.team-masonry__card-accent {
  width: 0.25rem;
  z-index: 1;
}

.team-masonry__decor {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  opacity: 0.08;
  pointer-events: none;
}

.team-masonry__decor--top-left {
  top: -40px;
  left: -40px;
  background-color: currentColor;
}

.team-masonry__decor--bottom-right {
  bottom: -40px;
  right: -40px;
  background-color: currentColor;
}

@media (max-width: 768px) {
  .team-masonry__decor {
    width: 80px;
    height: 80px;
  }
}

