/* ==========================================================================
   Leistungs-Unterseiten (/leistungen/…)
   Baut auf dem Seiten-CSS der Startseite auf (Header, Footer, .tz-vis, .qa, .cta …).
   Pro Seite steuert die Klasse .sv-th mit o | b | y | k die Hauptfarbe.
   ========================================================================== */

.sv-th{--ac:#ff5e3b;--ac-t:#ffe6de;--ac-d:#e8481f;--ac-bg:#ff5e3b;--ac-on:#fff}
.sv-th.b{--ac:#4a6fe4;--ac-t:#e4eafc;--ac-d:#3556c9;--ac-bg:#4a6fe4;--ac-on:#fff}
.sv-th.y{--ac:#fedb3f;--ac-t:#fff1b8;--ac-d:#8a6a00;--ac-bg:#fedb3f;--ac-on:#17181c}
.sv-th.k{--ac:#ff6b4a;--ac-t:#ffe6de;--ac-d:#17181c;--ac-bg:#17181c;--ac-on:#fedb3f}

.or{color:var(--violet)}

/* ---------- Hero: Körnung + Verlauf in der Hauptfarbe, deutlich niedriger als die Startseite ---------- */
.sv-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--ink);
  padding:clamp(112px,9vw,136px) 0 clamp(48px,4.6vw,66px);
  background-color:var(--bg0);background-image:var(--grain),var(--bg1),var(--bg2),var(--bg3);
  background-size:240px 240px,100% 100%,100% 100%,100% 100%;background-blend-mode:overlay,normal,normal,normal}
.sv-hero.o{--bg0:#ff5e3b;--bg1:radial-gradient(60% 110% at 0% 0%,#e8431f 0%,rgba(232,67,31,0) 100%);--bg2:radial-gradient(55% 110% at 100% 100%,#ff9a3d 0%,rgba(255,154,61,0) 100%);--bg3:radial-gradient(34% 80% at 82% 0%,rgba(254,219,63,.6) 0%,rgba(254,219,63,0) 100%)}
.sv-hero.b{--bg0:#4a6fe4;--bg1:radial-gradient(60% 110% at 100% 0%,#2f4fc4 0%,rgba(47,79,196,0) 100%);--bg2:radial-gradient(55% 110% at 0% 100%,#8aa2f2 0%,rgba(138,162,242,0) 100%);--bg3:radial-gradient(36% 90% at 100% 100%,rgba(255,122,82,.7) 0%,rgba(255,122,82,0) 100%)}
.sv-hero.y{--bg0:#fedb3f;--bg1:radial-gradient(60% 110% at 0% 0%,#ffeb86 0%,rgba(255,235,134,0) 100%);--bg2:radial-gradient(55% 110% at 100% 100%,#ffb23d 0%,rgba(255,178,61,0) 100%);--bg3:radial-gradient(38% 90% at 100% 0%,rgba(255,122,82,.6) 0%,rgba(255,122,82,0) 100%)}
.sv-hero.k{--bg0:#ff6b4a;--bg1:radial-gradient(70% 140% at 0% 60%,#fedb3f 0%,#fedb3f 32%,rgba(254,219,63,0) 100%);--bg2:radial-gradient(60% 140% at 100% 50%,#4a6fe4 0%,rgba(74,111,228,.85) 40%,rgba(74,111,228,0) 100%);--bg3:radial-gradient(60% 80% at 50% 0%,rgba(232,67,31,.7) 0%,rgba(232,67,31,0) 100%)}
.sv-hero.o,.sv-hero.b{color:#fff}

.sv-hero-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);gap:clamp(24px,3vw,48px);align-items:center}
.sv-hero .eyebrow{margin-bottom:22px;color:var(--ink)}
.sv-hero .eyebrow i{color:#fff}
.sv-hero h1{margin:0;font-size:clamp(2.6rem,4.5vw,4.4rem);line-height:.97;letter-spacing:-.052em;max-width:21ch}
.sv-hero.o h1,.sv-hero.b h1{text-shadow:0 2px 26px rgba(40,10,0,.22)}
.sv-lead{margin:20px 0 0;max-width:54ch;font-size:clamp(1.04rem,1.45vw,1.22rem);line-height:1.45;color:rgba(23,24,28,.78)}
.sv-hero.o .sv-lead,.sv-hero.b .sv-lead{color:rgba(255,255,255,.93)}
.sv-hero .hero-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

.sv-pills{position:relative;height:250px}
.sv-pill{position:absolute;display:inline-flex;align-items:center;gap:12px;padding:8px 22px 8px 8px;border-radius:999px;background:#fff;color:var(--ink);font-weight:650;font-size:1.04rem;white-space:nowrap;box-shadow:0 18px 30px -18px rgba(40,10,0,.55);animation:svFloat 6s ease-in-out infinite;animation-delay:var(--d,0s)}
.sv-pill .mi-ic{width:40px;height:40px;font-size:1.12rem}
.sv-pill.dk{background:var(--ink);color:#fff}
.sv-pill:nth-child(1){left:4%;top:0;--r:-3deg}
.sv-pill:nth-child(2){left:22%;top:26%;--r:2.5deg;--d:-1.4s}
.sv-pill:nth-child(3){left:0;top:52%;--r:-2deg;--d:-2.6s}
.sv-pill:nth-child(4){left:20%;top:78%;--r:3deg;--d:-3.8s}
@keyframes svFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-8px) rotate(var(--r,0deg))}}

/* ---------- Abschnitte ---------- */
.sv-sec{padding:clamp(64px,8vw,112px) 0}
.sv-sec.tight-b{padding-bottom:0}
.sv-h2{margin:0;font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:1;letter-spacing:-.05em;font-weight:650;max-width:16ch}
.sv-h2 .dim{color:#9a9ca6}
.sv-tag{display:inline-flex;align-items:center;gap:9px;padding:7px 16px 7px 12px;border-radius:999px;background:var(--ac-t);color:var(--ac-d);font-weight:700;font-size:.85rem;margin-bottom:22px}
.sv-tag i{width:9px;height:9px;border-radius:50%;background:var(--ac)}
.sv-th.k .sv-tag{background:linear-gradient(90deg,#fedb3f,#ffa94a 60%,#ff7a52);color:var(--ink)}
.sv-th.k .sv-tag i{background:var(--ink)}

/* Intro */
.sv-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,92px);align-items:start}
.sv-intro .sv-h2{max-width:14ch}
.sv-intro p{margin:6px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.55;max-width:50ch}
.sv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sv-chips span{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;background:#fff;font-weight:600;font-size:.94rem;box-shadow:0 1px 0 rgba(23,24,28,.05),0 8px 20px -14px rgba(23,24,28,.25)}
.sv-chips span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 1.5px rgba(23,24,28,.08)}

/* Was ihr bekommt: Bildfläche + Liste */
.sv-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,92px);align-items:center}
.sv-list{margin-top:30px;display:grid}
.sv-li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(23,24,28,.1)}
.sv-li:last-child{border-bottom:1px solid rgba(23,24,28,.1)}
.sv-li .mi-ic{width:46px;height:46px;font-size:1.2rem}
.sv-li h3{margin:0 0 5px;font-size:1.16rem;line-height:1.2;letter-spacing:-.025em;font-weight:700}
.sv-li p{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}

/* Ablauf */
.sv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.sv-head>p{max-width:380px;color:var(--muted);font-size:1.08rem;line-height:1.5;margin:0}
.sv-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:46px}
.sv-step{background:#fff;border-radius:30px;padding:26px 24px 30px;box-shadow:0 1px 0 rgba(23,24,28,.04),0 24px 40px -30px rgba(23,24,28,.25)}
.sv-step .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ac-bg);color:var(--ac-on);font-weight:700;font-size:1rem;margin-bottom:38px}
.sv-step:last-child .n{background:var(--violet);color:#fff}
.sv-step h3{margin:0 0 8px;font-size:1.2rem;letter-spacing:-.03em;font-weight:700;line-height:1.15}
.sv-step p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5}

/* Aus der Praxis */
.sv-ref{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:#fff;border-radius:40px;overflow:hidden;box-shadow:0 1px 0 rgba(23,24,28,.04),0 30px 60px -40px rgba(23,24,28,.35)}
.sv-ref-img{position:relative;min-height:340px;background:var(--ink)}
.sv-ref-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sv-ref:hover .sv-ref-img img{transform:scale(1.04)}
.sv-ref-txt{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}
.sv-ref-txt h3{margin:0;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.03;letter-spacing:-.045em;font-weight:650}
.sv-ref-txt p{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.5;max-width:42ch}
.sv-ref-txt .pill-client{box-shadow:0 0 0 1.5px rgba(23,24,28,.08);background:#fff;transition:none}
.sv-ref-txt .pill-client:hover{transform:none;box-shadow:0 0 0 1.5px rgba(23,24,28,.08)}
.sv-ref-txt .btn{margin-top:6px}
.sv-ref.plain .sv-ref-img{background-color:var(--bg0);background-image:var(--grain),var(--bg1),var(--bg2),var(--bg3);background-size:240px 240px,100% 100%,100% 100%,100% 100%;background-blend-mode:overlay,normal,normal,normal}
.sv-ref.plain .sv-ref-img .big{position:absolute;inset:0;display:grid;place-items:center}
.sv-ref.plain .sv-ref-img .big span{width:min(34%,150px);aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--ac-d);box-shadow:0 24px 50px -20px rgba(10,20,80,.5)}
.sv-ref.plain.b .sv-ref-img{--bg0:#4a6fe4;--bg1:radial-gradient(70% 60% at 100% 0%,#2f4fc4 0%,rgba(47,79,196,0) 100%);--bg2:radial-gradient(60% 60% at 0% 100%,#8aa2f2 0%,rgba(138,162,242,0) 100%);--bg3:radial-gradient(40% 40% at 100% 100%,rgba(255,122,82,.55) 0%,rgba(255,122,82,0) 100%)}

/* Weitere Leistungen */
.sv-more .tz-links{margin-top:30px}
.sv-more .sv-h2{max-width:20ch}
.tz-li.o{--hv:#ff5e3b;--hf:#fff;--hic:#e8481f}
.tz-li.b{--hv:#4a6fe4;--hf:#fff;--hic:#3556c9}
.tz-li.y{--hv:#fedb3f;--hf:#17181c;--hic:#8a6a00}
.tz-li.k{--hv:linear-gradient(90deg,#fedb3f 0%,#ff8a4a 55%,#ff6b4a 100%);--hf:#17181c;--hic:#17181c}
.nav-links .mm a.mi.cur{background:var(--paper,#f6f4ec)}

/* ---------- Bildflächen (zusätzlich zu .tz-v1 … .tz-v4 der Startseite) ---------- */
.sv-feat .tz-vis{width:100%}

/* Social Media */
.sv-v5 .ph{left:10cqw;top:4cqw;width:32cqw;aspect-ratio:800/1734;transform:rotate(-4deg);z-index:1}
.sv-v5 .t1{right:8cqw;top:8cqw;width:27cqw;aspect-ratio:1;transform:rotate(5deg);border-width:1cqw;border-radius:3.4cqw}
.sv-v5 .t2{right:12cqw;top:35cqw;width:27cqw;aspect-ratio:1;transform:rotate(-4deg);border-width:1cqw;border-radius:3.4cqw;z-index:2}
.sv-v5 .like{left:39cqw;top:15cqw;z-index:3;width:10cqw;height:10cqw;border-radius:50%;background:#fff;color:#ff5e3b;display:grid;place-items:center;font-size:5cqw;box-shadow:0 2cqw 4cqw -1.4cqw rgba(60,20,10,.45);transform:rotate(-8deg)}
.sv-v5 .cal{right:6cqw;top:64cqw;z-index:3;width:33cqw;padding:2.6cqw 3cqw 3cqw;border-radius:3.2cqw;background:#fff;box-shadow:0 3cqw 6cqw -2cqw rgba(60,20,10,.4);transform:rotate(3deg)}
.sv-v5 .cal b{display:block;font-size:2.5cqw;letter-spacing:-.02em;margin-bottom:1.8cqw}
.sv-v5 .cal div{display:grid;grid-template-columns:repeat(7,1fr);gap:1cqw}
.sv-v5 .cal i{display:block;aspect-ratio:1;border-radius:50%;background:#f0ede6}
.sv-v5 .cal i.on{background:#ff5e3b}.sv-v5 .cal i.on2{background:#fedb3f}
.sv-v5 .p1{left:6cqw;top:79cqw;z-index:4}.sv-v5 .p2{left:30cqw;top:83cqw;z-index:4}

/* Custom Dashboards */
.sv-v6 .ui{left:7cqw;top:9cqw;width:86cqw;height:64cqw;border-radius:3.6cqw;background:#fff;box-shadow:0 4cqw 8cqw -3cqw rgba(10,20,80,.5);overflow:hidden;display:grid;grid-template-columns:11cqw 1fr}
.sv-v6 .rail{background:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2.6cqw;padding:3.2cqw 0}
.sv-v6 .rail i{width:5cqw;height:5cqw;border-radius:1.6cqw;background:rgba(255,255,255,.16)}
.sv-v6 .rail i:first-child{background:#ff5e3b}
.sv-v6 .mn{padding:3.4cqw 3.4cqw 3.4cqw 3.6cqw;display:flex;flex-direction:column;gap:2.4cqw;min-width:0}
.sv-v6 .hd{display:flex;justify-content:space-between;align-items:center}
.sv-v6 .hd b{font-size:3.2cqw;letter-spacing:-.03em}
.sv-v6 .hd span{width:5.4cqw;height:5.4cqw;border-radius:50%;background:linear-gradient(135deg,#fedb3f,#ff7a52)}
.sv-v6 .st{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8cqw}
.sv-v6 .st div{background:#f2f5fe;border-radius:2.2cqw;padding:2cqw 2.2cqw}
.sv-v6 .st small{display:block;font-size:1.8cqw;color:var(--muted);font-weight:600}
.sv-v6 .st b{display:block;font-size:3.9cqw;letter-spacing:-.04em;line-height:1.1;margin-top:.4cqw}
.sv-v6 .ch{flex:1;border-radius:2.2cqw;background:#f2f5fe;padding:2.4cqw 2.6cqw 0;display:flex;align-items:flex-end;gap:1.6cqw;min-height:0}
.sv-v6 .ch i{flex:1;border-radius:.9cqw .9cqw 0 0;background:#c9d4f8}
.sv-v6 .ch i:last-child{background:#4a6fe4}
.sv-v6 .note{right:4cqw;top:62cqw;z-index:3;display:flex;align-items:center;gap:2cqw;padding:2cqw 3.2cqw 2cqw 2cqw;border-radius:999px;background:#fff;box-shadow:0 3cqw 6cqw -2cqw rgba(10,20,80,.5);font-weight:650;font-size:2.5cqw;transform:rotate(2deg)}
.sv-v6 .note i{width:5.6cqw;height:5.6cqw;border-radius:50%;background:#ff5e3b;color:#fff;display:grid;place-items:center;font-size:3cqw}
.sv-v6 .p1{left:8cqw;top:78cqw;z-index:3}.sv-v6 .p2{left:36cqw;top:82cqw;z-index:3}

/* Print Medien */
.sv-v7 .poster{left:7cqw;top:8cqw;width:37cqw;aspect-ratio:1000/1173;transform:rotate(-6deg)}
.sv-v7 .fl{right:8cqw;top:7cqw;width:34cqw;aspect-ratio:210/297;background:#fff;border-radius:1.8cqw;padding:2.6cqw;transform:rotate(5deg);box-shadow:0 3.4cqw 7cqw -2.4cqw rgba(90,60,0,.45);display:flex;flex-direction:column;gap:1.6cqw}
.sv-v7 .fl .blk{flex:0 0 46%;border-radius:1.2cqw;background:#ff5e3b;background-image:radial-gradient(90% 90% at 100% 100%,#fedb3f,rgba(254,219,63,0));display:flex;align-items:flex-end;padding:1.8cqw;font-weight:700;font-size:4.6cqw;letter-spacing:-.05em;line-height:.9;color:#fff}
.sv-v7 .fl i{display:block;height:1.5cqw;border-radius:999px;background:#ececf1}.sv-v7 .fl i:nth-of-type(1){width:90%}.sv-v7 .fl i:nth-of-type(2){width:70%}.sv-v7 .fl i:nth-of-type(3){width:80%}
.sv-v7 .fl .go{margin-top:auto;align-self:flex-start;padding:.9cqw 2.2cqw;border-radius:999px;background:var(--ink);color:#fff;font-size:1.7cqw;font-weight:650;font-style:normal}
.sv-v7 .bc{right:13cqw;top:56cqw;width:37cqw;aspect-ratio:1.65;background:var(--ink);border-radius:1.8cqw;transform:rotate(-4deg);z-index:2;padding:3cqw;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 3cqw 6cqw -2cqw rgba(0,0,0,.5)}
.sv-v7 .bc img{height:5cqw;width:auto;align-self:flex-start}
.sv-v7 .bc span{display:block}.sv-v7 .bc span i{display:block;height:1.2cqw;border-radius:999px;background:rgba(255,255,255,.28);width:60%;margin-top:1.1cqw}.sv-v7 .bc span i:first-child{width:42%;background:#fedb3f}
.sv-v7 .p1{left:8cqw;top:77cqw;z-index:4}.sv-v7 .p2{left:32cqw;top:82cqw;z-index:4}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .sv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .sv-hero{padding:116px 0 44px}
  .sv-hero-in{grid-template-columns:1fr}
  .sv-hero h1{max-width:none}
  .sv-pills{height:auto;display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
  .sv-pill{position:static;animation:none;transform:none;font-size:.95rem}
  .sv-pill .mi-ic{width:34px;height:34px;font-size:1rem}
  .sv-intro,.sv-feat{grid-template-columns:1fr}
  .sv-h2,.sv-intro .sv-h2,.sv-more .sv-h2{max-width:none}
  .sv-ref{grid-template-columns:1fr;border-radius:32px}
  .sv-ref-img{min-height:240px}
  .sv-steps{margin-top:32px}
}
@media (max-width:560px){
  .sv-steps{grid-template-columns:1fr}
  .sv-step .n{margin-bottom:22px}
}
@media (prefers-reduced-motion:reduce){.sv-pill{animation:none}}
