/* Home cities: animated search ranking stack */
@media (min-width:993px){
.s-cities-wrap{align-items:stretch}
.s-cities-wrap > div:first-child{display:flex;flex-direction:column;min-height:100%}
}
.s-rank-stack{
  margin-top:auto;
  padding-top:2rem;
  max-width:340px;
  pointer-events:none;
  user-select:none;
}
.s-rank-stack-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  margin-bottom:0.85rem;
}
.s-rank-stack-eyebrow{
  font-family:Outfit,sans-serif;
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted,#6b7f99);
}
.s-rank-stack-live{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.28rem 0.65rem;
  border-radius:999px;
  border:1px solid var(--gold-bdr,rgba(200,168,75,0.2));
  background:var(--gold-pale,rgba(200,168,75,0.09));
  color:var(--gold-l,#e2c97a);
  font-family:Outfit,sans-serif;
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.s-rank-stack-pulse{
  width:0.42rem;
  height:0.42rem;
  border-radius:50%;
  background:var(--gold,#c8a84b);
  box-shadow:0 0 0 0 rgba(200,168,75,0.45);
  animation:sRankStackPulse 2.2s ease-out infinite;
}
.s-rank-stack-viewport{
  position:relative;
  height:13.5rem;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);
}
.s-rank-stack-track{
  display:flex;
  flex-direction:column;
  will-change:transform;
  animation:sRankStackScroll 22s linear infinite;
}
.s-rank-stack-group{
  display:flex;
  flex-direction:column;
  gap:0.7rem;
  padding-bottom:0.7rem;
}
.s-rank-stack-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:0.82rem 1.05rem;
  border-radius:10px;
  border:1px solid rgba(200,168,75,0.2);
  background:linear-gradient(145deg,rgba(30,42,66,0.96),rgba(15,24,44,0.92));
  box-shadow:
    0 10px 28px rgba(8,14,28,0.35),
    0 0 0 1px rgba(255,255,255,0.03) inset;
}
.s-rank-stack-label{
  font-family:Outfit,sans-serif;
  font-size:0.84rem;
  font-weight:500;
  color:var(--white,#edf0f7);
  letter-spacing:0.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.s-rank-stack-meta{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  flex-shrink:0;
}
.s-rank-stack-pos{
  font-family:Cormorant,serif;
  font-size:1.15rem;
  font-weight:700;
  line-height:1;
  color:var(--gold-l,#e2c97a);
  letter-spacing:0.02em;
}
.s-rank-stack-arrow{
  font-family:Outfit,sans-serif;
  font-size:0.85rem;
  font-weight:600;
  color:var(--gold,#c8a84b);
  animation:sRankStackArrow 1.6s ease-in-out infinite;
}
@keyframes sRankStackScroll{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}
@keyframes sRankStackPulse{
  0%{box-shadow:0 0 0 0 rgba(200,168,75,0.45)}
  70%{box-shadow:0 0 0 8px rgba(200,168,75,0)}
  100%{box-shadow:0 0 0 0 rgba(200,168,75,0)}
}
@keyframes sRankStackArrow{
  0%,100%{transform:translateY(2px);opacity:.7}
  50%{transform:translateY(-1px);opacity:1}
}
@media (max-width:992px){
.s-rank-stack{margin-top:1.75rem;max-width:100%}
.s-rank-stack-viewport{height:12.25rem}
}
@media (prefers-reduced-motion:reduce){
.s-rank-stack-track,.s-rank-stack-pulse,.s-rank-stack-arrow{animation:none!important}
.s-rank-stack-viewport{
  height:auto;
  -webkit-mask-image:none;
  mask-image:none;
}
.s-rank-stack-group:last-child{display:none}
.s-rank-stack-group > .s-rank-stack-card:nth-child(n+4){display:none}
}
