/* Shared five-card composition adapted from the supplied testimonial reference. */
.insight.reviews { --title-size:36px; --subtitle-size:22px; --body-size:16px; padding-block:100px; background:#013920; color:#fff; }
.reviews-heading { text-align:center; margin-bottom:48px; }
.reviews-heading h2 { margin:0; }
.reviews-heading .title-accent { color:var(--brand); }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:stretch; }
.review-card { position:relative; text-align:left; display:flex; flex-direction:column; justify-content:flex-start; min-width:0; min-height:300px; padding:30px; border:0; border-radius:10px; overflow:hidden; background:#fff; color:#161a17; isolation:isolate; }
.review-card h3 { margin:0 0 20px; color:inherit; }
.review-card:nth-child(2) h3, .review-card:nth-child(3) h3 { color:#fff; }
.review-card:nth-child(5) { background:#FFF7E4; }
.insight .review-card p { margin:0; color:#4d594e; }
.review-ambassador { grid-column:span 2; min-height:350px; padding:36px; gap:28px; justify-content:space-between; background:#fff; color:#161a17; }
.review-ambassador>div { position:relative; z-index:2; width:53%; }
.review-ambassador>div:not(.review-ambassador-copy) { order:0; }
.review-card:nth-child(2), .review-card:nth-child(3) { background:#000000; color:#fff; }
.insight .review-card:nth-child(2) p, .insight .review-card:nth-child(3) p { color:#fff; }
.review-ambassador .review-identity { display:flex; align-items:baseline; gap:12px; white-space:nowrap; }
.review-ambassador h3 { margin:0; }
.review-ambassador h4 { margin:0 0 20px; color:inherit; }
.review-portrait { position:absolute; z-index:0; display:block; bottom:0; right:0; width:45%; max-width:640px; height:100%; object-fit:cover; object-position:center top; pointer-events:none; mask-image:linear-gradient(to right,transparent,#000 24%); -webkit-mask-image:linear-gradient(to right,transparent,#000 24%); }
.reviews-grid.is-animated .review-card { opacity:0; transform:translateY(-20px); filter:blur(10px); transition:opacity .5s ease,transform .5s ease,filter .5s ease; transition-delay:var(--review-delay,0ms); }
.reviews-grid.is-animated.is-visible .review-card { opacity:1; transform:none; filter:blur(0); }
@media(prefers-reduced-motion:reduce) { .reviews-grid.is-animated .review-card { opacity:1; transform:none; filter:none; transition:none; } }

/* Authors are content, aligned at the lower right in each text review. */
.insight .review-card .review-author { margin-top:auto; padding-top:24px; text-align:right; }
/* Spotlight is visual emphasis only: card content and document flow stay intact. */
.reviews-grid.has-spotlight .review-card { transition:opacity .28s ease,transform .28s ease,filter .28s ease,box-shadow .28s ease; transition-delay:0s; }
.reviews-grid.has-spotlight:not(.is-animated) .review-card:not(.is-review-active),
.reviews-grid.has-spotlight.is-visible .review-card:not(.is-review-active) { opacity:1; filter:blur(2px); transform:none; z-index:0; }
.reviews-grid.has-spotlight:not(.is-animated) .review-card.is-review-active,
.reviews-grid.has-spotlight.is-visible .review-card.is-review-active { opacity:1; filter:none; transform:translateY(-8px) scale(1.025); z-index:2; box-shadow:0 18px 45px #0005; }
.review-card:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .reviews-grid.has-spotlight .review-card { transition:none; } .reviews-grid.has-spotlight.is-visible .review-card.is-review-active, .reviews-grid.has-spotlight:not(.is-animated) .review-card.is-review-active { transform:none; } }

/* Resting state is flat and crisp; only the non-ambassador cards are dimmed. */
.reviews-grid.has-spotlight.is-review-resting:not(.is-animated) .review-card.is-review-active,
.reviews-grid.has-spotlight.is-review-resting.is-visible .review-card.is-review-active { transform:none; box-shadow:none; }
.reviews-grid.has-spotlight.is-review-resting:not(.is-animated) .review-card:not(.is-review-active),
.reviews-grid.has-spotlight.is-review-resting.is-visible .review-card:not(.is-review-active) { opacity:1; filter:none; }

/* Black matte sits above the complete card, without fading the card layer. */
.review-card::after { content:""; position:absolute; inset:0; border-radius:inherit; z-index:3; pointer-events:none; background:#000; opacity:0; transition:opacity .28s ease; }
.reviews-grid.has-spotlight:is(.is-visible,:not(.is-animated)) .review-card:not(.is-review-active)::after { opacity:.58; }
.reviews-grid.has-spotlight.is-review-resting:is(.is-visible,:not(.is-animated)) .review-card:not(.is-review-active)::after { opacity:.76; }
@media(prefers-reduced-motion:reduce) { .review-card::after { transition:none; } }

/* Entrance uses its own timeline so spotlight transitions cannot erase the stagger. */
.reviews-grid.is-animated.is-visible .review-card { animation:review-card-arrive .5s ease var(--review-delay,0ms) backwards; }
@keyframes review-card-arrive { from { opacity:0; translate:0 -20px; filter:blur(10px); } to { opacity:1; translate:0 0; filter:blur(0); } }
@media(prefers-reduced-motion:reduce) { .reviews-grid.is-animated.is-visible .review-card { animation:none; } }

.review-author strong { font-size:inherit; line-height:inherit; letter-spacing:inherit; font-weight:700; }
