.city-opening { width: 94%; margin: 0 auto; }
.city-opening img { aspect-ratio: 1.65; object-fit: cover; object-position: 50% 55%; }
.city-heading { width: 82%; margin: 27px auto 62px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.city-heading h1 { font-family: 'Yili Headings', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-size: 30px; font-weight: 500; line-height: 1.5; letter-spacing: .035em; }
.city-heading [lang="en"] { font: 16px/1.7 'Helvetica Neue', Arial, sans-serif; margin-top: 6px; }
.city-concept { font-size: 14px; line-height: 1.9; color: var(--muted); }
.city-materials { width: min(82vw, 1360px); margin: 0 auto 80px; display: grid; grid-template-columns: .8fr 1.3fr; gap: 10%; align-items: start; }
.city-chair { margin-top: 86px; }
.city-dining { width: min(86vw, 1380px); margin-inline: auto; }
.city-cabinet { width: min(80vw, 1260px); margin: 80px auto; display: grid; grid-template-columns: 47% 38%; gap: 15%; align-items: center; }
.city-copy { font-size: 17px; line-height: 2; max-width: 26em; }
.city-copy p + p { margin-top: 22px; }
.city-ending { width: min(74vw, 1200px); margin: 0 6vw 0 auto; }
.city-return { text-align: center; padding: 32px 0 66px; }
.city-return .text-link { margin: 0; font-size: 16px; }
@media (max-width: 700px) {
  .city-opening { width: 100%; }
  .city-opening img { aspect-ratio: 1.22; object-position: 40% 55%; }
  .city-heading { width: 90%; display: block; margin: 24px auto 35px; }
  .city-heading h1 { font-size: 27px; }
  .city-heading [lang="en"] { font-size: 15px; }
  .city-concept { font-size: 13px; margin-top: 17px; }
  .city-materials { display: block; width: 94%; margin-bottom: 39px; }
  .city-chair { width: 69%; margin: 0; }
  .city-table { width: 97%; margin: 25px 0 0 auto; }
  .city-dining { width: 100%; }
  .city-dining img { aspect-ratio: 1.2; object-fit: cover; object-position: 57% 50%; }
  .city-cabinet { width: 90%; display: block; margin: 35px auto; }
  .city-cabinet figure { width: 84%; margin-left: auto; }
  .city-copy { max-width: none; margin: 27px 0 0; font-size: 16px; line-height: 1.95; }
  .city-copy p + p { margin-top: 16px; }
  .city-ending { width: 94%; margin-inline: auto; }
  .city-return { padding: 27px 0 43px; }
}
