/* Learner feedback: full supplied quotes, with no carousel or hidden text. */
.learner-reviews { padding: clamp(64px, 8vw, 120px) clamp(24px, 6.5vw, 110px); background: #f6f3e9; color: #19374b; scroll-margin-top: 100px; }
.reviews-heading { display: grid; grid-template-columns: 1.25fr 1fr; column-gap: 64px; align-items: end; max-width: 1280px; margin: 0 auto 44px; }
.reviews-kicker { grid-column: 1 / -1; margin: 0 0 20px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.reviews-heading h2 { margin: 0; font-size: clamp(44px, 5.8vw, 80px); line-height: 1.04; font-weight: 400; }
.reviews-heading h2 em { font-weight: inherit; color: #456c66; }
.reviews-heading > p:last-child { max-width: 34ch; font-size: 18px; line-height: 1.65; margin: 0 0 4px; color: #405d68; }
.reviews-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 24px; max-width: 1280px; margin: auto; align-items: start; }
.review-card { position: relative; margin: 0; padding: clamp(26px, 3vw, 44px); border: 1px solid #19374b24; border-radius: 4px 28px 4px 4px; background: #fffcf5; }
.review-card--featured { grid-row: span 2; background: #19374b; color: #f6f3e9; }
.review-card--short { background: #dce8dd; }
.review-card--practice { grid-column: 1 / -1; display: grid; grid-template-columns: 72px 1fr; column-gap: 20px; }
.review-mark { display: block; height: 56px; font: 96px/1 Georgia, serif; color: #71948a; user-select: none; }
.review-card--featured .review-mark { color: #b9d8c9; }
.review-card blockquote { margin: 0; }
.review-card blockquote p { margin: 8px 0 28px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.7; }
.review-card--featured blockquote p { font-size: clamp(21px, 1.9vw, 27px); line-height: 1.6; }
.review-card figcaption { display: flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 600; letter-spacing: .02em; }
.review-signature { display: block; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.review-card--practice figcaption { grid-column: 2; }
@media (max-width: 760px) {
 .reviews-heading { grid-template-columns: 1fr; gap: 20px; }
 .reviews-kicker { margin-bottom: 0; }
 .reviews-heading > p:last-child { max-width: 44ch; }
 .reviews-grid { grid-template-columns: 1fr; }
 .review-card--featured { grid-row: auto; }
 .review-card--practice { display: block; }
}

/* Motion is progressive enhancement: quotes remain visible without JavaScript. */
.reviews-heading h2 em { position: relative; display: inline-block; }
.reviews-heading h2 em::after { content: ''; position: absolute; left: 0; right: 0; bottom: -8px; height: 3px; border-radius: 50%; background: #71948a; transform: scaleX(0); transform-origin: left; }
@media (prefers-reduced-motion: no-preference) {
 .reviews-heading.is-revealed h2 em::after { animation: review-underline 900ms cubic-bezier(.2,.7,.2,1) 250ms both; }
 @keyframes review-underline { to { transform: scaleX(1); } }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .review-card { transition: translate 280ms ease, box-shadow 280ms ease; }
 .review-card:hover { translate: 0 -5px; box-shadow: 0 16px 32px #19374b14; }
}
