/* Mini carrossel no quadro original da seção A profissional. */
.about-carousel { background: var(--mauve-light); touch-action: pan-y; }
.about-slides { position: absolute; inset: 0; overflow: hidden; }
.about-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 34%; opacity: 0; transition: opacity .65s ease; pointer-events: none; }
.about-slide.is-active { opacity: 1; }
.about-carousel-controls { position: absolute; inset: 18px 18px auto; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.about-carousel-controls[hidden] { display: none; }
.about-carousel-navigation { display: flex; align-items: center; gap: 4px; background: rgba(250,247,245,.94); color: var(--ink); padding: 2px; box-shadow: 0 4px 20px rgba(46,41,48,.06); }
.about-carousel-navigation button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; transition: background .2s; }
.about-carousel-navigation button:hover { background: var(--mauve-light); }
.about-carousel-prev svg { transform: rotate(180deg); }
.about-carousel-count { min-width: 48px; font-size: 9px; letter-spacing: .09em; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.about-carousel-dots { display: flex; flex-wrap: wrap; gap: 0; max-width: 50%; }
.about-carousel-dots button { display: grid; place-items: center; width: 30px; height: 44px; border: 0; padding: 0; background: transparent; cursor: pointer; }
.about-carousel-dots button::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 1px rgba(46,41,48,.35); transition: width .3s, background .3s; }
.about-carousel-dots button[aria-pressed="true"]::before { width: 18px; border-radius: 5px; background: var(--ink); box-shadow: 0 0 0 1px rgba(250,247,245,.7); }
.about-copy-inner .about-intro-label { font-family: var(--sans); font-size: 10px; font-weight: 800; letter-spacing: .19em; color: var(--ink); margin-block: 0 24px; }
.about-copy-inner p { margin-block: 0 18px; }
.about-grid { align-items: start; }
.about-gallery { margin-top: 62px; }
@media (max-width: 600px) {
  .about-grid { align-items: stretch; }
  .about-gallery { margin-top: 0; }
  .about-float { bottom: 35px; }
  .about-carousel-controls { inset: 12px 12px auto; }
  .about-carousel-dots button { width: 26px; }
}
@media (prefers-reduced-motion: reduce) { .about-slide { transition: none; } }
