.locations { background: var(--b); }
.loc-g {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 7rem; align-items: start;
}
.loc-cards { display: flex; flex-direction: column; gap: .9rem; }
.loc-card {
  padding: 2.5rem;
  background: linear-gradient(135deg, var(--s2), var(--s1));
  border: 1px solid var(--br); border-radius: 14px;
  position: relative; overflow: hidden;
  transition: border-color .3s, transform .35s var(--r), background .3s;
}
.loc-card:hover {
  border-color: rgba(200,144,10,.32);
  transform: translateY(-3px);
  background: linear-gradient(135deg, var(--s2), rgba(200,144,10,.04));
}
.loc-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1.5px;
  background: linear-gradient(90deg, var(--g), transparent 55%);
  opacity: 0; transition: opacity .3s;
}
.loc-card:hover::before { opacity: 1; }
.loc-city  { font-family: var(--serif); font-size: 2rem; font-weight: 600; color: var(--t); letter-spacing: -.025em; margin-bottom: .18rem; }
.loc-ctry  { font-size: .58rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--g); margin-bottom: 1rem; }
.loc-desc  { font-size: .77rem; color: rgba(250,250,248,.65); line-height: 1.85; font-weight: 300; margin-bottom: .9rem; }
.loc-badge {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .55rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  padding: .24rem .7rem;
  border: 1px solid rgba(200,144,10,.4); color: var(--g2);
  border-radius: 100px; background: var(--g4);
}
