/* site-kit.css — локальные motion/feedback токены. Без CDN. */
:root {
  --kit-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --kit-press: 0.96;
}

.reveal,
.sf-reveal,
[data-kit-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.55s var(--kit-ease), transform 0.55s var(--kit-ease);
}

.reveal.is-in,
.sf-reveal.is-in,
[data-kit-reveal].is-in {
  opacity: 1;
  transform: none;
}

.sf-magnetic,
[data-kit-magnetic],
.sf-tilt-card,
[data-kit-tilt] {
  will-change: transform;
  transition: transform 0.18s var(--kit-ease);
}

a.is-pressed,
button.is-pressed,
.sf-btn.is-pressed,
[data-kit-tap].is-pressed,
.sf-home-action.is-pressed,
.sf-home-card.is-pressed {
  transform: scale(var(--kit-press));
  transition: transform 0.08s ease-out;
}

a:focus-visible,
button:focus-visible,
.sf-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .sf-reveal,
  [data-kit-reveal],
  .sf-magnetic,
  [data-kit-magnetic],
  .sf-tilt-card,
  [data-kit-tilt],
  a.is-pressed,
  button.is-pressed {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sf-header, .site-header, .sf-portal-dock, .sf-marquee__track,
  .sf-hero-parallax__bg, .sf-kinetic__ch, .sf-morph-submit__spin::before,
  [data-sf-portal-dock], .sf-progress, .sf-modal {
    animation: none !important;
    transition: none !important;
  }
}
