/* SOJ LOCATION-ONLY REVIEW SHOWCASE — live 2026-10-11 */
.lp-local-reviews{
  position:relative;
  overflow:hidden;
  padding:clamp(105px,10vw,170px) 0;
  background:
    radial-gradient(circle at 88% 18%,rgba(125,23,48,.22),transparent 26%),
    linear-gradient(180deg,#061712 0%,#081d16 100%);
  border-top:1px solid rgba(240,217,139,.12);
  border-bottom:1px solid rgba(240,217,139,.12);
}
.lp-local-reviews:before{
  content:attr(data-location-watermark);
  position:absolute;
  right:-.02em;
  top:.02em;
  color:rgba(255,255,255,.018);
  font:400 clamp(180px,25vw,430px)/.75 var(--display);
  letter-spacing:-.07em;
  text-transform:uppercase;
  pointer-events:none;
  user-select:none;
}
.lp-local-reviews-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:45px;
  margin-bottom:46px;
}
.lp-local-reviews-head-copy{max-width:900px}
.lp-local-reviews-head h2{
  margin:0;
  color:#fff;
  font:400 clamp(68px,7vw,120px)/.86 var(--display);
  letter-spacing:-.05em;
}
.lp-local-reviews-head h2 span{display:block;color:#efd77c}
.lp-local-reviews-head p.lp-body{
  max-width:560px;
  margin:20px 0 0;
}
.lp-local-review-controls{
  display:flex;
  gap:8px;
  padding-bottom:8px;
}
.lp-local-review-controls button{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid rgba(240,217,139,.28);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#f8edda;
  font-size:20px;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.lp-local-review-controls button:hover{
  transform:translateY(-2px);
  border-color:#e5c65e;
  background:rgba(229,198,94,.08);
}
.lp-local-review-viewport{
  position:relative;
  overflow:hidden;
  border-radius:30px;
}
.lp-local-review-track{
  display:flex;
  width:100%;
  transform:translateX(0);
  transition:transform .72s cubic-bezier(.2,.72,.2,1);
  will-change:transform;
}
.lp-local-review-set{
  flex:0 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:1.35fr .825fr .825fr;
  gap:14px;
}
.lp-local-review-card{
  position:relative;
  min-height:430px;
  padding:34px 34px 31px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(240,217,139,.16);
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 0%,rgba(240,217,139,.08),transparent 27%),
    linear-gradient(145deg,#0e3225,#071d16);
  box-shadow:0 28px 64px rgba(0,0,0,.22);
}
.lp-local-review-card:nth-child(2){
  background:
    radial-gradient(circle at 90% 0%,rgba(240,217,139,.07),transparent 27%),
    linear-gradient(145deg,#74152e,#430916);
}
.lp-local-review-card:nth-child(3){
  background:
    radial-gradient(circle at 90% 0%,rgba(240,217,139,.07),transparent 27%),
    linear-gradient(145deg,#12382b,#081f18);
}
.lp-local-review-card:first-child{
  min-height:500px;
}
.lp-local-review-card:before{
  content:"“";
  position:absolute;
  right:22px;
  top:-18px;
  color:rgba(240,217,139,.09);
  font:400 150px/1 var(--display);
}
.lp-local-review-card-label{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  color:#efd77c;
  font:900 8px/1 var(--text);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lp-local-review-card-label span:last-child{
  color:rgba(255,255,255,.46);
  letter-spacing:.08em;
}
.lp-local-review-card blockquote{
  position:relative;
  z-index:1;
  margin:auto 0;
  padding:34px 0;
  color:#fff9ef;
  font:400 clamp(31px,3vw,52px)/1.07 var(--display);
  letter-spacing:-.03em;
}
.lp-local-review-card:not(:first-child) blockquote{
  font-size:clamp(26px,2.25vw,38px);
}
.lp-local-review-card-foot{
  position:relative;
  z-index:1;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.lp-local-review-card-foot strong{
  display:block;
  color:#fff;
  font:800 10px/1.3 var(--text);
}
.lp-local-review-card-foot span{
  display:block;
  margin-top:6px;
  color:#c8bca9;
  font:700 8px/1.3 var(--text);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lp-local-review-status{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:22px;
}
.lp-local-review-status>span{
  color:#b9ad9c;
  font:800 8px/1 var(--text);
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
.lp-local-review-progress{
  flex:1;
  height:2px;
  overflow:hidden;
  background:rgba(255,255,255,.07);
}
.lp-local-review-progress i{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  background:linear-gradient(90deg,#efd77c,#7b1730);
  animation:lpLocalReviewProgress 14s linear forwards;
}
.lp-local-reviews.is-paused .lp-local-review-progress i{animation-play-state:paused}
@keyframes lpLocalReviewProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:1000px){
  .lp-local-reviews-head{align-items:flex-start}
  .lp-local-review-set{grid-template-columns:1fr 1fr}
  .lp-local-review-card:first-child{grid-column:1/-1;min-height:390px}
  .lp-local-review-card{min-height:330px}
}
@media(max-width:680px){
  .lp-local-reviews{padding:80px 0}
  .lp-local-reviews-head{display:block;margin-bottom:28px}
  .lp-local-reviews-head h2{font-size:58px}
  .lp-local-reviews-head p.lp-body{margin-top:16px}
  .lp-local-review-controls{margin-top:22px}
  .lp-local-review-controls button{width:43px;height:43px}
  .lp-local-review-viewport{border-radius:20px}
  .lp-local-review-set{grid-template-columns:1fr;gap:9px}
  .lp-local-review-card,
  .lp-local-review-card:first-child{
    min-height:230px;
    padding:24px 22px 22px;
    border-radius:19px;
  }
  .lp-local-review-card blockquote,
  .lp-local-review-card:not(:first-child) blockquote{
    padding:24px 0;
    font-size:31px;
  }
  .lp-local-review-card-label{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .lp-local-review-track{transition:none}
  .lp-local-review-progress i{animation:none;transform:scaleX(1)}
}
