.testimonials-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 0.5rem 0 1.5rem;
}

.testimonials-heading {
    margin-bottom: 2rem;
}

.testimonials-heading h1 {
    margin: 0 0 0.75rem;
    color: var(--public-shell-pink);
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1.2;
}

.testimonials-heading > p:last-child {
    margin: 0;
    color: var(--public-shell-muted);
    line-height: 1.7;
}

.testimonials-list {
    display: grid;
    gap: 1.5rem;
}

.testimonial-card { scroll-margin-top: 7rem; }
.testimonial-card:focus-visible {
    outline: 2px solid #a9274d;
    outline-offset: 4px;
}
.testimonial-card:target { border-left-color: var(--public-shell-pink); }

.testimonial-card,
.testimonials-empty {
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #d1e9e8;
    border-left: 4px solid var(--public-shell-teal);
    border-radius: 6px;
    background: #ecf8f7;
}

.testimonial-card:nth-child(even) {
    border-color: #f0dbe3;
    border-left-color: var(--public-shell-pink);
    background: var(--public-shell-pink-soft);
}

.testimonial-card blockquote,
.testimonial-card blockquote p,
.testimonials-empty p {
    margin: 0;
    /* Scope overrides for the legacy site's important blockquote defaults. */
    padding: 0 !important;
    border: 0;
    color: var(--public-shell-ink);
    font-family: inherit;
    font-size: 1.125rem !important;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.testimonial-text {
    white-space: pre-line;
}

.testimonial-card blockquote + blockquote { margin-top: 1rem; }
.testimonial-card cite { font-style: normal; }

.testimonial-mark {
    color: var(--public-shell-pink);
    font-family: Georgia, serif;
    font-size: 1.7em;
    line-height: 0.6;
    vertical-align: -0.15em;
}

.testimonial-card figcaption {
    margin-top: 1.25rem;
    color: var(--public-shell-ink);
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.testimonial-card figcaption strong {
    font-weight: 700;
}
