/* KONTUR CMS 0.6.0.26 – vollflächige Scroll-Timeline Unternehmensgeschichte */
.history-page.history-scroll-timeline{
  --history-header-offset:126px;
  position:relative;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0;
  overflow:visible;
  background:#06111f;
  color:#fff;
  isolation:isolate;
}
.history-scroll-timeline *{box-sizing:border-box}
.history-scroll-empty{
  min-height:calc(100svh - var(--history-header-offset));
  display:flex;
  align-items:center;
  padding:clamp(70px,8vw,120px) 0;
  color:#0a2038;
  background:#eef4f8;
}
.history-scroll-empty h1{margin:10px 0 18px;font-size:clamp(44px,6vw,82px);line-height:1;letter-spacing:-.05em}
.history-scroll-empty p{max-width:780px;color:#5f7286;font-size:clamp(16px,1.3vw,20px);line-height:1.65}

.history-scroll-slide{
  --history-accent:#0B63B6;
  position:relative;
  width:100%;
  height:calc(100svh - var(--history-header-offset));
  min-height:560px;
  overflow:hidden;
  scroll-margin-top:var(--history-header-offset);
  background:#06111f;
  outline:none;
}
.history-scroll-media,
.history-scroll-media img,
.history-scroll-media-fallback,
.history-scroll-overlay,
.history-scroll-frame{
  position:absolute;
  inset:0;
}
.history-scroll-media{z-index:0;overflow:hidden;background:#071a2c}
.history-scroll-media img{
  width:100%;
  height:100%;
  max-width:none!important;
  object-fit:cover;
  object-position:center;
  transform:scale(1.075);
  filter:saturate(.86) contrast(1.03) brightness(.92);
  transition:transform 1.45s cubic-bezier(.16,.72,.22,1),filter 1s ease;
}
.history-scroll-slide.is-active .history-scroll-media img{
  transform:scale(1.015);
  filter:saturate(.96) contrast(1.04) brightness(.96);
}
.history-scroll-media-fallback{
  background:
    radial-gradient(circle at 24% 38%,color-mix(in srgb,var(--history-accent) 52%,#8bc8f2),transparent 34%),
    linear-gradient(135deg,#0c2945 0%,#06111f 68%,#02070d 100%);
}
.history-scroll-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(2,10,18,.87) 0%,rgba(2,10,18,.73) 34%,rgba(2,10,18,.30) 62%,rgba(2,10,18,.18) 100%),
    linear-gradient(0deg,rgba(1,8,15,.70) 0%,rgba(1,8,15,.08) 45%,rgba(1,8,15,.26) 100%);
}
.history-scroll-frame{
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,var(--history-accent),var(--history-accent)) left top/0 3px no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,0)) left bottom/46% 1px no-repeat;
  opacity:.9;
  transition:background-size 1.1s cubic-bezier(.2,.7,.2,1) .12s;
}
.history-scroll-slide.is-active .history-scroll-frame{
  background-size:min(330px,24vw) 3px,46% 1px;
}
.history-scroll-content{
  position:absolute;
  z-index:4;
  left:clamp(34px,7vw,126px);
  top:50%;
  width:min(720px,58vw);
  transform:translate3d(0,calc(-50% + 34px),0);
  opacity:.18;
  color:#fff;
  text-shadow:0 2px 28px rgba(0,0,0,.28);
  transition:transform .78s cubic-bezier(.18,.75,.2,1),opacity .58s ease;
}
.history-scroll-slide.is-active .history-scroll-content{
  transform:translate3d(0,-50%,0);
  opacity:1;
}
.history-scroll-section-label{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:clamp(22px,3vh,34px);
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.history-scroll-section-label span{font-weight:760;color:color-mix(in srgb,var(--history-accent) 70%,#fff)}
.history-scroll-section-label strong{font-weight:610;color:rgba(255,255,255,.72)}
.history-scroll-section-label span+strong::before{content:"/";margin-right:12px;color:rgba(255,255,255,.32)}
.history-scroll-meta{display:flex;align-items:center;gap:12px;min-height:26px;margin-bottom:12px}
.history-scroll-badge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 10px;
  border:1px solid color-mix(in srgb,var(--history-accent) 74%,#fff);
  border-radius:var(--cms-badge-radius,999px);
  background:color-mix(in srgb,var(--history-accent) 68%,transparent);
  color:#fff;
  font-size:10px;
  font-weight:760;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.history-scroll-count{color:rgba(255,255,255,.56);font-size:11px;font-weight:560;letter-spacing:.12em}
.history-scroll-year{
  margin:0 0 10px;
  color:var(--history-accent);
  font-size:clamp(58px,8vw,118px);
  font-weight:430;
  font-style:italic;
  line-height:.84;
  letter-spacing:-.065em;
}
.history-scroll-content h2{
  max-width:760px;
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(40px,5.2vw,78px);
  font-weight:690;
  line-height:.98;
  letter-spacing:-.052em;
}
.history-scroll-text,
.history-scroll-intro-text{
  max-width:660px;
  margin:0;
  color:rgba(244,248,252,.88);
  font-size:clamp(16px,1.28vw,20px);
  font-weight:390;
  line-height:1.65;
}
.history-scroll-intro-text{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.19);
  color:rgba(228,237,246,.68);
  font-size:clamp(14px,1.05vw,17px);
}

/* Feste, schlanke Timeline rechts – nur sichtbar, solange der Geschichtsblock im Viewport ist. */
.history-scroll-rail{
  position:fixed;
  z-index:40;
  top:calc(var(--history-header-offset) + 50%);
  right:clamp(22px,3.2vw,58px);
  width:178px;
  max-height:calc(100svh - var(--history-header-offset) - 70px);
  transform:translateY(-50%) translateX(18px);
  padding:18px 14px 18px 28px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--cms-dropdown-radius,18px);
  background:rgba(4,16,29,.42);
  box-shadow:0 18px 54px rgba(0,0,0,.20);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,transform .34s ease,visibility 0s linear .34s;
}
.history-scroll-timeline.is-rail-visible .history-scroll-rail{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
  pointer-events:auto;
  transition:opacity .3s ease,transform .34s ease,visibility 0s linear 0s;
}
.history-scroll-rail-label{
  margin:0 0 14px;
  overflow:hidden;
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:680;
  letter-spacing:.12em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.history-scroll-rail-line{
  position:absolute;
  left:18px;
  top:50px;
  bottom:19px;
  width:1px;
  background:rgba(255,255,255,.20);
}
.history-scroll-rail-line i{
  display:block;
  width:1px;
  height:var(--history-progress,0%);
  background:var(--history-active-accent,#0B63B6);
  transition:height .45s cubic-bezier(.2,.7,.2,1),background .3s ease;
}
.history-scroll-rail-nav{display:grid;gap:3px;max-height:calc(100svh - var(--history-header-offset) - 118px);overflow:auto;scrollbar-width:none}
.history-scroll-rail-nav::-webkit-scrollbar{display:none}
.history-scroll-rail-item{
  position:relative;
  width:100%;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 2px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.57);
  text-align:left;
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}
.history-scroll-rail-item:hover,.history-scroll-rail-item:focus-visible{color:#fff;outline:none;transform:translateX(2px)}
.history-scroll-rail-dot{
  position:absolute;
  left:-13px;
  width:7px;
  height:7px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:50%;
  background:#11263b;
  transform:scale(.8);
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.history-scroll-rail-year{font-size:12px;font-weight:540;letter-spacing:.025em}
.history-scroll-rail-item.is-active{color:#fff}
.history-scroll-rail-item.is-active .history-scroll-rail-dot{
  transform:scale(1.2);
  border-color:var(--history-accent);
  background:var(--history-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--history-accent) 24%,transparent);
}
.history-scroll-rail-item.is-active .history-scroll-rail-year{font-weight:760;color:var(--history-accent)}

.history-scroll-hint{
  position:absolute;
  z-index:5;
  left:clamp(34px,7vw,126px);
  bottom:clamp(18px,3.2vh,34px);
  display:flex;
  align-items:center;
  gap:11px;
  color:rgba(255,255,255,.56);
  font-size:10px;
  font-weight:640;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.history-scroll-hint i{font-style:normal;color:var(--history-accent);font-size:18px;animation:historyScrollHint 1.7s ease-in-out infinite}
@keyframes historyScrollHint{0%,100%{transform:translateY(-2px);opacity:.55}50%{transform:translateY(5px);opacity:1}}
.history-scroll-mobile-progress{display:none}

@media(max-width:1100px){
  .history-scroll-content{width:min(650px,68vw)}
  .history-scroll-rail{right:18px;width:138px;padding-left:26px}
  .history-scroll-rail-label{display:none}
  .history-scroll-rail-line{top:20px}
}

@media(max-width:760px){
  .history-page.history-scroll-timeline{--history-header-offset:var(--site-header-height,108px)}
  .history-scroll-slide{height:calc(100svh - var(--history-header-offset));min-height:520px}
  .history-scroll-overlay{
    background:
      linear-gradient(0deg,rgba(2,10,18,.90) 0%,rgba(2,10,18,.66) 48%,rgba(2,10,18,.22) 78%,rgba(2,10,18,.28) 100%),
      linear-gradient(90deg,rgba(2,10,18,.42),rgba(2,10,18,.08));
  }
  .history-scroll-content{
    left:22px;
    right:22px;
    top:auto;
    bottom:76px;
    width:auto;
    transform:translate3d(0,28px,0);
  }
  .history-scroll-slide.is-active .history-scroll-content{transform:translate3d(0,0,0)}
  .history-scroll-section-label{margin-bottom:16px;font-size:9px}
  .history-scroll-meta{margin-bottom:8px}
  .history-scroll-year{font-size:clamp(50px,18vw,78px);margin-bottom:8px}
  .history-scroll-content h2{font-size:clamp(34px,10vw,52px);margin-bottom:16px;max-width:12ch}
  .history-scroll-text{font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .history-scroll-intro-text{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .history-scroll-rail{display:none!important}
  .history-scroll-hint{display:none}
  .history-scroll-mobile-progress{
    position:absolute;
    z-index:5;
    left:22px;
    right:22px;
    bottom:22px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.70);
    font-size:10px;
    font-weight:670;
  }
  .history-scroll-mobile-progress i{height:1px;background:rgba(255,255,255,.24);overflow:hidden}
  .history-scroll-mobile-progress b{display:block;height:100%;background:var(--history-accent)}
  .history-scroll-mobile-progress strong{font-weight:670}
}

@media(prefers-reduced-motion:reduce){
  .history-scroll-media img,.history-scroll-content,.history-scroll-frame,.history-scroll-rail,.history-scroll-rail-line i{transition:none!important}
  .history-scroll-hint i{animation:none!important}
}
