/* Eén herkenbaar kader voor echte deelnemerservaringen. */
.ff-testimonial-frame {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #131316;
  border: 1px solid #2c3930;
  border-radius: 16px;
  box-shadow: 0 16px 32px -24px rgba(9, 9, 11, .38);
}
.ff-testimonial-frame::after,
.quote-block.ff-quote-panel::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: #00b050;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  pointer-events: none;
}
.ff-testimonial-frame figure { margin: 0; min-width: 0; }
.ff-testimonial-lead {
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 48px);
  border-left: 4px solid #00b050;
}
.ff-testimonial-mark {
  display: block;
  height: 48px;
  margin-bottom: 14px;
  font-family: var(--font-serif, Georgia, serif);
  font-size: 100px;
  line-height: .9;
  color: #00b050;
  user-select: none;
}
.ff-testimonial-lead blockquote {
  color: #e4e7e5;
  font-family: var(--font-sans, sans-serif);
  font-size: clamp(1.25rem, 1.9vw, 1.625rem);
  line-height: 1.5;
  letter-spacing: -.015em;
  margin: 0 0 28px;
}
.ff-testimonial-lead blockquote strong { display: block; margin-top: 16px; color: #fafafa; font-weight: 750; }
.ff-testimonial-frame figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  font-size: .875rem;
  line-height: 1.5;
}
.ff-testimonial-frame figcaption strong { color: #00d361; font-weight: 750; }
.ff-testimonial-frame figcaption span { color: #b9c5bc; }
.ff-testimonial-lead figcaption { margin-top: auto; }
.ff-testimonial-others {
  display: grid;
  grid-template-rows: 1fr 1fr;
  margin-block: clamp(28px, 4vw, 48px);
  padding-inline: clamp(28px, 4vw, 40px);
  border-left: 1px solid #38433c;
}
.ff-testimonial-others figure { display: flex; flex-direction: column; justify-content: center; padding-block: 8px 28px; }
.ff-testimonial-others figure + figure { border-top: 1px solid #38433c; padding-block: 28px 8px; }
.ff-testimonial-others blockquote { margin: 0 0 20px; color: #e4e7e5; font-size: 1.0625rem; line-height: 1.65; }

/* Dezelfde kleur, hoek en aanhalingstekens op de dienstpagina’s. */
.quote-block.ff-quote-panel,
.ff-brand .quote-block.ff-quote-panel {
  position: relative;
  background: #131316;
  border: 1px solid #2c3930;
  border-left: 4px solid #00b050;
  border-radius: 16px;
  padding: 30px 30px 30px 68px;
}
.quote-block.ff-quote-panel::before {
  content: '“';
  top: 24px;
  left: 18px;
  font-family: var(--font-serif, Georgia, serif);
  font-size: 64px;
  line-height: 1;
  color: #00b050;
  opacity: 1;
  pointer-events: none;
}
.quote-block.ff-quote-panel blockquote,
.ff-brand .quote-block.ff-quote-panel blockquote { color: #e4e7e5; font-family: var(--font-sans, sans-serif); font-size: 1.0625rem; line-height: 1.65; }
.quote-block.ff-quote-panel cite { color: #00d361; font-size: .875rem; line-height: 1.5; font-weight: 650; }

@media (max-width: 800px) {
  .ff-testimonial-frame { grid-template-columns: 1fr; }
  .ff-testimonial-lead { padding: 28px; }
  .ff-testimonial-lead blockquote { font-size: 1.375rem; }
  .ff-testimonial-others { grid-template-rows: auto; margin: 0 28px; padding: 0; border-left: 0; border-top: 1px solid #38433c; }
  .ff-testimonial-others figure,
  .ff-testimonial-others figure + figure { padding-block: 24px; }
}
@media (max-width: 480px) {
  .ff-testimonial-lead { padding: 24px; }
  .ff-testimonial-lead blockquote { font-size: 1.25rem; }
  .ff-testimonial-others { margin-inline: 24px; }
  .ff-testimonial-others blockquote { font-size: 1rem; }
  .quote-block.ff-quote-panel,
  .ff-brand .quote-block.ff-quote-panel { padding: 26px 22px 24px 50px; }
  .quote-block.ff-quote-panel::before { left: 12px; top: 22px; font-size: 48px; }
}
