.service-strip {
  --service-line: rgb(218 240 255 / 30%);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-block-start: clamp(16px, 2.2vw, 32px);
  padding: 5px;
  border: 1px solid rgb(37 79 142 / 45%);
  border-radius: 18px;
  background: radial-gradient(ellipse at 98% 0%, #137493 0%, transparent 53%), linear-gradient(110deg, #2f51a3, #285c95 63%, #236584);
}

.service-link {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  grid-template-areas: "icon . arrow" "copy copy copy";
  align-content: start;
  align-items: center;
  gap: 16px 10px;
  padding: clamp(18px, 1.8vw, 28px);
  min-width: 0;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #fff;
  text-align: left;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
}
.service-link + .service-link::before {
  content: "";
  position: absolute;
  inset: 20px auto 20px -1px;
  width: 1px;
  background: var(--service-line);
}

.service-icon {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgb(212 244 255 / 46%);
  border-radius: 13px;
  background: rgb(255 255 255 / 12%);
  color: #fff;
}
.service-icon .icon { width: 23px; height: 23px; stroke-width: 1.65; }
.service-arrow {
  grid-area: arrow;
  width: 17px;
  height: 17px;
  color: #b5eeff;
}
.service-copy { grid-area: copy; display: grid; align-content: start; gap: 5px; }
.service-copy strong {
  color: #fff;
  font: 650 clamp(17px, 1.25vw, 20px)/1.23 var(--display, sans-serif);
  letter-spacing: -.028em;
}
.service-copy > span { color: #e6f4ff; font: 400 14px/1.5 var(--font, sans-serif); }
.service-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -2px;
  background: rgb(0 33 80 / 22%);
}
@media (hover: hover) {
  .service-link:hover { background: rgb(0 33 80 / 18%); }
  .service-link:hover .service-icon { background: #fff; color: #2f51a3; border-color: #fff; }
  .service-link:hover .service-arrow { color: #fff; transform: translateX(3px); }
}
@media (prefers-reduced-motion: no-preference) {
  .service-link, .service-icon, .service-arrow {
    transition: background-color .18s, color .18s, border-color .18s, transform .18s;
  }
}
@media (max-width: 920px) {
  .service-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-link:nth-child(3)::before { display: none; }
  .service-link:nth-child(n+3)::after {
    content: "";
    position: absolute;
    inset: 0 18px auto;
    height: 1px;
    background: var(--service-line);
  }
}
@media (max-width: 570px) {
  .service-strip { grid-template-columns: minmax(0, 1fr); padding: 3px; border-radius: 15px; }
  .service-link {
    grid-template-columns: 39px minmax(0, 1fr) 15px;
    grid-template-areas: "icon copy arrow";
    gap: 12px;
    padding: 15px 12px;
  }
  .service-link + .service-link::before,
  .service-link:nth-child(3)::before {
    display: block;
    inset: 0 12px auto;
    width: auto;
    height: 1px;
  }
  .service-link:nth-child(n+3)::after { display: none; }
  .service-icon { width: 39px; height: 39px; border-radius: 11px; }
  .service-icon .icon { width: 21px; height: 21px; }
  .service-copy { gap: 3px; }
  .service-copy strong { font-size: 16px; }
  .service-copy > span { font-size: 13px; }
}
