/* Review Final — one unified carousel, scroll-rise entrance and animated rating numbers. */
.reviews{
  --rv-bg:#080907;
  --rv-card:#111210;
  --rv-paper:#f3f0e8;
  --rv-muted:#929790;
  --rv-line:rgba(255,255,255,.12);
  --rv-gold:#d9af38;
  --rv-gold2:#f2d36f;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 84% 8%,rgba(217,175,56,.07),transparent 25%),
    linear-gradient(180deg,#050605 0%,#080907 20%,#090a08 100%);
  border-top:1px solid rgba(255,255,255,.07);
  color:var(--rv-paper);
  font-family:Arial,Helvetica,sans-serif;
}
.reviews *{box-sizing:border-box}
.reviews::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.04;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.reviews .reviews-handoff{
  position:absolute;
  z-index:4;
  left:5vw;
  right:5vw;
  top:34px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  color:#7d827c;
  text-transform:uppercase;
  font-size:8px;
  letter-spacing:.2em;
  opacity:var(--rv-handoff-opacity,.08);
  transform:translate3d(0,var(--rv-handoff-y,24px),0);
  will-change:opacity,transform;
}
.reviews .reviews-handoff i{height:1px;background:rgba(255,255,255,.13);overflow:hidden}
.reviews .reviews-handoff i b{display:block;width:100%;height:1px;background:var(--rv-gold);transform:scaleX(var(--rv-line-scale,0));transform-origin:left center}
.reviews .reviews-handoff span:last-child{color:var(--rv-gold)}

.reviews .reviews-shell{
  position:relative;
  z-index:2;
  width:min(1540px,90vw);
  margin:0 auto;
  padding:clamp(116px,12vh,150px) 0 clamp(84px,9vh,118px);
  opacity:var(--rv-shell-opacity,.05);
  transform:translate3d(0,var(--rv-shell-y,98px),0) scale(var(--rv-shell-scale,.986));
  transform-origin:50% 0;
  will-change:opacity,transform;
}
.reviews .reviews-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(42px,7vw,120px);
  align-items:end;
  margin-bottom:46px;
}
.reviews .reviews-copy{max-width:780px}
.reviews .reviews-eyebrow{margin:0 0 24px;color:var(--rv-gold);text-transform:uppercase;font-size:9px;letter-spacing:.21em}
.reviews .reviews-copy h2{margin:0;font:400 clamp(58px,5.6vw,94px)/.91 Georgia,'Times New Roman',serif;letter-spacing:-.055em;color:var(--rv-paper)}
.reviews .reviews-copy h2 em{display:block;color:var(--rv-gold);font-weight:400}
.reviews .reviews-rating{min-width:420px;padding:0 0 4px 34px;border-left:1px solid rgba(255,255,255,.13)}
.reviews .rating-pair{display:flex;align-items:flex-end;justify-content:flex-end;gap:24px}
.reviews .rating-stat{min-width:0}
.reviews .rating-value{display:flex;align-items:flex-end;gap:12px;white-space:nowrap}
.reviews .rating-value strong{color:var(--rv-gold);font:400 clamp(54px,4.5vw,78px)/.82 Georgia,'Times New Roman',serif;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.reviews .rating-stat-score .rating-value strong{min-width:98px}
.reviews .rating-count-value strong{min-width:118px;color:var(--rv-paper)}
.reviews .rating-count-value sup{position:relative;top:-6px;color:var(--rv-gold);font:400 24px/1 Georgia,'Times New Roman',serif}
.reviews .rating-stars{padding-bottom:6px;color:var(--rv-gold2);font-size:15px;letter-spacing:2.5px;white-space:nowrap;transform-origin:left center}
.reviews .rating-label{display:block;margin-top:12px;color:#858a84;text-transform:uppercase;font-size:8px;letter-spacing:.18em}
.reviews .rating-divider{align-self:stretch;width:1px;min-height:74px;background:rgba(255,255,255,.12)}
.reviews .reviews-rating.numbers-running .rating-value strong{animation:rv-number-rise 1.25s cubic-bezier(.22,.61,.36,1) both}
.reviews .reviews-rating.numbers-running .rating-stars{animation:rv-stars-in 1.25s cubic-bezier(.22,.61,.36,1) both}
@keyframes rv-number-rise{0%{opacity:.15;transform:translate3d(0,18px,0)}45%{opacity:1}100%{opacity:1;transform:none}}
@keyframes rv-stars-in{0%{opacity:.12;transform:translate3d(0,9px,0) scale(.94)}55%{opacity:.72}100%{opacity:1;transform:none}}

.reviews .review-carousel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}
.reviews .review-carousel-head>div:first-child{display:flex;align-items:baseline;gap:18px}
.reviews .carousel-kicker{color:#7d827c;text-transform:uppercase;font-size:8px;letter-spacing:.18em}
.reviews .review-carousel-head strong{color:#c9ccc6;font-size:9px;font-weight:400;letter-spacing:.16em;font-variant-numeric:tabular-nums}
.reviews .review-arrows{display:flex;gap:10px}
.reviews .review-arrow{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.02);
  color:#d9ddd6;
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease,opacity .25s ease;
}
.reviews .review-arrow span{font-size:18px;line-height:1;transition:transform .25s ease}
.reviews .review-arrow:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(217,175,56,.55);background:rgba(217,175,56,.06);color:var(--rv-gold2)}
.reviews .review-prev:hover:not(:disabled) span{transform:translateX(-3px)}
.reviews .review-next:hover:not(:disabled) span{transform:translateX(3px)}
.reviews .review-arrow:disabled{opacity:.28;cursor:default}

.reviews .review-viewport{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
}
.reviews .review-viewport::-webkit-scrollbar{display:none}
.reviews .review-track{display:flex;gap:20px;align-items:stretch}
.reviews .review-card{
  --mx:50%;
  --my:22%;
  --rx:0deg;
  --ry:0deg;
  --lift:0px;
  position:relative;
  flex:0 0 calc((100% - 40px)/3);
  min-width:0;
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:34px 34px 30px;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.075);
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(217,175,56,.095),transparent 31%),
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 45%),
    var(--rv-card);
  opacity:0;
  transform:translate3d(0,72px,0) scale(.975);
  filter:blur(5px);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1),
    transform .82s cubic-bezier(.22,.61,.36,1),
    filter .82s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .28s ease;
  transition-delay:var(--rv-delay,0ms);
  will-change:transform,opacity,filter;
}
.reviews .review-card::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--rv-gold),var(--rv-gold2));transition:width .5s cubic-bezier(.22,.61,.36,1)}
.reviews .review-card::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 22%,rgba(255,255,255,.055) 50%,transparent 78%);transform:translateX(-130%);transition:transform .7s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.reviews .review-card.is-visible{opacity:1;filter:none;transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translate3d(0,var(--lift),0) scale(1)}
.reviews .review-card.is-visible::before{width:62px}
.reviews .review-card:hover{--lift:-7px;border-color:rgba(217,175,56,.28);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.reviews .review-card:hover::before{width:100%}
.reviews .review-card:hover::after{transform:translateX(130%)}
.reviews .review-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.reviews .review-mark{color:var(--rv-gold);font:400 34px/1 Georgia,'Times New Roman',serif;transform:translateY(4px)}
.reviews .review-stars{color:#efb54c;font-size:14px;letter-spacing:2px;white-space:nowrap}
.reviews blockquote{position:relative;z-index:1;margin:38px 0 34px;flex:1;color:#f1f1ee;font-size:clamp(16px,1.16vw,20px);line-height:1.78;font-style:italic;letter-spacing:-.012em}
.reviews .review-author{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-top:22px;border-top:1px solid rgba(217,175,56,.24)}
.reviews .author-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(217,175,56,.4);background:rgba(217,175,56,.045);color:var(--rv-gold);font:400 13px/1 Georgia,'Times New Roman',serif;letter-spacing:.04em}
.reviews .author-copy{min-width:0}
.reviews .author-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f3f2ef;font-size:12px;font-weight:500}
.reviews .author-copy span{display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#898e88;font-size:10px}
.reviews .google-orb{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(88,130,180,.45);color:#9ba8b4;font:400 16px/1 Georgia,'Times New Roman',serif}

.reviews .reviews-footer{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.reviews .reviews-footer p{max-width:650px;margin:0;color:#777d76;font-size:10px;line-height:1.65}
.reviews .reviews-footer code{color:#aeb2ac;background:none;font-family:inherit}
.reviews .reviews-google{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:60px;padding:0 26px;border:1px solid rgba(217,175,56,.72);background:var(--rv-gold);color:#0a0b09;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.18em;white-space:nowrap;transition:transform .28s ease,background .28s ease,box-shadow .28s ease}
.reviews .reviews-google span{font-size:13px;transition:transform .28s ease}
.reviews .reviews-google:hover{transform:translateY(-3px);background:#e4bf4c;box-shadow:0 18px 44px rgba(217,175,56,.13)}
.reviews .reviews-google:hover span{transform:translate(3px,-3px)}

@media(max-width:1180px){
  .reviews .review-card{flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:720px){
  .reviews .reviews-handoff{top:22px;left:18px;right:18px}
  .reviews .reviews-shell{width:min(92vw,680px);padding-top:92px;padding-bottom:72px}
  .reviews .reviews-header{display:block;margin-bottom:34px}
  .reviews .reviews-copy h2{font-size:14.6vw}
  .reviews .reviews-rating{min-width:0;margin-top:34px;padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .reviews .rating-pair{justify-content:flex-start;gap:14px}
  .reviews .rating-value{gap:8px}
  .reviews .rating-value strong{font-size:44px}
  .reviews .rating-stat-score .rating-value strong{min-width:72px}
  .reviews .rating-count-value strong{min-width:78px}
  .reviews .rating-stars{font-size:11px;letter-spacing:1.5px;padding-bottom:5px}
  .reviews .rating-divider{min-height:58px}
  .reviews .rating-label{font-size:7px;letter-spacing:.14em;margin-top:9px}
  .reviews .review-carousel-head{align-items:center}
  .reviews .review-carousel-head>div:first-child{display:block}
  .reviews .review-carousel-head strong{display:block;margin-top:8px}
  .reviews .review-arrow{width:46px;height:46px}
  .reviews .review-track{gap:14px}
  .reviews .review-card{flex-basis:100%;min-height:0;padding:30px 25px 27px;filter:none}
  .reviews blockquote{font-size:16px;line-height:1.7}
  .reviews .reviews-footer{display:block}
  .reviews .reviews-footer p{display:none}
  .reviews .reviews-google{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .reviews .reviews-shell,.reviews .reviews-handoff,.reviews .review-card{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .reviews .review-card::before{width:62px}
  .reviews .review-viewport{scroll-behavior:auto}
}
