.atp-testimonials{
  --atp-gap:22px;
  --atp-radius:22px;
  max-width:1200px;
  margin:40px auto;
  padding:10px 18px 28px;
  font-family:inherit;
  box-sizing:border-box;
}
.atp-testimonials *{box-sizing:border-box}
.atp-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.atp-eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;opacity:.62}
.atp-heading h2{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:7px 0 0}
.atp-controls{display:flex;gap:9px}
.atp-controls button{
  width:44px;height:44px;border:1px solid rgba(0,0,0,.12);border-radius:50%;
  background:#fd0000;color:#fff;cursor:pointer;font-size:20px;transition:.2s;
  box-shadow:0 8px 25px rgba(0,0,0,.07); padding:0;
}
.atp-controls button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.atp-viewport{overflow:hidden;touch-action:pan-y}
.atp-track{display:flex;gap:var(--atp-gap);will-change:transform;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.atp-card{
  flex:0 0 calc((100% - (var(--atp-columns) - 1)*var(--atp-gap))/var(--atp-columns));
  min-height:300px;padding:28px;border-radius:var(--atp-radius);
  background:linear-gradient(145deg,#fff,#f7f8fb);
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 16px 45px rgba(20,25,40,.09);
  position:relative;overflow:hidden;
}
.atp-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;top:-45px;background:rgba(80,100,255,.07)}
.atp-stars{font-size:17px;letter-spacing:2px;color:#f5a623}
.atp-quote{position:absolute;right:23px;top:22px;font-size:64px;line-height:1;color:rgba(0,0,0,.08);font-family:Georgia,serif}
.atp-content{font-size:16px;line-height:1.75;margin:20px 0 26px;color:#30343b}
.atp-content p:last-child{margin-bottom:0}
.atp-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.atp-person img,.atp-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.atp-avatar{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:800}
.atp-person strong{display:block;font-size:15px}
.atp-person span{display:block;font-size:13px;opacity:.6;margin-top:2px}
.atp-progress{height:3px;background:rgba(0,0,0,.08);border-radius:5px;margin-top:24px;overflow:hidden}
.atp-progress span{display:block;height:100%;width:0;background:#111;transition:width .2s}
.atp-empty{padding:20px;border:1px dashed #aaa}
@media(max-width:900px){.atp-card{flex-basis:calc((100% - var(--atp-gap))/2)}}
@media(max-width:600px){
  .atp-heading{align-items:start}.atp-controls{margin-top:2px}
  .atp-card{flex-basis:100%;min-height:280px;padding:23px}
}
