.reviews-section{background:linear-gradient(180deg,#f5f8fc 0%,#edf3fa 100%);border-bottom:1px solid var(--line);scroll-margin-top:100px}
.reviews-heading{margin-bottom:34px}
.reviews-heading h2{margin-bottom:0}
.reviews-heading>p{max-width:350px;margin-bottom:5px}
.review-carousel{min-width:0}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scroll-behavior:smooth;align-items:stretch;padding-block:4px 18px;scrollbar-width:thin;scrollbar-color:#a6bad6 transparent;border-radius:14px}
.reviews-track:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.review-card{scroll-snap-align:start;min-width:0;display:flex;flex-direction:column;padding:26px;background:white;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 6px 16px #102b4e05;transition:border-color .25s,box-shadow .25s}
.review-person{display:flex;align-items:center;gap:12px;margin-bottom:19px}
.review-avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:#e4edfb;color:#24509a;font:800 18px var(--head)}
.review-card:nth-child(3n+2) .review-avatar{background:#e0f0ec;color:#22634f}
.review-card:nth-child(3n+3) .review-avatar{background:#fbedd7;color:#77521b}
.review-person h3{font:800 14px/1.5 var(--head);margin:0 0 2px;letter-spacing:0}
.review-person p{font-size:11px;color:var(--muted);margin:0}
.review-stars{display:flex;gap:2px;margin-bottom:14px;color:#b77d10;font-size:19px;line-height:1;letter-spacing:1px}
.review-stars .empty-star{color:#c7d1de}
.review-text{font-size:14px;line-height:1.85;color:#405469;margin:0 0 22px;flex:1}
.review-service{margin:0;padding-top:16px;border-top:1px solid #e8edf3;color:var(--blue);font:700 11px/1.5 var(--head)}
.review-controls{display:flex;align-items:center;gap:12px;padding-top:16px;flex-wrap:wrap}
.review-controls[hidden]{display:none}
.review-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid #cad7e7;border-radius:50%;background:#fff;color:var(--navy);font-size:22px;transition:background .2s,color .2s,border-color .2s}
.review-arrow:disabled{opacity:.35;cursor:default}
.review-arrow:not(:disabled):hover{background:var(--navy);border-color:var(--navy);color:#fff}
.review-status{font-size:12px;color:var(--muted);margin:0 0 0 4px;min-width:145px}
.review-dots{display:flex;align-items:center;justify-content:center;gap:0;margin-left:auto}
.review-dot{display:grid;place-items:center;width:32px;height:36px;border:0;background:transparent;padding:0}
.review-dot[hidden]{display:none}
.review-dot:before{content:'';height:7px;width:7px;border-radius:20px;background:#adbed5;transition:width .25s,background .25s}
.review-dot[aria-pressed=true]:before{width:22px;background:var(--blue)}
.reviews-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:25px;border-top:1px solid #d4dfed}
.reviews-hint{font-size:12px;color:var(--muted);margin:0}
.reviews-foot .service-call{border:0;padding:0;margin:0;flex:none}
.city-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.city-group{padding:25px;background:#fff;border:1px solid #dce4ef;border-radius:8px}
.city-group h3{margin:0 0 17px;font:800 16px/1.35 var(--head);color:var(--navy)}
.city-links{display:flex;flex-wrap:wrap;gap:8px}
.city-links a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid #d8e2ee;border-radius:6px;background:#f7f9fc;color:#254560;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.city-links a:after{content:'→';margin-left:7px;color:var(--blue)}
.city-links a:hover,.city-links a:focus-visible{background:#102b4e;border-color:#102b4e;color:#fff}
.city-links a:hover:after,.city-links a:focus-visible:after{color:#8be0bd}
@media(hover:hover) and (pointer:fine){.review-card:hover{border-color:#a3b9d7;box-shadow:0 8px 18px #102b4e0b}}
@media(max-width:960px){.reviews-track{grid-auto-columns:calc((100% - 20px)/2)}.city-groups{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .reviews-heading h2{margin-bottom:18px}
  .reviews-track{grid-auto-columns:100%}
  .review-card{padding:25px}
  .review-controls{gap:10px}
  .review-status{font-size:11px;min-width:0}
  .review-dots{flex-basis:100%;margin:4px 0 0}
  .reviews-foot{flex-direction:column;align-items:flex-start;gap:12px}
  .city-groups{grid-template-columns:1fr;gap:12px}
  .city-group{padding:21px}
}
@media(prefers-reduced-motion:reduce){.reviews-track{scroll-behavior:auto}.review-card,.review-arrow,.review-dot:before{transition:none}}

.testimonial-section{overflow:hidden;padding-block:90px;background:#f4f7fb;border-block:1px solid #dce5ef}
.testimonial-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.testimonial-head h2{max-width:680px;margin:0;font-size:clamp(32px,4vw,50px)}
.google-review-mark{display:flex;align-items:center;gap:16px;min-width:250px;padding:16px 18px;border:1px solid #d8e1eb;border-radius:8px;background:#fff;box-shadow:0 8px 24px #102b4e0b}
.google-word{display:flex;font:700 24px/1 Arial,sans-serif;letter-spacing:0}
.google-word i{font-style:normal}.google-word i:nth-child(1),.google-word i:nth-child(4){color:#4285f4}.google-word i:nth-child(2),.google-word i:nth-child(6){color:#ea4335}.google-word i:nth-child(3){color:#fbbc05}.google-word i:nth-child(5){color:#34a853}
.google-review-mark>span:last-child{display:flex;flex-direction:column}
.google-review-mark b{font:800 14px/1.3 var(--head);color:var(--navy)}
.google-review-mark small{margin-top:2px;color:var(--muted);font-size:10px}
.testimonial-window{position:relative;width:100%;overflow:hidden;padding-block:8px}
.testimonial-window:before,.testimonial-window:after{content:'';position:absolute;top:0;bottom:0;z-index:2;width:max(28px,calc((100vw - 1180px)/2));pointer-events:none}
.testimonial-window:before{left:0;background:linear-gradient(90deg,#f4f7fb,transparent)}
.testimonial-window:after{right:0;background:linear-gradient(-90deg,#f4f7fb,transparent)}
.testimonial-track{display:flex;width:max-content;will-change:transform}
.testimonial-track.is-ready{animation:review-marquee 105s linear infinite}
.testimonial-window:hover .testimonial-track,.testimonial-window:focus-within .testimonial-track,.testimonial-track.is-paused{animation-play-state:paused}
.testimonial-group{display:flex;gap:18px;padding-right:18px}
.testimonial-card{display:flex;flex-direction:column;width:360px;min-height:255px;padding:26px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 8px 22px #102b4e08}
.testimonial-card .review-stars{margin:0 0 18px;color:#f5a623;font-size:18px;letter-spacing:2px}
.testimonial-card blockquote{flex:1;margin:0;color:#30465a;font-size:15px;line-height:1.75}
.testimonial-card footer{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:17px;border-top:1px solid #e7edf3}
.testimonial-card footer>span{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e7eef9;color:#24509a;font:800 14px var(--head)}
.testimonial-card footer div{display:flex;flex-direction:column}
.testimonial-card footer b{font:800 12px/1.4 var(--head);color:var(--navy)}
.testimonial-card footer small{color:var(--muted);font-size:10px}
.testimonial-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:27px}
.testimonial-controls p{display:flex;flex-direction:column;margin:0}
.testimonial-controls strong{font:800 13px/1.5 var(--head);color:var(--navy)}
.testimonial-controls p span{color:var(--muted);font-size:11px}
.review-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b9c9dc;border-radius:50%;background:#fff;color:var(--navy);font:800 15px var(--head);transition:background .2s,color .2s,border-color .2s}
.review-toggle:hover,.review-toggle:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff}
@keyframes review-marquee{to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){
  .testimonial-section{padding-block:55px}
  .testimonial-head{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:25px}
  .testimonial-head h2{font-size:31px}
  .google-review-mark{min-width:0;width:100%}
  .testimonial-card{width:82vw;min-height:245px;padding:23px}
  .testimonial-window:before,.testimonial-window:after{width:18px}
}
@media(prefers-reduced-motion:reduce){
  .testimonial-window{overflow-x:auto;scroll-snap-type:x mandatory}
  .testimonial-track.is-ready{animation:none}
  .testimonial-card{scroll-snap-align:start}
  .review-toggle{display:none}
}
