.professional-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #102c26;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.professional-strip span {
  padding: 20px 24px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-right: 1px solid rgba(255, 255, 255, .14);
}

.professional-strip span:last-child { border-right: 0; }

.lawyer-profile {
  display: flex;
  min-height: 470px;
  margin: 0;
  padding: 34px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid #dcd8ce;
  background: #f5f1e8;
}

.lawyer-profile img {
  width: min(100%, 220px);
  height: 275px;
  object-fit: cover;
  object-position: center 24%;
  filter: saturate(.86) contrast(1.03);
  border: 8px solid #fffdf8;
  box-shadow: 0 18px 40px rgba(13, 48, 40, .13);
}

.lawyer-profile figcaption {
  display: flex;
  margin-top: 22px;
  flex-direction: column;
  text-align: center;
}

.lawyer-profile figcaption strong { font-family: Georgia, serif; font-size: 21px; }
.lawyer-profile figcaption span { color: #66736f; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.work-method { background: #f5f1e8; }

.method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #dcd8ce;
  border-left: 1px solid #dcd8ce;
}

.method-grid article { padding: 32px 28px; border-right: 1px solid #dcd8ce; border-bottom: 1px solid #dcd8ce; background: #fffdf8; }
.method-grid article > span { color: #c8a96b; font-family: Georgia, serif; }
.method-grid h3 { margin: 26px 0 12px; font-family: Georgia, serif; font-size: 23px; }
.method-grid p { color: #66736f; font-size: 14px; }

.service-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
a.service-card { display: block; color: inherit; text-decoration: none; cursor: pointer; }
a.service-card:focus-visible { outline: 3px solid #c8a96b; outline-offset: -3px; }

a.service-card.family-area,
a.service-card.succession-area { position: relative; padding-top: 30px; }
a.service-card.family-area { background: #f3f8f5; border-top: 5px solid #16463b; }
a.service-card.succession-area { background: #fff9ed; border-top: 5px solid #b58b3c; }

.area-label { display: block; margin: 10px 0 12px; color: #52615b; font-size: .7rem; font-weight: 800; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.area-link { display: block; margin-top: 18px; color: #16463b; font-size: .76rem; letter-spacing: .04em; }
a.service-card.succession-area .area-link { color: #76591f; }

@media (max-width: 1100px) {
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .professional-strip,
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .professional-strip,
  .method-grid,
  .service-grid { grid-template-columns: 1fr; }
  .professional-strip span { padding: 13px 18px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .professional-strip span:last-child { border-bottom: 0; }
  .lawyer-profile { min-height: auto; padding: 24px; }
  .lawyer-profile img { height: 275px; }
}