:root {
  --v11-paper: #f7f3ec;
  --v11-white: #fff;
  --v11-warm: #f1e8d7;
  --v11-dark: #07343a;
  --v11-gold: #bf9e60;
  --v11-muted: #706b65;
}

.cities-page .cities-hero .inner-hero-image {
  object-position: 62% center;
}

.cities-page .cities-hero .inner-hero-content {
  text-align: left;
}

.cities-page .cities-hero h1 {
  max-width: 970px;
}

.cities-page .coverage-v11 {
  background:
    linear-gradient(180deg, #ebe3d6 0, var(--v11-paper) 115px, var(--v11-paper) 100%);
}

.cities-page .coverage-head-v11,
.cities-page .search-head-v11 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
  gap: 9%;
  align-items: end;
  margin-bottom: 52px;
}

.cities-page .coverage-head-v11 h2,
.cities-page .search-head-v11 h2,
.cities-page .case-copy-v11 h2,
.cities-page .seo-summary-v11 h2 {
  max-width: 860px;
  margin: 0;
  color: var(--v11-dark);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(42px, 4.2vw, 64px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.018em;
}

.cities-page .coverage-head-v11 > p,
.cities-page .search-head-v11 > p {
  margin: 0;
  color: var(--v11-muted);
  font-size: 16px;
  line-height: 1.72;
}

.cities-page .coverage-body-v11 {
  display: grid;
  grid-template-columns: minmax(520px, 1.08fr) minmax(430px, .92fr);
  gap: 5.5%;
  align-items: center;
}

.cities-page .region-matrix-v11 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(7, 52, 58, .11);
}

.cities-page .region-matrix-v11 article {
  min-height: 245px;
  padding: 30px 31px;
  background: var(--v11-white);
  transition: transform 580ms var(--ease-premium), box-shadow 580ms var(--ease-premium), background-color 580ms var(--ease-premium);
}

.cities-page .region-matrix-v11 article:nth-child(2),
.cities-page .region-matrix-v11 article:nth-child(3) {
  background: var(--v11-warm);
}

.cities-page .region-matrix-v11 article > p,
.cities-page .map-title-v11 span,
.cities-page .search-columns-v11 h3 {
  margin: 0 0 13px;
  color: var(--v11-gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cities-page .region-matrix-v11 h3 {
  margin: 0;
  color: var(--v11-dark);
  font-family: "Newsreader", Georgia, serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.08;
}

.cities-page .region-matrix-v11 article > div {
  margin-top: 18px;
  color: #33494c;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.75;
}

.cities-page .region-matrix-v11 article > span {
  display: block;
  margin-top: 17px;
  color: var(--v11-muted);
  font-size: 12px;
  line-height: 1.55;
}

.cities-page .coverage-more {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: center;
  padding: 22px 30px;
  color: #fff;
  background: var(--v11-dark);
}

.cities-page .coverage-more strong {
  color: var(--v11-gold);
  font-family: "Newsreader", Georgia, serif;
  font-size: 32px;
  font-weight: 500;
}

.cities-page .coverage-more span {
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.55;
}

.cities-page .map-panel-v11 {
  min-width: 0;
  padding: 28px 24px 16px;
  background: rgba(255, 255, 255, .35);
}

.cities-page .map-title-v11 {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
  padding: 0 8px 17px;
  border-bottom: 1px solid rgba(7, 52, 58, .1);
}

.cities-page .map-title-v11 span {
  margin: 0;
}

.cities-page .map-title-v11 strong {
  color: var(--v11-dark);
  font-size: 12px;
  font-weight: 650;
}

.cities-page .china-map-v11 {
  position: relative;
  aspect-ratio: 1000 / 850;
  width: 100%;
}

.cities-page .china-map-v11 > img {
  width: 100%;
  height: 100%;
  opacity: .22;
  object-fit: contain;
  filter: sepia(.25) saturate(.55);
}

.cities-page .map-city-v11 {
  position: absolute;
  z-index: 2;
}

.cities-page .map-city-v11 i {
  display: block;
  width: 11px;
  height: 11px;
  border: 3px solid rgba(255, 255, 255, .92);
  border-radius: 50%;
  background: #b62b34;
  box-shadow: 0 0 0 1px rgba(182, 43, 52, .18), 0 5px 12px rgba(7, 52, 58, .14);
  transition: transform 420ms var(--ease-premium), box-shadow 420ms var(--ease-premium);
}

.cities-page .map-city-v11 b {
  position: absolute;
  top: -4px;
  left: 17px;
  color: #27383a;
  font-size: clamp(9px, .87vw, 12px);
  font-weight: 750;
  white-space: nowrap;
}

/* Positions use city longitude and latitude mapped to the same geographic bounds as the China outline. */
.cities-page .map-beijing { left: 69.4%; top: 39.3%; }
.cities-page .map-qingdao { left: 75.7%; top: 49.7%; }
.cities-page .map-shanghai { left: 77.4%; top: 62.8%; }
.cities-page .map-hangzhou { left: 75.3%; top: 65.4%; }
.cities-page .map-xiamen { left: 72.1%; top: 81%; }
.cities-page .map-wuhan { left: 66.1%; top: 64.5%; }
.cities-page .map-chengdu { left: 49.9%; top: 64.5%; }
.cities-page .map-chongqing { left: 53.8%; top: 67.3%; }
.cities-page .map-guangzhou { left: 64.4%; top: 84.7%; }
.cities-page .map-shenzhen { left: 65.7%; top: 86.2%; }
.cities-page .map-hongkong { left: 65.9%; top: 86.8%; }

.cities-page .map-chengdu b,
.cities-page .map-guangzhou b { right: 17px; left: auto; }
.cities-page .map-shanghai b { top: -19px; }
.cities-page .map-hangzhou b { top: 10px; right: 17px; left: auto; }
.cities-page .map-wuhan b { top: -17px; }
.cities-page .map-chongqing b { top: 10px; }
.cities-page .map-guangzhou b { top: -22px; }
.cities-page .map-shenzhen b { top: -7px; }
.cities-page .map-hongkong b { top: 12px; }

.cities-page .search-services-v11 {
  color: #fff;
  background:
    linear-gradient(180deg, rgba(191, 158, 96, .075), transparent 110px),
    var(--v11-dark);
}

.cities-page .search-head-v11 h2,
.cities-page .search-head-v11 > p {
  color: #fff;
}

.cities-page .search-head-v11 > p {
  color: rgba(255, 255, 255, .72);
}

.cities-page .search-columns-v11 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, .12);
}

.cities-page .search-columns-v11 > div {
  padding: 34px 38px 28px;
  background: var(--v11-dark);
  transition: background-color 520ms var(--ease-premium);
}

.cities-page .search-columns-v11 h3 {
  margin-bottom: 19px;
}

.cities-page .search-columns-v11 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cities-page .search-columns-v11 li {
  display: grid;
  gap: 5px;
  padding: 16px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  transition: padding-left 420ms var(--ease-premium);
}

.cities-page .search-columns-v11 strong {
  color: #fff;
  font-family: "Newsreader", Georgia, serif;
  font-size: 21px;
  font-weight: 500;
}

.cities-page .search-columns-v11 span {
  color: rgba(255, 255, 255, .66);
  font-size: 12px;
  line-height: 1.45;
}

.cities-page .case-route-v11 {
  background:
    linear-gradient(180deg, #e9e0d2 0, var(--v11-paper) 115px, var(--v11-paper) 100%);
}

.cities-page .case-grid-v11 {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  gap: 7%;
  align-items: stretch;
}

.cities-page .case-image-v11 {
  min-height: 720px;
  overflow: hidden;
}

.cities-page .case-image-v11 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 950ms var(--ease-premium), filter 650ms var(--ease-premium);
}

.cities-page .case-copy-v11 {
  align-self: center;
}

.cities-page .case-copy-v11 > p:not(.eyebrow):not(.case-result-v11) {
  margin: 25px 0 0;
  color: var(--v11-muted);
  font-size: 16px;
  line-height: 1.75;
}

.cities-page .case-route-line-v11 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  padding: 18px 0;
  border-top: 1px solid rgba(7, 52, 58, .11);
  border-bottom: 1px solid rgba(7, 52, 58, .11);
}

.cities-page .case-route-line-v11 span {
  color: var(--v11-dark);
  font-size: 12px;
  font-weight: 750;
}

.cities-page .case-route-line-v11 i {
  flex: 1;
  height: 1px;
  background: var(--v11-gold);
}

.cities-page .case-copy-v11 dl {
  margin: 30px 0 0;
}

.cities-page .case-copy-v11 dl > div {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 24px;
  padding: 17px 0;
  border-top: 1px solid rgba(7, 52, 58, .11);
}

.cities-page .case-copy-v11 dt {
  color: var(--v11-dark);
  font-size: 13px;
  font-weight: 750;
}

.cities-page .case-copy-v11 dd {
  margin: 0;
  color: var(--v11-muted);
  font-size: 13px;
  line-height: 1.6;
}

.cities-page .case-result-v11 {
  margin: 26px 0 0;
  padding: 19px 22px;
  color: #fff;
  font-size: 13px;
  line-height: 1.65;
  background: var(--v11-dark);
}

.cities-page .case-result-v11 strong {
  display: block;
  margin-bottom: 5px;
  color: var(--v11-gold);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cities-page .seo-summary-v11 {
  padding-top: 84px;
  padding-bottom: 84px;
  background: #fff;
}

.cities-page .seo-summary-grid-v11 {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(400px, 1.1fr);
  gap: 10%;
  align-items: start;
}

.cities-page .seo-summary-v11 h2 {
  font-size: clamp(38px, 3.5vw, 52px);
}

.cities-page .seo-summary-grid-v11 > div:last-child p {
  margin: 0;
  color: var(--v11-muted);
  font-size: 15px;
  line-height: 1.72;
}

.cities-page .seo-summary-grid-v11 > div:last-child p + p {
  margin-top: 16px;
}

.cities-page .cities-cta-v11 {
  background: #eee7dc;
}

.cities-page .cities-cta-v11 .button {
  justify-self: center;
}

.cities-page .payment-grid-v10 .payment-brand img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

@media (hover: hover) and (pointer: fine) {
  .cities-page .region-matrix-v11 article:hover {
    position: relative;
    z-index: 2;
    transform: translateY(-6px);
    background: #fff;
    box-shadow: 0 20px 42px rgba(7, 52, 58, .14);
  }

  .cities-page .map-city-v11:hover i {
    transform: scale(1.28);
    box-shadow: 0 0 0 7px rgba(182, 43, 52, .1);
  }

  .cities-page .search-columns-v11 > div:hover {
    background: #0a3e44;
  }

  .cities-page .search-columns-v11 li:hover {
    padding-left: 10px;
  }

  .cities-page .case-grid-v11:hover .case-image-v11 img {
    filter: saturate(1.04) contrast(1.015);
    transform: scale(1.035);
  }
}

@media (max-width: 1100px) {
  .cities-page .coverage-body-v11 {
    grid-template-columns: minmax(480px, 1.08fr) minmax(360px, .92fr);
    gap: 3%;
  }

  .cities-page .region-matrix-v11 article {
    min-height: 235px;
    padding: 26px;
  }

  .cities-page .case-grid-v11 {
    gap: 5%;
  }
}

@media (max-width: 760px) {
  .cities-page .coverage-head-v11,
  .cities-page .search-head-v11,
  .cities-page .coverage-body-v11,
  .cities-page .region-matrix-v11,
  .cities-page .search-columns-v11,
  .cities-page .case-grid-v11,
  .cities-page .seo-summary-grid-v11 {
    grid-template-columns: 1fr;
  }

  .cities-page .coverage-head-v11,
  .cities-page .search-head-v11 {
    gap: 20px;
    margin-bottom: 38px;
  }

  .cities-page .coverage-body-v11 {
    gap: 42px;
  }

  .cities-page .region-matrix-v11 article {
    min-height: 0;
    padding: 27px 25px;
  }

  .cities-page .coverage-more {
    grid-column: auto;
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 22px 25px;
  }

  .cities-page .map-panel-v11 {
    padding: 22px 12px 10px;
  }

  .cities-page .map-title-v11 {
    padding-right: 6px;
    padding-left: 6px;
  }

  .cities-page .map-title-v11 strong {
    font-size: 10px;
  }

  .cities-page .china-map-v11 {
    width: 110%;
    margin-left: -5%;
  }

  .cities-page .map-city-v11 b {
    font-size: 8px;
  }

  .cities-page .search-columns-v11 > div {
    padding: 29px 25px 22px;
  }

  .cities-page .search-columns-v11 > div + div {
    border-top: 1px solid rgba(255, 255, 255, .13);
  }

  .cities-page .case-grid-v11 {
    gap: 38px;
  }

  .cities-page .case-image-v11 {
    min-height: 340px;
  }

  .cities-page .case-route-line-v11 {
    gap: 6px;
  }

  .cities-page .case-route-line-v11 span {
    font-size: 9px;
  }

  .cities-page .case-copy-v11 dl > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .cities-page .seo-summary-v11 {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .cities-page .seo-summary-grid-v11 {
    gap: 25px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cities-page .region-matrix-v11 article,
  .cities-page .map-city-v11 i,
  .cities-page .search-columns-v11 > div,
  .cities-page .search-columns-v11 li,
  .cities-page .case-image-v11 img {
    transition: none;
  }
}

/* V13 - fixed map labels, clearer SEO headings and consistent case-study typography. */
.cities-page .map-hangzhou b {
  top: -19px;
  right: 17px;
  left: auto;
}

.cities-page .map-wuhan b {
  top: 10px;
  right: auto;
  left: 17px;
}

.cities-page .search-columns-v11 h3 {
  margin-bottom: 21px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .12em;
}

.cities-page .journey-copy-v12 h3 {
  font-weight: 500;
}

.cities-page .case-kicker-v12,
.cities-page .journey-stages-v12 span,
.cities-page .journey-details-v12 dt,
.cities-page .journey-result-v12 strong {
  font-weight: 750;
}

.cities-page .journey-copy-v12 > p:not(.case-kicker-v12):not(.journey-result-v12),
.cities-page .journey-details-v12 dd,
.cities-page .journey-result-v12 {
  font-weight: 400;
}

.cities-page .journey-stages-v12 strong {
  font-weight: 600;
}

.cities-page .case-route-line-v12 {
  margin-top: 22px;
  padding: 12px 0;
  border-top: 0;
  border-bottom: 0;
}

.cities-page .case-route-line-v12 span {
  font-size: 14px;
  font-weight: 650;
}

.cities-page .case-route-line-v12 i {
  height: 1px;
  opacity: .8;
}

/* The final CTA grows naturally out of the preceding light section. */
.cities-page .seo-summary-v11 {
  padding-bottom: 100px;
  background: linear-gradient(180deg, #fff 0%, #fff 72%, #f4efe7 100%);
}

.cities-page .cities-cta-v11 {
  color: var(--v11-dark);
  background: linear-gradient(180deg, #f4efe7 0, #eadfcd 118px, #eee7dc 100%);
}

.cities-page .cities-cta-v11 h2 {
  color: var(--v11-dark);
}

.cities-page .cities-cta-v11 p:not(.eyebrow) {
  color: #5e5a55;
}

@media (max-width: 760px) {
  .cities-page .search-columns-v11 h3 {
    font-size: 12px;
  }

  .cities-page .case-route-line-v12 {
    gap: 6px;
  }

  .cities-page .case-route-line-v12 span {
    font-size: 11px;
  }
}

/* V12 - align the page with the approved Home and Services system. */
.cities-page .cities-hero .inner-hero-content {
  max-width: none;
}

.cities-page .cities-hero h1 {
  max-width: 760px;
  font-size: clamp(46px, 3.8vw, 58px);
  line-height: 1.06;
  letter-spacing: -.025em;
}

.cities-page .cities-hero .inner-hero-lead {
  max-width: 720px;
  font-size: 16px;
  line-height: 1.7;
}

.cities-page .coverage-head-v11 h2,
.cities-page .search-head-v11 h2,
.cities-page .journeys-head-v12 h2,
.cities-page .seo-summary-v11 h2 {
  max-width: 760px;
  font-size: clamp(38px, 3.2vw, 48px);
  line-height: 1.1;
  letter-spacing: -.018em;
}

.cities-page .coverage-head-v11,
.cities-page .search-head-v11,
.cities-page .journeys-head-v12 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 7%;
  align-items: end;
}

.cities-page .coverage-head-v11 > p,
.cities-page .search-head-v11 > p,
.cities-page .journeys-head-v12 > p {
  width: 100%;
  max-width: 520px;
  justify-self: start;
  color: var(--v11-muted);
  font-size: 16px;
  line-height: 1.7;
}

/* The 50+ city message remains prominent without introducing another dark block. */
.cities-page .coverage-more {
  color: var(--v11-dark);
  background: #eadfc9;
}

.cities-page .coverage-more strong {
  color: var(--v11-dark);
}

.cities-page .coverage-more span {
  color: #625d56;
}

/* Marker positions are fitted to the Albers projection used by the China outline. */
.cities-page .map-beijing { left: 74.3%; top: 39.8%; }
.cities-page .map-qingdao { left: 82.3%; top: 48.6%; }
.cities-page .map-shanghai { left: 86%; top: 60.7%; }
.cities-page .map-hangzhou { left: 83.9%; top: 63.6%; }
.cities-page .map-xiamen { left: 81.7%; top: 79.5%; }
.cities-page .map-wuhan { left: 72.7%; top: 64.5%; }
.cities-page .map-chengdu { left: 53.2%; top: 65.5%; }
.cities-page .map-chongqing { left: 58%; top: 68.1%; }
.cities-page .map-guangzhou { left: 72.2%; top: 84.4%; }
.cities-page .map-shenzhen { left: 73.9%; top: 85.8%; }
.cities-page .map-hongkong { left: 74.2%; top: 86.3%; }

.cities-page .map-qingdao b,
.cities-page .map-shanghai b,
.cities-page .map-hangzhou b,
.cities-page .map-xiamen b {
  right: 17px;
  left: auto;
}

.cities-page .map-qingdao b { top: -19px; }
.cities-page .map-shanghai b {
  top: -20px;
  right: 10px;
}
.cities-page .map-hangzhou b {
  top: 8px;
  right: auto;
  left: 13px;
}
.cities-page .map-xiamen b { top: 8px; }
.cities-page .map-wuhan b {
  top: -4px;
  right: 8px;
  left: auto;
}
.cities-page .map-chongqing b { top: 11px; }
.cities-page .map-guangzhou b { top: -24px; }
.cities-page .map-shenzhen b { top: -8px; }
.cities-page .map-hongkong b { top: 13px; }

/* High-demand keywords remain visible, but use light surfaces and dark type. */
.cities-page .search-services-v11 {
  color: var(--v11-dark);
  background:
    linear-gradient(180deg, #e8e0d3 0, #f3efe7 112px, #f3efe7 100%);
}

.cities-page .search-head-v11 h2 {
  color: var(--v11-dark);
}

.cities-page .search-head-v11 > p {
  color: var(--v11-muted);
}

.cities-page .search-columns-v11 {
  gap: 24px;
  background: transparent;
}

.cities-page .search-columns-v11 > div {
  padding: 34px 38px 28px;
  color: var(--v11-dark);
  background: #fff;
  box-shadow: 0 14px 38px rgba(7, 52, 58, .075);
  transition:
    transform 620ms var(--ease-premium),
    box-shadow 620ms var(--ease-premium),
    background-color 620ms var(--ease-premium);
}

.cities-page .search-columns-v11 > div:nth-child(2) {
  background: #f5eddf;
}

.cities-page .search-columns-v11 li {
  border-top-color: rgba(7, 52, 58, .11);
}

.cities-page .search-columns-v11 strong {
  color: var(--v11-dark);
}

.cities-page .search-columns-v11 span {
  color: var(--v11-muted);
}

/* Two representative journeys are presented with equal visual weight. */
.cities-page .journeys-v12 {
  background:
    linear-gradient(180deg, #eee7dc 0, var(--v11-paper) 118px, var(--v11-paper) 100%);
}

.cities-page .journeys-head-v12 {
  display: grid;
  margin-bottom: 52px;
}

.cities-page .journey-grid-v12 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

.cities-page .journey-card-v12 {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 40px rgba(7, 52, 58, .08);
  transition:
    transform 620ms var(--ease-premium),
    box-shadow 620ms var(--ease-premium);
}

.cities-page .journey-card-warm-v12 {
  background: #f5eddf;
}

.cities-page .journey-image-v12 {
  height: 255px;
  overflow: hidden;
}

.cities-page .journey-image-v12 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms var(--ease-premium), filter 700ms var(--ease-premium);
}

.cities-page .journey-copy-v12 {
  padding: 32px 34px 35px;
  transition: transform 720ms var(--ease-premium);
}

.cities-page .case-kicker-v12 {
  margin: 0 0 13px;
  color: var(--v11-gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cities-page .journey-copy-v12 h3 {
  margin: 0;
  color: var(--v11-dark);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(29px, 2.5vw, 38px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.018em;
}

.cities-page .journey-copy-v12 > p:not(.case-kicker-v12):not(.journey-result-v12) {
  margin: 21px 0 0;
  color: var(--v11-muted);
  font-size: 14px;
  line-height: 1.68;
}

.cities-page .journey-stages-v12 {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.cities-page .journey-stages-v12 li {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid rgba(7, 52, 58, .11);
}

.cities-page .journey-stages-v12 span,
.cities-page .journey-details-v12 dt {
  color: var(--v11-gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cities-page .journey-stages-v12 strong {
  color: #33494c;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.cities-page .case-route-line-v12 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  padding: 13px 0 7px;
}

.cities-page .case-route-line-v12 span {
  color: var(--v11-dark);
  font-size: 17px;
  font-weight: 700;
}

.cities-page .case-route-line-v12 i {
  flex: 1;
  height: 1px;
  background: var(--v11-gold);
}

.cities-page .journey-details-v12 {
  margin: 25px 0 0;
}

.cities-page .journey-details-v12 > div {
  display: grid;
  grid-template-columns: 126px 1fr;
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid rgba(7, 52, 58, .11);
}

.cities-page .journey-details-v12 dd {
  margin: 0;
  color: var(--v11-muted);
  font-size: 12px;
  line-height: 1.55;
}

.cities-page .journey-result-v12 {
  margin: 25px 0 0;
  padding: 17px 19px;
  color: #385053;
  background: rgba(191, 158, 96, .13);
  font-size: 12px;
  line-height: 1.58;
}

.cities-page .journey-result-v12 strong {
  display: block;
  margin-bottom: 4px;
  color: var(--v11-gold);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* External brand assets now occupy the same footprint as the inline Home/Services icons. */
.cities-page .payment-grid-v12 .payment-brand img {
  width: 38px;
  height: 32px;
  object-fit: contain;
}

.cities-page .payment-grid-v12 .payment-brand:nth-child(1) img,
.cities-page .payment-grid-v12 .payment-brand:nth-child(2) img {
  width: 50px;
}

.cities-page .payment-grid-v12 .payment-brand:nth-child(3) img {
  width: 40px;
  height: 36px;
}

.cities-page .payment-grid-v12 .payment-brand:nth-child(4) img,
.cities-page .payment-grid-v12 .payment-brand:nth-child(5) img,
.cities-page .payment-grid-v12 .payment-brand:nth-child(6) img,
.cities-page .payment-grid-v12 .payment-brand:nth-child(7) img {
  width: 36px;
  height: 36px;
}

@media (hover: hover) and (pointer: fine) {
  .cities-page .search-columns-v11 > div:hover {
    transform: translateY(-7px);
    background: #fff;
    box-shadow: 0 24px 56px rgba(7, 52, 58, .14);
  }

  .cities-page .journey-card-v12:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 58px rgba(7, 52, 58, .15);
  }

  .cities-page .journey-card-v12:hover .journey-image-v12 img {
    filter: saturate(1.04) contrast(1.015);
    transform: scale(1.04);
  }

  .cities-page .journey-card-v12:hover .journey-copy-v12 {
    transform: translateY(-3px);
  }
}

@media (max-width: 760px) {
  .cities-page .coverage-head-v11,
  .cities-page .search-head-v11,
  .cities-page .journeys-head-v12,
  .cities-page .journey-grid-v12 {
    grid-template-columns: 1fr;
  }

  .cities-page .coverage-head-v11,
  .cities-page .search-head-v11,
  .cities-page .journeys-head-v12 {
    gap: 20px;
    margin-bottom: 38px;
  }

  .cities-page .search-columns-v11 > div {
    padding: 29px 25px 22px;
  }

  .cities-page .search-columns-v11 > div + div {
    border-top: 0;
  }

  .cities-page .journey-image-v12 {
    height: 220px;
  }

  .cities-page .journey-copy-v12 {
    padding: 27px 25px 30px;
  }

  .cities-page .journey-details-v12 > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cities-page .search-columns-v11 > div,
  .cities-page .journey-card-v12,
  .cities-page .journey-image-v12 img,
  .cities-page .journey-copy-v12 {
    transition: none;
  }
}

/* V14 case-study typography: bold labels, regular descriptive copy. */
.cities-page .journey-copy-v12 > p:not(.case-kicker-v12):not(.journey-result-v12) {
  font-size: 15px;
  font-weight: 400;
}

.cities-page .journey-stages-v12 span,
.cities-page .journey-details-v12 dt,
.cities-page .journey-result-v12 strong {
  font-weight: 800;
}

.cities-page .journey-stages-v12 strong,
.cities-page .journey-details-v12 dd,
.cities-page .journey-result-v12 {
  font-weight: 400;
}

.cities-page .journey-stages-v12 strong,
.cities-page .journey-details-v12 dd {
  font-size: 13px;
  line-height: 1.58;
}

.cities-page .case-route-line-v12 {
  border: 0;
}

@media (max-width: 760px) {
  .cities-page .case-route-line-v12 {
    gap: 7px;
    padding: 10px 0 5px;
  }

  .cities-page .case-route-line-v12 span {
    font-size: 14px;
  }
}
