.project-quote {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-items: center;
  max-width: 760px;
  margin: 36px 0;
  padding: 28px;
  border-radius: var(--radius-lg);
  background: var(--color-surface-alt);
}

.elementor-widget .project-quote { margin-block: 0; }

.project-quote__image {
  grid-row: span 2;
  width: 96px;
  height: 96px;
  object-fit: cover;
  object-position: top;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: var(--shadow-sm);
}

.project-quote__text {
  position: relative;
  align-self: end;
  margin: 0 0 10px;
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-ink);
}

.project-quote__text p { margin: 0; }

.project-quote__text::before {
  content: '“';
  position: absolute;
  left: -6px;
  top: -34px;
  font-size: 4rem;
  line-height: 1;
  color: var(--color-primary-300);
}

/* without image the text spans the full width */
.project-quote__text:first-child,
.project-quote__text:first-child + .project-quote__author { grid-column: 1 / -1; }

.project-quote__author {
  align-self: start;
  font-size: .9rem;
  color: var(--color-muted);
}

@media (max-width: 639.98px) {
  .project-quote {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }

  .project-quote__image { grid-row: auto; }
}
