/* A centered review strip, with soft fades on the two outer cards. */
#reviews{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:32px 0 24px;
}

#reviews::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:16% -12% -14%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 72% 80%,rgba(59,130,246,.27),transparent 53%),
    radial-gradient(ellipse at 38% 64%,rgba(29,78,216,.13),transparent 52%);
  -webkit-mask-image:linear-gradient(transparent,#000 28%,#000 70%,transparent);
  mask-image:linear-gradient(transparent,#000 28%,#000 70%,transparent);
}

#reviews .head{max-width:720px;margin-bottom:20px}
#reviews .head .tag{margin-bottom:8px}
#reviews .head p{margin-top:8px;font-size:.92rem}
#reviews-title{
  font-size:clamp(1.26585rem,2.1825vw,2.1825rem);
  font-weight:485.1;
  letter-spacing:-.035em;
  line-height:1.12;
  text-wrap:balance;
}

.reviews-wall{
  --review-width:clamp(180px,26vw,360px);
  width:min(1440px,100%);
  margin-inline:auto;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.reviews-row{
  position:relative;
  left:50%;
  display:grid;
  grid-template-columns:repeat(5,var(--review-width));
  gap:14px;
  width:max-content;
  transform:translateX(-50%);
}
.review-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  margin:0;
  padding:14px 20px;
  border:1px solid rgba(122,176,255,.07);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(20,24,34,.5),rgba(14,21,35,.3));
  box-shadow:0 8px 24px -22px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.02);
  transition:border-color .25s,background .25s;
}
/* Use the page's scroll observer for a staggered fade, lift, and blur reveal. */
.js .review-card.reveal{
  transition:opacity 1s ease-in-out,transform 1s ease-in-out,filter 1s ease-in-out,border-color .25s,background .25s;
  transition-delay:var(--d,0s),var(--d,0s),var(--d,0s),0s,0s;
}
.review-card:nth-child(2){--d:.16s}
.review-card:nth-child(3){--d:.32s}
.review-card:nth-child(4){--d:.48s}
.review-card:nth-child(5){--d:.64s}
.review-card:is(:first-child,:last-child){overflow:hidden}
.review-card:is(:first-child,:last-child)::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  -webkit-mask-image:linear-gradient(90deg,#000 65%,transparent);
  mask-image:linear-gradient(90deg,#000 65%,transparent);
}
.review-card:last-child::after{
  -webkit-mask-image:linear-gradient(270deg,#000 65%,transparent);
  mask-image:linear-gradient(270deg,#000 65%,transparent);
}
.review-card:hover{border-color:rgba(122,176,255,.2);background:linear-gradient(145deg,rgba(23,30,45,.62),rgba(17,32,57,.42))}
.review-stars{grid-column:2;grid-row:1;color:#fff}
.review-stars svg{width:88px;height:16px;fill:currentColor;stroke:rgba(255,255,255,.6);stroke-width:.8;stroke-linejoin:round}
.review-card blockquote{flex:1;color:#dce4f2;font-size:.875rem;font-weight:440;line-height:1.45;letter-spacing:-.015em}
.review-card figcaption{display:flex;align-items:center;gap:8px;margin-top:0}
.review-person{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px}
.review-avatar{
  display:grid;
  place-items:center;
  flex:none;
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(122,176,255,.25);
  background:linear-gradient(140deg,#234c7b,#172439);
  color:#c9e1ff;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.02em;
}
.review-card:nth-child(2) .review-avatar{background:linear-gradient(140deg,#26617b,#142b40)}
.review-card:nth-child(3) .review-avatar{background:linear-gradient(140deg,#3b5289,#1b2845)}
.review-name,.review-role{display:block;font-size:.82rem;line-height:1.3}
.review-name{grid-column:1;grid-row:1;color:var(--text);font-weight:550}
.review-role{grid-column:1/-1;grid-row:2;color:var(--muted);font-size:.75rem}

@media(max-width:1000px){
  .reviews-row{gap:12px}
  .review-card{padding:12px 16px;gap:8px}
  .review-stars svg{width:60px;height:12px}
}

@media(max-width:700px){
  #reviews{padding:24px 0 20px}
  #reviews .head{margin-bottom:18px}
  #reviews .head p{font-size:.875rem}
  .reviews-wall{
    --review-width:min(78vw,320px);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:24px;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
  }
  .reviews-wall::-webkit-scrollbar{display:none}
  .reviews-row{left:0;transform:none;padding-inline:24px}
  .review-card{padding:14px 18px;gap:10px;scroll-snap-align:start}
  .review-stars svg{width:78px;height:14px}
  .review-card:is(:first-child,:last-child)::after{display:none}
}
