.service-card {
  min-height: 520px;
  padding: 20px;
  gap: 17px;
  justify-content: flex-start;
  overflow: hidden;
}
.hero { color: var(--ink); }
.hero-note { color: var(--ink); }
.site-header .header-tools { margin-left: auto; }
.service-card > .service-image {
  position: static;
  display: block;
  width: calc(100% + 40px);
  height: 210px;
  margin: -20px -20px 0;
  border: 0;
  overflow: hidden;
  background: #dfe5df;
}
.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.68) contrast(1.02);
  transition: transform .35s, filter .35s;
}
.service-card:hover .service-image { background: #dfe5df; color: inherit; }
.service-card:hover .service-image img { transform: scale(1.025); filter: saturate(.9) contrast(1.04); }
.service-card h3 { margin: 8px 0; }
.service-card p { margin-bottom: 0; }
.service-meta { margin-top: auto; }
.service-card > .service-arrow {
  position: absolute;
  right: 20px;
  top: 188px;
  width: 42px;
  height: 42px;
  background: var(--white);
}
.service-card:hover > .service-arrow { background: var(--green); color: #fff; border-color: var(--green); }
.detail-hero { grid-template-columns: minmax(0, 1fr) 440px; gap: 80px; }
.detail-visual { background: var(--green); }
.detail-visual > img { width: 100%; height: 265px; object-fit: cover; filter: saturate(.68); }
.detail-visual .scope-panel { padding: 30px 34px; }

.expertise-list > div {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 20px;
  padding: 23px 0;
  border-bottom: 1px solid #4a4f4b;
}

.expertise-list > div > div {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
}

@media (max-width: 900px) {
  .detail-hero { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .detail-hero > *, .detail-visual { min-width: 0; width: 100%; max-width: 100%; }
}
@media (max-width: 560px) {
  .page-title .wrap { display: block; }
  .page-title .wrap > p { margin-top: 24px; }
  .service-card { min-height: 470px; }
  .service-card > .service-image { height: 190px; }
  .service-card > .service-arrow { top: 168px; }
  .detail-price, .purchase-row { flex-wrap: wrap; }
  .purchase-row label { flex: 0 0 86px; }
  .purchase-row .button { flex: 1 1 calc(100% - 96px); min-width: 0; }
  .purchase-row .button.secondary { flex-basis: 100%; }
}
