/* Verbesserungen für den Bereich Leistungen und den Footer */
.title-row p { max-width: 340px; line-height: 1.55; }

.cards {
  grid-template-columns: repeat(4, 1fr);
}

.cards article {
  display: grid;
  grid-template-rows: 62px 30px 58px minmax(110px, 1fr) auto;
  min-height: 385px;
  padding: 30px;
  border-bottom: 0;
  transition: background .25s ease, color .25s ease;
}

.cards article:last-child { border-right: 0; }
.cards article:hover { background: #183a78; color: #fff; }
.cards article:hover p, .cards article:hover b { color: #fff; }
.cards article:hover ul { border-color: rgba(255,255,255,.3); }

.service-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 22px;
  border: 1px solid currentColor;
  font-size: 20px;
}

.cards article b { display: block; margin: 0; }
.cards h3 { min-height: 0; margin: 0; line-height: 1; }
.cards p { min-height: 0; margin: 0; font-size: 14px; }
.cards ul {
  list-style: none;
  margin: 0;
  padding: 17px 0 0;
  border-top: 1px solid #ddd;
  font-size: 12px;
  line-height: 1.85;
}

.service-extra {
  position: relative;
  overflow: hidden;
  margin-top: 22px;
  padding: 38px 42px;
  background: #183a78;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 30px;
}
.service-extra::before,
.service-extra::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.16);
  transform: rotate(28deg);
  pointer-events: none;
}
.service-extra::before { width: 330px; height: 330px; right: -150px; top: -205px; }
.service-extra::after { width: 220px; height: 220px; right: -15px; bottom: -170px; }
.service-extra .service-icon {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 62px;
  margin: 0;
  flex: 0 0 auto;
  border-color: rgba(255,255,255,.65);
  font-size: 29px;
}
.service-extra > div { position: relative; z-index: 1; }
.service-extra .eyebrow { margin: 0 0 9px; color: #c9d8f4; }
.service-extra h3 { margin: 0 0 9px; font-size: clamp(24px,3vw,34px); text-transform: uppercase; letter-spacing: -.8px; }
.service-extra p:not(.eyebrow) { margin: 0; max-width: 630px; color: rgba(255,255,255,.75); line-height: 1.55; }
.service-extra .button { position: relative; z-index: 1; margin-left: auto; white-space: nowrap; background: #fff; color: #183a78; }

footer .logo b { color: #fff; }

.legal-page { min-height: 100vh; display: flex; flex-direction: column; }
.legal-content { width: min(900px, 88%); margin: 0 auto; padding: 105px 0; flex: 1; }
.legal-content h1 { font-size: clamp(52px, 7vw, 84px); }
.legal-card { margin-top: 42px; padding: 45px; background: #f1f2f3; border-left: 5px solid #183a78; }
.legal-card h2 { font-size: 22px; letter-spacing: -.5px; margin: 32px 0 12px; line-height: 1.1; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card p { color: #4f5663; line-height: 1.7; }
.back-link { display: inline-block; margin-top: 34px; color: #183a78; font-weight: 700; }

.about-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #d6d8dc;
}
.about-benefits span {
  color: #183a78;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.about-benefits span::before { content: "✓ "; }

@media (max-width: 1320px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .cards article:nth-child(2) { border-right: 0; }
  .cards article:nth-child(-n+2) { border-bottom: 1px solid #ddd; }
}

@media (max-width: 760px) {
  .cards { grid-template-columns: 1fr; }
  .cards article, .cards article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #ddd;
  }
  .cards article:last-child { border-bottom: 0; }
  .service-extra { align-items: flex-start; flex-wrap: wrap; }
  .service-extra .button { margin-left: 0; }
  .about-benefits { grid-template-columns: 1fr; gap: 12px; }
}
