.svc-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.svc-intro p{font-size:16.5px;line-height:1.75;color:#33353a;margin-bottom:16px;}
.svc-intro p b{color:var(--ink);}
@media(max-width:900px){.svc-intro{grid-template-columns:1fr;}.service-hero{order:-1;min-height:220px;}}

.svc-intro.svc-intro-single{grid-template-columns:1fr;max-width:820px;}

.svc-two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
@media(max-width:860px){.svc-two-col{grid-template-columns:1fr;gap:40px;}}

.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.step-cell{background:var(--paper);padding:32px 26px;}
.step-cell .num{font-family:'JetBrains Mono',monospace;color:var(--teal);font-size:13px;margin-bottom:16px;}
.step-cell h4{font-size:16.5px;font-weight:700;margin-bottom:8px;}
.step-cell p{font-size:14px;line-height:1.6;color:#52545a;}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}

.mini-faq .faq-item{border-bottom:1px solid var(--line);}
.mini-faq .faq-item:first-child{border-top:1px solid var(--line);}
.mini-faq .faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:24px 4px;background:none;border:none;cursor:pointer;text-align:left;
  font-family:'Inter',sans-serif;font-size:16.5px;font-weight:600;color:var(--ink);
}
.mini-faq .faq-icon{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);
  position:relative;transition:transform .35s ease, background .3s ease, border-color .3s ease;
}
.mini-faq .faq-icon::before,.mini-faq .faq-icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--ink);transition:transform .3s ease, opacity .3s ease;}
.mini-faq .faq-icon::before{width:10px;height:1.5px;transform:translate(-50%,-50%);}
.mini-faq .faq-icon::after{width:1.5px;height:10px;transform:translate(-50%,-50%);}
.mini-faq .faq-item.open .faq-icon{background:var(--ink);border-color:var(--ink);transform:rotate(180deg);}
.mini-faq .faq-item.open .faq-icon::before,.mini-faq .faq-item.open .faq-icon::after{background:#fff;}
.mini-faq .faq-item.open .faq-icon::after{opacity:0;}
.mini-faq .faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.16,1,.3,1);}
.mini-faq .faq-a-inner{padding:0 4px 24px;max-width:640px;}
.mini-faq .faq-a-inner p{font-size:15px;line-height:1.7;color:#46484c;}
.mini-faq .faq-item.open .faq-a{max-height:300px;}

.steps.steps-3col{grid-template-columns:repeat(3,1fr);}
@media(max-width:760px){.steps.steps-3col{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps.steps-3col{grid-template-columns:1fr;}}

.section-head.tight{margin-top:8px;margin-bottom:0;}
.section-head.tight h2{font-size:clamp(22px,2.8vw,32px);}

.related-services{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;}
.related-services a{
  font-size:13.5px;font-weight:600;color:var(--teal-deep);background:rgba(34,168,159,.08);
  padding:10px 18px;border-radius:980px;transition:background .2s ease;
}
.related-services a:hover{background:rgba(34,168,159,.16);}

/* ---------- Standort-Fakten-Leiste (Einsatzgebiete) ---------- */
.location-facts{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:22px 0 0;}
.location-facts .fact{flex:1;background:var(--paper);padding:22px 24px;}
.location-facts .fact .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;display:block;}
.location-facts .fact .val{font-size:17px;font-weight:700;color:var(--ink);}
@media(max-width:700px){.location-facts{flex-direction:column;}}

/* ---------- Städte-Grid (Einsatzgebiete-Übersicht) ---------- */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.city-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px;display:block;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.city-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -18px rgba(12,13,14,.16);border-color:transparent;}
.city-card-plate{width:100%;max-width:220px;height:auto;border-radius:6px;margin-bottom:18px;box-shadow:0 3px 10px rgba(12,13,14,.12);}
.service-hero.plate-hero{background:var(--paper-dim);}
.service-hero.plate-hero::before{display:none;}
.service-hero.plate-hero img{width:auto;max-width:80%;height:auto;border-radius:8px;box-shadow:0 8px 24px rgba(12,13,14,.18);position:relative;z-index:2;}
.city-card h3{font-size:19px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em;}
.city-card-teaser{font-size:14px;line-height:1.55;color:#52545a;margin-bottom:16px;min-height:44px;}
.city-card-meta{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.03em;color:var(--teal);}
@media(max-width:860px){.city-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.city-grid{grid-template-columns:1fr;}}
