.municipal-showcase {
  margin-bottom: clamp(70px, 9vw, 130px);
}

.municipal-heading {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: clamp(30px, 7vw, 90px);
  align-items: end;
  margin-bottom: 35px;
}

.municipal-heading > div > p,
.directory-section-heading > p {
  margin: 0 0 14px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.municipal-heading h2,
.directory-section-heading h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(38px, 5vw, 72px);
  line-height: .94;
  letter-spacing: -.055em;
}

.municipal-heading > p {
  max-width: 620px;
  margin: 0;
  color: #606778;
  font-size: 18px;
  line-height: 1.6;
}

.municipal-card {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 600px;
  overflow: hidden;
  color: white;
  background: #0c2b20;
  box-shadow: 0 25px 70px rgba(17, 29, 61, .18);
  text-decoration: none;
}

.municipal-visual {
  position: relative;
  display: block;
  min-height: 520px;
  overflow: hidden;
}

.municipal-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.municipal-card:hover .municipal-visual > img {
  transform: scale(1.035);
}

.municipal-visual > i {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 94px;
  height: 112px;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 15px 35px rgba(0, 0, 0, .2);
}

.municipal-visual > i img {
  max-width: 100%;
  max-height: 100%;
}

.municipal-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(35px, 5vw, 75px);
}

.municipal-copy > b {
  color: #f3c65f;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.municipal-copy > span {
  margin-top: 45px;
  font-family: Georgia, serif;
  font-size: clamp(50px, 6vw, 86px);
  line-height: .8;
  letter-spacing: -.06em;
}

.municipal-copy h2 {
  margin: 18px 0 25px;
  color: #f3c65f;
  font-family: Georgia, serif;
  font-size: clamp(38px, 4.5vw, 68px);
  font-weight: 400;
  font-style: italic;
  line-height: .9;
  letter-spacing: -.045em;
}

.municipal-copy p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  line-height: 1.65;
}

.municipal-copy strong {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, .25);
  font-size: 14px;
}

.municipal-copy strong i {
  float: right;
  font-size: 22px;
}

.directory-section-heading {
  margin-bottom: 30px;
}

.directory-section-heading h2 {
  max-width: 700px;
  font-size: clamp(36px, 4.5vw, 62px);
}

@media (max-width: 760px) {
  .municipal-heading,
  .municipal-card {
    grid-template-columns: 1fr;
  }

  .municipal-card {
    min-height: 0;
  }

  .municipal-visual {
    min-height: 360px;
  }

  .municipal-copy {
    padding: 35px 25px;
  }

  .municipal-copy > span {
    margin-top: 30px;
  }
}
