/* NEW VIBE — testimonial carousel: portrait + overlapping card, prev / next + dots. Brand palette. */
.section-testimonials-body.nv-tcar-body { height: auto; padding: 1.25em; }
.nv-tcar { position: relative; width: 100%; background: var(--brand-primary); border-radius: 1em; padding: clamp(2.5em, 6vw, 5.5em) clamp(1.25em, 5vw, 5em); display: flex; flex-direction: column; align-items: center; gap: 2.5em; overflow: hidden; }
.nv-tcar__stage { position: relative; display: flex; align-items: center; width: 100%; max-width: 64em; margin: 0 auto; }
.nv-tcar__photo { flex: 0 0 auto; width: min(29.4em, 38vw); aspect-ratio: 1; border-radius: 1.5em; overflow: hidden; background: #e8570f; box-shadow: 0 2em 4em -2em rgba(0,0,0,.45); position: relative; z-index: 1; }
.nv-tcar__photo img { width: 100%; height: 100%; object-fit: cover; display: block; will-change: opacity, transform; }
.nv-tcar__card { position: relative; z-index: 2; margin-left: -5em; flex: 1 1 auto; max-width: 36em; background: var(--brand-white); color: var(--brand-black); border-radius: 1.5em; padding: clamp(1.75em, 3vw, 2.75em); box-shadow: 0 2.5em 5em -2em rgba(0,0,0,.4); }
.nv-tcar__inner { will-change: opacity, transform; }
.nv-tcar__name { font-family: var(--font-primary-dark), Arial, sans-serif; text-transform: uppercase; font-size: clamp(1.6em, 2.4vw, 2.2em); line-height: .95; margin: 0 0 .35em; letter-spacing: 0; }
.nv-tcar__role { font-family: var(--font-secondary), Arial, sans-serif; color: var(--brand-primary); text-transform: uppercase; font-size: .8em; font-weight: 500; letter-spacing: .06em; margin: 0 0 1.4em; }
.nv-tcar__quote { font-family: var(--font-secondary), Arial, sans-serif; font-size: clamp(1em, 1.25vw, 1.15em); line-height: 1.45; margin: 0 0 1.8em; letter-spacing: -.01em; }
.nv-tcar__links { display: flex; gap: .75em; }
.nv-tcar__links a { width: 3em; height: 3em; border-radius: 50%; background: var(--brand-black); color: var(--brand-accent, #f9e2e1); display: flex; align-items: center; justify-content: center; transition: transform .3s cubic-bezier(.34,1.56,.64,1), background-color .25s; }
.nv-tcar__links a:hover { transform: translateY(-.15em) rotate(-4deg); background: var(--brand-primary); color: var(--brand-white); }
.nv-tcar__links svg { width: 1.2em; height: 1.2em; }
.nv-tcar__nav { display: flex; align-items: center; justify-content: center; gap: 1.5em; }
.nv-tcar__btn { width: 3em; height: 3em; border-radius: 50%; border: 0; background: var(--brand-white); color: var(--brand-black); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .3s cubic-bezier(.34,1.56,.64,1), background-color .25s, color .25s; }
.nv-tcar__btn:hover { background: var(--brand-black); color: var(--brand-accent, #f9e2e1); transform: scale(1.06); }
.nv-tcar__btn svg { width: 1.3em; height: 1.3em; }
.nv-tcar__dots { display: flex; gap: .55em; }
.nv-tcar__dot { width: .7em; height: .7em; border-radius: 50%; border: 0; padding: 0; background: rgba(253,248,245,.45); cursor: pointer; transition: background-color .25s, transform .3s cubic-bezier(.34,1.56,.64,1); }
.nv-tcar__dot.is-active { background: var(--brand-black); transform: scale(1.25); }
@media (max-width: 991px) {
  .nv-tcar__photo { width: min(24em, 40vw); }
  .nv-tcar__card { margin-left: -3em; }
}
@media (max-width: 767px) {
  .nv-tcar { padding: 2em 1.25em 2.25em; gap: 2em; }
  .nv-tcar__stage { flex-direction: column; align-items: stretch; max-width: 26em; }
  .nv-tcar__photo { width: 100%; }
  .nv-tcar__card { margin: -2.5em 1em 0; max-width: none; text-align: center; padding: 1.75em 1.5em; }
  .nv-tcar__links { justify-content: center; }
}

.nv-tcar__links a[hidden] { display: none; }
