.testimonials-page {
  overflow: clip;
}

.testimonials-page .section {
  position: relative;
}

.testimonials-hero__grid,
.testimonials-conversation__grid,
.testimonials-events__grid,
.testimonials-details__grid {
  display: grid;
  gap: var(--space-8);
  grid-template-columns: minmax(0, 1fr);
}

.testimonials-hero__copy,
.testimonials-hero__media,
.testimonials-conversation__copy,
.testimonials-conversation__media,
.testimonials-events__intro,
.testimonials-events__cards,
.testimonials-details__copy,
.testimonials-details__media,
.testimonials-details__closing {
  min-inline-size: 0;
  inline-size: 100%;
}

.testimonials-hero__copy {
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.testimonials-hero__copy h1,
.testimonials-hero__copy p,
.testimonials-conversation__copy h2,
.testimonials-conversation__copy p,
.testimonials-events__intro h2,
.testimonials-events__intro p,
.testimonials-details__copy h2,
.testimonials-details__copy p,
.testimonials-details__closing p,
.testimonials-next__card h3,
.testimonials-next__card p,
.testimonials-principle h3,
.testimonials-principle p {
  margin-block-end: 0;
}

.testimonials-hero__eyebrow-wrap {
  align-items: center;
  display: flex;
  gap: var(--space-3);
  min-inline-size: 0;
}

.testimonials-hero__eyebrow {
  color: var(--color-cobalt);
}

.testimonials-hero__rule {
  background: var(--color-apricot);
  block-size: 2px;
  display: block;
  inline-size: 3rem;
}

.testimonials-hero__copy h1 {
  font-size: clamp(2.5rem, 5.5vw, 5rem);
  inline-size: min(100%, 38ch);
}

.testimonials-hero__lead {
  border-block-start: 1px solid var(--color-cobalt);
  inline-size: min(100%, 48ch);
  padding-block-start: var(--space-5);
}

.testimonials-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-inline-size: 0;
}

.testimonials-hero__actions > * {
  min-inline-size: 0;
}

.testimonials-hero__media,
.testimonials-conversation__media,
.testimonials-details__media {
  margin-block-end: 0;
  max-inline-size: 100%;
}

.testimonials-hero__media img {
  aspect-ratio: 3 / 2;
  inline-size: 100%;
  object-fit: cover;
  object-position: 68% 50%;
}

.testimonials-conversation__media img,
.testimonials-details__media img {
  aspect-ratio: 4 / 3;
  inline-size: 100%;
  object-fit: cover;
}

.testimonials-conversation__media img {
  object-position: 50% 50%;
}

.testimonials-details__media img {
  object-position: 50% 58%;
}

.testimonials-dining__intro,
.testimonials-poker__intro,
.testimonials-corporate__intro,
.testimonials-principles__intro {
  inline-size: min(100%, 54ch);
}

.testimonials-dining__cards,
.testimonials-poker__cards,
.testimonials-corporate__cards,
.testimonials-principles__grid,
.testimonials-next__cards {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--space-7);
}

.testimonials-dining__cards > *,
.testimonials-poker__cards > *,
.testimonials-corporate__cards > *,
.testimonials-principles__grid > *,
.testimonials-next__cards > * {
  min-inline-size: 0;
  inline-size: 100%;
}

.testimonials-quote-card {
  border: 1px solid var(--color-silver);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-5);
}

.testimonials-quote-card--white {
  background: var(--color-white);
}

.testimonials-quote-card--cloud {
  background: var(--color-cloud);
}

.testimonials-quote-card--ice {
  background: var(--color-ice);
}

.testimonials-quote-card--sand {
  background: var(--color-sand);
}

.testimonials-quote-card--silver-rule {
  border-block-start: 3px solid var(--color-silver);
}

.testimonials-quote-card--motif {
  position: relative;
}

.testimonials-quote-card--motif::after {
  border: 1px solid var(--color-cobalt);
  block-size: 1.4rem;
  color: var(--color-cobalt);
  content: "♢";
  display: grid;
  font-size: 1.25rem;
  line-height: 1;
  place-items: center;
  position: absolute;
  right: var(--space-4);
  top: var(--space-4);
  transform: rotate(45deg);
  inline-size: 1.4rem;
}

.testimonials-quote-card__category {
  color: var(--color-ink);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: 1.35;
  margin-block-end: 0;
  text-transform: uppercase;
}

.testimonials-quote-card--ice .testimonials-quote-card__category,
.testimonials-details__quote--lounge .testimonials-quote-card__category {
  border-inline-start: 4px solid var(--color-cyan);
  padding-inline-start: var(--space-2);
}

.testimonials-quote-card--sand .testimonials-quote-card__category,
.testimonials-details__quote--food .testimonials-quote-card__category {
  border-inline-start: 4px solid var(--color-apricot);
  padding-inline-start: var(--space-2);
}

.testimonials-quote-card blockquote,
.testimonials-details__quote blockquote {
  border: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: 0;
  padding-inline-start: 0;
}

.testimonials-quote-card cite,
.testimonials-conversation__copy cite,
.testimonials-details__quote cite,
.testimonials-details__closing cite {
  color: var(--color-text-muted);
  font-size: var(--text-label);
  font-style: normal;
  line-height: 1.5;
}

.testimonials-quote-card__fragment {
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 600;
  line-height: 1.15;
  margin-block-end: 0;
}

.testimonials-conversation__copy {
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.testimonials-conversation__copy > blockquote {
  inline-size: min(100%, 48ch);
  margin-block-end: 0;
}

.testimonials-conversation__support {
  inline-size: min(100%, 46ch);
}

.testimonials-conversation__note {
  border-block-start: 1px solid var(--color-cobalt);
  inline-size: min(100%, 46ch);
  padding-block-start: var(--space-4);
}

.testimonials-poker__note,
.testimonials-principles__note,
.testimonials-corporate__context {
  border: 1px solid var(--color-silver);
  margin-block-start: var(--space-6);
  min-inline-size: 0;
}

.testimonials-poker__note {
  background: var(--color-ice);
  padding: var(--space-5);
}

.testimonials-poker__note p,
.testimonials-principles__note p,
.testimonials-corporate__context p {
  margin-block-end: 0;
}

.testimonials-poker__note > :last-child,
.testimonials-principles__note > :last-child {
  inline-size: min(100%, 60ch);
}

.testimonials-events__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.testimonials-events__intro .lead {
  inline-size: min(100%, 50ch);
}

.testimonials-events__prompt {
  inline-size: min(100%, 42ch);
}

.testimonials-events__cards {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: minmax(0, 1fr);
}

.testimonials-events__cards > * {
  min-inline-size: 0;
  inline-size: 100%;
}

.testimonials-corporate__intro {
  inline-size: min(100%, 52ch);
}

.testimonials-corporate__context {
  background: var(--color-sand);
  inline-size: min(100%, 56ch);
  padding: var(--space-5);
}

.testimonials-details__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.testimonials-details__copy h2 {
  inline-size: min(100%, 48ch);
}

.testimonials-details__quote {
  border-block-start: 1px solid var(--color-silver);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 32ch);
  padding-block-start: var(--space-4);
}

.testimonials-details__closing {
  border-block-start: 1px solid var(--color-silver);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-block-start: var(--space-5);
}

.testimonials-details__closing blockquote {
  inline-size: min(100%, 42ch);
  margin-block-end: 0;
}

.testimonials-details__closing > p {
  color: var(--color-text-muted);
  font-size: var(--text-label);
  inline-size: min(100%, 52ch);
}

.testimonials-principles__intro {
  inline-size: min(100%, 56ch);
}

.testimonials-principle {
  border: 1px solid var(--color-silver);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-5);
}

.testimonials-principle--white {
  background: var(--color-white);
}

.testimonials-principle--ice {
  background: var(--color-ice);
  border-block-start: 3px solid var(--color-cyan);
}

.testimonials-principle--sand {
  background: var(--color-sand);
}

.testimonials-principle__number {
  color: var(--color-cobalt);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.testimonials-principles__note {
  background: var(--color-porcelain);
  padding: var(--space-5);
}

.testimonials-next__intro {
  inline-size: min(100%, 54ch);
  margin-inline: auto;
  text-align: center;
}

.testimonials-next__intro p {
  margin-block-end: 0;
}

.testimonials-next__card {
  border: 1px solid var(--color-silver);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-5);
}

.testimonials-next__card--dining {
  background: var(--color-white);
  border-block-start: 3px solid var(--color-apricot);
}

.testimonials-next__card--poker {
  background: var(--color-ice);
  border-block-start: 3px solid var(--color-cyan);
}

.testimonials-next__card--events {
  background: var(--color-sand);
  border-block-start: 3px solid var(--color-cobalt);
}

.testimonials-next__card > .button {
  align-self: start;
  margin-block-start: auto;
  min-block-size: 3rem;
}

@media (min-width: 48rem) {
  .testimonials-dining__cards,
  .testimonials-next__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .testimonials-dining__cards > :nth-child(3),
  .testimonials-next__cards > :nth-child(3) {
    grid-column: 1 / -1;
  }

  .testimonials-poker__cards,
  .testimonials-principles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .testimonials-events__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .testimonials-events__card--third {
    grid-column: 1 / -1;
  }

  .testimonials-corporate__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    inline-size: min(100%, 52rem);
  }
}

@media (min-width: 56.25rem) {
  .testimonials-hero__grid {
    align-items: stretch;
    gap: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-hero__media {
    align-self: center;
  }

  .testimonials-conversation__grid {
    align-items: center;
    gap: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-details__grid {
    align-items: start;
    gap: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-details__closing {
    grid-column: 1 / -1;
  }
}

@media (min-width: 66.25rem) {
  .testimonials-events__grid {
    align-items: start;
    gap: var(--space-7);
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }

  .testimonials-events__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonials-events__card--third {
    grid-column: 2;
  }
}

@media (min-width: 75rem) {
  .testimonials-hero__grid {
    gap: var(--space-8);
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-block-size: 45rem;
  }

  .testimonials-conversation__grid {
    gap: var(--space-8);
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .testimonials-details__grid {
    gap: var(--space-8);
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .testimonials-details__closing {
    grid-column: 1 / 2;
  }

  .testimonials-dining__cards,
  .testimonials-next__cards,
  .testimonials-principles__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .testimonials-dining__cards > :nth-child(3),
  .testimonials-next__cards > :nth-child(3) {
    grid-column: auto;
  }

  .testimonials-poker__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .testimonials-corporate__cards {
    inline-size: min(100%, 50rem);
  }
}

@media (max-width: 55.999rem) {
  .testimonials-hero__actions {
    flex-direction: column;
  }

  .testimonials-hero__actions .button {
    inline-size: 100%;
    min-block-size: 3rem;
  }
}

@media (max-width: 47.999rem) {
  .testimonials-hero__grid,
  .testimonials-conversation__grid,
  .testimonials-events__grid,
  .testimonials-details__grid {
    gap: var(--space-6);
  }

  .testimonials-hero__copy h1 {
    font-size: clamp(2.5rem, 11vw, 3.5rem);
    inline-size: min(100%, 36ch);
  }

  .testimonials-hero__lead {
    inline-size: min(100%, 36ch);
  }

  .testimonials-quote-card,
  .testimonials-principle,
  .testimonials-next__card {
    padding: var(--space-5);
  }

  .testimonials-conversation__grid {
    display: flex;
    flex-direction: column;
  }

  .testimonials-conversation__media {
    order: 1;
  }

  .testimonials-conversation__copy {
    order: 2;
  }

  .testimonials-details__grid {
    display: flex;
    flex-direction: column;
  }

  .testimonials-details__copy {
    display: contents;
  }

  .testimonials-details__copy .eyebrow,
  .testimonials-details__copy h2,
  .testimonials-details__quote--food,
  .testimonials-details__media,
  .testimonials-details__quote--lounge,
  .testimonials-details__closing {
    inline-size: 100%;
  }

  .testimonials-details__copy .eyebrow {
    order: 1;
  }

  .testimonials-details__copy h2 {
    order: 2;
  }

  .testimonials-details__quote--food {
    order: 3;
  }

  .testimonials-details__media {
    order: 4;
  }

  .testimonials-details__quote--lounge {
    order: 5;
  }

  .testimonials-details__closing {
    order: 6;
  }

  .testimonials-next__card > .button {
    align-self: stretch;
    inline-size: 100%;
  }

  .testimonials-quote-card--motif::after {
    display: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .testimonials-hero__media img {
    transition: transform var(--transition-base);
  }

  .testimonials-hero__media:hover img {
    transform: translateY(-2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonials-hero__media img {
    transition: none;
  }

  .testimonials-hero__media:hover img {
    transform: none;
  }
}
