.focus {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-top: 0;
  padding-bottom: 130px;
}

.focus article {
  min-height: 280px;
  margin-right: -1px;
  padding: 36px 34px 30px;
  border: 1px solid #d9ddd7;
  display: flex;
  flex-direction: column;
  transition: background .25s, transform .25s;
}

.focus article:hover { background: #f4f2eb; transform: translateY(-4px); }
.focus article > span { color: #839087; font: italic 14px Georgia, serif; }
.focus h3 { margin: 35px 0 15px; font: 500 25px/1.2 Manrope, sans-serif; }
.focus p { margin: 0 0 25px; color: #647269; font-size: 14px; line-height: 1.65; }
.focus a { margin-top: auto; font-size: 12px; }

/* Relative image paths work from the src folder on the server. */
.property-image.office {
  background: linear-gradient(25deg, #203b32aa, #ffffff10), url('../images/andresen-commercial-hero.png') center/cover;
}
.property-image.merivalja { background: url('../images/andresen-hero.png') 78% center/cover; }
.news-visual.n1 {
  background: linear-gradient(25deg, #2e4339aa, transparent), url('../images/andresen-commercial-hero.png') center/cover;
}

.about-grid {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(48px, 7vw, 100px);
  align-items: center;
}

.portrait-photo {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 520px;
  align-self: center;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #d8d7d2;
}

.portrait-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  transform: scale(1.2);
  transform-origin: center 20%;
  filter: contrast(1.03);
}

.about-copy {
  min-width: 0;
}

.portrait-photo figcaption {
  position: absolute;
  left: auto;
  right: 0;
  bottom: 20px;
  transform: none;
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 10px 16px;
  background: rgba(19, 51, 40, .9);
  color: #fff;
  font-size: 9px;
  letter-spacing: .14em;
  text-align: center;
}

@media (max-width: 820px) {
  .focus { grid-template-columns: 1fr; padding-bottom: 85px; }
  .focus article { min-height: 220px; margin: 0 0 -1px; }
  .about-grid { grid-template-columns: 1fr; }
  .portrait-photo { height: 480px; }
}
