.section--leistungen {
  background:
    radial-gradient(800px 400px at 110% -10%, #c1dcaf33 0 45%, transparent 46% 100%),
    linear-gradient(180deg, var(--sage-100) 0%, var(--sage-150) 100%);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}

/* Grid: Desktop 3 Spalten, Tablet 2, Phone 1 */
.section--leistungen .cards{
  display:grid; gap:18px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 980px){
  .section--leistungen .cards{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .section--leistungen .cards{ grid-template-columns: 1fr; }
}

.section--leistungen .card{
  background: var(--paper, #fff);
  border:1px solid var(--border); border-radius: var(--r, 18px);
  padding: 18px; box-shadow: var(--shadow-sm);
  transition: transform .15s, box-shadow .25s, filter .25s;
  position: relative; isolation:isolate;
  display:flex; flex-direction:column;
}
.section--leistungen .card::after{
  content:""; position:absolute; inset:-1px -1px auto -1px; height:6px;
  border-top-left-radius:var(--r); border-top-right-radius:var(--r);
  background: var(--brand-grad); opacity:.9;
}
.section--leistungen .card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); filter:saturate(1.02); }

.section--leistungen .card h3{
  margin:0 0 .6rem; color:#1f2d1f; font-size:1.05rem; line-height:1.2;
  overflow-wrap:anywhere; hyphens:auto; text-wrap: balance;
}

/* Nur Häkchen – keine Standardpunkte */
.section--leistungen .card ul{
  list-style:none; margin:.25rem 0 0; padding:0; display:grid; gap:.35rem;
}
.section--leistungen .card li{
  position:relative; padding-left:1.25rem; color:#2b3a2b;
  overflow-wrap:anywhere; hyphens:auto;
}
.section--leistungen .card li::before{
  content:"✓"; position:absolute; left:0; top:0;
  color: var(--primary-green, #2f5d39); font-weight:800; line-height:1;
}

/* Hinweisbox + Mini-CTA */
.note{
  margin-top:1rem; border-radius: var(--r, 18px); padding:.95rem 1rem;
  border:1px solid var(--border); background:#fff;
  overflow-wrap:anywhere; hyphens:auto;
}
.note.info{ border-left:6px solid var(--accent-green); }

.mini-cta{ margin-top:1.1rem; display:flex; justify-content:center; }
.mini-cta a{
  display:inline-flex; align-items:center; gap:.45rem; padding:.85rem 1.1rem;
  font-weight:700; color:var(--primary-green); border-radius:999px; text-decoration:none;
  background: linear-gradient(#fff,#fff) padding-box, var(--brand-grad) border-box; border:1px solid transparent;
  box-shadow: var(--shadow-sm);
  transition: transform .15s ease, box-shadow .25s ease, filter .25s ease;
}
.mini-cta a::after{ content:"→"; font-weight:800; line-height:1; transition: transform .2s ease; }
.mini-cta a:hover{ transform: translateY(-1px); box-shadow: var(--shadow-md); filter:saturate(1.04); }
.mini-cta a:hover::after{ transform: translateX(3px); }
.mini-cta a:focus-visible{ outline:3px solid #c1dcaf66; outline-offset:2px; }

@media (max-width:480px){
  .mini-cta{ padding-inline:6px; }
  .mini-cta a{ width:100%; justify-content:center; }
}
