/*!
 * Themeasy — Immersive Slider
 *
 * Full-width hero slider: a backdrop layer stacks the slide images, the WebGL
 * canvas and a contrast overlay; a separate content layer holds one slide of
 * eyebrow/title/description/button; arrows, fraction counter, dots and the
 * autoplay progress bar float above both. Layer split avoids stacking-context
 * jumps while GSAP animates opacity during transitions.
 *
 * Geometry: one edge-padding frame (--tms-immersive-slider-edge-top/right/
 * bottom/left) insets BOTH the slide content and the floating UI (arrows,
 * counter, dots), so texts and controls share the same alignment lines by
 * construction. Two modes feed that frame:
 * - Page Container (default, --edge-container): the inline sides resolve to
 *   where a boxed container's content starts, so texts, arrows and counter
 *   line up with the sections above and below the hero at any screen width.
 * - Custom: the Edge Padding control overrides the four sides outright.
 * Content Padding then ADDS to whichever frame is active (never replaces it),
 * so fine-tuning a side cannot break the alignment or the arrow clearance.
 * The slide's bottom padding stacks --tms-immersive-slider-bottom-ui on top of
 * the frame value: the arrow height (structural) plus --ui-gap (the designed
 * breathing room, tunable from Content Clearance). The --no-bottom-ui modifier
 * zeroes the whole reservation when nothing is anchored to the bottom edge.
 *
 * Layering / degradation:
 * - The BASE rendering is the complete first slide — image, scrim, texts and a
 *   focusable button — so the widget is fully usable with no JavaScript, in
 *   the editor (--static) and under prefers-reduced-motion.
 * - JS layers motion on top: the --webgl modifier swaps the stacked images for
 *   the shader canvas; the line-reveal text animation wraps each rendered line
 *   in a temporary .__line-mask while it runs.
 * - The PHP-rendered --intro-pending modifier hides the first slide's texts
 *   from the very first paint, which lands before the script has even
 *   downloaded; the JS trades it for GSAP's own hidden state in one task. It
 *   never applies without JavaScript, under reduced motion or in the editor,
 *   and a CSS failsafe reveals the texts if the script never takes over.
 * - Texts sit over a fixed dark scrim in every state, so the light content
 *   defaults are legible in light and dark themes alike.
 *
 * Tokens consumed: --tms-heading-font, --tms-heading-font-weight,
 * --tms-font-size-sm, --tms-bold-font-weight, --tms-body-line-height,
 * --tms-semibold-font-weight, --tms-radius-pill, --tms-transition-base
 * (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-immersive-slider{--tms-immersive-slider-edge-top:clamp(2.5rem, 6vw, 5rem);--tms-immersive-slider-edge-right:clamp(2.5rem, 6vw, 5rem);--tms-immersive-slider-edge-bottom:clamp(2.5rem, 6vw, 5rem);--tms-immersive-slider-edge-left:clamp(2.5rem, 6vw, 5rem);--tms-immersive-slider-content-top:0px;--tms-immersive-slider-content-right:0px;--tms-immersive-slider-content-bottom:0px;--tms-immersive-slider-content-left:0px;--tms-immersive-slider-arrow-size:3.5rem;--tms-immersive-slider-ui-gap:1.5rem;--tms-immersive-slider-nav-bottom:var(--tms-immersive-slider-edge-bottom);--tms-immersive-slider-bottom-ui:calc(var(--tms-immersive-slider-arrow-size) + var(--tms-immersive-slider-ui-gap));--tms-immersive-slider-dot-size:8px;--tms-immersive-slider-actions-justify:flex-start;--tms-immersive-slider-icon-gap:.6em;--tms-immersive-slider-container-width:var(--content-width,var(--tms-container-width,1240px));isolation:isolate;touch-action:pan-y;width:100%;min-height:100vh;display:block;position:relative;overflow:hidden}.tms-immersive-slider.tms-immersive-slider--edge-container{--tms-immersive-slider-edge-right:max(var(--container-default-padding-right,var(--tms-container-gutter,1rem)), calc((100% - var(--tms-immersive-slider-container-width)) / 2));--tms-immersive-slider-edge-left:max(var(--container-default-padding-left,var(--tms-container-gutter,1rem)), calc((100% - var(--tms-immersive-slider-container-width)) / 2))}.tms-immersive-slider.tms-immersive-slider--no-bottom-ui{--tms-immersive-slider-bottom-ui:0px}.tms-immersive-slider__backdrop{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.tms-immersive-slider__media{opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider__media.is-active{opacity:1}.tms-immersive-slider__media .tms-immersive-slider__image{object-fit:cover;object-position:var(--tms-immersive-slider-image-position,center);width:100%;height:100%;transform-origin:var(--tms-immersive-slider-image-position,center);display:block}.tms-immersive-slider__canvas{opacity:0;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider--webgl .tms-immersive-slider__canvas{opacity:1}.tms-immersive-slider--webgl .tms-immersive-slider__media,.tms-immersive-slider--webgl .tms-immersive-slider__media.is-active{opacity:0}.tms-immersive-slider--static .tms-immersive-slider__canvas{display:none}.tms-immersive-slider__overlay{position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider__overlay:before{content:"";background-image:linear-gradient(#080a1233 0%,#080a1299 100%);position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider--overlay-custom .tms-immersive-slider__overlay:before{content:none}.tms-immersive-slider__slides{z-index:2;position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider__slide{padding:calc(var(--tms-immersive-slider-edge-top) + var(--tms-immersive-slider-content-top)) calc(var(--tms-immersive-slider-edge-right) + var(--tms-immersive-slider-content-right)) calc(var(--tms-immersive-slider-edge-bottom) + var(--tms-immersive-slider-content-bottom) + var(--tms-immersive-slider-bottom-ui)) calc(var(--tms-immersive-slider-edge-left) + var(--tms-immersive-slider-content-left));opacity:0;visibility:hidden;pointer-events:none;justify-content:flex-start;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider__slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.tms-immersive-slider__content{width:100%;max-width:640px;position:relative}.tms-immersive-slider__content:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse closest-side at center, var(--tms-immersive-slider-scrim-color,transparent) 0%, var(--tms-immersive-slider-scrim-color,transparent) 62%, transparent 100%);position:absolute;top:-4rem;bottom:-4rem;left:-8rem;right:-8rem}.tms-immersive-slider__line{display:block}.tms-immersive-slider__line-mask{clip-path:inset(-.2em -100vw);display:block}@media screen and (scripting:enabled) and (prefers-reduced-motion:no-preference){body:not(.tms-elementor-preview) .tms-immersive-slider--intro-pending .tms-immersive-slider__slide.is-active .tms-immersive-slider__line{visibility:hidden;animation:1ms linear 3s forwards tms-immersive-slider-intro-failsafe}}@keyframes tms-immersive-slider-intro-failsafe{to{visibility:visible}}.tms-immersive-slider__eyebrow-line,.tms-immersive-slider__title-line{margin-bottom:1.25rem}.tms-immersive-slider__description-line{margin-bottom:2rem}.tms-immersive-slider__eyebrow{border-radius:var(--tms-radius-pill,999px);font-family:var(--tms-accent-font);font-size:var(--tms-font-size-sm,.875rem);font-weight:var(--tms-bold-font-weight,700);letter-spacing:.16em;text-transform:uppercase;color:#ffffffd9;background-color:#ffffff24;padding:.45em 1.1em;display:inline-block}.tms-immersive-slider__title{text-wrap:balance;color:#fff;font-size:clamp(2.5rem,5.5vw,4.5rem);font-family:var(--tms-heading-font,inherit);font-weight:var(--tms-heading-font-weight,600);margin:0;line-height:1.05}.tms-immersive-slider__description{max-width:40rem;line-height:var(--tms-body-line-height,1.6);color:#fffc;margin:0}.tms-immersive-slider__word{white-space:nowrap;display:inline-block}.tms-immersive-slider__char{display:inline-block}.tms-immersive-slider__actions{justify-content:var(--tms-immersive-slider-actions-justify,flex-start);gap:1rem;display:flex}.tms-immersive-slider__button{justify-content:center;align-items:center;gap:var(--tms-immersive-slider-icon-gap);border-radius:var(--tms-radius-pill,999px);min-height:48px;font-weight:var(--tms-semibold-font-weight,600);letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color var(--tms-transition-base,.3s ease), background-color var(--tms-transition-base,.3s ease), border-color var(--tms-transition-base,.3s ease), transform var(--tms-transition-base,.3s ease);background-color:#0000;border:1px solid #ffffff8c;padding:.9em 2.2em;line-height:1.2;text-decoration:none;display:inline-flex}a.tms-immersive-slider__button:hover{color:#0d0f16;background-color:#fff;border-color:#fff}a.tms-immersive-slider__button:focus-visible{outline-offset:3px;outline:2px solid #fff}a.tms-immersive-slider__button:active{transform:scale(.98)}.tms-immersive-slider__button--static{cursor:default}.tms-immersive-slider__button-icon{flex:none;justify-content:center;align-items:center;font-size:1.15em;line-height:0;display:inline-flex}.tms-immersive-slider__button-icon svg{fill:currentColor;width:1em;height:1em}.tms-immersive-slider__button-icon svg[fill=none]{fill:none;stroke:currentColor}.tms-immersive-slider__button-icon img{width:1em;height:1em}.tms-immersive-slider__button-icon i{font-size:inherit;line-height:1}.tms-immersive-slider__button--icon-left{flex-direction:row-reverse}.tms-immersive-slider__nav{z-index:3;gap:.75rem;display:flex;position:absolute}.tms-immersive-slider__arrow{width:var(--tms-immersive-slider-arrow-size);height:var(--tms-immersive-slider-arrow-size);cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--tms-transition-base,.3s ease), background-color var(--tms-transition-base,.3s ease), border-color var(--tms-transition-base,.3s ease), opacity var(--tms-transition-base,.3s ease), transform var(--tms-transition-base,.3s ease);background-color:#0a0c1447;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.125rem;display:inline-flex}.tms-immersive-slider__arrow svg{fill:currentColor;width:1.1em;height:1.1em}.tms-immersive-slider__arrow svg[fill=none]{fill:none;stroke:currentColor}.tms-immersive-slider__arrow:hover{color:#0d0f16;background-color:#fff;border-color:#fff}.tms-immersive-slider__arrow:focus-visible{color:#0d0f16;background-color:#fff;border-color:#fff}.tms-immersive-slider__arrow:focus-visible{outline-offset:3px;outline:2px solid #fff}.tms-immersive-slider__arrow:active{transform:scale(.96)}.tms-immersive-slider__arrow[disabled]{opacity:.35;pointer-events:none}.tms-immersive-slider--nav-bottom-end .tms-immersive-slider__nav{right:var(--tms-immersive-slider-edge-right);bottom:var(--tms-immersive-slider-nav-bottom)}.tms-immersive-slider--nav-bottom-start .tms-immersive-slider__nav{left:var(--tms-immersive-slider-edge-left);bottom:var(--tms-immersive-slider-nav-bottom)}.tms-immersive-slider--nav-bottom-center .tms-immersive-slider__nav{left:50%;bottom:var(--tms-immersive-slider-nav-bottom);transform:translate(-50%)}.tms-immersive-slider--nav-sides .tms-immersive-slider__nav{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tms-immersive-slider--nav-sides .tms-immersive-slider__arrow{pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%)}.tms-immersive-slider--nav-sides .tms-immersive-slider__arrow--prev{left:var(--tms-immersive-slider-edge-left)}.tms-immersive-slider--nav-sides .tms-immersive-slider__arrow--next{right:var(--tms-immersive-slider-edge-right)}.tms-immersive-slider--nav-sides .tms-immersive-slider__arrow:active{transform:translateY(-50%)scale(.96)}.tms-immersive-slider__counter{z-index:3;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#fff;align-items:center;gap:.5em;font-size:.875rem;display:inline-flex;position:absolute}.tms-immersive-slider__counter-current{font-weight:var(--tms-bold-font-weight,700)}.tms-immersive-slider__counter-sep,.tms-immersive-slider__counter-total{opacity:.55}.tms-immersive-slider--counter-bottom-start .tms-immersive-slider__counter,.tms-immersive-slider--counter-bottom-end .tms-immersive-slider__counter{bottom:var(--tms-immersive-slider-edge-bottom);min-height:var(--tms-immersive-slider-arrow-size)}.tms-immersive-slider--counter-bottom-start .tms-immersive-slider__counter{left:var(--tms-immersive-slider-edge-left)}.tms-immersive-slider--counter-bottom-end .tms-immersive-slider__counter{right:var(--tms-immersive-slider-edge-right)}.tms-immersive-slider--counter-top-start .tms-immersive-slider__counter{top:var(--tms-immersive-slider-edge-top);left:var(--tms-immersive-slider-edge-left)}.tms-immersive-slider--counter-top-end .tms-immersive-slider__counter{top:var(--tms-immersive-slider-edge-top);right:var(--tms-immersive-slider-edge-right)}.tms-immersive-slider__dots{left:50%;bottom:var(--tms-immersive-slider-edge-bottom);z-index:3;align-items:center;gap:.625rem;display:flex;position:absolute;transform:translate(-50%)}.tms-immersive-slider__dot{width:var(--tms-immersive-slider-dot-size);height:var(--tms-immersive-slider-dot-size);border-radius:var(--tms-radius-pill,999px);cursor:pointer;transition:width var(--tms-transition-base,.3s ease), background-color var(--tms-transition-base,.3s ease);background-color:#ffffff73;border:0;padding:0;position:relative}.tms-immersive-slider__dot:after{content:"";position:absolute;top:-16px;bottom:-16px;left:-16px;right:-16px}.tms-immersive-slider__dot.is-active{width:calc(var(--tms-immersive-slider-dot-size) * 3);background-color:#fff}.tms-immersive-slider__dot:focus-visible{outline-offset:3px;outline:2px solid #fff}.tms-immersive-slider__progress{z-index:3;background-color:#ffffff26;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.tms-immersive-slider__progress-bar{transform-origin:0;background-color:#fff;width:100%;height:100%;display:block;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.tms-immersive-slider__button,.tms-immersive-slider__arrow,.tms-immersive-slider__dot{transition:none}a.tms-immersive-slider__button:active,.tms-immersive-slider__arrow:active{transform:none}.tms-immersive-slider--nav-sides .tms-immersive-slider__arrow:active{transform:translateY(-50%)}}@media (max-width:1024px){.tms-immersive-slider{--tms-immersive-slider-arrow-size:3rem}}@media (max-width:767px){.tms-immersive-slider{--tms-immersive-slider-edge-top:clamp(1.5rem, 5vw, 2.5rem);--tms-immersive-slider-edge-right:clamp(1.5rem, 5vw, 2.5rem);--tms-immersive-slider-edge-bottom:clamp(1.5rem, 5vw, 2.5rem);--tms-immersive-slider-edge-left:clamp(1.5rem, 5vw, 2.5rem);--tms-immersive-slider-arrow-size:2.75rem;--tms-immersive-slider-ui-gap:1.25rem}.tms-immersive-slider__description{max-width:100%}}