.city {background: #e9dfd1;}
.city-figure,.local-photo {margin: 0;}
.city-visual {
  position: relative;
  isolation: isolate;
  min-height: clamp(360px,49vw,590px);
  display: flex;
  align-items: end;
  overflow: hidden;
  color: #f9eee1;
  background: #211710;
}
.city-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 54%;
  z-index: -2;
}
.city-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg,#160e09ed,transparent 78%),linear-gradient(90deg,#1a100bad,transparent 85%);
}
.city-copy {padding: clamp(22px,5vw,65px); max-width: 640px;}
.city-copy .eyebrow {color: #f0c394;}
.city-copy h2 {margin: 10px 0 14px; max-width: 14ch;}
.city-copy p:not(.eyebrow) {max-width: 45ch;}
.city-copy .link {color: inherit; border-color: #d8b595; margin-top: 10px;}
.city-figure figcaption,.local-photo figcaption {
  font-size: var(--type-caption);
  color: #594437;
  padding-top: 8px;
}
.city-figure figcaption a,.local-photo figcaption a {text-decoration: underline; text-underline-offset: 2px;}
.team-profile-link {margin-right: 20px;}
.local-page-heading {background: #201611; color: #f9eee1;}
.local-page-heading .eyebrow {color: #f0c394;}
.local-page-heading h1 {
  font-size: var(--type-section);
  line-height: 1.05;
  letter-spacing: -.055em;
  font-weight: 650;
  margin: 14px 0;
  max-width: 16ch;
}
.local-page-heading > p:last-child {max-width: 56ch;}
.local-photo img {width: 100%; height: clamp(280px,45vw,570px); object-fit: cover; object-position: 50% 54%; display: block;}
.local-photo figcaption {padding-inline: var(--gutter);}
@media (prefers-reduced-motion: no-preference) {
  .js:not(.motion-off) .city-figure.is-visible .city-visual img {animation: city-reveal 1s cubic-bezier(.2,.7,.2,1) both;}
}
@keyframes city-reveal {
  from {transform: scale(1.07); clip-path: inset(0 0 0 19%);}
  to {transform: scale(1); clip-path: inset(0);}
}
@media (max-width:600px) {
  .city-visual > img {object-position: 63% 52%;}
  .city-visual::after {background: linear-gradient(0deg,#160e09f7 8%,#160e096b 64%,transparent 90%);}
}

.local-page-heading[style*="--editorial-cover"] {
  background: linear-gradient(90deg,#201611fa,#20161199),var(--editorial-cover) center 58% / cover;
}
