.testimonials { padding: 64px; display: flex; flex-direction: column; align-items: center; gap: 32px; scroll-margin-top: 160px; }
.testimonials__header { width: 100%; max-width: 1440px; text-align: center; }
.testimonials h2 { margin: 0; font: 500 40px/48px 'Neue Montreal', Arial, sans-serif; letter-spacing: -0.8px; }
.testimonials h2 span { color: var(--color-brand); }
.testimonials__header > p { margin: 20px 0 0; font-size: 18px; line-height: 28px; font-weight: 400; color: var(--color-description); }
.testimonials__carousel { width: 100%; max-width: 1440px; touch-action: pan-y; }
.testimonials__stage { contain: layout; position: relative; height: 400px; width: 100%; }
.testimonial { position: absolute; top: 50%; display: flex; padding: 8px; border-radius: 12px; background: #f7f2ed; color: #1d1a16; transform: translateY(-50%); overflow: hidden; }
.testimonial[data-offset='0'] { left: 288px; width: calc(100% - 576px); height: 400px; padding: 12px; border-radius: 16px; z-index: 2; }
.testimonial[data-offset='-1'] { left: 132px; width: 144px; height: 312px; }
.testimonial[data-offset='1'] { right: 132px; width: 144px; height: 312px; }
.testimonial[data-offset='-2'] { left: 56px; width: 64px; height: 200px; border-radius: 10px; }
.testimonial[data-offset='2'] { right: 56px; width: 64px; height: 200px; border-radius: 10px; }
.testimonial[data-offset='-3'] { left: 0; width: 44px; height: 120px; border-radius: 8px; }
.testimonial[data-offset='3'] { right: 0; width: 44px; height: 120px; border-radius: 8px; }
.testimonial__copy { display: flex; position: absolute; left: 24px; top: 24px; bottom: 24px; width: var(--testimonial-copy-width); flex-direction: column; justify-content: space-between; opacity: 0; visibility: hidden; pointer-events: none; }
.testimonial[data-offset='0'] .testimonial__copy { opacity: 1; visibility: visible; }
.testimonial h3 { margin: 0; font: 500 32px/40px 'Neue Montreal', Arial, sans-serif; letter-spacing: -0.64px; }
.testimonial__copy > div > p { margin: 20px 0 0; font-size: 16px; line-height: 24px; font-weight: 400; color: #3b332b; }
.testimonial__attribution { display: flex; align-items: center; gap: 12px; }
.testimonial__attribution p { margin: 0; font-size: 16px; line-height: 16px; }
.testimonial__attribution p + p { margin-top: 4px; font-size: 14px; line-height: 20px; font-weight: 400; color: #3b332b; }
.testimonial__avatar { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border-radius: 12px; background: #1d1a16; }
.testimonial__avatar > span { width: 20px; height: 20px; background: #eee5dd; mask: url('/assets/testimonials/pumpkin-logo.png') center / 20px 20px no-repeat; }
.testimonial__image { position: absolute; top: 8px; bottom: 8px; left: 8px; right: 8px; width: auto; height: auto; overflow: hidden; border-radius: 10px; }
.testimonial__image img { position: absolute; width: 267px; height: 1793px; max-width: none; left: 50%; top: 0.29px; transform: translateX(-50%); }
.testimonial[data-offset='0'] .testimonial__image { top: 12px; bottom: 12px; left: calc(100% - 252px); right: 12px; border-radius: 12px; }

.testimonial__select { position: absolute; inset: 0; width: 100%; border: 0; background: transparent; }
.testimonials__dots { display: flex; justify-content: center; margin-top: 12px; }
.testimonials__dots button { display: grid; place-items: center; width: 16px; min-width: 16px; height: 44px; padding: 16px 2px; border: 0; background: transparent; }
.testimonials__dots span { display: block; width: 12px; height: 12px; border-radius: 999px; background: #eee5dd; }
.testimonials__dots [aria-current='true'] { width: 44px; }
.testimonials__dots [aria-current='true'] span { width: 40px; background: #1d1a16; }
.testimonials__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1399px) {
  .testimonial[data-offset='0'] { left: 212px; width: calc(100% - 424px); }
  .testimonial[data-offset='-1'] { left: 100px; width: 100px; }
  .testimonial[data-offset='1'] { right: 100px; width: 100px; }
  .testimonial[data-offset='-2'] { left: 44px; width: 44px; }
  .testimonial[data-offset='2'] { right: 44px; width: 44px; }
  .testimonial[data-offset='-3'], .testimonial[data-offset='3'] { width: 32px; }
  .testimonial[data-offset='0'] .testimonial__image { left: 64%; }
}
@media (max-width: 1199px) {
  .testimonial[data-offset='-3'], .testimonial[data-offset='3'], .testimonial[data-offset='-2'], .testimonial[data-offset='2'] { visibility: hidden; }
  .testimonial[data-offset='-1'] { left: 0; width: 64px; }
  .testimonial[data-offset='1'] { right: 0; width: 64px; }
  .testimonial[data-offset='0'] { left: 76px; width: calc(100% - 152px); }
}
@media (max-width: 1039px) { .testimonials { padding-inline: 32px; } }
@media (max-width: 799px) {
  .testimonials__stage { height: 560px; }
  .testimonial[data-offset='0'] { left: 40px; width: calc(100% - 80px); height: 560px; flex-direction: column; gap: 16px; }
  .testimonial[data-offset='0'] .testimonial__copy { top: 20px; left: 20px; bottom: 212px; gap: 24px; }
  .testimonial[data-offset='0'] .testimonial__image { top: calc(100% - 192px); bottom: 12px; left: 12px; right: 12px; }
  .testimonial[data-offset='0'] .testimonial__image img { left: 50%; transform: translateX(-50%); }
  .testimonial[data-offset='-1'], .testimonial[data-offset='1'] { width: 28px; height: 312px; padding: 4px; }
  .testimonial h3 { font-size: 26px; line-height: 32px; }
}
@media (max-width: 599px) {
  .testimonials { padding: 48px 20px; }
  .testimonials h2 { font-size: 32px; line-height: 40px; letter-spacing: -0.64px; }
  .testimonials__header > p { font-size: 16px; line-height: 26px; }
  .testimonial[data-offset='0'] { left: 20px; width: calc(100% - 40px); padding: 8px; }
  .testimonial[data-offset='-1'], .testimonial[data-offset='1'] { width: 12px; }
  .testimonial h3 br { display: none; }
  .testimonial__attribution { gap: 8px; }
  .testimonial__attribution p { font-size: 14px; }
  .testimonial__attribution p + p { font-size: 12px; }
  .testimonial__avatar { flex-basis: 40px; height: 40px; }
}

.testimonials__connector { position: absolute; top: calc(50% - 24px); }
.testimonials__connector--1 { left: 44px; }
.testimonials__connector--2 { left: 120px; }
.testimonials__connector--3 { left: 276px; }
.testimonials__connector--4 { right: 276px; }
.testimonials__connector--5 { right: 120px; }
.testimonials__connector--6 { right: 44px; }
@media (max-width: 1399px) {
 .testimonials__connector--1 { left: 32px; }
 .testimonials__connector--2 { left: 88px; }
 .testimonials__connector--3 { left: 200px; }
 .testimonials__connector--4 { right: 200px; }
 .testimonials__connector--5 { right: 88px; }
 .testimonials__connector--6 { right: 32px; }
}
@media (max-width: 1199px) { .testimonials__connector { display: none; } }



/* The reference morphs real card bounds; fixed-width copy never scales or rewraps mid-slide. */
.testimonials__carousel { --slider-duration: 440ms; --slider-ease: cubic-bezier(.32,.72,0,1); }
.testimonials__stage .testimonial { right: auto; }
.testimonial[data-offset='1'] { left: calc(100% - 276px); }
.testimonial[data-offset='2'] { left: calc(100% - 120px); }
.testimonial[data-offset='3'] { left: calc(100% - 44px); }
.testimonials__carousel.is-ready .testimonial {
  transition: left var(--slider-duration) var(--slider-ease), width var(--slider-duration) var(--slider-ease), height var(--slider-duration) var(--slider-ease), padding var(--slider-duration) var(--slider-ease), border-radius var(--slider-duration) var(--slider-ease);
}
.testimonials__carousel.is-ready .testimonial__image {
  transition: left var(--slider-duration) var(--slider-ease), right var(--slider-duration) var(--slider-ease), top var(--slider-duration) var(--slider-ease), bottom var(--slider-duration) var(--slider-ease), border-radius var(--slider-duration) var(--slider-ease);
}
.testimonials__carousel.is-ready .testimonial__copy { transition: opacity 100ms ease-out, visibility 0s 100ms; }
.testimonials__carousel.is-ready .testimonial[data-offset='0'] .testimonial__copy { transition: opacity 180ms ease-out 120ms, visibility 0s; }
.testimonials__carousel[data-instant] *, .testimonials__carousel .testimonial.is-wrapping, .testimonials__carousel .testimonial.is-wrapping * { transition: none !important; }
@media (max-width: 1399px) {
  .testimonial[data-offset='1'] { left: calc(100% - 200px); }
  .testimonial[data-offset='2'] { left: calc(100% - 88px); }
  .testimonial[data-offset='3'] { left: calc(100% - 32px); }
}
@media (max-width: 1199px) { .testimonial[data-offset='1'] { left: calc(100% - 64px); } }
@media (max-width: 799px) { .testimonial[data-offset='1'] { left: calc(100% - 28px); } }
@media (max-width: 599px) {
  .testimonial[data-offset='1'] { left: calc(100% - 12px); }
  .testimonial[data-offset='0'] .testimonial__copy { left: 12px; top: 12px; bottom: 204px; }
  .testimonial[data-offset='0'] .testimonial__image { left: 8px; right: 8px; bottom: 8px; top: calc(100% - 188px); }
}
@media (prefers-reduced-motion: reduce) { .testimonials__carousel *, .testimonials__carousel *::before, .testimonials__carousel *::after { transition: none !important; } }
