/*
 * Testimonials — Aurix #testimonial, measured (outline/testimonial@1440|1024|390).
 * Section box = the 1240px content column (the radial glow is bounded to it, not full-bleed).
 * Cards: 32px padding, r16, rgba(255,255,255,.03) + inset hairlines, content column 286px,
 * blurred avatar glow bottom-left, dot texture masked from the bottom-left corner.
 * Grid: ≥1200 3 cols · 810–1199 2 cols · ≤809 1 col, gap 16.
 */
.ax-testimonials {
  /* Dot texture: 5px pitch, 2.5px dots, rgb(215,215,215) at .102 / .29 / .604 (60/28/12% of dots),
     measured from Aurix's texture (1024px tile shown at 267.5px). Our own tile, generated from those values. */
  --ax-testimonials-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cg fill='none' stroke='%23d7d7d7' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath stroke-opacity='0.102' d='M1.2 1.2h0M6.2 1.2h0M21.2 1.2h0M26.2 1.2h0M31.2 1.2h0M36.2 1.2h0M41.2 1.2h0M51.2 1.2h0M56.2 1.2h0M66.2 1.2h0M71.2 1.2h0M76.2 1.2h0M81.2 1.2h0M86.2 1.2h0M91.2 1.2h0M1.2 6.2h0M11.2 6.2h0M16.2 6.2h0M21.2 6.2h0M26.2 6.2h0M31.2 6.2h0M41.2 6.2h0M51.2 6.2h0M86.2 6.2h0M91.2 6.2h0M96.2 6.2h0M1.2 11.2h0M6.2 11.2h0M11.2 11.2h0M21.2 11.2h0M26.2 11.2h0M31.2 11.2h0M51.2 11.2h0M56.2 11.2h0M61.2 11.2h0M66.2 11.2h0M76.2 11.2h0M81.2 11.2h0M91.2 11.2h0M96.2 11.2h0M11.2 16.2h0M31.2 16.2h0M36.2 16.2h0M61.2 16.2h0M76.2 16.2h0M86.2 16.2h0M91.2 16.2h0M96.2 16.2h0M6.2 21.2h0M21.2 21.2h0M31.2 21.2h0M46.2 21.2h0M51.2 21.2h0M56.2 21.2h0M61.2 21.2h0M66.2 21.2h0M86.2 21.2h0M96.2 21.2h0M11.2 26.2h0M41.2 26.2h0M51.2 26.2h0M56.2 26.2h0M61.2 26.2h0M66.2 26.2h0M71.2 26.2h0M16.2 31.2h0M21.2 31.2h0M26.2 31.2h0M41.2 31.2h0M46.2 31.2h0M51.2 31.2h0M56.2 31.2h0M61.2 31.2h0M66.2 31.2h0M71.2 31.2h0M76.2 31.2h0M81.2 31.2h0M86.2 31.2h0M91.2 31.2h0M96.2 31.2h0M1.2 36.2h0M16.2 36.2h0M21.2 36.2h0M26.2 36.2h0M31.2 36.2h0M41.2 36.2h0M46.2 36.2h0M66.2 36.2h0M76.2 36.2h0M81.2 36.2h0M86.2 36.2h0M91.2 36.2h0M1.2 41.2h0M6.2 41.2h0M26.2 41.2h0M31.2 41.2h0M41.2 41.2h0M46.2 41.2h0M51.2 41.2h0M61.2 41.2h0M71.2 41.2h0M76.2 41.2h0M81.2 41.2h0M86.2 41.2h0M91.2 41.2h0M1.2 46.2h0M16.2 46.2h0M21.2 46.2h0M36.2 46.2h0M46.2 46.2h0M56.2 46.2h0M71.2 46.2h0M76.2 46.2h0M81.2 46.2h0M1.2 51.2h0M6.2 51.2h0M11.2 51.2h0M41.2 51.2h0M51.2 51.2h0M56.2 51.2h0M61.2 51.2h0M91.2 51.2h0M96.2 51.2h0M6.2 56.2h0M11.2 56.2h0M21.2 56.2h0M26.2 56.2h0M31.2 56.2h0M46.2 56.2h0M51.2 56.2h0M56.2 56.2h0M61.2 56.2h0M66.2 56.2h0M81.2 56.2h0M91.2 56.2h0M96.2 56.2h0M16.2 61.2h0M36.2 61.2h0M41.2 61.2h0M51.2 61.2h0M56.2 61.2h0M66.2 61.2h0M71.2 61.2h0M76.2 61.2h0M91.2 61.2h0M96.2 61.2h0M6.2 66.2h0M11.2 66.2h0M16.2 66.2h0M31.2 66.2h0M36.2 66.2h0M41.2 66.2h0M46.2 66.2h0M51.2 66.2h0M56.2 66.2h0M61.2 66.2h0M71.2 66.2h0M86.2 66.2h0M91.2 66.2h0M6.2 71.2h0M21.2 71.2h0M26.2 71.2h0M31.2 71.2h0M46.2 71.2h0M51.2 71.2h0M56.2 71.2h0M61.2 71.2h0M66.2 71.2h0M76.2 71.2h0M86.2 71.2h0M91.2 71.2h0M96.2 71.2h0M6.2 76.2h0M11.2 76.2h0M26.2 76.2h0M31.2 76.2h0M41.2 76.2h0M46.2 76.2h0M51.2 76.2h0M56.2 76.2h0M71.2 76.2h0M76.2 76.2h0M81.2 76.2h0M86.2 76.2h0M96.2 76.2h0M1.2 81.2h0M6.2 81.2h0M11.2 81.2h0M61.2 81.2h0M66.2 81.2h0M76.2 81.2h0M81.2 81.2h0M86.2 81.2h0M91.2 81.2h0M1.2 86.2h0M11.2 86.2h0M21.2 86.2h0M26.2 86.2h0M31.2 86.2h0M41.2 86.2h0M46.2 86.2h0M51.2 86.2h0M66.2 86.2h0M71.2 86.2h0M86.2 86.2h0M96.2 86.2h0M6.2 91.2h0M16.2 91.2h0M21.2 91.2h0M26.2 91.2h0M31.2 91.2h0M46.2 91.2h0M56.2 91.2h0M61.2 91.2h0M66.2 91.2h0M71.2 91.2h0M86.2 91.2h0M91.2 91.2h0M96.2 91.2h0M6.2 96.2h0M11.2 96.2h0M21.2 96.2h0M26.2 96.2h0M36.2 96.2h0M41.2 96.2h0M51.2 96.2h0M56.2 96.2h0M61.2 96.2h0M81.2 96.2h0M91.2 96.2h0'/%3E%3Cpath stroke-opacity='0.29' d='M16.2 1.2h0M46.2 1.2h0M61.2 1.2h0M6.2 6.2h0M36.2 6.2h0M56.2 6.2h0M61.2 6.2h0M71.2 6.2h0M81.2 6.2h0M16.2 11.2h0M41.2 11.2h0M46.2 11.2h0M86.2 11.2h0M1.2 16.2h0M16.2 16.2h0M21.2 16.2h0M41.2 16.2h0M56.2 16.2h0M81.2 16.2h0M1.2 21.2h0M11.2 21.2h0M26.2 21.2h0M36.2 21.2h0M41.2 21.2h0M76.2 21.2h0M81.2 21.2h0M91.2 21.2h0M1.2 26.2h0M21.2 26.2h0M26.2 26.2h0M31.2 26.2h0M36.2 26.2h0M76.2 26.2h0M81.2 26.2h0M86.2 26.2h0M91.2 26.2h0M1.2 31.2h0M6.2 31.2h0M31.2 31.2h0M36.2 31.2h0M6.2 36.2h0M36.2 36.2h0M51.2 36.2h0M56.2 36.2h0M61.2 36.2h0M71.2 36.2h0M96.2 36.2h0M11.2 41.2h0M16.2 41.2h0M21.2 41.2h0M56.2 41.2h0M11.2 46.2h0M26.2 46.2h0M41.2 46.2h0M51.2 46.2h0M61.2 46.2h0M66.2 46.2h0M86.2 46.2h0M91.2 46.2h0M16.2 51.2h0M26.2 51.2h0M31.2 51.2h0M66.2 51.2h0M71.2 51.2h0M76.2 51.2h0M81.2 51.2h0M86.2 51.2h0M1.2 56.2h0M16.2 56.2h0M76.2 56.2h0M6.2 61.2h0M11.2 61.2h0M31.2 61.2h0M46.2 61.2h0M81.2 61.2h0M86.2 61.2h0M21.2 66.2h0M26.2 66.2h0M66.2 66.2h0M76.2 66.2h0M81.2 66.2h0M96.2 66.2h0M11.2 71.2h0M16.2 71.2h0M41.2 71.2h0M71.2 71.2h0M81.2 71.2h0M36.2 76.2h0M61.2 76.2h0M66.2 76.2h0M16.2 81.2h0M21.2 81.2h0M26.2 81.2h0M31.2 81.2h0M36.2 81.2h0M41.2 81.2h0M46.2 81.2h0M51.2 81.2h0M56.2 81.2h0M71.2 81.2h0M96.2 81.2h0M6.2 86.2h0M16.2 86.2h0M36.2 86.2h0M56.2 86.2h0M61.2 86.2h0M81.2 86.2h0M91.2 86.2h0M11.2 91.2h0M36.2 91.2h0M76.2 91.2h0M81.2 91.2h0M1.2 96.2h0M31.2 96.2h0M46.2 96.2h0M66.2 96.2h0M71.2 96.2h0M76.2 96.2h0M86.2 96.2h0M96.2 96.2h0'/%3E%3Cpath stroke-opacity='0.604' d='M11.2 1.2h0M96.2 1.2h0M46.2 6.2h0M66.2 6.2h0M76.2 6.2h0M36.2 11.2h0M71.2 11.2h0M6.2 16.2h0M26.2 16.2h0M46.2 16.2h0M51.2 16.2h0M66.2 16.2h0M71.2 16.2h0M16.2 21.2h0M71.2 21.2h0M6.2 26.2h0M16.2 26.2h0M46.2 26.2h0M96.2 26.2h0M11.2 31.2h0M11.2 36.2h0M36.2 41.2h0M66.2 41.2h0M96.2 41.2h0M6.2 46.2h0M31.2 46.2h0M96.2 46.2h0M21.2 51.2h0M36.2 51.2h0M46.2 51.2h0M36.2 56.2h0M41.2 56.2h0M71.2 56.2h0M86.2 56.2h0M1.2 61.2h0M21.2 61.2h0M26.2 61.2h0M61.2 61.2h0M1.2 66.2h0M1.2 71.2h0M36.2 71.2h0M1.2 76.2h0M16.2 76.2h0M21.2 76.2h0M91.2 76.2h0M76.2 86.2h0M1.2 91.2h0M41.2 91.2h0M51.2 91.2h0M16.2 96.2h0'/%3E%3C/g%3E%3C/svg%3E");
}
.ax-testimonials__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 56px;
  padding-top: 153px;
  background-image: radial-gradient(50% 50%, rgba(255, 255, 255, 0.05) 0%, rgb(7, 9, 14) 100%);
  overflow: hidden;
}
.ax-testimonials__head { width: 100%; overflow: hidden; }
/* Aurix h2: text-wrap balance, no forced break — two lines at ≥1200 and ≤809, one line at 810–1199
   (36px fits the 600px column). WiseCord's title_lines break is kept where Aurix wraps. */
.ax-testimonials__title { text-wrap: balance; }

.ax-testimonials__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  gap: 16px;
  width: 100%;
  overflow: hidden;
}

.ax-testimonials__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 32px;
  padding: 32px;
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.03);
  box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 1px 0px inset, rgba(255, 255, 255, 0.05) 0px -1px 2px 0px inset;
  overflow: hidden;
}

/* Aurix: the reviewer photo, 125×125, blurred — here a neutral blob in the same slot */
.ax-testimonials__glow {
  position: absolute;
  left: -75px;
  bottom: -75px;
  width: 125px;
  height: 125px;
  border-radius: 63px;
  background: var(--ax-text-40);
  opacity: 0.9;
  filter: blur(40px);
  mix-blend-mode: screen;
  pointer-events: none;
}
.ax-testimonials__dots {
  position: absolute;
  inset: 0;
  background-image: var(--ax-testimonials-dots);
  background-size: 100px 100px;
  -webkit-mask-image: radial-gradient(100% 100% at 0% 100%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
  mask-image: radial-gradient(100% 100% at 0% 100%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
}

.ax-testimonials__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 32px;
  width: 286px;
  max-width: 100%;
}
.ax-testimonials__quote {
  font-size: 16px;
  line-height: 20.8px;
  letter-spacing: -0.32px;
  color: var(--ax-text);
  text-align: left;
  white-space: pre-wrap;
}

.ax-testimonials__author { display: flex; align-items: center; gap: 16px; width: 100%; }
.ax-testimonials__avatar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  overflow: hidden;
  background: var(--ax-surface-btn);
  box-shadow: rgba(0, 0, 0, 0.11) 0px 1.6796px 0.839802px -0.46875px, rgba(0, 0, 0, 0.11) 0px 3.98096px 1.99048px -0.9375px, rgba(0, 0, 0, 0.106) 0px 7.26168px 3.63084px -1.40625px, rgba(0, 0, 0, 0.1) 0px 12.0725px 6.03627px -1.875px, rgba(0, 0, 0, 0.098) 0px 19.4962px 9.74808px -2.34375px, rgba(0, 0, 0, 0.09) 0px 31.9133px 15.9566px -2.8125px, rgba(0, 0, 0, 0.07) 0px 54.9525px 27.4762px -3.28125px, rgba(0, 0, 0, 0.04) 0px 100px 50px -3.75px, rgba(255, 255, 255, 0.2) 0px 1px 1px 0px inset, rgba(255, 255, 255, 0.05) 0px -1px 2px 0px inset;
  font-size: 16px;
  font-weight: 500;
  line-height: 20.8px;
  letter-spacing: -0.32px;
  color: var(--ax-text);
}
.ax-testimonials__rule { flex: none; width: 1px; height: 42px; border-radius: 1px; background: rgba(255, 255, 255, 0.2); }
.ax-testimonials__who { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; align-self: stretch; }
/* Aurix sets name + role white-space: pre (single line, never wraps) */
.ax-testimonials__name { font-size: 16px; line-height: 20.8px; letter-spacing: -0.32px; color: var(--ax-text-60); white-space: pre; }
.ax-testimonials__role { font-size: 14px; line-height: 18.2px; color: var(--ax-text-40); white-space: pre; }

/* 810–1199: section pt 120, 2 columns (464 + 16 + 464 at 1024) */
@media (max-width: 1199px) {
  .ax-testimonials__inner { padding-top: 120px; }
  .ax-testimonials__br { display: none; }
  .ax-testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ≤809: 1 column, section not clipped */
@media (max-width: 809px) {
  .ax-testimonials__inner { overflow: visible; }
  .ax-testimonials__br { display: inline; }
  .ax-testimonials__grid { grid-template-columns: minmax(0, 1fr); }
}
