/* Отзывы: полноширинный пролёт и три равных столбца общей шириной 1200 px. */
.page-section.reviews-section{padding:0 0 100px;background:#f5f8fd}
.reviews-runway{width:100%;margin-inline:auto}
.reviews-feed{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.reviews-stage{position:relative;display:grid;place-items:center;min-height:380px;isolation:isolate}
.reviews-stage h2{position:relative;z-index:1;text-align:center;font-size:clamp(34px,4.2vw,58px);max-width:720px}
.reviews-tunnel{display:none}
.reviews-depth-guides{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,#e1ebff80,transparent 70%)}
.reviews-motion .reviews-runway{height:320svh}
.reviews-motion .reviews-stage{position:sticky;top:88px;height:calc(100svh - 96px);min-height:360px;overflow:clip;perspective:1200px}
.reviews-motion .reviews-depth-guides{background:radial-gradient(#b8c8e0 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,#0008,transparent 72%)}
.reviews-depth-guides::before,.reviews-depth-guides::after{content:'';position:absolute;left:50%;top:50%;translate:-50% -50%;width:350px;aspect-ratio:1;border:1px solid #2457a50b;border-radius:50%}
.reviews-depth-guides::after{width:580px;border-style:dashed}
.reviews-motion .reviews-tunnel{display:block;position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.client-review{display:block;padding:24px;border:1px solid #dfe7f3;border-radius:18px;background:#fff;color:#091c3c;text-decoration:none;box-shadow:0 8px 24px #143d7410;transition:box-shadow .25s,border-color .25s}
a.client-review{cursor:pointer}
a.client-review:hover,a.client-review:focus-visible{border-color:#9bbcec;box-shadow:0 14px 32px #143d7420}
.client-review-author{display:flex;align-items:center;gap:11px;min-width:0}
.client-review-author img{border-radius:50%;object-fit:cover;flex:none;background:#eaf1fb}
.client-review-author strong{display:block;font-size:14px;line-height:1.35;font-weight:600}
.client-review-author time{display:block;margin-top:4px;font-size:11px;color:#8390a4}
.client-review-stars{font-size:17px;letter-spacing:2px;color:#e3aa45;margin:18px 0 12px}
.client-review p{font-size:14px;line-height:1.65;color:#425570}
.client-review-source{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8191a9;margin-top:20px}
.client-review-source .section-icon{width:16px;height:16px;color:#174d9f}
.tunnel-review{position:absolute;left:50%;top:50%;width:245px;opacity:0;backface-visibility:hidden;will-change:transform,opacity}
.tunnel-review p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.reviews-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px 16px 64px;margin:0 -16px}
.reviews-motion .reviews-feed{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;visibility:hidden}
.reviews-motion .reviews-columns{position:relative;height:calc(100% - 80px);max-height:670px;flex:0 1 670px;overflow:hidden;contain:paint}
.reviews-motion .reviews-columns::before,.reviews-motion .reviews-columns::after{content:'';position:absolute;left:0;right:0;z-index:2;pointer-events:none}
.reviews-motion .reviews-columns::before{top:0;height:8%;background:linear-gradient(#f5f8fd,#f5f8fd00)}
.reviews-motion .reviews-columns::after{bottom:0;height:13%;background:linear-gradient(#f5f8fd00,#f5f8fd)}
.reviews-column{min-width:0}
.reviews-track{will-change:transform;backface-visibility:hidden}
.reviews-group{display:flex;flex-direction:column;gap:20px;padding-bottom:20px}
.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px}
.reviews-bottom .text-link{font-size:15px}
.reviews-pause{font:inherit;font-size:12px;padding:10px 0;color:#6a7f9e;background:none;border:0;border-bottom:1px solid #c7d3e4;cursor:pointer}
.reviews-pause[hidden]{display:none}
@media(max-width:760px){.page-section.reviews-section{padding-bottom:70px}.reviews-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reviews-stage h2{font-size:clamp(32px,6vw,46px);letter-spacing:-1px}.reviews-motion .reviews-stage{perspective:900px}.tunnel-review{width:185px;padding:18px}.tunnel-review .client-review-author strong{font-size:12px}.tunnel-review .client-review-author img{width:30px;height:30px}.tunnel-review p{font-size:12px}.reviews-bottom{align-items:center;flex-direction:column;gap:18px}.client-review{padding:22px}}
@media(max-width:520px){.reviews-columns{grid-template-columns:minmax(0,1fr)}.reviews-motion .reviews-columns{max-height:none;height:calc(100% - 105px);flex-basis:calc(100% - 105px)}.reviews-motion .reviews-runway{height:280svh}.reviews-stage h2{font-size:34px}.tunnel-review{width:170px}.reviews-motion .reviews-stage{top:76px;height:calc(100svh - 84px)}.reviews-stage{min-height:280px}}
@media(prefers-reduced-motion:reduce){.reviews-track{will-change:auto}.reviews-stage{min-height:300px}}

/* Увеличенный отзыв: карточка по центру окна, фон затемнён. */
.review-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.review-modal[hidden]{display:none}
.review-modal-backdrop{position:absolute;inset:0;background:#041434b0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.client-review.review-modal-card{position:relative;width:min(560px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:36px 36px 30px;border:0;border-radius:24px;box-shadow:0 30px 90px #00133570;will-change:transform}
.review-modal-card .client-review-author img{width:56px;height:56px}
.review-modal-card .client-review-author strong{font-size:18px}
.review-modal-card .client-review-author time{font-size:13px}
.review-modal-card .client-review-stars{font-size:22px;margin:22px 0 16px}
.review-modal-card p{font-size:18px;line-height:1.65;display:block}
.review-modal-link{display:inline-block;margin-top:24px;font-size:14px;color:#174d9f;text-decoration:none;border-bottom:1px solid #9bbcec}
.review-modal-link:hover{color:#073da4}
.review-modal-close{position:absolute;z-index:1;top:16px;right:16px;display:grid;place-items:center;width:46px;height:46px;padding:0 0 3px;border:0;border-radius:50%;background:#fff;color:#073da4;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 6px 20px #00133540}
@media(max-width:600px){.client-review.review-modal-card{padding:28px 22px 24px;border-radius:20px}.review-modal-card p{font-size:16px}.review-modal{padding:16px}}
