/* ==========================================================================
   AGENCY FRAMEWORK: nx.motion-system-v2
   Extracted from Award-Winning Interactivity Patterns (Awwwards / Godly)
   ========================================================================== */
:root {
    /* --- The Master Timing Profiles --- */
    --nx-t-snappy: 0.45s;
    --nx-t-fluid:  0.75s;
    --nx-t-epic:   1.20s;

    /* --- The Award-Winning Bezier Curves --- */
    /* 1. The Apple/Awwwards Standard (ExpoOut) - Instant velocity, long trailing deceleration */
    --nx-curve-expo: cubic-bezier(0.16, 1, 0.3, 1);
    
    /* 2. The GSAP Custom Smooth (Power4InOut) - Balanced, luxurious, deep ramp at start & finish */
    --nx-curve-fluid: cubic-bezier(0.76, 0, 0.24, 1);
    
    /* 3. The Organic Snaps (BackOut) - Playful slight micro-overshoot at destination */
    --nx-curve-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    
    /* 4. The Micro-Interaction Drag - Tight friction parameters for custom cursors/cards */
    --nx-curve-magnetic: cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   ATOMIC HOVER PRESET UTILITIES
   ========================================================================== */

/* PRESET 01: The Snappy Tech Reveal */
.nx-motion-reveal {
    transition: transform var(--nx-t-snappy) var(--nx-curve-expo), 
                opacity var(--nx-t-snappy) var(--nx-curve-expo),
                letter-spacing var(--nx-t-snappy) var(--nx-curve-expo) !important;
    will-change: transform, opacity;
}
.nx-motion-reveal:hover {
    transform: translateY(-5px) scale(1.02);
}

/* PRESET 02: The Luxury Fluid Slow-Glide */
.nx-motion-luxury {
    transition: transform var(--nx-t-fluid) var(--nx-curve-fluid), 
                opacity var(--nx-t-fluid) var(--nx-curve-fluid),
                filter var(--nx-t-fluid) var(--nx-curve-fluid) !important;
    will-change: transform;
}
.nx-motion-luxury:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}

/* PRESET 03: The Kinetic UI Elastic Jump */
.nx-motion-elastic {
    transition: transform var(--nx-t-snappy) var(--nx-curve-bounce) !important;
    will-change: transform;
}
.nx-motion-elastic:hover {
    transform: scale(1.08);
}

/* PRESET 04: The Monolithic Text Shift (Great for Headers) */
.nx-motion-stretch {
    transition: letter-spacing var(--nx-t-fluid) var(--nx-curve-expo),
                transform var(--nx-t-fluid) var(--nx-curve-expo) !important;
    will-change: letter-spacing, transform;
}
.nx-motion-stretch:hover {
    letter-spacing: 0.15em;
    transform: scale(0.98);
}