/* OMSAG LP · AIO · 04 Suite — Light. Pin-Stack: Headline bleibt oben, Cards stapeln scroll-gesteuert (Folder-Frame), dann direkt weiter in die nächste Sektion. JS: setzt --card-h + Card-Transforms; .aos-anim -> .is-in (Head-Reveal). */
.omsag-lp-aos{
  --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);
  --n:5;--peek:clamp(14px,1.5vw,20px);--step:clamp(220px,36vh,330px);--card-h:280px;
  position:relative;isolation:isolate;font-family:var(--font);color:var(--ink);
  -webkit-font-smoothing:antialiased;background:var(--omsag-lp-bg,#fff);
}
.omsag-lp-aos,.omsag-lp-aos *,.omsag-lp-aos *::before,.omsag-lp-aos *::after{box-sizing:border-box}

/* Scene liefert die Scroll-Distanz; Pin bleibt 1 Viewport lang stehen. */
.omsag-lp-aos__scene{position:relative;height:calc(100vh + (var(--n) - 1) * var(--step))}
.omsag-lp-aos__pin{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,7vh,88px) 0}
.omsag-lp-aos__container{position:relative;z-index:1;width:100%;max-width:1040px;margin:0 auto;padding:0 clamp(20px,2.5vw,28px)}

/* Head — zentriert, bleibt über dem Stapel sichtbar (Teil der gepinnten Einheit). */
.omsag-lp-aos__head{max-width:760px;margin:0 auto clamp(26px,3.2vw,40px);text-align:center}
.omsag-lp-aos__overline{margin:0 0 14px;color:var(--b);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.omsag-lp-aos__headline{margin:0 auto 14px;max-width:20ch;font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.026em;line-height:1.07;color:var(--ink)}
.omsag-lp-aos__body{margin:0 auto;max-width:56ch;font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:var(--ts)}

/* Stack — Cards absolut übereinander, Folder-Peek per top-Offset. Höhe = größte Card + Peeks. */
.omsag-lp-aos__stack{position:relative;width:100%;max-width:880px;margin:0 auto;
  height:calc(var(--card-h) + (var(--n) - 1) * var(--peek))}
.omsag-lp-aos__card{position:absolute;left:0;right:0;top:calc(var(--i) * var(--peek));z-index:calc(var(--i) + 1);
  min-height:var(--card-h);display:flex;flex-direction:column;
  padding:clamp(26px,3vw,36px);border-radius:22px;border:1px solid rgba(28,49,57,.08);
  box-shadow:0 -1px 0 rgba(28,49,57,.04),0 16px 34px -26px rgba(45,100,130,.42);
  transition:box-shadow .4s var(--ez);will-change:transform,opacity}
.omsag-lp-aos__card:hover{box-shadow:0 -1px 0 rgba(28,49,57,.05),0 24px 46px -28px rgba(45,100,130,.46)}
/* Erste Card hellgrau, letzte weiss; Card 2-4 behalten die Pastellfarben. */
.omsag-lp-aos__card--p1{background:#eef0f2;border-color:rgba(28,49,57,.1)}
.omsag-lp-aos__card--p2{background:linear-gradient(150deg,#eff6fb,#e4f0f8);border-color:rgba(111,180,221,.24)}
.omsag-lp-aos__card--p3{background:linear-gradient(150deg,#f7faeb,#eff5da);border-color:rgba(170,211,55,.3)}
.omsag-lp-aos__card--p4{background:linear-gradient(150deg,#eef7f2,#e3f1ea);border-color:rgba(80,170,60,.16)}
.omsag-lp-aos__card--p5{background:#ffffff;border-color:rgba(28,49,57,.08)}
.omsag-lp-aos__card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.omsag-lp-aos__card-ico{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:var(--b);background:rgba(255,255,255,.92);border:1px solid rgba(80,170,60,.16);box-shadow:0 10px 22px -16px rgba(45,100,130,.5)}
.omsag-lp-aos__card-ico svg{width:28px;height:28px}
.omsag-lp-aos__num{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.omsag-lp-aos__card-title{margin:0 0 11px;font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.omsag-lp-aos__card-desc{margin:0 0 20px;font-size:clamp(15px,1.2vw,17px);line-height:1.55;color:var(--ts);max-width:60ch}
.omsag-lp-aos__card-link{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;width:fit-content;margin-top:auto}
.omsag-lp-aos__card-link span{border-bottom:1.5px solid var(--b);padding-bottom:2px}
.omsag-lp-aos__card-link svg{width:17px;height:17px;color:var(--b);transition:transform .25s var(--ez)}
.omsag-lp-aos__card-link:hover{color:var(--b)}
.omsag-lp-aos__card-link:hover svg{transform:translateX(4px)}

/* Head-Reveal (einmalig beim Eintritt) */
.omsag-lp-aos.aos-anim .omsag-lp-aos__overline,.omsag-lp-aos.aos-anim .omsag-lp-aos__headline,
.omsag-lp-aos.aos-anim .omsag-lp-aos__body{opacity:0;transform:translateY(24px)}
.omsag-lp-aos.aos-anim.is-in .omsag-lp-aos__overline{animation:aos-up .6s var(--ez) .02s forwards}
.omsag-lp-aos.aos-anim.is-in .omsag-lp-aos__headline{animation:aos-up .7s var(--ez) .1s forwards}
.omsag-lp-aos.aos-anim.is-in .omsag-lp-aos__body{animation:aos-up .7s var(--ez) .18s forwards}
@keyframes aos-up{to{opacity:1;transform:none}}

/* Tablet/Mobil — kein Pin, saubere normale Karten-Liste (voller Text, keine Overlaps). */
@media(max-width:860px){
  .omsag-lp-aos__scene{height:auto}
  .omsag-lp-aos__pin{position:static;min-height:0;padding:clamp(56px,9vw,80px) 0}
  .omsag-lp-aos__stack{height:auto;display:flex;flex-direction:column;gap:clamp(14px,3vw,20px)}
  .omsag-lp-aos__card{position:static;top:auto;min-height:0;transform:none!important;opacity:1!important}
}
@media(prefers-reduced-motion:reduce){
  .omsag-lp-aos__scene{height:auto}
  .omsag-lp-aos__pin{position:static;min-height:0}
  .omsag-lp-aos__stack{height:auto;display:flex;flex-direction:column;gap:clamp(16px,2vw,24px)}
  .omsag-lp-aos__card{position:static;top:auto;min-height:0;transform:none!important;opacity:1!important}
  .omsag-lp-aos.aos-anim [class*="omsag-lp-aos__"]{opacity:1!important;transform:none!important}
  .omsag-lp-aos *{animation:none!important}
}
