/* ===== SCROLL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(40px);transition:all .8s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}

/* ===== LÖSUNGEN (SOLUTIONS) ===== */
.pillar{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:96px;background:var(--sand-dark);border-radius:60px;padding:60px}
.pillar:nth-child(even){direction:rtl;background:var(--white)}.pillar:nth-child(even) > *{direction:ltr}
.pillar__num{font-size:.75rem;font-weight:700;color:var(--black);opacity:0.6;font-family:var(--mono);margin-bottom:8px;letter-spacing:.1em;display:inline-block;padding:6px 16px;background:var(--white);border-radius:100px}
.pillar__title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;margin-bottom:16px;line-height:1.2}
.pillar__text{color:var(--black);opacity:0.8;line-height:1.7;margin-bottom:24px}
.pillar__features{display:flex;flex-direction:column;gap:12px}
.pillar__feat{display:flex;align-items:flex-start;gap:12px;font-size:.9rem}
.pillar__feat-icon{width:28px;height:28px;background:var(--orange-dim);border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-top:2px;color:var(--orange)}
.pillar__feat-icon svg{width:14px;height:14px}

@media(max-width:968px){
  .pillar{grid-template-columns:1fr;gap:32px}
  .pillar:nth-child(even){direction:ltr}
}

.pilot-slot-link {
  position: relative;
  display: inline-block;
  width: min(100%, 22.5rem);
  height: 3rem;
  padding: 0;
  vertical-align: middle;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--pilot-slot-color, #2d3a4f);
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
}
.pilot-slot-link__circle {
  position: relative;
  display: block;
  width: 3rem;
  height: 3rem;
  margin: 0;
  border-radius: 1.625rem;
  background: var(--pilot-slot-bg, #2d3a4f);
  border: 1px solid var(--pilot-slot-border, transparent);
  box-shadow: var(--pilot-slot-shadow, 0 2px 12px rgba(45,58,79,0.25));
  transition: width .45s cubic-bezier(.65, 0, .076, 1), background-color .2s ease, box-shadow .2s ease;
}
.pilot-slot-link__icon {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
  transition: all .45s cubic-bezier(.65, 0, .076, 1);
}
.pilot-slot-link__icon--arrow {
  left: .625rem;
  width: 1.125rem;
  height: .125rem;
  background: transparent;
}
.pilot-slot-link__icon--arrow::before {
  content: "";
  position: absolute;
  top: -.29rem;
  right: .0625rem;
  width: .625rem;
  height: .625rem;
  border-top: .125rem solid #fff;
  border-right: .125rem solid #fff;
  transform: rotate(45deg);
}
.pilot-slot-link__text {
  position: absolute;
  inset: 0;
  margin-left: 1.85rem;
  padding: .75rem 1rem .75rem 1.6rem;
  color: var(--pilot-slot-color, #2d3a4f);
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  transition: color .45s cubic-bezier(.65, 0, .076, 1);
}
.pilot-slot-link:hover .pilot-slot-link__circle,
.pilot-slot-link:focus-visible .pilot-slot-link__circle {
  width: 100%;
  background: var(--pilot-slot-hover-bg, var(--pilot-slot-bg, #2d3a4f));
  box-shadow: var(--pilot-slot-hover-shadow, 0 4px 20px rgba(45,58,79,0.35));
}
.pilot-slot-link:hover .pilot-slot-link__icon--arrow,
.pilot-slot-link:focus-visible .pilot-slot-link__icon--arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.pilot-slot-link:hover .pilot-slot-link__text,
.pilot-slot-link:focus-visible .pilot-slot-link__text {
  color: var(--pilot-slot-hover-text, #fff);
}
.pilot-slot-link:active {
  transform: translateY(0);
}
@media (max-width: 768px) {
  .pilot-slot-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: min(100%, 360px);
    min-height: 54px;
    height: auto;
    padding: 7px 8px 7px 18px;
    border: 1px solid rgba(48,67,95,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    box-shadow: 0 10px 26px rgba(48,67,95,.12);
    color: var(--pilot-slot-color, #2d3a4f);
    font-size: clamp(.8rem, 3.55vw, .92rem);
    line-height: 1.2;
  }
  .pilot-slot-link__circle {
    flex: 0 0 38px;
    order: 2;
    width: 38px;
    height: 38px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--pilot-slot-bg, #2d3a4f);
    box-shadow: 0 8px 18px rgba(45,58,79,.22);
    transition: none;
  }
  .pilot-slot-link__text {
    position: static;
    inset: auto;
    order: 1;
    min-width: 0;
    margin-left: 0;
    padding: 0;
    color: currentColor;
    line-height: 1.2;
    text-align: left;
    white-space: normal;
    transition: none;
  }
  .pilot-slot-link__icon {
    transition: none;
  }
  .pilot-slot-link__icon--arrow {
    left: 50%;
    width: 15px;
    height: 2px;
    background: #fff;
    transform: translate(-50%, 0);
  }
  .pilot-slot-link__icon--arrow::before {
    top: -4px;
    right: 0;
    width: 8px;
    height: 8px;
  }
  .pilot-slot-link:hover .pilot-slot-link__circle,
  .pilot-slot-link:focus-visible .pilot-slot-link__circle {
    width: 38px;
    background: var(--pilot-slot-bg, #2d3a4f);
    box-shadow: 0 8px 18px rgba(45,58,79,.22);
  }
  .pilot-slot-link:hover .pilot-slot-link__icon--arrow,
  .pilot-slot-link:focus-visible .pilot-slot-link__icon--arrow {
    background: #fff;
    transform: translate(-50%, 0);
  }
  .pilot-slot-link:hover .pilot-slot-link__text,
  .pilot-slot-link:focus-visible .pilot-slot-link__text {
    color: currentColor;
  }
}

/* Stellen */
.stellen-card__sub {
    font-size: .72rem; font-weight: 700;
    font-family: var(--mono); text-transform: uppercase;
    letter-spacing: .08em; color: var(--orange); margin-bottom: 14px;
}
.stellen-card__intro { font-size: .9rem; color: #555; margin-bottom: 20px; line-height: 1.6; }
.stellen-card__items { display: flex; flex-direction: column; gap: 12px; }
.stellen-card__item {
    display: block;
    font-size: .88rem; line-height: 1.6;
}
.bgb-accordion .stellen-card__sub { font-weight: 700; margin-bottom: 8px; }
.bgb-accordion .stellen-card__intro { margin-bottom: 16px; }
.bgb-accordion .stellen-card__items { margin-bottom: 24px; }

@media(max-width: 968px) {
    .stellen-card__item { grid-template-columns: 1fr; gap: 4px; }
}

/* BGB Accordions */
.bgb-accordions {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    margin: 40px auto 0;
}
.bgb-accordion {
    background: var(--sand);
    border-radius: 100px;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.32, 0.72, 0, 1);
    text-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.bgb-accordion.is-expanded {
    background: transparent;
    border-radius: 40px;
}
.bgb-accordion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 40px;
    cursor: pointer;
    user-select: none;
}
.bgb-accordion__title-wrapper {
    display: flex;
    align-items: center;
    gap: 32px;
}
.bgb-accordion__num {
    font-family: var(--font);
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--black);
    line-height: 1;
    text-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.bgb-accordion__title {
    font-family: var(--font);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--black);
    line-height: 1.2;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.bgb-accordion__toggle {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: var(--blue);
    color: var(--white);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1), background 0.3s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.bgb-accordion .icon-minus { display: none; }
.bgb-accordion.is-expanded .bgb-accordion__toggle {
    background: var(--blue);
    transform: rotate(180deg);
}
.bgb-accordion__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.32, 0.72, 0, 1);
}
.bgb-accordion__inner {
    padding: 0 40px 40px 0;
    border-top: 1px solid rgba(0,0,0,0.1);
    margin-top: 0;
    padding-top: 24px;
    margin-left: 40px;
    margin-right: 40px;
    color: var(--black);
    text-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

@media (max-width: 768px) {
    .bgb-accordion { border-radius: 40px; }
    .bgb-accordion.is-expanded { border-radius: 30px; }
    .bgb-accordion__header { padding: 20px 24px; }
    .bgb-accordion__title-wrapper { gap: 16px; }
    .bgb-accordion__num { font-size: 2rem; }
    .bgb-accordion__title { font-size: 1.2rem; }
    .bgb-accordion__inner { padding: 0 0 30px 0; margin-left: 24px; margin-right: 24px; }
}

@media (max-width: 600px) {
    .bgb-accordions {
        gap: 18px;
    }
    .bgb-accordion,
    .bgb-accordion.is-expanded {
        border-radius: 34px;
    }
    .bgb-accordion__header {
        gap: 12px;
        padding: 18px 18px 18px 24px;
        min-height: 92px;
    }
    .bgb-accordion__title-wrapper {
        flex: 1 1 auto;
        min-width: 0;
        gap: 14px;
    }
    .bgb-accordion__num {
        flex: 0 0 42px;
        font-size: clamp(1.75rem, 8vw, 2.15rem);
    }
    .bgb-accordion__title {
        min-width: 0;
        font-size: clamp(1.18rem, 5.4vw, 1.55rem);
        line-height: 1.14;
        overflow-wrap: anywhere;
        hyphens: auto;
    }
    .bgb-accordion__toggle {
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        min-width: 46px;
    }
    .bgb-accordion__inner {
        margin-left: 24px;
        margin-right: 24px;
    }
}

@media (max-width: 380px) {
    .bgb-accordion__header {
        padding: 16px 14px 16px 20px;
    }
    .bgb-accordion__title-wrapper {
        gap: 10px;
    }
    .bgb-accordion__num {
        flex-basis: 36px;
        font-size: 1.75rem;
    }
    .bgb-accordion__title {
        font-size: 1.1rem;
    }
    .bgb-accordion__toggle {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        min-width: 42px;
    }
}
