.leistungskatalog { --katalog-akzent:var(--accent,#a34709); margin:0 0 clamp(2.25rem,5vw,5rem); color:var(--ink); }
.leistungskatalog .katalogkopf { position:static; display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:.55rem 2rem; padding:clamp(.6rem,2.3vw,2rem) 0 1rem; border:0; background:transparent; box-shadow:none; }
.katalogkopf h1 { max-width:22ch; margin:0; font-size:clamp(2.2rem,4.8vw,4.6rem); font-weight:790; line-height:1.03; letter-spacing:-.052em; text-wrap:balance; }
.katalogkopf p { max-width:62ch; margin:.7rem 0 .2rem; line-height:1.5; font-size:clamp(1rem,1.3vw,1.15rem); color:var(--muted); }
.katalogkopf>a { color:var(--katalog-akzent); padding:.4rem 0; font-weight:720; text-decoration:underline; text-underline-offset:.22em; }
.leistungskatalog .katalogpfade { display:flex; position:static; align-items:center; flex-wrap:wrap; min-height:0; border:0; border-bottom:1px solid var(--line); gap:.12rem 1.35rem; padding:0 0 .6rem; margin:0; background:transparent; box-shadow:none; }
.katalogpfade a { display:inline-flex; align-items:center; min-height:42px; color:var(--katalog-akzent); font-size:.92rem; font-weight:690; text-decoration:underline; text-underline-offset:.23em; }
.kataloggruppe { scroll-margin-top:6rem; margin:clamp(1.4rem,2.7vw,2.7rem) 0 0; }
.kataloggruppe h2 { font-size:clamp(1.32rem,2.1vw,1.9rem); line-height:1.18; letter-spacing:-.034em; margin:0 0 .8rem; }
.katalogkarten { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr)); gap:clamp(.72rem,1.6vw,1.45rem); }
.katalogkarten li { margin:0; min-width:0; }
.katalogkarten li:only-child { max-width:380px; }
.katalogkarten a { display:flex; flex-direction:column; gap:.55rem; height:100%; color:inherit; text-decoration:none; }
.katalogkarten img { display:block; width:100%; height:auto; aspect-ratio:1.85; object-fit:cover; border-radius:7px; background:#e8e8e3; }
.katalogkarten span { display:flex; align-items:baseline; justify-content:space-between; gap:.4rem; line-height:1.3; font-size:clamp(.99rem,1.3vw,1.16rem); font-weight:740; }
.katalogkarten i { font-style:normal; color:var(--katalog-akzent); flex:none; }
.katalogkarten a:hover span,.katalogkarten a:focus-visible span { color:var(--katalog-akzent); text-decoration:underline; text-underline-offset:.22em; }
@media (max-width:660px) {
  .katalogkopf h1 { font-size:clamp(2rem,8.6vw,3rem); }
  .leistungskatalog .katalogpfade { gap:0 1.1rem; }
  .katalogpfade a { min-height:38px; }
  .katalogkarten { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .katalogkarten li:only-child { grid-column:1/-1; max-width:none; }
  .katalogkarten li:only-child a { flex-direction:row; align-items:center; gap:1rem; }
  .katalogkarten li:only-child img { width:40%; }
  .katalogkarten img { aspect-ratio:1.55; }
  .katalogkarten i { display:none; }
  .katalogkarten span { hyphens:auto; }
}
