:root {
  --fxv-page-section-gap: 1rem;
  --fxv-page-panel-gap: .75rem;
  --fxv-hero-motion-scale: 1;
}

:root.fxv-page-compact {
  --fxv-page-section-gap: .55rem;
  --fxv-page-panel-gap: .5rem;
}

:root.fxv-page-spacing-normal {
  --fxv-page-section-gap: 1rem;
  --fxv-page-panel-gap: .75rem;
}

:root[data-fxv-hero-speed="slow"] { --fxv-hero-motion-scale: 1.65; }
:root[data-fxv-hero-speed="fast"] { --fxv-hero-motion-scale: .7; }
:root[data-fxv-hero-motion="reduced"] { --fxv-hero-motion-scale: 2.25; }

:root[data-fxv-hero-motion="disabled"] #fxv-header-layer *,
:root[data-fxv-hero-motion="disabled"] #fxv-header-layer *::before,
:root[data-fxv-hero-motion="disabled"] #fxv-header-layer *::after {
  animation-play-state: paused !important;
  transition-duration: 0s !important;
}

:root[data-fxv-hero-motion="reduced"] #fxv-header-layer *,
:root[data-fxv-hero-speed="slow"] #fxv-header-layer * {
  animation-duration: calc(var(--fxv-hero-motion-scale) * 1s);
}

:root[data-fxv-personal-hub="disabled"] #fxv-personal-hub-host,
:root[data-fxv-personal-hub="disabled"] #fxv-personal-hub,
:root[data-fxv-ticker="disabled"] #fxv-ticker {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  :root { --fxv-hero-motion-scale: 3; }
  #fxv-header-layer *, #fxv-header-layer *::before, #fxv-header-layer *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}