.testimonials {
  padding-block: 6rem;
}

.testi-featured {
  max-width: 34rem;
  margin-inline: auto;
}

.testi-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  padding: 2.25rem;
  box-shadow: var(--shadow-sm);
}
.testi-stars {
  display: flex;
  gap: 0.25rem;
  color: var(--olive);
  margin-bottom: 1.25rem;
}
.testi-stars svg {
  width: 18px;
  height: 18px;
}

.testi-quote {
  font-size: 1.15rem;
  line-height: 1.6;
  color: var(--foreground);
}
.testi-person {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.testi-logo {
  height: 2rem;
  width: auto;
  flex: none;
  transition: filter var(--duration-base) var(--ease-luxe);
}
/* the source file is white ink — flip it dark when the card sits on a
   light background so it never disappears */
:root[data-theme="light"] .testi-logo { filter: invert(1); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .testi-logo { filter: invert(1); }
}
.testi-name {
  font-size: 0.875rem;
  font-weight: 600;
}
.testi-role {
  font-size: 0.775rem;
  color: var(--muted-foreground);
}
.testi-link {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--sage-700);
  white-space: nowrap;
  transition: color var(--duration-fast) var(--ease-luxe);
}
.testi-link:hover {
  color: var(--sage-600);
}

@media (max-width: 560px) {
  .testi-card { padding: 1.5rem; }
  .testi-quote { font-size: 1.05rem; }
  .testi-person { flex-wrap: wrap; }
  .testi-logo { height: 2.4rem; }
  .testi-link { margin-left: 0; flex-basis: 100%; }
}
