/* ========================================================================== 
   JHB Motion
   Zentrale, performante Reveal-Regeln: Desktop dezent, Handy/ältere Geräte sofort sichtbar.
   ========================================================================== */

/* Desktop-Reveal: nur Opacity + Transform, keine Filter/Blur. */
html.jhb-motion-enabled .jhb-startseite .jhs-reveal:not(.is-visible),
html.jhb-motion-enabled .reveal-up:not(.is-visible),
html.jhb-motion-enabled .jhb-sa-page .reveal:not(.is-visible),
html.jhb-motion-enabled .ww-page .ww-reveal:not(.is-visible),
html.jhb-motion-enabled .leitbild-scope .reveal:not(.is-visible),
html.jhb-motion-enabled .jkc-reveal:not(.is-visible),
html.jhb-motion-enabled .jhw-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-hze-page .jah-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-ambulant-page .jah-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-leistungen-hub .jlh-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-stationaer-page .jst-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-standort-master .jsm-reveal:not(.is-visible),
html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-reveal:not(.is-inview),
html.jhb-motion-enabled .jhb-eberswalde .reveal:not(.in),
html.jhb-motion-enabled .jhb-stationaer .reveal:not(.active),
html.jhb-motion-enabled .EBS .reveal:not(.active),
html.jhb-motion-enabled #jhb-job .reveal:not(.is-inview) {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  filter: none;
  transition:
    opacity .62s cubic-bezier(.22, 1, .36, 1),
    transform .62s cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}

html.jhb-motion-enabled .jhb-startseite .jhs-reveal.is-visible,
html.jhb-motion-enabled .reveal-up.is-visible,
html.jhb-motion-enabled .jhb-sa-page .reveal.is-visible,
html.jhb-motion-enabled .ww-page .ww-reveal.is-visible,
html.jhb-motion-enabled .leitbild-scope .reveal.is-visible,
html.jhb-motion-enabled .jkc-reveal.is-visible,
html.jhb-motion-enabled .jhw-reveal.is-visible,
html.jhb-motion-enabled .jhb-hze-page .jah-reveal.is-visible,
html.jhb-motion-enabled .jhb-ambulant-page .jah-reveal.is-visible,
html.jhb-motion-enabled .jhb-leistungen-hub .jlh-reveal.is-visible,
html.jhb-motion-enabled .jhb-stationaer-page .jst-reveal.is-visible,
html.jhb-motion-enabled .jhb-standort-master .jsm-reveal.is-visible,
html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-reveal.is-inview,
html.jhb-motion-enabled .jhb-eberswalde .reveal.in,
html.jhb-motion-enabled .jhb-stationaer .reveal.active,
html.jhb-motion-enabled .EBS .reveal.active,
html.jhb-motion-enabled #jhb-job .reveal.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: none;
}

/* Startseite: Angebotskarten separat ruhig einblenden, Bilder selbst bleiben stabil. */
/* Berlin-Angebote: Reveal-Transform darf Desktop-Hover nicht neutralisieren. */
@media (hover: hover) and (pointer: fine) {
  html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-card.jba-reveal.is-inview:hover,
  html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-card.jba-reveal.is-inview:focus-within,
  html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-step.jba-reveal.is-inview:hover,
  html.jhb-motion-enabled .jhb-berlin-angebot.jba-motion-ready .jba-step.jba-reveal.is-inview:focus-within {
    transform: translate3d(0, -8px, 0);
  }
}

html.jhb-motion-enabled .jhb-startseite .jhs-offer-card.jhs-reveal {
  transition:
    opacity .66s cubic-bezier(.22, 1, .36, 1),
    transform .66s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s cubic-bezier(.22, 1, .36, 1),
    border-color .22s ease;
}

html.jhb-motion-enabled .jhb-startseite .jhs-offer-grid > .jhs-offer-card,
html.jhb-motion-enabled .jhb-startseite .jhs-offer-card__media,
html.jhb-motion-enabled .jhb-startseite .jhs-offer-card__media img {
  transition-delay: 0s;
}

html.jhb-motion-enabled .jhb-startseite .jhs-offer-card .jhs-offer-card__media img,
html.jhb-motion-enabled .jhb-startseite .jhs-offer-card.jhs-reveal:not(.is-visible) .jhs-offer-card__media img {
  opacity: 1;
}

html.jhb-motion-enabled .jhb-startseite .jhs-offer-card__media,
html.jhb-motion-enabled .jhb-startseite .jhs-offer-card__media img {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Nutzerpräferenz, Touch-Geräte und schwächere Geräte: sofort sichtbar. */
html.jhb-motion-reduced .jhb-startseite .jhs-reveal,
html.jhb-motion-reduced .reveal-up,
html.jhb-motion-reduced .jhb-sa-page .reveal,
html.jhb-motion-reduced .ww-page .ww-reveal,
html.jhb-motion-reduced .leitbild-scope .reveal,
html.jhb-motion-reduced .jkc-reveal,
html.jhb-motion-reduced .jhw-reveal,
html.jhb-motion-reduced .jhb-hze-page .jah-reveal,
html.jhb-motion-reduced .jhb-ambulant-page .jah-reveal,
html.jhb-motion-reduced .jhb-leistungen-hub .jlh-reveal,
html.jhb-motion-reduced .jhb-stationaer-page .jst-reveal,
html.jhb-motion-reduced .jhb-standort-master .jsm-reveal,
html.jhb-motion-reduced .jhb-berlin-angebot .jba-reveal,
html.jhb-motion-reduced .jhb-eberswalde .reveal,
html.jhb-motion-reduced .jhb-stationaer .reveal,
html.jhb-motion-reduced .EBS .reveal,
html.jhb-motion-reduced #jhb-job .reveal {
  opacity: 1;
  transform: none;
  filter: none;
  will-change: auto;
  transition: none;
  animation: none;
}

html.jhb-motion-reduced .jhb-sa-page *,
html.jhb-motion-reduced .ww-page *,
html.jhb-motion-reduced .jhb-about-hero *,
html.jhb-motion-reduced .jhb-startseite *,
html.jhb-motion-reduced .jhb-standort-master *,
html.jhb-motion-reduced .jhb-berlin-angebot * {
  scroll-behavior: auto;
}

@media (max-width: 840px), (pointer: coarse) {
  html.jhb-motion-enabled .jhb-startseite .jhs-reveal,
  html.jhb-motion-enabled .reveal-up,
  html.jhb-motion-enabled .jhb-sa-page .reveal,
  html.jhb-motion-enabled .ww-page .ww-reveal,
  html.jhb-motion-enabled .leitbild-scope .reveal,
  html.jhb-motion-enabled .jkc-reveal,
  html.jhb-motion-enabled .jhw-reveal,
  html.jhb-motion-enabled .jhb-hze-page .jah-reveal,
  html.jhb-motion-enabled .jhb-ambulant-page .jah-reveal,
  html.jhb-motion-enabled .jhb-leistungen-hub .jlh-reveal,
  html.jhb-motion-enabled .jhb-stationaer-page .jst-reveal,
  html.jhb-motion-enabled .jhb-standort-master .jsm-reveal,
  html.jhb-motion-enabled .jhb-berlin-angebot .jba-reveal,
  html.jhb-motion-enabled .jhb-eberswalde .reveal,
  html.jhb-motion-enabled .jhb-stationaer .reveal,
  html.jhb-motion-enabled .EBS .reveal,
  html.jhb-motion-enabled #jhb-job .reveal,
  #angebot-layout .timeline.is-motion-ready .step,
  #angebot-layout .timeline.is-motion-ready.is-animated .step.is-seen {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
    animation: none;
    will-change: auto;
  }

  .jhb-sa-page .section-nav,
  .jhb-sa-page .principle-card,
  .jhb-about-hero-card.glass-card,
  .jhb-standort-master .jsm-page-nav,
  .jhb-standort-master .jsm-phone-popover__panel,
  .jhb-berlin-angebot .jba-nav,
  .jhb-berlin-angebot .jba-berlin-focus-panel,
  .ww-page .ww-support-badge,
  .jhw-card,
  .jkc-map-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
