diff --git a/src/util/3d-tilt-hover-effect.ts b/src/util/3d-tilt-hover-effect.ts
index 1a6a01adf0..8a43883b98 100644
--- a/src/util/3d-tilt-hover-effect.ts
+++ b/src/util/3d-tilt-hover-effect.ts
@@ -1,108 +1,81 @@
/**
* Utility functions for creating a 3D tilt hover effect.
*
- * This module provides functions that enables consumer components to display a nice 3D effect,
- * when being hovered; enabling them to follow the cursor's position and tilt towards it.
+ * This module provides functions to enable a 3D tilt effect for consumer components,
+ * allowing elements to visually follow the cursor's position and tilt towards it.
+ * It also includes a glow effect for added interactivity.
*
- * ## What you need, to make this work
- * ### Typescript
- * 1. Import the functions:
+ * ## Usage
+ *
+ * 1. **Import the utility**:
*
* ```tsx
- * import {
- * tiltFollowingTheCursor,
- * handleMouseEnter,
- * handleMouseLeave,
- * } from './path/to/3d-tilt-hover-effect';
+ * import { getMouseEventHandlers } from './path/to/3d-tilt-hover-effect';
* ```
*
- * 2. In your component, define the necessary properties.
- * For example, if your 3D element is a `section` element:
+ * 2. **Initialize in your component**:
+ *
+ * Call `getMouseEventHandlers()` in your component to retrieve the `handleMouseEnter`
+ * and `handleMouseLeave` functions, and attach them to the target element.
+ * For example, if your interactive element is the host itself:
*
* ```tsx
- * @Element() private element: HTMLElement;
- * private the3dElementBounds: DOMRect;
+ * @Element()
+ * private host: HTMLElement;
*
- * public componentDidLoad() {
- * const the3dElement = this.element.shadowRoot.querySelector('section');
- * the3dElement.addEventListener('mouseenter', this.handleMouseEnter);
- * the3dElement.addEventListener('mouseleave', this.handleMouseLeave);
- * }
+ * private handleMouseEnter: () => void;
+ * private handleMouseLeave: () => void;
*
- * public disconnectedCallback() {
- * const the3dElement = this.element.shadowRoot.querySelector('section');
- * if (the3dElement) {
- * the3dElement.removeEventListener(
- * 'mouseenter',
- * this.handleMouseEnter,
- * );
- * the3dElement.removeEventListener(
- * 'mouseleave',
- * this.handleMouseLeave,
- * );
- * }
+ * public componentWillLoad() {
+ * const { handleMouseEnter, handleMouseLeave } = getMouseEventHandlers(this.host);
+ * this.handleMouseEnter = handleMouseEnter;
+ * this.handleMouseLeave = handleMouseLeave;
* }
* ```
*
- * 3. If your component does not already have event handlers,
- * implement them using the imported functions from this file:
- *
- * ```tsx
- * private handleMouseEnter = () => {
- * handleMouseEnter(this.element, 'section', (bounds) => {
- * this.the3dElementBounds = bounds;
- * }, this.tiltFollowingTheCursor);
- * };
- *
- * private handleMouseLeave = () => {
- * handleMouseLeave(this.element, this.tiltFollowingTheCursor);
- * };
- *
- * private tiltFollowingTheCursor = (e: MouseEvent) => {
- * tiltFollowingTheCursor(e, this.the3dElementBounds, this.element);
- * };
- * ```
- *
- * 4. Attach the event handlers to the relevant elements in your render method:
+ * 3. **Attach event handlers in your render method**:
*
* ```tsx
* public render() {
* return (
- *