.client-stories{ background:#fff; border-top:1px solid var(--line); }
.client-stories [hidden]{ display:none !important; }
.client-stories-heading{ margin-bottom:42px; max-width:760px; }
.client-stories-heading::before{ content:""; display:block; width:44px; height:6px; border-radius:4px; background:var(--blue); margin-bottom:22px; }
.client-stories-heading h2{ font-size:clamp(1.45rem, 2.6vw, 2rem); text-transform:none; line-height:1.25; letter-spacing:0; }
.client-reviews-disclosure{ margin:12px 0 0; font-size:.9rem; color:var(--text-soft); }
.client-reviews-carousel{ position:relative; padding:0 68px; }
.client-reviews-grid{ display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; }
.client-review-page{ grid-area:1 / 1; min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px; align-content:start; }
.reviews-ready .client-review-page{ transition:transform 1.1s cubic-bezier(.45,0,.2,1); }
.client-review{ min-width:0; margin:0; }
.client-review-profile{ display:flex; align-items:center; gap:18px; margin-bottom:22px; }
.client-review-avatar{ position:relative; flex:0 0 72px; width:72px; height:72px; display:grid; place-items:center; overflow:hidden; border-radius:0 18px 0 18px; background:var(--blue-soft); color:var(--navy); font-family:var(--font-menu); font-size:1.3rem; font-weight:600; }
.client-review-avatar img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.client-review-profile strong{ display:block; font-family:var(--font-menu); font-weight:600; font-size:1.1rem; line-height:1.35; color:var(--navy-ink); overflow-wrap:anywhere; }
.client-review-profile div > span{ display:block; color:var(--text-soft); font-size:.88rem; margin-top:5px; overflow-wrap:anywhere; }
.client-review blockquote{ display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; margin:0; }
.client-review blockquote p{ color:var(--text-soft); line-height:1.65; margin:0; font-size:.98rem; overflow-wrap:anywhere; white-space:pre-line; }
.client-review-mark{ font-family:Georgia,serif; color:var(--blue); font-size:84px; line-height:.9; }
.client-review-arrow{ position:absolute; top:80px; display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #aeb8c8; border-radius:50%; background:#fff; color:var(--navy); cursor:pointer; }
.client-review-arrow:hover{ background:var(--blue-soft); border-color:var(--blue); }
.client-review-arrow svg{ width:22px; height:22px; }
.client-review-arrow.previous{ left:0; }
.client-review-arrow.next{ right:0; }
.client-review-dots{ display:flex; flex-wrap:wrap; justify-content:center; gap:2px; margin-top:34px; }
.client-review-dot{ display:grid; place-items:center; width:32px; height:32px; border:0; padding:0; background:transparent; cursor:pointer; }
.client-review-dot::before{ content:""; width:10px; height:10px; border-radius:50%; background:#aeb8c8; }
.client-review-dot[aria-pressed="true"]::before{ background:var(--navy-ink); }
.client-review-status{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.client-reviews-empty{ display:flex; align-items:center; justify-content:space-between; gap:28px; border-left:3px solid var(--blue); padding:12px 0 12px 28px; }
.client-reviews-empty p{ margin:0; color:var(--text-soft); max-width:58ch; }
.client-reviews-empty .btn{ flex-shrink:0; }
@media(max-width:700px){
  .client-stories{ padding:48px 0; }
  .client-stories-heading{ margin-bottom:30px; }
  .client-review-page{ grid-template-columns:minmax(0,1fr); gap:0; }
  .client-reviews-carousel{ padding:0 0 60px; }
  .client-review-arrow{ top:auto; bottom:0; }
  .client-review-dots{ margin-top:24px; }
  .client-review-profile{ gap:14px; }
  .client-review blockquote{ grid-template-columns:30px minmax(0,1fr); gap:10px; }
  .client-review-mark{ font-size:66px; }
  .client-reviews-empty{ flex-direction:column; align-items:flex-start; padding-left:20px; }
}
@media(prefers-reduced-motion:reduce){
  .reviews-ready .client-review-page{ transition:none; }
}
