:root {
  --gymful-container-max: 1400px;
  --gymful-page-gutter: 32px;
  --gymful-page-gutter-tablet: 24px;
  --gymful-page-gutter-mobile: 20px;
  --gymful-motion-ease: cubic-bezier(.625, .05, 0, 1);
  --gymful-motion-duration: .6s;

  /* Backwards-compatible aliases for widgets created for the ZoneFive engine. */
  --z5-container-max: var(--gymful-container-max);
  --z5-page-gutter: var(--gymful-page-gutter);
  --z5-page-gutter-tablet: var(--gymful-page-gutter-tablet);
  --z5-page-gutter-mobile: var(--gymful-page-gutter-mobile);
  --z5-motion-ease: var(--gymful-motion-ease);
  --z5-motion-duration: var(--gymful-motion-duration);
}

.gymful-container,
[data-gymful-container],
.z5-container,
[data-z5-container] {
  width: min(var(--gymful-container-max), calc(100% - (var(--gymful-page-gutter) * 2)));
  margin-inline: auto;
}

.gymful-motion-trigger,
.z5-motion-trigger,
[data-parallax="trigger"] {
  backface-visibility: hidden;
}

[data-parallax="target"],
.gymful-motion-trigger,
.z5-motion-trigger {
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  [data-parallax="trigger"],
  [data-parallax="target"] {
    transform: none !important;
    will-change: auto !important;
  }
}
