
.tl-band{padding:clamp(18px,3vw,30px) 0 0}
.tl-band .reihe{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tl-band a{display:block;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);
  border-radius:18px;padding:18px 18px 16px;box-shadow:var(--shadow);transition:transform .3s var(--ease),border-color .3s}
.tl-band a:hover{transform:translateY(-3px);border-color:var(--pink)}
.tl-band b{display:block;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;
  background:linear-gradient(135deg,var(--pink-2),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.tl-band span{display:block;font-size:.9rem;color:var(--mute);margin-top:4px;line-height:1.4}
.tl-ablauf .schritte{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;counter-reset:s}
.tl-ablauf .schritt{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow)}
.tl-ablauf .schritt i{font-style:normal;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:var(--tint);color:var(--pink);font-weight:800;margin-bottom:14px}
.tl-ablauf .schritt h3{font-size:1.05rem;margin-bottom:6px}
.tl-ablauf .schritt p{font-size:.93rem;color:var(--mute);line-height:1.5}
.tl-ablauf .mehr{margin-top:18px;font-size:.95rem}
.tl-ablauf .mehr a{color:var(--pink);font-weight:700;text-decoration:none}
.tl-marcel .karte{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,44px);align-items:center;
  background:linear-gradient(135deg,var(--panel),var(--tint));border:1px solid color-mix(in srgb,var(--pink) 30%,var(--line));border-radius:26px;
  padding:clamp(22px,4vw,44px);box-shadow:0 26px 60px -30px rgb(229 34 90 / .45)}
.tl-marcel .foto{width:clamp(120px,16vw,170px);height:clamp(120px,16vw,170px);border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 5px var(--panel),0 0 0 7px var(--pink)}
.tl-marcel h2{margin:.35em 0 .3em}
.tl-marcel .rolle{color:var(--mute);font-size:.95rem;margin-bottom:14px}
.tl-marcel p.text{color:var(--ink-2);max-width:40em;margin-bottom:22px}
.tl-marcel .knoepfe{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:900px){.tl-band .reihe,.tl-ablauf .schritte{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .tl-band .reihe{grid-template-columns:1fr 1fr;gap:10px}.tl-band a{padding:14px}
  .tl-ablauf .schritte{grid-template-columns:1fr}
  .tl-marcel .karte{grid-template-columns:1fr;text-align:center}.tl-marcel .foto{margin:0 auto}
  .tl-marcel .knoepfe{justify-content:center}
}
.tun-titel{text-transform:none;letter-spacing:-.03em;font-size:clamp(1.8rem,4vw,2.8rem)}
@media (max-width:560px){
  .hero-art{max-width:min(270px,70vw) !important;margin:6px auto 0}
  .bento{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * clamp(16px,4vw,40px));
    padding:8px clamp(16px,4vw,40px) 14px;scrollbar-width:none}
  .bento::-webkit-scrollbar{display:none}
  .bento > .card{flex:0 0 84%;scroll-snap-align:center;margin:0}
  #leistungen .sec-head p::after{content:" Zum Wischen \2192";display:block;margin-top:6px;font-size:.85rem;color:var(--pink);font-weight:700}
}
.tl-rr{margin-top:6px;text-align:left}
.tl-rr-frage{font-weight:800;font-size:1.05rem;margin:0 0 12px}
.tl-rr-felder{display:grid;grid-template-columns:1fr 1fr 170px;gap:10px;margin-bottom:10px}
.tl-rr label{display:block;font-size:.84rem;font-weight:600;color:var(--ink-2)}
.tl-rr label span{font-weight:400;color:var(--mute)}
.tl-rr input[type=text],.tl-rr input[type=tel],.tl-rr select,.tl-rr textarea{display:block;width:100%;margin-top:5px;padding:12px 13px;
  border:1px solid var(--line-2);border-radius:12px;font:inherit;font-size:16px;color:var(--ink);background:var(--panel);transition:border-color .2s,box-shadow .2s}
.tl-rr input:focus,.tl-rr select:focus,.tl-rr textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px color-mix(in srgb,var(--pink) 18%,transparent)}
.tl-rr textarea{resize:vertical;min-height:54px}
.tl-rr-ganz{margin-bottom:12px}
.tl-rr-ok{display:flex !important;gap:9px;align-items:flex-start;font-weight:400 !important;color:var(--mute) !important;font-size:.84rem !important;margin-bottom:16px}
.tl-rr-ok input{margin-top:3px;accent-color:var(--pink);flex:none}
.tl-rr-ok a{color:var(--pink)}
.tl-rr-falle{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0}
.tl-rr button[disabled]{opacity:.7;cursor:wait}
.tl-rr-meldung{margin-top:12px;font-weight:600;font-size:.95rem}
.tl-rr-meldung.ok{color:var(--ok)}
.tl-rr-meldung.fehler{color:var(--pink)}
.tl-rr.fertig .tl-rr-felder,.tl-rr.fertig .tl-rr-ganz,.tl-rr.fertig .tl-rr-ok,.tl-rr.fertig .knoepfe,.tl-rr.fertig .tl-rr-frage{display:none}
.tl-rr.fertig .tl-rr-meldung{font-size:1.05rem;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--ok) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line))}
@media (max-width:900px){.tl-rr-felder{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tl-rr-felder{grid-template-columns:1fr}.tl-marcel .karte{text-align:left}.tl-marcel .karte > div{text-align:left}}
.tl-rr.fertig .tl-rr-ok{display:none !important}
.tl-marcel .karte{align-items:start}
.tl-marcel .foto{margin-top:6px}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.mini{margin-top:6px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:11px 12px 10px;font-size:12px;line-height:1.35;color:var(--ink-2);position:relative;overflow:hidden}
.mini-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.mini-kopf b{font-size:12px;font-weight:700;color:var(--ink)}
.mini-bsp{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.mini .zahl{font:700 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);counter-reset:n var(--n)}
.mini .zahl::before{content:counter(n)}
.mini .zahl small{font:600 12px system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--mute);margin-left:5px}
.mini svg{display:block;width:100%;height:auto}
.mini .linie{fill:none;stroke:var(--pink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320}
.mini .flaeche{fill:var(--pink);opacity:0}
.mini .punkt{fill:var(--pink);opacity:0}
.mini .pille{position:absolute;right:10px;top:34px;background:var(--pink);color:#fff;font-weight:700;font-size:11px;padding:4px 9px;border-radius:99px;box-shadow:0 6px 16px rgb(229 34 90 / .28);opacity:0;transform:translateY(-6px) scale(.96)}
.mini .bl{max-width:86%;padding:6px 9px;border-radius:12px;margin:4px 0;opacity:0;transform:translateY(6px)}
.mini .bl.frage{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px}
.mini .bl.antw{background:var(--pink);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.mini .tippt{display:inline-flex;gap:3px;padding:7px 9px;border-radius:12px;background:var(--panel);border:1px solid var(--line);margin:4px 0 4px auto;opacity:0;width:max-content}
.mini .tippt i{width:5px;height:5px;border-radius:50%;background:var(--mute)}
.mini .mchat{display:flex;flex-direction:column}
.mini .mchip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ink);opacity:0;margin-top:3px}
.mini .mchip::before{content:"";width:14px;height:14px;border-radius:50%;background:#2fbf71 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/10px no-repeat}
.mini .balken{display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:6px;height:58px;margin-top:4px}
.mini .balken span{display:block;height:var(--h);background:var(--line-2);border-radius:5px 5px 2px 2px;transform:scaleY(0);transform-origin:bottom}
.mini .balken span:last-child{background:var(--pink)}
.mini .monate{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:4px;font-size:10px;color:var(--mute);text-align:center}
.card.in .mini .zahl{animation:miniZaehl 1.6s .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes miniZaehl{from{--n:0}}
.card.in .mini .linie{animation:miniLinie 1.6s .4s cubic-bezier(.4,0,.2,1) forwards}
.card.in .mini .flaeche{animation:miniFlaeche .8s 1.6s ease forwards}
.card.in .mini .punkt{animation:miniPuls 2.4s 2s ease-in-out infinite}
.card.in .mini .pille{animation:miniPille 7s 2.2s ease infinite}
@keyframes miniLinie{to{stroke-dashoffset:0}}
@keyframes miniFlaeche{to{opacity:.12}}
@keyframes miniPuls{0%,100%{opacity:1;r:3.5}50%{opacity:.55;r:5}}
@keyframes miniPille{0%{opacity:0;transform:translateY(-6px) scale(.96)}6%,40%{opacity:1;transform:none}48%,100%{opacity:0;transform:translateY(-4px) scale(.98)}}
.card.in .mini .bl.frage{animation:miniRein .45s .5s ease forwards}
.card.in .mini .tippt{animation:miniTippt 1.4s 1.1s ease forwards}
.card.in .mini .tippt i{animation:miniPunkt 1s ease-in-out infinite}
.card.in .mini .tippt i:nth-child(2){animation-delay:.15s}.card.in .mini .tippt i:nth-child(3){animation-delay:.3s}
.card.in .mini .bl.antw{animation:miniRein .45s 2.5s ease forwards}
.card.in .mini .mchip{animation:miniRein .45s 3.3s ease forwards}
@keyframes miniRein{to{opacity:1;transform:none}}
@keyframes miniTippt{0%{opacity:0}15%,85%{opacity:1}100%{opacity:0;height:0;padding:0;margin:0;border-width:0}}
@keyframes miniPunkt{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-3px);opacity:1}}
.card.in .mini .balken span{animation:miniBalken .9s cubic-bezier(.2,.8,.2,1) forwards}
.card.in .mini .balken span:nth-child(2){animation-delay:.1s}.card.in .mini .balken span:nth-child(3){animation-delay:.2s}.card.in .mini .balken span:nth-child(4){animation-delay:.3s}.card.in .mini .balken span:nth-child(5){animation-delay:.4s}.card.in .mini .balken span:nth-child(6){animation-delay:.55s}
@keyframes miniBalken{to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){
  .mini *,.card.in .mini *{animation:none !important}
  .mini .linie{stroke-dashoffset:0}.mini .flaeche{opacity:.12}.mini .punkt,.mini .bl,.mini .mchip{opacity:1;transform:none}.mini .balken span{transform:none}.mini .tippt,.mini .pille{display:none}
}
.mini .rang{display:flex;align-items:baseline;gap:10px}
.mini .zahl.ab small{margin:0 6px 0 0}
.mini .zahl.ab::before{content:none}
.mini .zahl.ab::after{content:counter(n)}
.mini .rang-alt{font-size:11px;color:var(--mute)}
.mini .mchip.ki{margin-top:4px}
.mini .farben{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mini .farben span{height:30px;border-radius:8px;background:var(--f);border:1px solid var(--line);transform:scale(.6);opacity:0}
.mini .schrift{display:flex;align-items:center;gap:10px;margin-top:8px;opacity:0}
.mini .schrift b{font:700 28px/1 Georgia,"Times New Roman",serif;color:var(--ink)}
.mini .schrift span{font-size:11px;color:var(--mute)}
.card.in .mini .zahl.ab{animation:miniAb 1.8s .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes miniAb{from{--n:24}}
.card.in .mini .mchip.ki{animation:miniRein .45s 2.2s ease forwards}
.card.in .mini .farben span{animation:miniFarbe .5s cubic-bezier(.3,1.4,.5,1) forwards}
.card.in .mini .farben span:nth-child(2){animation-delay:.12s}.card.in .mini .farben span:nth-child(3){animation-delay:.24s}.card.in .mini .farben span:nth-child(4){animation-delay:.36s}
.card.in .mini .schrift{animation:miniRein .5s .7s ease forwards}
@keyframes miniFarbe{to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.mini .farben span,.mini .schrift,.mini .mchip.ki{opacity:1;transform:none}}
