.reviews{
  position:relative;
  z-index:0;
  height:320svh;
  background:transparent;
  color:#fff;
  scroll-margin-top:0;
  --reviews-active-accent:var(--violet);
}
.reviews[data-active-review="1"]{--reviews-active-accent:var(--blue)}
.reviews[data-active-review="2"]{--reviews-active-accent:var(--green)}
.reviews__card{--review-accent:var(--violet)}
.reviews__card:nth-child(2){--review-accent:var(--blue)}
.reviews__card:nth-child(3){--review-accent:var(--green)}
.reviews__highlight{color:var(--review-accent)}
.reviews__stage{
  position:sticky;
  top:0;
  isolation:isolate;
  width:100%;
  height:100svh;
  overflow:hidden;
  background:transparent;
}
.reviews__stage #particles{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
}
.reviews__symbol-fallback{
  position:absolute;
  z-index:0;
  left:51%;
  top:50%;
  width:clamp(210px,27vw,480px);
  transform:translate(-50%,-50%) rotate(-13deg);
  opacity:.8;
  pointer-events:none;
}
.reviews__symbol-fallback img{width:100%;height:auto;border-radius:0}
@media(prefers-reduced-motion:no-preference){
  /* Keep the static fallback out of the async particle initialization window. */
  html.js-preload .reviews__symbol-fallback{visibility:hidden}
  html.js-preload .reviews.particles-unavailable .reviews__symbol-fallback{visibility:visible}
  .reviews.has-particles .reviews__symbol-fallback{opacity:0}
}
.responsibility-mosaic,.responsibility-showcase,.candidates{position:relative;z-index:1}
.reviews__content{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(250px,31%) minmax(120px,32%) minmax(360px,37%);
  align-items:center;
  width:100%;
  height:100%;
  padding:clamp(70px,9vh,112px) var(--gutter) clamp(72px,9vh,112px);
  pointer-events:none;
}
.reviews__intro{align-self:center;max-width:440px}
.reviews__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  color:#b3b2c5;
  font-size:13px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.reviews__eyebrow-line{display:block;width:38px;height:1px;background:#8c82ff}
.reviews__intro h2{
  margin-top:40px;
  font-size:clamp(48px,4.5vw,88px);
  line-height:1.035;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.reviews__intro h2 span{color:var(--reviews-active-accent);transition:color .24s ease}
@media(min-width:1101px){
  /* The pinned title fades in without drifting during the first card change. */
  .reveal-ready #reviews-title[data-enter]{--enter-rise:0px}
}
.reviews__disclaimer{
  max-width:25ch;
  margin-top:clamp(30px,5vh,62px);
  padding-left:15px;
  border-left:2px solid #8c82ff;
  color:#a2afb8;
  font-size:clamp(13px,1.05vw,15px);
  line-height:1.45;
}
.reviews__stories{
  align-self:center;
  min-width:0;
  max-width:600px;
  height:min(555px,72svh);
  display:flex;
  flex-direction:column;
  pointer-events:auto;
}
.reviews__topline,.reviews__bottomline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#a2afb8;
  font-size:13px;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.reviews__topline{padding:0 0 19px;border-bottom:1px solid rgba(255,255,255,.3)}
.reviews__count{white-space:nowrap;font-variant-numeric:tabular-nums;color:#727986}
.reviews__current{color:#fff}
.reviews__deck{position:relative;flex:1;min-height:0;overflow:hidden}
.reviews__card{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(22px,3.2vh,36px) 0 clamp(25px,3.4vh,40px);
  transform:translate3d(0,105%,0);
  opacity:0;
  will-change:transform,opacity;
}
.reviews__card.is-active{opacity:1;transform:translate3d(0,0,0)}
.reviews__sample{
  align-self:flex-start;
  padding:8px 10px;
  border:1px solid rgba(158,149,255,.45);
  color:#bdb7ff;
  font-size:11px;
  font-weight:600;
  line-height:1;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.reviews__quote{
  margin:clamp(23px,3.8vh,39px) 0 clamp(27px,4.4vh,48px);
  max-width:19ch;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:clamp(25px,2.32vw,42px);
  font-weight:600;
  line-height:1.21;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.reviews__person{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.25);
}
.reviews__identity{display:flex;flex-direction:column;gap:5px;min-width:0}
.reviews__identity strong{font-size:15px;font-weight:600;line-height:1.25}
.reviews__identity span{color:#a2afb8;font-size:13px;line-height:1.35}
.reviews__identity i{font-style:normal;margin:0 3px;color:#777d8c}
.reviews__logo{
  display:grid;
  place-items:center;
  min-width:110px;
  min-height:42px;
  border:1px dashed rgba(162,175,184,.55);
  color:#a2afb8;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
}
.reviews__preview{
  display:flex;
  align-items:center;
  gap:12px;
  height:38px;
  overflow:hidden;
  color:#9e95ff;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  opacity:.48;
  white-space:nowrap;
  transition:opacity .2s;
}
.reviews__preview-label{flex:none;text-transform:uppercase}
.reviews__preview-text{overflow:hidden;text-overflow:ellipsis;color:#a2afb8;font-weight:400;letter-spacing:0}
.reviews__bottomline{padding-top:18px;border-top:1px solid rgba(255,255,255,.3)}
.reviews__hint{color:#777d8c}
.reviews__controls{display:flex;gap:8px}
.reviews__arrow{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  background:transparent;
  color:#fff;
  transition:background .25s,border-color .25s,color .25s,opacity .25s;
}
.reviews__arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.reviews__arrow:hover:not(:disabled){background:#9e95ff;border-color:#9e95ff;color:#050607}
.reviews__arrow:disabled{cursor:default;opacity:.32}
.reviews__progress{position:absolute;z-index:3;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.1)}
.reviews__progress span{display:block;width:100%;height:100%;background:#9e95ff;transform:scaleX(var(--reviews-progress,0));transform-origin:left center}

@media(max-width:1100px){
  .reviews__content{grid-template-columns:minmax(210px,30%) minmax(100px,25%) minmax(330px,45%)}
  .reviews__intro h2{font-size:clamp(44px,5vw,65px)}
  .reviews__quote{font-size:clamp(25px,2.8vw,35px)}
}
@media(max-width:760px){
  .reviews{height:300svh}
  .reviews__stage{min-height:0}
  .reviews__content{
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr;
    align-content:space-between;
    padding:clamp(45px,7svh,76px) var(--gutter) clamp(38px,6svh,68px);
  }
  .reviews__intro{align-self:start}
  .reviews__intro h2{margin-top:22px;font-size:clamp(42px,10vw,66px)}
  .reviews__disclaimer{margin-top:16px;max-width:none;font-size:12px}
  .reviews__center{display:none}
  .reviews__symbol-fallback{left:53%;top:42%;width:min(54vw,300px)}
  .reviews__stories{align-self:end;width:100%;max-width:none;height:min(470px,53svh);min-height:0}
  .reviews__quote{font-size:clamp(23px,6vw,34px);max-width:24ch;margin:20px 0 25px}
  .reviews__card{justify-content:center;padding:17px 0 24px}
  .reviews__sample{font-size:10px}
  .reviews__person{padding-top:12px}
  .reviews__logo{min-width:95px;min-height:36px;font-size:10px}
}
@media(max-width:480px){
  .reviews__intro h2{font-size:clamp(38px,10vw,48px)}
  .reviews__stories{height:min(405px,52svh)}
  .reviews__quote{font-size:clamp(21px,5.8vw,28px)}
  .reviews__hint{font-size:11px}
  .reviews__arrow{width:38px;height:38px}
}
@media(max-height:700px) and (min-width:761px){
  .reviews__content{padding-top:50px;padding-bottom:50px}
  .reviews__stories{height:78svh}
  .reviews__quote{font-size:clamp(23px,2vw,34px);margin:20px 0 24px}
  .reviews__disclaimer{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  .reviews__card{will-change:auto}
}

/* Sourced review stack */
.reviews{height:300svh}
.reviews__symbol-fallback{left:8%;top:51%;width:min(63svh,56vw);transform:translate(-50%,-50%) rotate(-2deg)}
.reviews__content{
  grid-template-columns:minmax(0,34%) minmax(0,28%) minmax(0,38%);
  gap:0;
  padding:clamp(52px,7vh,86px) var(--gutter);
}
.reviews__intro{grid-column:2;align-self:center;max-width:none;padding-right:clamp(12px,2vw,32px)}
.reviews__label{color:#fff;font-size:clamp(20px,1.5vw,24px);font-weight:600;line-height:1.35;letter-spacing:-.015em;text-transform:none}
.reviews__intro h2{margin-top:40px;font-size:clamp(47px,4.3vw,76px);line-height:1.04;letter-spacing:-.05em}
.reviews__deck{grid-column:3;position:relative;align-self:stretch;width:100%;height:100%;min-height:0;overflow:hidden;pointer-events:auto;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}
.reviews__card{
  --cut:46px;
  position:absolute;
  top:50%;left:0;right:0;bottom:auto;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100%;
  height:min(535px,75svh);
  padding:clamp(26px,2.6vw,42px);
  background:#050607;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%);
  border:0;
  border-radius:0;
  transform:translate3d(0,-50%,0);
  will-change:transform,opacity;
  transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .24s ease;
}
.reviews__card-top{display:flex;align-items:start;justify-content:space-between;gap:14px}
.reviews__logo{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-width:0;min-height:0;padding:0;border:0;color:#a2afb8;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-align:left;text-transform:uppercase}
.reviews__logo-mark{position:relative;display:block;flex:none;width:38px;height:38px;border:1px solid #5b6670;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%)}
.reviews__logo-mark::after{content:"";position:absolute;inset:9px;border:1px solid #75808a;transform:rotate(45deg)}
.reviews__rating{flex:none;padding-top:2px;color:#b9b3ff;font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}
.reviews__summary{display:block;margin-top:auto;margin-bottom:17px;color:#a2afb8;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.reviews__quote{max-width:none;margin:0 0 auto;font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.29;letter-spacing:-.035em;text-wrap:pretty}
.reviews__person{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.23)}
.reviews__identity{display:flex;flex-direction:column;gap:4px;min-width:0}
.reviews__identity strong{color:#fff;font-size:15px;font-weight:700}
.reviews__identity span,.reviews__identity time{color:#a2afb8;font-size:12px;line-height:1.3}
.reviews__source{flex:none;align-self:end;color:#c2bcff;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.reviews__source:hover{color:#fff}
.reviews__progress{height:2px}

@media(max-width:1100px){
  .reviews__content{grid-template-columns:minmax(0,30%) minmax(0,28%) minmax(0,42%)}
  .reviews__intro h2{font-size:clamp(43px,4.5vw,64px)}
  .reviews__card{height:min(500px,72svh);padding:28px}
  .reviews__quote{font-size:clamp(20px,2.1vw,25px)}
}
@media(max-width:760px){
  .reviews__content{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);padding:clamp(35px,5svh,55px) var(--gutter)}
  .reviews__symbol-fallback{display:none}
  .reviews__intro{grid-column:1;grid-row:1;align-self:start;padding:0}
  .reviews__intro h2{margin-top:22px;font-size:clamp(39px,9vw,62px)}
  .reviews__deck{grid-column:1;grid-row:2;height:100%;min-height:0}
  .reviews__card{--cut:32px;height:min(390px,57svh);padding:24px}
  .reviews__quote{font-size:clamp(18px,4.6vw,26px);line-height:1.24}
  .reviews__summary{margin-bottom:9px;font-size:10px}
  .reviews__person{margin-top:12px;padding-top:11px}
  .reviews__source{font-size:10px}
}
@media(max-width:400px){
  .reviews__card{padding:20px;height:min(360px,56svh)}
  .reviews__rating{font-size:10px}
  .reviews__logo{font-size:9px}
  .reviews__logo-mark{width:31px;height:31px}
  .reviews__quote{font-size:17px}
}
.reviews__card{transition:transform .45s ease,opacity .45s ease}
.reviews__logo{display:flex;align-items:center;justify-content:flex-start;width:220px;height:84px;min-height:0;border:0;padding:0}
.reviews__logo img{display:block;width:auto;max-width:220px;max-height:84px;object-fit:contain;border-radius:0;filter:grayscale(1) brightness(0) invert(1);opacity:.85}
.reviews__logo--tu-bau img{transform:scale(1.18);transform-origin:left center}
.reviews__quote{margin:auto 0;max-width:none}
.reviews__quote::before{content:'“'}
.reviews__quote::after{content:'”'}
.reviews__attribution{margin:0;color:#9eabb4;font-size:18px;font-weight:400;line-height:1.35}
.reviews__attribution strong{font-weight:600;color:#b9c3ca}
@media(max-width:760px){.reviews__logo{width:160px;height:58px}.reviews__logo img{max-width:160px;max-height:58px}.reviews__attribution{font-size:15px}}
