/* Presa carousel — feature display component. presa- prefixed = collision-safe, so it stays global.
   Instant slide swap (no transform/sliding), per the motion rule. Tokens are global, so var(--ds-*) resolves. */
.presa-carousel { position: relative; }
.presa-carousel__slide { display: none; }
.presa-carousel__slide.is-active { display: block; }
.presa-carousel__nav {
  display: flex; align-items: center; justify-content: center;
  gap: var(--ds-space-5, 24px); margin-top: var(--ds-space-6, 32px);
}
.presa-carousel__btn {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid var(--ds-color-line-strong, rgba(30,39,73,0.22));
  background: var(--ds-color-ground, #fff); color: var(--ds-color-ink, #1E2749);
  font-size: 1.5rem; line-height: 1; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: border-color .18s ease, color .18s ease;
}
.presa-carousel__btn:hover { border-color: var(--ds-color-accent, #C6096A); color: var(--ds-color-accent, #C6096A); }
.presa-carousel__btn:focus-visible { outline: 2px solid var(--ds-color-accent, #C6096A); outline-offset: 2px; }
.presa-carousel__dots { display: flex; align-items: center; gap: 10px; }
.presa-carousel__dot {
  width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%;
  background: var(--ds-color-line-strong, rgba(30,39,73,0.22)); cursor: pointer;
  transition: background-color .18s ease;
}
.presa-carousel__dot.is-active { background: var(--ds-color-accent, #C6096A); }
.presa-carousel__dot:focus-visible { outline: 2px solid var(--ds-color-accent, #C6096A); outline-offset: 2px; }
