/* Study Wild — unified, accessible scroll choreography on all 5 pages. */
html.sw-lenis-active, html.sw-lenis-active body { height: auto; }
html.sw-lenis-active { scroll-behavior: auto !important; }
html.sw-lenis-active [data-lenis-prevent] { overscroll-behavior: contain; }
html.sw-lenis-active.lenis-stopped { overflow: hidden; }
html { scroll-padding-top: 110px; }
#zespol, #faq, #studywild-form, #opinie, section[id] { scroll-margin-top: 105px; }

@media (prefers-reduced-motion: no-preference) {
  /* Independent `translate`/`scale` let existing hover transforms continue working. */
  .sw-motion-on .sw-motion-enter {
    transition-property: opacity, translate, scale;
    transition-duration: .66s, .84s, .84s;
    transition-timing-function: ease-out, cubic-bezier(.22,1,.36,1), cubic-bezier(.22,1,.36,1);
    transition-delay: var(--sw-motion-delay, 0ms);
  }
  .sw-motion-on .sw-motion-enter:not(.sw-motion-visible) { opacity: 0; }
  .sw-motion-on .sw-motion-rise:not(.sw-motion-visible) { translate: 0 24px; }
  .sw-motion-on .sw-motion-fade:not(.sw-motion-visible) { translate: 0 10px; }
  .sw-motion-on .sw-motion-from-left:not(.sw-motion-visible) { translate: -34px 0; }
  .sw-motion-on .sw-motion-from-right:not(.sw-motion-visible) { translate: 34px 0; }
  .sw-motion-on .sw-motion-soft-zoom:not(.sw-motion-visible) { scale: .975; }
  .sw-motion-on .sw-motion-enter.sw-motion-visible { opacity: 1; translate: 0 0; scale: 1; }
  /* Scroll-linked photography is intentionally tiny (up to ~4%). */
  .sw-motion-photo { scale: var(--sw-motion-zoom, 1.018); transform-origin: center; }
  .sw-trainer-card:hover .sw-motion-photo { scale: 1.025; }
  /* The active contact step is reanimated only on explicit step changes.
     No observers are attached to hidden form controls. */
  .sw-motion-on .sw-form-step.is-active .sw-form-panel-intro,
  .sw-motion-on .sw-form-step.is-active > .sw-form-panel,
  .sw-motion-on .sw-form-step.is-active > .sw-form-grid {
    animation: sw-form-step-enter .52s cubic-bezier(.22,1,.36,1) both;
  }
  .sw-motion-on .sw-form-step.is-active > :nth-child(2) { animation-delay: 55ms; }
  .sw-motion-on .sw-form-step.is-active > :nth-child(3) { animation-delay: 100ms; }
  .sw-motion-on .sw-form-step.is-active > :nth-child(4) { animation-delay: 130ms; }
  .sw-motion-on .sw-form-step.is-active > :nth-child(n+5) { animation-delay: 145ms; }
  @keyframes sw-form-step-enter { from { opacity: .4; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
  @media (max-width: 760px) {
    .sw-motion-on .sw-motion-rise:not(.sw-motion-visible) { translate: 0 15px; }
    .sw-motion-on .sw-motion-from-left:not(.sw-motion-visible) { translate: -14px 0; }
    .sw-motion-on .sw-motion-from-right:not(.sw-motion-visible) { translate: 14px 0; }
    .sw-motion-on .sw-motion-enter { transition-duration: .5s, .65s, .65s; }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .sw-motion-on .sw-motion-enter { opacity: 1 !important; translate: none !important; scale: none !important; transition: none !important; }
  .sw-motion-photo { scale: none !important; }
  .sw-form-step.is-active > * { animation: none !important; }
}
@media print {
  .sw-motion-on .sw-motion-enter { opacity: 1 !important; translate: none !important; scale: none !important; transition: none !important; }
  .sw-motion-photo { scale: none !important; }
}
