/* Parametry z Figma: radius 30 px, stroke #315AD7 / 56 %, 1.5 px inside a drop shadow. */
.service-grid { gap: 18px; align-items: stretch; }
.service-card {
  height: 524px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1.5px solid rgba(49, 90, 215, .56);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 13px 25px rgba(20, 47, 98, .13);
}
.service-photo { width: 100%; align-self: stretch; height: 218px; margin-top: 24px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.service-photo img { display: block; width: auto; max-width: 100%; height: 100%; margin: 0 auto; object-fit: contain; object-position: center; transition: transform .35s ease; }
.service-photo-right img { width: 100%; max-width: none; height: 100%; margin: 0; object-fit: contain; object-position: center; }
.service-card:hover .service-photo img { transform: scale(1.035); }
.service-content { flex: 1; min-height: 0; padding: 31px 28px 24px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.service-card h3 { min-height: 50px; margin: 0; color: #000; font-size: 23px; line-height: 1.06; font-weight: 700; letter-spacing: -.045em; }
.service-card p { flex: 0 0 62px; margin: 16px 0; color: #515151; font-size: 16px; line-height: 1.28; }
.service-card .service-button { margin-top: 0; display: inline-flex; align-items: center; gap: 12px; padding: 13px 20px; border-radius: 999px; background: #285edb; color: #fff; font-size: 16px; font-weight: 600; }
.service-card .service-button:hover { color: #fff; background: #164ac3; }
.service-card .service-button .material-symbols-rounded { font-size: 25px; }
@media (max-width: 1080px) { .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .service-photo { height: 245px; } }
@media (max-width: 520px) { .service-card { height: 510px; } .service-photo { height: 215px; } .service-content { min-height: 0; padding: 28px 26px 24px; } }
