/*!
 * Themeasy — Parallax Tilt
 *
 * A standalone hero image that reacts to the pointer with a 3D tilt or a 2D
 * float plus an optional cursor-tracked specular glare. The structure is pure
 * CSS and always visible: the image renders at full quality with no JavaScript,
 * in the Elementor editor (--static), on touch, and under reduced motion. The
 * motion layer is added by GSAP, which drives the frame transform directly and
 * the glare hotspot through the custom properties declared here, so the paint
 * stays on the compositor.
 *
 * Tokens consumed: --tms-primary-color, --tms-surface-color, --tms-radius-lg,
 * --tms-transition-base (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-parallax-tilt{--tms-parallax-tilt-perspective:1200px;--tms-parallax-tilt-ease:cubic-bezier(.22, 1, .36, 1);--tms-parallax-tilt-glare-color:#ffffffe6;--tms-parallax-tilt-glare-opacity:.45;--tms-parallax-tilt-glare-size:65%;--tms-parallax-tilt-glare-x:50%;--tms-parallax-tilt-glare-y:50%;width:100%;max-width:100%;perspective:var(--tms-parallax-tilt-perspective,1200px);position:relative}.tms-parallax-tilt__frame{transform-style:preserve-3d;position:relative}.tms-parallax-tilt:not(.tms-parallax-tilt--static) .tms-parallax-tilt__frame{will-change:transform}.tms-parallax-tilt__link{color:inherit;border-radius:inherit;text-decoration:none;display:block}.tms-parallax-tilt__link:focus-visible{outline:2px solid var(--tms-primary-color,#5b6cff);outline-offset:3px;border-radius:inherit}.tms-parallax-tilt__media{border-radius:var(--tms-radius-lg,16px);background-color:var(--tms-surface-color,#12131a);width:100%;line-height:0;position:relative;overflow:hidden}.tms-parallax-tilt__media .tms-parallax-tilt__image{object-fit:cover;width:100%;max-width:100%;height:100%;display:block}.tms-parallax-tilt__glare{z-index:2;border-radius:inherit;pointer-events:none;opacity:0;background-image:radial-gradient(circle at var(--tms-parallax-tilt-glare-x,50%) var(--tms-parallax-tilt-glare-y,50%), var(--tms-parallax-tilt-glare-color,#ffffffe6) 0%, transparent var(--tms-parallax-tilt-glare-size,65%));mix-blend-mode:screen;transition:opacity .45s var(--tms-parallax-tilt-ease);will-change:opacity;position:absolute;top:0;bottom:0;left:0;right:0}.tms-parallax-tilt.is-pointer-active .tms-parallax-tilt__glare{opacity:var(--tms-parallax-tilt-glare-opacity,.45)}@media (pointer:coarse){.tms-parallax-tilt__frame{transform:none}.tms-parallax-tilt__glare{opacity:0}}@media (prefers-reduced-motion:reduce){.tms-parallax-tilt__frame{transform:none}.tms-parallax-tilt__glare{opacity:0;transition:none}}