/* A readable, visitor-controlled carousel with a glimpse of the next story. */
.testimonials-section { padding-top: 12px; padding-bottom: 92px; scroll-margin-top: 105px; }
.testimonials-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 34px; }
.testimonials-heading .eyebrow { color: #b9c5e1; font-size: .8125rem; letter-spacing: .13em; }
.testimonials-heading h2 { color: #f1f2fa; font-size: clamp(2.125rem, 3.8vw, 3.375rem); line-height: 1.16; letter-spacing: -.045em; margin-top: 15px; }
.testimonials-heading h2 span { color: #b7bcf4; background: linear-gradient(110deg, #91d9ef, #b8aff6 60%, #d5b3db); background-clip: text; -webkit-text-fill-color: transparent; }
.testimonials-carousel { --story-width: 74%; --story-gap: 24px; min-width: 0; }
.testimonials-carousel[data-story-count="1"] { --story-width: 100%; --story-gap: 0px; }
.testimonials-window { position: relative; min-width: 0; }
.testimonials-window::after { content: ""; position: absolute; inset: 8px 0 8px auto; width: 28px; background: linear-gradient(90deg, transparent, #0c0f19bb); pointer-events: none; }
.testimonials-track { position: relative; display: flex; align-items: stretch; gap: var(--story-gap); overflow-x: auto; padding-block: 8px 12px; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #8093bc #141a29; }
.testimonials-track::after { content: ""; flex: 0 0 max(0px, calc(100% - var(--story-width) - var(--story-gap))); }
.testimonials-carousel[data-enhanced="true"] .testimonials-track { scrollbar-width: none; }
.testimonials-carousel[data-enhanced="true"] .testimonials-track::-webkit-scrollbar { display: none; }
.testimonials-track:focus-visible { outline: 2px solid #a9baff; outline-offset: 5px; border-radius: 24px; }
.testimonial-slide { display: flex; flex: 0 0 var(--story-width); min-width: 0; scroll-snap-align: start; }
.testimonial-card { --proof-accent: #7edff3; position: relative; isolation: isolate; display: flex; flex-direction: column; width: 100%; min-width: 0; margin: 0; padding: clamp(26px, 3.5vw, 48px); border: 1px solid #a5b5e02e; border-radius: 24px; background: linear-gradient(135deg, #172031, #101522 76%); transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.testimonial-card[data-tone="violet"] { --proof-accent: #baa9ff; }
.testimonial-card[data-tone="mint"] { --proof-accent: #96e0c8; }
.testimonial-card[data-tone="blue"] { --proof-accent: #9ebdff; }
.testimonial-card::before { content: ""; position: absolute; inset: -1px; border: 1px solid color-mix(in srgb, var(--proof-accent) 46%, transparent); border-radius: inherit; background: radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--proof-accent) 10%, transparent), transparent 65%); z-index: -1; pointer-events: none; opacity: 0; transition: opacity .6s ease; }
.testimonial-slide[data-current="true"] .testimonial-card::before { opacity: 1; }
.testimonial-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--proof-accent); font-size: .875rem; line-height: 1.5; }
.testimonial-topic { display: inline-flex; align-items: center; gap: 10px; }
.testimonial-topic::before { content: ""; width: 6px; height: 6px; flex-shrink: 0; background: var(--proof-accent); border-radius: 50%; }
.testimonial-card-number { color: #b2bfd9; white-space: nowrap; font-variant-numeric: tabular-nums; font-size: .8125rem; }
.testimonial-quote-mark { display: block; height: 58px; margin-top: 27px; color: var(--proof-accent); font: 400 6rem/1 Georgia, serif; opacity: .8; user-select: none; }
.testimonial-card blockquote { margin: 0 0 38px; flex: 1; }
.testimonial-card blockquote p { margin: 0; color: #eaf0fd; font-family: var(--display); font-size: clamp(1.25rem, 2.05vw, 1.75rem); line-height: 1.65; letter-spacing: -.025em; overflow-wrap: anywhere; }
.testimonial-card figcaption { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 15px; border-top: 1px solid #a5b5e026; padding-top: 24px; }
.testimonial-card figcaption::before { content: ""; position: absolute; top: -1px; left: 0; width: 44px; height: 1px; background: var(--proof-accent); }
.testimonial-initials { display: grid; place-items: center; flex: 0 0 48px; height: 48px; border: 1px solid color-mix(in srgb, var(--proof-accent) 32%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--proof-accent) 9%, #101522); color: var(--proof-accent); font-family: var(--display); font-size: .9375rem; font-weight: 650; }
.testimonial-person { display: flex; flex: 1 1 200px; flex-direction: column; gap: 3px; min-width: 0; }
.testimonial-author { font-size: 1rem; font-weight: 600; line-height: 1.5; color: #ecf1fc; }
.testimonial-role { font-size: .875rem; line-height: 1.6; color: #b7c4dc; }
.testimonial-draft-label { padding: 4px 9px; border: 1px solid #a5b5e03b; border-radius: 6px; color: #c0cce2; font-size: .8125rem; line-height: 1.5; }
.testimonials-controls { display: flex; align-items: center; gap: 24px; padding-top: 18px; }
.testimonial-arrows { display: flex; gap: 10px; }
.testimonial-arrow { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border-radius: 50%; border: 1px solid #8298c659; background: #151c2b; color: #e6edfc; font-size: 24px; transition: transform .3s ease, background .3s ease; }
.testimonial-arrow:disabled { color: #7684a0; border-color: #8195bc28; background: #111622; cursor: default; }
.testimonial-dots { display: flex; align-items: center; justify-content: center; gap: 0; margin: 0 auto; }
.testimonial-dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: transparent; border-radius: 50%; }
.testimonial-dot span { width: 20px; height: 6px; border-radius: 10px; background: #8090b1; transform: scaleX(.3); transition: transform .4s ease, opacity .4s ease; opacity: .65; }
.testimonial-dot[aria-current="true"] span { background: #a8c9ff; transform: scaleX(1); opacity: 1; }
.testimonial-position { display: flex; align-items: center; justify-content: flex-end; gap: 17px; margin-left: auto; color: #e2e9fa; font-size: .9375rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.testimonial-position [data-story-position] > span { color: #a3b2ce; }
.testimonial-progress { display: block; width: 90px; height: 2px; overflow: hidden; background: #2e3951; }
.testimonial-progress > span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #83d6ec, #baaeff); transform-origin: left; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
@media (hover: hover) and (pointer: fine) {
  .testimonial-card:hover { transform: translateY(-3px); }
  .testimonial-card:hover::before { opacity: 1; }
  .testimonial-arrow:not(:disabled):hover { background: #24314a; transform: translateY(-2px); }
  .testimonial-dot:hover span { opacity: 1; }
}
@media (max-width: 1000px) { .testimonials-carousel { --story-width: 84%; } }
@media (max-width: 760px) {
  .testimonials-section { padding-bottom: 66px; }
  .testimonials-heading { flex-direction: column; align-items: flex-start; gap: 22px; margin-bottom: 24px; }
  .testimonials-carousel { --story-width: 92%; --story-gap: 16px; }
  .testimonial-card { padding: 26px 23px; border-radius: 19px; }
  .testimonial-card-top { align-items: flex-start; gap: 12px; }
  .testimonial-topic { align-items: baseline; }
  .testimonial-quote-mark { margin-top: 21px; }
  .testimonial-card blockquote { margin-bottom: 28px; }
  .testimonial-card blockquote p { font-size: 1.25rem; }
  .testimonial-person { flex-basis: 150px; }
  .testimonials-controls { gap: 12px; flex-wrap: wrap; }
  .testimonial-progress { display: none; }
  .testimonial-dots { order: 3; flex-basis: 100%; }
  .testimonials-window::after { width: 12px; }
}
@media (max-width: 380px) {
  .testimonial-card { padding-inline: 20px; }
  .testimonial-card-number { display: none; }
  .testimonial-person { flex-basis: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .testimonial-card, .testimonial-card::before, .testimonial-arrow, .testimonial-dot span, .testimonial-progress > span { transition: none; }
  .testimonial-card:hover, .testimonial-arrow:not(:disabled):hover { transform: none; }
}
