/* OMSAG LP · Web · 09 Projekte — gestapelte Karten (sticky) auf Weiss,
   Grossformat-Dialog je Projekt. JS setzt .wpj-anim -> .is-in und --p je Karte.
   WICHTIG: nirgendwo overflow:hidden auf Vorfahren der Karten, sonst
   funktioniert position:sticky nicht mehr. */
.omsag-lp-wpj{
  --b:var(--omsag-lp-brand,#50aa3c);--bl:var(--omsag-lp-lime,#aad337);--sky:#6fb4dd;
  --grad:var(--omsag-lp-brand-grad,linear-gradient(135deg,#50aa3c,#aad337));
  --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);--bga:var(--omsag-lp-bg-alt,#f9faf8);
  --pill:var(--omsag-lp-pill,999px);--r:var(--omsag-lp-radius,20px);--rl:var(--omsag-lp-radius-lg,28px);
  --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);
  /* Klebepunkt: Kopfzeile plus etwas Luft, je Karte um --i versetzt */
  --stick:calc(var(--omsag-anchor-offset,69px) + 14px);
  --step:24px;--card:#f1f2f5;--cardline:#e3e5ec;--depth:.024;
  position:relative;isolation:isolate;font-family:var(--font);color:var(--ink);
  -webkit-font-smoothing:antialiased;padding:clamp(76px,8.5vw,116px) 0 clamp(16px,1.8vw,28px);
  background:var(--omsag-lp-bg,#fff);
}
.omsag-lp-wpj,.omsag-lp-wpj *,.omsag-lp-wpj *::before,.omsag-lp-wpj *::after{box-sizing:border-box}
.omsag-lp-wpj :is(h2,h3,p,ul,ol,li,dl,dt,dd,figure){margin:0;padding:0}
.omsag-lp-wpj :is(ul,ol){list-style:none}
.omsag-lp-wpj button{border:0;background:none;-webkit-appearance:none;appearance:none;font-family:inherit;color:inherit}
.omsag-lp-wpj a:focus,.omsag-lp-wpj button:focus{outline:none}
.omsag-lp-wpj :is(a,button):focus-visible{outline:2px solid var(--b);outline-offset:3px}
.omsag-lp-wpj__container{position:relative;z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,2.5vw,28px)}

/* ── Kopf ─────────────────────────────────────────────────────────────── */
.omsag-lp-wpj__head{max-width:60ch;margin:0 auto clamp(34px,4vw,50px);text-align:center}
.omsag-lp-wpj .omsag-lp-wpj__overline{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--b)}
.omsag-lp-wpj .omsag-lp-wpj__headline{max-width:20ch;margin:0 auto clamp(18px,2vw,26px);font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.026em;line-height:1.08}
.omsag-lp-wpj__headline em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.omsag-lp-wpj .omsag-lp-wpj__subline{max-width:56ch;margin:0 auto;font-size:clamp(15.5px,1.25vw,18px);line-height:1.6;color:var(--ts)}

/* ── Stapel ───────────────────────────────────────────────────────────── */
.omsag-lp-wpj__stack{position:relative;display:flow-root}
.omsag-lp-wpj__item{position:sticky;
  top:calc(max(var(--stick),var(--stick-own,0px)) + var(--i) * var(--step));
  margin-bottom:0}
.omsag-lp-wpj__gap{display:block;height:clamp(56px,16vh,180px);pointer-events:none}
.omsag-lp-wpj__tail{display:block;height:clamp(90px,26vh,300px);pointer-events:none}

.omsag-lp-wpj__card{display:grid;grid-template-columns:clamp(78px,10vw,150px) minmax(0,1fr);
  gap:clamp(16px,1.8vw,24px) 0;padding:clamp(20px,2.4vw,34px);
  border:1px solid var(--cardline,#e3e5ec);border-radius:clamp(22px,2.6vw,32px);background:var(--card,#f1f2f5);
  transform-origin:center top;will-change:transform;
  transform:scale(calc(1 - var(--d,0) * var(--depth)))}

/* Linke Spalte: Zaehler und Jahr */
.omsag-lp-wpj__index{display:flex;flex-direction:column;gap:5px;grid-column:1;grid-row:1;padding-top:5px}
.omsag-lp-wpj__num{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--mut);white-space:nowrap}
.omsag-lp-wpj__year{font-size:12.5px;font-weight:500;letter-spacing:.04em;color:#b3bcc2}

/* Kopfzeile: Titel · Kurztext · Schlagworte */
.omsag-lp-wpj__meta{display:grid;grid-column:2;grid-row:1;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,auto);
  gap:10px clamp(16px,2.2vw,30px);align-items:center}
.omsag-lp-wpj__title{font-size:clamp(21px,2.2vw,30px);font-weight:700;letter-spacing:-.034em;line-height:1.1;color:var(--ink);
  text-wrap:balance}
.omsag-lp-wpj__lead{font-size:14.5px;line-height:1.5;color:var(--ts)}

/* Bildausschnitt: nur der obere Teil */
.omsag-lp-wpj__media{position:relative;display:block;grid-column:2;grid-row:2;width:100%;aspect-ratio:16/9;
  max-height:min(52vh,540px);padding:0;overflow:hidden;border-radius:clamp(10px,1.1vw,14px);
  background:#eef1ee;cursor:pointer}
.omsag-lp-wpj__shot{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;
  transform:scale(1);transition:transform .7s var(--ez)}
.omsag-lp-wpj__media:hover .omsag-lp-wpj__shot{transform:scale(1.028)}
.omsag-lp-wpj__media::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(16,26,22,.34));
  content:"";opacity:0;pointer-events:none;transition:opacity .4s var(--ez)}
.omsag-lp-wpj__media:hover::after{opacity:1}
.omsag-lp-wpj__open{position:absolute;z-index:2;right:clamp(14px,1.6vw,22px);bottom:clamp(14px,1.6vw,22px);
  display:grid;width:clamp(44px,3.9vw,56px);height:clamp(44px,3.9vw,56px);place-items:center;
  border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .35s var(--ez),background .3s var(--ez),border-color .3s var(--ez)}
.omsag-lp-wpj__open svg{width:46%;height:46%;stroke-width:1.9}
.omsag-lp-wpj__media:hover .omsag-lp-wpj__open{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.62);
  transform:translate(3px,-3px)}

.omsag-lp-wpj__tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.omsag-lp-wpj__tags li{padding:7px 13px;border:1px solid var(--ln);border-radius:var(--pill);
  background:#fff;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ts);white-space:nowrap}

.omsag-lp-wpj__foot{margin-top:clamp(34px,4vw,52px);text-align:center}
.omsag-lp-wpj__btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:var(--pill);
  background:linear-gradient(135deg,#232730,#3a4150);color:#fff;font-size:15px;font-weight:600;text-decoration:none;
  transition:transform .25s var(--ez),box-shadow .25s var(--ez)}
.omsag-lp-wpj__btn svg{width:18px;height:18px;transition:transform .25s var(--ez)}
.omsag-lp-wpj__btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 40px -16px rgba(35,39,48,.5)}
.omsag-lp-wpj__btn:hover svg{transform:translateX(4px)}

/* ── Reveal ───────────────────────────────────────────────────────────── */
.omsag-lp-wpj.wpj-anim :is(.omsag-lp-wpj__overline,.omsag-lp-wpj__headline,.omsag-lp-wpj__subline){opacity:0;transform:translateY(18px)}
.omsag-lp-wpj.wpj-anim.is-in .omsag-lp-wpj__overline{animation:wpj-up .6s var(--ez) .02s forwards}
.omsag-lp-wpj.wpj-anim.is-in .omsag-lp-wpj__headline{animation:wpj-up .7s var(--ez) .08s forwards}
.omsag-lp-wpj.wpj-anim.is-in .omsag-lp-wpj__subline{animation:wpj-up .7s var(--ez) .16s forwards}
.omsag-lp-wpj.wpj-anim .omsag-lp-wpj__item .omsag-lp-wpj__card{opacity:0}
.omsag-lp-wpj.wpj-anim .omsag-lp-wpj__item.is-in .omsag-lp-wpj__card{animation:wpj-card .8s var(--ez) forwards}
@keyframes wpj-up{to{opacity:1;transform:none}}
@keyframes wpj-card{from{opacity:0;transform:translateY(34px) scale(.985)}to{opacity:1;transform:scale(calc(1 - var(--d,0) * var(--depth)))}}

/* ── Dialog ───────────────────────────────────────────────────────────── */
body.omsag-wpj-modal-open{overflow:hidden}
.omsag-lp-wpj .wpj-dialog{width:min(1240px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);
  padding:0;overflow:hidden;border:0;border-radius:clamp(18px,2vw,26px);background:var(--omsag-lp-bg,#fff);color:var(--ink);
  box-shadow:0 50px 130px rgba(14,24,20,.42)}
.omsag-lp-wpj .wpj-dialog[open]{animation:wpj-dlg-in .45s var(--ez) both}
.omsag-lp-wpj .wpj-dialog::backdrop{background:rgba(14,22,19,.6);backdrop-filter:blur(10px);animation:wpj-fade .35s ease both}
.omsag-lp-wpj .wpj-dialog__shell{position:relative;display:flex;height:min(920px,calc(100vh - 34px));flex-direction:column}
.omsag-lp-wpj .wpj-dialog__scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;flex:1}
.omsag-lp-wpj .wpj-dialog__scroll::-webkit-scrollbar{width:0;height:0}
.omsag-lp-wpj .wpj-view[hidden]{display:none!important}

.omsag-lp-wpj .wpj-dialog__close{position:absolute;z-index:6;top:clamp(14px,1.6vw,20px);right:clamp(14px,1.6vw,20px);
  display:grid;width:46px;height:46px;place-items:center;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);background:rgba(16,26,22,.5);color:#fff;cursor:pointer;backdrop-filter:blur(14px);
  box-shadow:0 10px 26px -14px rgba(8,14,12,.8);transition:background .25s ease,transform .25s var(--ez)}
.omsag-lp-wpj .wpj-dialog__close svg{width:22px;height:22px}
.omsag-lp-wpj .wpj-dialog__close:hover{background:rgba(16,26,22,.78);transform:rotate(4deg)}

.omsag-lp-wpj .wpj-hero{position:relative;height:min(58vh,520px);background:#0d181d}
.omsag-lp-wpj .wpj-hero__media{display:block;width:100%;height:100%;background:#0d181d;object-fit:cover;object-position:top center}
.omsag-lp-wpj .wpj-hero__media--own{object-position:center}
.omsag-lp-wpj video.wpj-hero__media{cursor:pointer;object-fit:contain}
.omsag-lp-wpj video.wpj-hero__media::-webkit-media-controls,
.omsag-lp-wpj video.wpj-hero__media::-webkit-media-controls-start-playback-button,
.omsag-lp-wpj video.wpj-hero__media::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none}
.omsag-lp-wpj .wpj-hero__veil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,14,12,.34) 0%,rgba(8,14,12,.04) 22%,rgba(8,14,12,.06) 38%,rgba(8,14,12,.62) 76%,rgba(8,14,12,.9) 100%)}
.omsag-lp-wpj .wpj-hero__copy{position:absolute;right:clamp(20px,3vw,44px);bottom:clamp(18px,2.6vw,34px);left:clamp(20px,3vw,44px);
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}
.omsag-lp-wpj .wpj-hero__copy h2{font-size:clamp(30px,5.2vw,66px);font-weight:700;letter-spacing:-.04em;line-height:.98;color:#fff;text-shadow:0 2px 34px rgba(8,14,12,.55)}
.omsag-lp-wpj .wpj-hero__copy span{padding-bottom:6px;font-size:13px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.72);white-space:nowrap}

.omsag-lp-wpj .wpj-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  margin:0 clamp(20px,3vw,44px);padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--ln)}
.omsag-lp-wpj .wpj-facts > div{padding:0 clamp(14px,2vw,26px);border-left:1px solid var(--ln)}
.omsag-lp-wpj .wpj-facts > div:first-child{padding-left:0;border-left:0}
.omsag-lp-wpj .wpj-facts dt{margin-bottom:6px;font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--mut)}
.omsag-lp-wpj .wpj-facts dd{font-size:clamp(15px,1.3vw,17px);font-weight:600;letter-spacing:-.012em;color:var(--ink);line-height:1.3}

.omsag-lp-wpj .wpj-body{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1.6fr);
  gap:clamp(22px,3vw,48px);padding:clamp(30px,3.6vw,58px) clamp(20px,3vw,44px)}
.omsag-lp-wpj .wpj-body__brand{display:flex;align-items:flex-start;padding-top:6px}
.omsag-lp-wpj .wpj-body__brand img{display:block;width:auto;max-width:150px;max-height:34px;object-fit:contain;object-position:left top}
.omsag-lp-wpj .wpj-body__brand strong{font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--ink)}
.omsag-lp-wpj .wpj-body__main h3{max-width:24ch;margin:0 0 18px;font-size:clamp(25px,3.4vw,44px);font-weight:700;
  letter-spacing:-.034em;line-height:1.1;color:var(--ink)}
.omsag-lp-wpj .wpj-body__main p{max-width:62ch;font-size:clamp(15px,1.2vw,17px);line-height:1.62;color:var(--ts)}

.omsag-lp-wpj .wpj-kpis{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,2.6vw,32px)}
.omsag-lp-wpj .wpj-kpis li{min-width:170px;padding:15px 20px;border:1px solid rgba(80,170,60,.24);border-radius:16px;
  background:rgba(80,170,60,.06)}
.omsag-lp-wpj .wpj-kpis b{display:block;font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.05;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.omsag-lp-wpj .wpj-kpis span{display:block;margin-top:4px;font-size:12.5px;line-height:1.3;color:var(--ts)}
.omsag-lp-wpj .wpj-live{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(22px,2.4vw,30px);padding:14px 24px;border:1px solid var(--ln);
  border-radius:var(--pill);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;
  transition:border-color .25s var(--ez),background .25s var(--ez)}
.omsag-lp-wpj .wpj-live svg{width:16px;height:16px;color:var(--b);transition:transform .25s var(--ez)}
.omsag-lp-wpj .wpj-live:hover{border-color:rgba(80,170,60,.45);background:rgba(80,170,60,.06);color:var(--ink)}
.omsag-lp-wpj .wpj-live:hover svg{transform:translate(2px,-2px)}

.omsag-lp-wpj .wpj-full{padding:0 clamp(20px,3vw,44px) clamp(28px,3.4vw,48px)}
.omsag-lp-wpj .wpj-full__label{display:flex;align-items:center;gap:12px;margin:0 0 16px;
  font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.omsag-lp-wpj .wpj-full__label span{width:26px;height:1.5px;border-radius:2px;background:var(--grad)}
.omsag-lp-wpj .wpj-full img{display:block;width:100%;height:auto;border:1px solid var(--ln);border-radius:var(--r)}
.omsag-lp-wpj .wpj-full__video{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--r);background:#0d181d;
  cursor:pointer;object-fit:contain}
.omsag-lp-wpj .wpj-full__video::-webkit-media-controls,
.omsag-lp-wpj .wpj-full__video::-webkit-media-controls-start-playback-button,
.omsag-lp-wpj .wpj-full__video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none}
.omsag-lp-wpj .wpj-full + .wpj-full{padding-top:0}

.omsag-lp-wpj .wpj-dialog__footer{display:flex;min-height:66px;align-items:center;justify-content:space-between;
  gap:24px;padding:10px clamp(20px,3vw,44px);border-top:1px solid var(--ln);background:var(--bga)}
.omsag-lp-wpj .wpj-dialog__footer p{display:grid;min-width:210px;grid-template-columns:auto auto 1fr;gap:9px;align-items:center;
  font-size:13px;color:var(--mut)}
.omsag-lp-wpj .wpj-dialog__footer p > span{font-weight:700;color:var(--ink)}
.omsag-lp-wpj .wpj-dialog__footer p i{height:3px;overflow:hidden;border-radius:3px;background:var(--ln)}
.omsag-lp-wpj .wpj-dialog__footer p i b{display:block;width:33%;height:100%;border-radius:inherit;background:var(--grad);
  transition:width .45s var(--ez)}
.omsag-lp-wpj .wpj-dialog__footer > div{display:flex;gap:8px}
.omsag-lp-wpj .wpj-dialog__footer button{display:grid;width:43px;height:43px;place-items:center;border:1px solid var(--ln);
  border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .25s ease,color .25s ease}
.omsag-lp-wpj .wpj-dialog__footer button svg{width:19px;height:19px}
.omsag-lp-wpj .wpj-dialog__footer button:hover{border-color:var(--b);color:var(--b)}

@keyframes wpj-dlg-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
@keyframes wpj-fade{from{opacity:0}to{opacity:1}}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .omsag-lp-wpj{--step:18px}
  .omsag-lp-wpj__meta{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}
  .omsag-lp-wpj__lead{grid-column:1 / -1;max-width:62ch}
  .omsag-lp-wpj .wpj-body{grid-template-columns:1fr;gap:20px}
}
@media(max-width:720px){
  .omsag-lp-wpj{--step:14px;--depth:.018}
  .omsag-lp-wpj__card{grid-template-columns:1fr;gap:14px}
  .omsag-lp-wpj__index{flex-direction:row;gap:12px;grid-column:1;grid-row:1;padding-top:0}
  .omsag-lp-wpj__meta{grid-column:1;grid-row:2;grid-template-columns:1fr}
  .omsag-lp-wpj__media{grid-column:1;grid-row:3;max-height:none}
  .omsag-lp-wpj__tags{justify-content:flex-start}
  .omsag-lp-wpj .wpj-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:16px}
  .omsag-lp-wpj .wpj-dialog__shell{height:calc(100dvh - 14px)}
  .omsag-lp-wpj .wpj-hero{height:min(46vh,360px)}
  .omsag-lp-wpj .wpj-hero__copy{flex-direction:column;align-items:flex-start;gap:6px}
  .omsag-lp-wpj .wpj-facts{grid-template-columns:1fr;gap:16px}
  .omsag-lp-wpj .wpj-facts > div{padding:0;border-left:0}
  .omsag-lp-wpj .wpj-dialog__footer{min-height:58px}
  .omsag-lp-wpj .wpj-dialog__footer p{min-width:130px}
}

@media(prefers-reduced-motion:reduce){
  .omsag-lp-wpj.wpj-anim [class*="omsag-lp-wpj__"]{opacity:1!important;transform:none!important;animation:none!important}
  .omsag-lp-wpj__card{transform:none!important}
  .omsag-lp-wpj__shot,.omsag-lp-wpj .wpj-dialog[open]{transition:none;animation:none}
}

.omsag-lp-wpj :is(h2,h3,p,li,span,strong,small,em,b,dt,dd){overflow-wrap:break-word}
