.home-reviews { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr); gap:48px; align-items:center; margin:64px 0 40px; padding:44px; border:1px solid #dbe7ee; border-radius:28px; background:radial-gradient(ellipse at 0 0,#e5f4f8,transparent 65%),#f5f9fc; color:#173a60; }
.home-reviews h2 { margin:14px 0; font-size:clamp(26px,3vw,38px); line-height:1.2; letter-spacing:-.04em; }
.reviews-intro > p { color:#5d7184; font-size:14px; line-height:1.7; max-width:260px; }
.reviews-controls { display:flex; align-items:center; gap:8px; margin-top:24px; }
.reviews-controls[hidden],.reviews-pagination[hidden],.review-card[hidden] { display:none; }
.reviews-controls button { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #cfdee8; border-radius:50%; background:#fff; color:#173a60; font:500 20px Arial,sans-serif; cursor:pointer; }
.reviews-controls button:hover { border-color:#367986; background:#e8f2f6; }
.reviews-controls .reviews-pause { width:auto; padding:0 13px; border-radius:24px; font-size:12px; }
.reviews-controls button:focus-visible,.review-dots button:focus-visible { outline:3px solid #267bb4; outline-offset:3px; }
.review-card { padding:30px 32px; border-radius:20px; background:white; border:1px solid #e2ebf0; box-shadow:0 14px 36px #173a600a; min-height:300px; display:flex; flex-direction:column; box-sizing:border-box; }
.reviews-stage { display:grid; gap:16px; }
.review-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; height:34px; }
.review-stars { font-size:21px; color:#b8780c; letter-spacing:3px; }
.review-empty-stars { color:#dce3e8; }
.review-quote { font:70px Georgia,serif; height:50px; line-height:1; color:#dce9ee; }
.review-card h3 { margin:22px 0 0; font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.review-card blockquote { margin:22px 0 28px; font-size:clamp(16px,1.7vw,19px); line-height:1.8; font-weight:500; white-space:pre-wrap; overflow-wrap:anywhere; color:#2f465b; }
.review-author { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid #edf1f5; }
.review-avatar { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:50%; background:#eaf2f6; color:#34738b; font-size:17px; font-weight:800; }
.review-author strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.review-author time { display:block; margin-top:5px; font-size:11px; color:#728598; }
.reviews-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; padding:0 4px; font-size:11px; color:#728598; }
.review-dots { display:flex; flex-wrap:wrap; gap:4px; }
.review-dots button { position:relative; border:0; background:transparent; padding:0; width:24px; height:24px; cursor:pointer; }
.review-dots button::after { content:''; position:absolute; width:6px; height:6px; border-radius:99px; background:#bed0dd; top:9px; left:9px; }
.review-dots button[aria-current="true"]::after { width:18px; left:3px; background:#34738b; }
.review-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media (max-width:720px) { .home-reviews { grid-template-columns:1fr; padding:24px 18px; gap:24px; margin-top:40px; border-radius:22px; } .reviews-intro > p { max-width:none; } .reviews-controls { margin-top:18px; } .review-card { padding:24px 20px; min-height:280px; } }
