/* OMSAG LP · Data & CRM · 05 Vier Ebenen — Light. Aufklappbare Ebenen; JS setzt .dab-anim -> .is-in und togglet .is-open. */
.omsag-lp-dab{
  --b:var(--omsag-lp-brand,#50aa3c);--bl:var(--omsag-lp-lime,#aad337);--sky:#6fb4dd;
  --ink:var(--omsag-lp-ink,#232730);--ts:var(--omsag-lp-text-soft,#5a6270);--mut:var(--omsag-lp-muted,#8a93a3);
  --ln:var(--omsag-lp-line,#e6e8ec);--ez:var(--omsag-lp-ease,cubic-bezier(.2,.7,.2,1));
  --font:var(--omsag-lp-font,'Outfit',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif);
  position:relative;isolation:isolate;overflow:hidden;font-family:var(--font);color:var(--ink);
  -webkit-font-smoothing:antialiased;padding:clamp(72px,8vw,112px) 0;
  background:var(--omsag-lp-bg-alt,#f9faf8);
}
.omsag-lp-dab,.omsag-lp-dab *,.omsag-lp-dab *::before,.omsag-lp-dab *::after{box-sizing:border-box}
.omsag-lp-dab button:focus,.omsag-lp-dab button:focus-visible{outline:none;box-shadow:none}
/* Sektions-Hintergrundbild + leichter Schleier, damit Text sicher lesbar bleibt. */
.omsag-lp-dab__bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}
.omsag-lp-dab__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(249,250,248,.55),rgba(249,250,248,.12) 34%,rgba(249,250,248,.2) 66%,rgba(249,250,248,.62))}
.omsag-lp-dab__container{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,2.5vw,28px)}

.omsag-lp-dab__head{margin:0 auto clamp(28px,3.4vw,42px);max-width:78ch;text-align:center}
.omsag-lp-dab__overline{margin:0 0 16px;color:var(--b);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.omsag-lp-dab__headline{margin:0 auto 16px;max-width:24ch;font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.026em;line-height:1.08;color:var(--ink)}
.omsag-lp-dab__body{margin:0 auto;max-width:72ch;font-size:clamp(16px,1.25vw,18px);line-height:1.62;color:var(--ts)}

/* Glas-Board: KEIN transform auf diesem Element oder seinen Vorfahren, sonst kippt backdrop-filter in Chrome. */
.omsag-lp-dab__board{padding:clamp(18px,2.2vw,28px);border-radius:26px;border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.52);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 34px 74px -48px rgba(35,55,60,.4),inset 0 1px rgba(255,255,255,.85)}
.omsag-lp-dab__board-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin:0 0 clamp(14px,1.8vw,20px);padding:0 clamp(4px,1vw,10px)}
.omsag-lp-dab__board-head strong{font-size:clamp(17px,1.6vw,21px);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.omsag-lp-dab__board-head span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--mut)}
.omsag-lp-dab__board-head span svg{width:14px;height:14px;color:var(--b)}

.omsag-lp-dab__layers{position:relative;display:flex;flex-direction:column;gap:10px;padding-right:56px}

/* Rueckkopplung: JS zeichnet den Pfad von der Mitte der letzten Ebene um die Kurve zur Mitte der ersten.
   Der Lichtimpuls laeuft als Dash-Segment ueber den kompletten Pfad – inklusive der Rundungen. */
.omsag-lp-dab__return{position:absolute;top:0;bottom:0;right:0;width:50px;pointer-events:none}
.omsag-lp-dab__return svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
.omsag-lp-dab__rail-base{stroke:rgba(80,170,60,.4);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:5 6;animation:dab-dashflow 3.6s linear infinite}
.omsag-lp-dab__rail-comet{stroke:var(--b);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 6px rgba(80,170,60,.7));
  stroke-dashoffset:var(--from,0px);animation:dab-comet var(--dur,4.6s) linear infinite}
/* top wird pro Frame nachgefuehrt; die kurze Transition buegelt ausgelassene Frames glatt. */
.omsag-lp-dab__return b{position:absolute;top:var(--mid,50%);left:2px;margin-top:-42px;writing-mode:vertical-rl;
  font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--b);
  background:rgba(255,255,255,.9);padding:8px 3px;border-radius:4px;
  transition:top .18s linear;will-change:top}

.omsag-lp-dab__layer{position:relative;border-radius:18px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.56);
  overflow:hidden;transition:border-color .35s var(--ez),background .35s var(--ez),box-shadow .35s var(--ez)}
.omsag-lp-dab__layer:hover{border-color:rgba(80,170,60,.24);background:rgba(255,255,255,.72)}
.omsag-lp-dab__layer.is-open{background:rgba(255,255,255,.9);border-color:rgba(80,170,60,.3);box-shadow:0 22px 48px -38px rgba(45,100,60,.6)}

.omsag-lp-dab__layer-head{display:grid;grid-template-columns:40px 52px minmax(0,1.5fr) minmax(0,1.15fr) minmax(0,1fr) 34px;
  align-items:center;gap:clamp(12px,1.4vw,20px);width:100%;padding:clamp(16px,1.8vw,22px) clamp(14px,1.6vw,20px);
  border:0;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:inherit}
.omsag-lp-dab__layer-num{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--mut)}
.omsag-lp-dab__layer.is-open .omsag-lp-dab__layer-num{color:var(--b)}
.omsag-lp-dab__layer-ico{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:var(--b);background:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.9);transition:border-color .35s var(--ez)}
.omsag-lp-dab__layer.is-open .omsag-lp-dab__layer-ico{border-color:rgba(80,170,60,.26)}
.omsag-lp-dab__layer-ico svg{width:26px;height:26px}
.omsag-lp-dab__layer-title{min-width:0;display:flex;flex-direction:column;gap:5px}
.omsag-lp-dab__layer-title strong{font-size:clamp(16px,1.4vw,19px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.omsag-lp-dab__layer-title small{font-size:12.5px;line-height:1.4;color:var(--mut)}
.omsag-lp-dab__layer-claim{min-width:0;padding-left:clamp(12px,1.4vw,20px);border-left:1px solid var(--ln);
  font-size:14px;line-height:1.5;color:var(--ts)}
.omsag-lp-dab__layer-docs{min-width:0;display:flex;flex-direction:column;gap:5px;padding-left:clamp(12px,1.4vw,20px);border-left:1px dashed var(--ln)}
.omsag-lp-dab__layer-docs em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.omsag-lp-dab__layer-docs i{display:flex;align-items:center;gap:7px;font-style:normal;font-size:13px;font-weight:500;color:var(--ink)}
.omsag-lp-dab__layer-docs i svg{width:14px;height:14px;flex:0 0 14px;color:var(--b)}
.omsag-lp-dab__layer-toggle{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink);
  background:#fff;border:1px solid var(--ln);transition:transform .35s var(--ez),background .35s var(--ez),color .35s var(--ez)}
.omsag-lp-dab__layer-toggle svg{width:16px;height:16px}
.omsag-lp-dab__layer.is-open .omsag-lp-dab__layer-toggle{transform:rotate(45deg);background:var(--omsag-lp-brand-grad,linear-gradient(135deg,#50aa3c,#aad337));border-color:transparent;color:#fff}

.omsag-lp-dab__layer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ez)}
.omsag-lp-dab__layer.is-open .omsag-lp-dab__layer-wrap{grid-template-rows:1fr}
.omsag-lp-dab__layer-inner{overflow:hidden;min-height:0}
.omsag-lp-dab__layer-inner>span{display:block;margin:0 clamp(14px,1.6vw,20px) 8px 106px;font-size:10px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.omsag-lp-dab__layer-inner p{margin:0 clamp(14px,1.6vw,20px) clamp(18px,2vw,24px) 106px;max-width:82ch;
  font-size:14.5px;line-height:1.6;color:var(--ts)}

/* Hinweis-Box laeuft nicht mehr ueber die volle Breite. */
.omsag-lp-dab__loopnote{display:flex;width:fit-content;max-width:100%;align-items:center;gap:12px;
  margin:clamp(14px,1.8vw,20px) auto 0;
  padding:clamp(12px,1.4vw,15px) clamp(18px,2vw,24px) clamp(12px,1.4vw,15px) clamp(12px,1.4vw,15px);border-radius:999px;text-align:left;
  border:1px dashed rgba(80,170,60,.36);background:linear-gradient(120deg,rgba(80,170,60,.1),rgba(170,211,55,.1));
  font-size:14px;font-weight:500;line-height:1.4;color:var(--ink)}
.omsag-lp-dab__loopnote span{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--b);
  background:#fff;border:1px solid rgba(80,170,60,.26)}
.omsag-lp-dab__loopnote span svg{width:18px;height:18px;animation:dab-spin 12s linear infinite}

@keyframes dab-dashflow{to{stroke-dashoffset:-44}}
@keyframes dab-comet{from{stroke-dashoffset:var(--from,0px)}to{stroke-dashoffset:var(--to,0px)}}
@keyframes dab-spin{to{transform:rotate(360deg)}}

/* Reveal */
.omsag-lp-dab.dab-anim .omsag-lp-dab__overline,.omsag-lp-dab.dab-anim .omsag-lp-dab__headline,
.omsag-lp-dab.dab-anim .omsag-lp-dab__body,.omsag-lp-dab.dab-anim .omsag-lp-dab__board-head,
.omsag-lp-dab.dab-anim .omsag-lp-dab__layer,.omsag-lp-dab.dab-anim .omsag-lp-dab__loopnote{opacity:0;transform:translateY(18px)}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__overline{animation:dab-up .6s var(--ez) .02s forwards}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__headline{animation:dab-up .7s var(--ez) .1s forwards}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__body{animation:dab-up .7s var(--ez) .18s forwards}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__board-head{animation:dab-up .6s var(--ez) .26s forwards}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__layer{animation:dab-up .62s var(--ez) forwards;animation-delay:calc(.3s + var(--i) * .1s)}
.omsag-lp-dab.dab-anim.is-in .omsag-lp-dab__loopnote{animation:dab-up .7s var(--ez) .78s forwards}
@keyframes dab-up{to{opacity:1;transform:none}}

@media(max-width:1180px){
  .omsag-lp-dab__layer-head{grid-template-columns:36px 48px minmax(0,1.4fr) minmax(0,1fr) 34px;row-gap:14px}
  .omsag-lp-dab__layer-docs{grid-column:3/6;padding-left:0;border-left:0;border-top:1px dashed var(--ln);padding-top:12px;
    flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}
}
@media(max-width:880px){
  .omsag-lp-dab__layers{padding-right:0}
  .omsag-lp-dab__return{display:none}
  .omsag-lp-dab__layer-head{grid-template-columns:36px minmax(0,1fr) 34px;row-gap:12px}
  .omsag-lp-dab__layer-ico{display:none}
  .omsag-lp-dab__layer-claim{grid-column:1/4;padding-left:0;border-left:0;border-top:1px solid var(--ln);padding-top:12px}
  .omsag-lp-dab__layer-docs{grid-column:1/4}
  .omsag-lp-dab__layer-inner>span,.omsag-lp-dab__layer-inner p{margin-left:clamp(14px,1.6vw,20px)}
}
@media(prefers-reduced-motion:reduce){
  .omsag-lp-dab.dab-anim [class*="omsag-lp-dab__"]{opacity:1!important;transform:none!important}
  .omsag-lp-dab *{animation:none!important}
  .omsag-lp-dab__layer-wrap{grid-template-rows:1fr!important}
}

/* Lange Komposita duerfen nie ueberlaufen */
.omsag-lp-dab :is(h1,h2,h3,h4,p,strong,small,em,b,span,dd,li){overflow-wrap:break-word}

/* Werkzeuge einer Ebene: Marke plus Bezeichnung, vier je Reihe. Die erste
   Reihe zeigt so die Tags im Browser, die zweite die serverseitigen
   Schnittstellen — die Gruppierung entsteht aus dem Raster, ohne Zwischentitel. */
.omsag-lp-dab__layer-inner p:has(+ .omsag-lp-dab__tools){margin-bottom:clamp(10px,1.2vw,14px)}
.omsag-lp-dab__tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;list-style:none;
  margin:0 clamp(14px,1.6vw,20px) clamp(18px,2vw,24px) 106px;padding:clamp(14px,1.6vw,18px) 0 0;
  border-top:1px dashed var(--ln)}
.omsag-lp-dab__tool{display:flex;align-items:center;gap:11px;min-width:0}
.omsag-lp-dab__tool-mark{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center}
.omsag-lp-dab__tool-mark svg,.omsag-lp-dab__tool-mark img{display:block;width:100%;height:100%;object-fit:contain}
.omsag-lp-dab__tool b{min-width:0;font-size:13.5px;font-weight:500;line-height:1.32;color:var(--ink)}

@media(max-width:1180px){
  /* Zwei Spalten statt vier — mit Deckel, damit Marke und Bezeichnung
     zusammenbleiben und nicht quer ueber die halbe Karte auseinanderlaufen. */
  .omsag-lp-dab__tools{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
}
@media(max-width:880px){
  .omsag-lp-dab__tools{margin-left:clamp(14px,1.6vw,20px)}
}
@media(max-width:520px){
  .omsag-lp-dab__tools{grid-template-columns:minmax(0,1fr);gap:11px}
}
