/* Student stories: scoped styles preserve the existing site and contact form. */
.testimonials-section {
  padding-block: var(--section-space, 5rem);
  background: var(--ink, #24132f);
  color: #fff;
}
.testimonials-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 2rem 4rem;
  align-items: end;
  margin-bottom: 2.75rem;
}
.testimonials-heading .eyebrow { color: var(--hero-text, #e1d7e8); }
.testimonials-heading h2 { margin-bottom: 0; }
.testimonials-heading h2 em { color: var(--hero-text, #e1d7e8); }
.testimonials-intro {
  max-width: 30rem;
  margin-bottom: .25rem;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--hero-text, #e1d7e8);
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.student-story {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: clamp(1.375rem, 2.4vw, 2rem);
  border: 1px solid #fff;
  border-radius: .375rem;
  background: #fff;
  color: var(--ink, #24132f);
}
.story-mark {
  display: block;
  height: 2.625rem;
  font: 3.75rem/1 Georgia, serif;
  color: var(--accent, #805699);
}
.student-story blockquote { margin: .75rem 0 1.75rem; }
.student-story blockquote p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
  color: var(--ink-soft, #493952);
}
.student-story figcaption {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--line, #dfd7e4);
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.5;
}
.more-stories { margin-top: 1.75rem; }
.more-stories > summary {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-height: 3rem;
  align-items: center;
  gap: 1rem;
  margin-inline: auto;
  padding: .875rem 1.25rem;
  border: 1px solid #a995b7;
  border-radius: .25rem;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
}
.more-stories > summary:hover { background: var(--ink-soft, #493952); }
.more-stories > summary::after { content: none; }
.stories-toggle::before { content: '+'; font-size: 1.375rem; line-height: 1; }
.more-stories[open] .stories-toggle::before { content: '−'; }
.stories-open, .more-stories[open] .stories-closed { display: none; }
.more-stories[open] .stories-open { display: inline; }
.testimonials-more-grid { margin-top: 1.75rem; }
.testimonials-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 3rem;
  margin-top: 2.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid #675571;
}
.testimonials-footer p {
  max-width: 43rem;
  margin: 0;
  font-size: .8125rem;
  line-height: 1.8;
  color: var(--hero-text, #e1d7e8);
}
.testimonials-footer .text-link { flex-shrink: 0; padding-block: .75rem; }
@media (max-width: 64rem) {
  .testimonials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testimonials-heading { gap: 2rem; }
  .testimonials-footer { align-items: flex-start; flex-direction: column; gap: .75rem; }
}
@media (max-width: 44rem) {
  .testimonials-heading { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-bottom: 2rem; }
  .testimonials-grid { grid-template-columns: minmax(0, 1fr); }
  .testimonials-intro { font-size: 1rem; }
  .student-story blockquote { margin-bottom: 1.25rem; }
  .more-stories > summary { width: 100%; justify-content: center; }
  .testimonials-footer .text-link { flex-shrink: 1; }
}
@media print {
  .testimonials-section { background: #fff; color: #24132f; }
  .testimonials-heading .eyebrow, .testimonials-heading h2 em, .testimonials-intro, .testimonials-footer p { color: #493952; }
  .testimonials-grid { display: block; }
  .student-story { break-inside: avoid; border-color: #dfd7e4; margin-bottom: 1rem; }
  .more-stories > summary { display: none; }
  .more-stories::details-content { content-visibility: visible; }
  .more-stories:not([open]) > .testimonials-grid { display: block; }
}
