/* A single native synced pattern, coloured by its IAC or conference context. */
.iac-testimonials-slot {
  --iac-quote-ink: var(--ast-global-color-2, #302c25);
  --iac-quote-muted: var(--ast-global-color-3, #514a40);
  --iac-quote-paper: var(--ast-global-color-5, #fbf9f4);
  --iac-quote-line: var(--ast-global-color-7, #d6ccbc);
  scroll-margin-top: calc(2rem * var(--iac-ui-scale, 1));
}

.entry-content > .iac-testimonials-slot {
  padding: clamp(calc(3rem * var(--iac-ui-scale, 1)), calc(6vw * var(--iac-ui-scale, 1)), calc(5rem * var(--iac-ui-scale, 1))) clamp(calc(1.25rem * var(--iac-ui-scale, 1)), calc(3vw * var(--iac-ui-scale, 1)), calc(2.5rem * var(--iac-ui-scale, 1)));
  background: var(--ast-global-color-4);
}

.iac-tiac-page .iac-testimonials-slot {
  --iac-quote-ink: var(--iac-tiac-ink);
  --iac-quote-muted: var(--iac-tiac-muted);
  --iac-quote-paper: var(--iac-paper-raised);
  --iac-quote-line: var(--iac-tiac-line);
}

.iac-testimonials {
  --iac-rotation-ink: var(--iac-quote-ink);
  --iac-rotation-muted: var(--iac-quote-muted);
  --iac-rotation-paper: var(--iac-quote-paper);
  max-width: calc(1200px * var(--iac-ui-scale, 1));
  margin-inline: auto;
  padding: 0;
  font-family: 'Raleway', sans-serif;
  color: var(--iac-quote-ink);
}

.iac-tiac-page .iac-testimonials { padding: clamp(calc(1.25rem * var(--iac-ui-scale, 1)), calc(3vw * var(--iac-ui-scale, 1)), calc(2.5rem * var(--iac-ui-scale, 1))); }
.iac-testimonials * { box-sizing: border-box; }
.iac-testimonials :where(p, h2, cite, a) { overflow-wrap: anywhere; }
.iac-testimonials .iac-testimonials-eyebrow { margin: 0 0 calc(1rem * var(--iac-ui-scale, 1)); font-size: 1rem; font-weight: 600; line-height: 1.6; letter-spacing: .08em; color: var(--iac-quote-muted); }
.iac-testimonials-slot .iac-testimonials h2 { margin: 0 0 calc(1.25rem * var(--iac-ui-scale, 1)); font: 400 max(1rem, calc(clamp(2rem, 3.2vw, 3rem) * var(--iac-ui-scale, 1)))/1.15 'DM Serif Display', Georgia, serif; color: var(--iac-quote-ink); }
.iac-testimonials .iac-testimonials-intro { max-width: 65ch; margin: 0; font-size: max(1rem, calc(1.125rem * var(--iac-ui-scale, 1))); line-height: 1.8; }

.iac-testimonials .iac-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(1.5rem * var(--iac-ui-scale, 1));
  margin-top: calc(2rem * var(--iac-ui-scale, 1)) !important;
  padding: 0;
}

.iac-testimonials-grid > .iac-testimonial,
.iac-testimonials-slide > .iac-testimonial {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0 !important;
  padding: calc(1.5rem * var(--iac-ui-scale, 1));
  border: 1px solid var(--iac-quote-line);
  border-left: 4px solid var(--iac-quote-ink);
  border-radius: .25rem;
  background: var(--iac-quote-paper);
  color: var(--iac-quote-ink);
  font-style: normal;
}

.iac-testimonials .iac-testimonial > p { margin: 0 0 calc(1.5rem * var(--iac-ui-scale, 1)); font-size: max(1.125rem, calc(1.25rem * var(--iac-ui-scale, 1))); line-height: 1.7; }
.iac-testimonials .iac-testimonial cite { display: block; margin-top: auto; font: 600 1rem/1.6 'Raleway', sans-serif; color: var(--iac-quote-muted); }
.iac-testimonials a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }

/* One readable quote at a time. Stacking keeps the page still as quotes change. */
.iac-testimonials.iac-testimonials--carousel .iac-testimonials-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.iac-testimonials--carousel .iac-testimonials-slide {
  display: flex;
  grid-area: 1 / 1;
  min-width: 0;
  margin: 0;
  visibility: hidden;
  pointer-events: none;
}
.iac-testimonials--carousel .iac-testimonials-slide.is-active { visibility: visible; pointer-events: auto; }
.iac-testimonials-slide > .iac-testimonial { flex: 1; min-height: max(44px, calc(14rem * var(--iac-ui-scale, 1))); padding: clamp(calc(1.5rem * var(--iac-ui-scale, 1)), calc(3vw * var(--iac-ui-scale, 1)), calc(2.5rem * var(--iac-ui-scale, 1))); }
.iac-testimonials-slide .iac-testimonial > p { max-width: 60ch; font-size: max(1.125rem, calc(clamp(1.25rem, 2.2vw, 1.625rem) * var(--iac-ui-scale, 1))); }

@keyframes iac-testimonial-arrive { from { opacity: .4; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .iac-testimonials-slide.is-active { animation: iac-testimonial-arrive 450ms ease-out; }
}
@media print {
  .iac-testimonials--carousel .iac-testimonials-slide { grid-area: auto; visibility: visible; }
}

@media (max-width: 980px) {
  .iac-testimonials .iac-testimonials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iac-testimonial:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .iac-testimonials .iac-testimonials-grid { grid-template-columns: minmax(0, 1fr); }
  .iac-testimonial:last-child:nth-child(odd) { grid-column: auto; }
  .iac-testimonials-grid > .iac-testimonial, .iac-testimonials-slide > .iac-testimonial { padding: calc(1.25rem * var(--iac-ui-scale, 1)); }
}

/* Let enlarged text use the phone width instead of doubling every inner gutter. */
@media (max-width: 421px) {
  .entry-content > .iac-testimonials-slot { padding-inline: calc(5vw * var(--iac-ui-scale, 1)); }
  .iac-tiac-page .iac-testimonials { padding-inline: calc(5vw * var(--iac-ui-scale, 1)); }
  .iac-testimonials-grid > .iac-testimonial, .iac-testimonials-slide > .iac-testimonial { padding: min(calc(1.25rem * var(--iac-ui-scale, 1)), calc(5vw * var(--iac-ui-scale, 1))); }
}
