/* JHB MODERN MOTION + FINAL POLISH */
/* Kombinierte Datei – global verwenden */

:root{
  --jhb-motion-fast:.22s;
  --jhb-motion-base:.34s;
  --jhb-motion-slow:.55s;
  --jhb-ease-out:cubic-bezier(.22,.61,.36,1);
  --jhb-ease-soft:cubic-bezier(.16,1,.3,1);
  --jhb-shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --jhb-shadow-mid:0 18px 46px rgba(15,23,42,.12);
  --jhb-shadow-strong:0 26px 70px rgba(15,23,42,.16);
}

/* Smooth base */
html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;}

/* Reveal */
.jlh-reveal,.jah-reveal,.jst-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--jhb-ease-out), transform .7s var(--jhb-ease-soft);
}
.jlh-reveal.is-visible,.jah-reveal.is-visible,.jst-reveal.is-visible{
  opacity:1;transform:none;
}

/* Cards */
.jlh-card,.jah-card,.jst-card{
  transition:transform .35s var(--jhb-ease-soft), box-shadow .35s var(--jhb-ease-soft);
  box-shadow:var(--jhb-shadow-soft);
}
.jlh-card:hover,.jah-card:hover,.jst-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--jhb-shadow-mid);
}

/* Buttons */
.jlh-btn,.jah-btn,.jst-btn{
  transition:transform .25s var(--jhb-ease-soft), box-shadow .25s var(--jhb-ease-soft);
}
.jlh-btn:hover,.jah-btn:hover,.jst-btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--jhb-shadow-mid);
}

/* Hero depth */
.jlh-hero__media img{
  transition:transform 1.2s var(--jhb-ease-soft);
}
.jlh-hero:hover .jlh-hero__media img{
  transform:scale(1.02);
}

/* Mobile reduce */
@media (max-width:768px){
  .jlh-card:hover,.jah-card:hover,.jst-card:hover{
    transform:translateY(-3px);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
}
