/* SOJ HOME REVIEW RAIL — live 2026-10-11 */
.home-review-rail{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(125,23,48,.18),transparent 24%),
    linear-gradient(180deg,#061712,#081f17);
  color:#fff;
  border-top:1px solid rgba(232,200,94,.26);
  border-bottom:1px solid rgba(232,200,94,.22);
}
.home-review-rail-inner{
  width:min(1540px,calc(100% - 96px));
  margin:0 auto;
  padding:34px 0 36px;
}
.home-review-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:20px;
}
.home-review-title-wrap{
  display:flex;
  align-items:flex-end;
  gap:22px;
}
.home-review-title-wrap>span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#e8c95f;
  font:900 8px/1 var(--text);
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-review-title-wrap>span:before{
  content:"";
  width:24px;
  height:1px;
  background:#e8c95f;
}
.home-review-title-wrap h2{
  margin:0;
  color:#fff7e7;
  font:400 clamp(34px,3.15vw,54px)/.92 var(--editorial);
  letter-spacing:-.04em;
  white-space:nowrap;
}
.home-review-controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.home-review-controls button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(232,200,94,.28);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#f6ead3;
  cursor:pointer;
  font-size:17px;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.home-review-controls button:hover{
  transform:translateY(-1px);
  border-color:#e8c95f;
  background:rgba(232,200,94,.08);
}
.home-review-viewport{
  overflow:hidden;
}
.home-review-track{
  display:flex;
  width:100%;
  transform:translateX(0);
  transition:transform .65s cubic-bezier(.2,.72,.2,1);
  will-change:transform;
}
.home-review-set{
  flex:0 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.home-review-card{
  position:relative;
  min-height:178px;
  padding:23px 24px 20px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(232,200,94,.16);
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 95% 0%,rgba(232,200,94,.06),transparent 30%),
    linear-gradient(145deg,rgba(14,48,36,.94),rgba(5,27,20,.96));
  box-shadow:0 15px 40px rgba(0,0,0,.14);
}
.home-review-card:nth-child(2){
  background:
    radial-gradient(circle at 95% 0%,rgba(232,200,94,.06),transparent 30%),
    linear-gradient(145deg,rgba(104,16,37,.88),rgba(53,7,18,.94));
}
.home-review-card:before{
  content:"“";
  position:absolute;
  right:20px;
  top:-15px;
  color:rgba(232,200,94,.11);
  font:400 105px/1 var(--editorial);
}
.home-review-card-label{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:8px;
  color:#e9cf78;
  font:900 7px/1 var(--text);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home-review-card-label i{
  width:6px;
  height:6px;
  display:block;
  border-radius:50%;
  background:#e9cf78;
  box-shadow:0 0 0 4px rgba(233,207,120,.08);
}
.home-review-card blockquote{
  position:relative;
  z-index:1;
  margin:18px 0 20px;
  color:#fff8ed;
  font:400 clamp(20px,1.7vw,29px)/1.14 var(--editorial);
  letter-spacing:-.025em;
}
.home-review-card-foot{
  position:relative;
  z-index:1;
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.10);
}
.home-review-card-foot strong{
  display:block;
  color:#fff;
  font:800 9px/1.2 var(--text);
}
.home-review-card-foot span{
  color:#bfb3a2;
  font:700 7px/1.2 var(--text);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:right;
}
.home-review-progress{
  height:2px;
  margin-top:18px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.home-review-progress>i{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  background:linear-gradient(90deg,#e5c35d,#7d1730);
  animation:homeReviewProgress 12s linear forwards;
}
.home-review-rail.is-paused .home-review-progress>i{animation-play-state:paused}
@keyframes homeReviewProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:1000px){
  .home-review-rail-inner{width:calc(100% - 56px)}
  .home-review-title-wrap{display:block}
  .home-review-title-wrap h2{margin-top:0}
  .home-review-card{padding:20px;min-height:190px}
}
@media(max-width:700px){
  .home-review-rail-inner{width:calc(100% - 36px);padding:28px 0 30px}
  .home-review-head{align-items:center;margin-bottom:16px}
  .home-review-title-wrap h2{font-size:34px;white-space:nowrap}
  .home-review-set{grid-template-columns:1fr;gap:9px}
  .home-review-card{min-height:138px;padding:18px 18px 16px}
  .home-review-card blockquote{font-size:24px;margin:12px 0 15px}
  .home-review-card:nth-child(2),.home-review-card:nth-child(3){min-height:132px}
  .home-review-card-foot{padding-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .home-review-track{transition:none}
  .home-review-progress>i{animation:none;transform:scaleX(1)}
}
