/* Stretch every slide to the tallest complete testimonial at the current width. */
.review-track{align-items:stretch;overflow-y:hidden}
.review-slide{position:relative;min-height:0;height:auto}
.review-quote{display:flex;flex-direction:column;min-width:0;padding:24px 30px}
.review-quote .quote-mark{width:26px;height:21px;margin-bottom:12px;flex:none}
.review-quote blockquote{font-size:18px;line-height:1.55;display:block;overflow:visible}
.review-quote blockquote p{margin:0 0 9px}
.review-quote blockquote p:last-child{margin-bottom:0}
.review-open{display:block;align-self:flex-start;margin-top:auto;padding:18px 0 0;border:0;background:none;color:var(--teal);font-size:14px;font-weight:700;min-height:44px;text-align:left}
.review-open::after{content:'';position:absolute;inset:0;border-radius:8px}
.review-open:focus-visible{outline:none}
.review-open:focus-visible::after{outline:3px solid var(--aqua);outline-offset:-4px}
.review-author{padding:24px;justify-content:center}
.review-monogram{width:48px;height:48px;font-size:22px;margin-bottom:14px}
.review-author strong{font-size:21px}
.review-origin{display:none}
.more-reviews{border:0;background:none;min-height:44px;padding:8px;font:inherit;font-size:14px;cursor:pointer}
.review-dialog{padding:0;border:1px solid #b4dadd;border-radius:16px;background:#e6f1f3;color:var(--text);width:min(820px,calc(100% - 48px));max-width:none;height:min(850px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);margin:auto;overflow:hidden;box-shadow:0 18px 70px #15274e44}
.review-dialog[open]{display:flex;flex-direction:column}
.review-dialog::backdrop{background:#111c3bb3}
.review-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--ink);color:white;flex:none;border-bottom:4px solid var(--aqua)}
.review-dialog-header h2{font-size:22px;color:inherit;margin:0;line-height:1.25;text-wrap:wrap}
.review-dialog-close{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#ffffff15;color:white;border:1px solid #ffffff60;border-radius:8px}
.review-dialog-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none}
.review-dialog-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;padding:24px;scroll-padding:24px;touch-action:pan-y}
.review-dialog-intro{font-size:14px;line-height:1.6;color:var(--ink);max-width:640px;margin:0 auto 24px;padding-left:14px;border-left:3px solid #efc62f}
.review-full-list{display:grid;gap:20px}
.review-full{width:100%;max-width:640px;margin:0 auto;padding:0 26px 26px;border:1px solid #bbd8dd;border-radius:8px;background:#fff;box-shadow:0 3px 10px #153c4910;overflow:visible;overflow-wrap:anywhere}
.review-full-author{position:relative;margin:0 -26px 22px;padding:20px 60px 18px 26px;background:#d9edef;border-radius:7px 7px 0 0;border-bottom:1px solid #bedde0}
.review-full-mark{position:absolute;right:20px;top:18px;width:28px;height:28px;opacity:.75}
.review-full:nth-child(even) .review-full-author{background:#e5e8f4;border-color:#d0d7e9}
.review-full h3{font-size:20px;line-height:1.35;margin:0;color:var(--ink)}
.review-full .review-full-topic{display:inline-block;font-size:14px;line-height:1.5;color:#126373;font-weight:700;margin:8px 0 0;padding:3px 9px;background:#ffffffb3;border-radius:4px}
.review-full .review-full-title{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 14px}
.review-full blockquote{font-size:18px;line-height:1.7;margin:0;overflow:visible}
.review-full blockquote p{margin:0 0 12px;white-space:pre-line}
.review-full blockquote p:last-child{margin:0}
.review-load{max-width:640px;margin:26px auto 10px;padding:18px;border-radius:8px;background:#e5f2f4;color:var(--ink);font-size:15px}
.review-load p{margin:0 0 10px}
.review-load p:last-child{margin:0}
.review-retry{border:1px solid var(--teal);background:white;color:var(--teal);border-radius:6px;padding:10px 18px;min-height:44px;font-weight:700}
.review-load-busy::before{content:'';display:inline-block;width:14px;height:14px;margin-right:10px;border:2px solid #1c829c44;border-top-color:var(--teal);border-radius:50%;vertical-align:-2px;animation:review-loading .8s linear infinite}
@keyframes review-loading{to{transform:rotate(360deg)}}
@media(max-width:640px){
 .review-slide{height:auto;display:flex;flex-direction:column}
 .review-quote{padding:20px 22px 14px;flex:1;min-height:0}
 .review-quote blockquote{font-size:18px;line-height:1.55}
 .review-author{padding:17px 22px;min-height:90px;flex:none}
 .review-author .review-monogram{width:44px;height:44px;margin:0;font-size:20px}
 .review-author strong{font-size:19px}
 .review-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:12px}
 .review-dialog-header{padding:12px 12px 12px 18px;gap:8px}
 .review-dialog-header h2{font-size:20px}
 .review-dialog-body{padding:16px;scroll-padding:16px}
 .review-full{padding:0 18px 22px}
 .review-full-author{margin:0 -18px 18px;padding:18px 48px 16px 18px}
 .review-full-mark{right:12px;width:24px;height:24px}
 .review-full blockquote{font-size:17px;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){.review-load-busy::before{animation:none}}
