/* KustomWorks motion layer: entrance + hover. Uses individual translate/scale
   properties so Elementor's own transform/rotate settings are preserved. */
:root{--kw-accent:#a63a0e;--kw-ease:cubic-bezier(.22,.8,.24,1);--kw-ease-out:cubic-bezier(.16,1,.3,1)}

/* Pre-hide only while the motion script is active (html.kw-motion); a head
   failsafe removes the class if the script never starts. */
.kw-motion [data-elementor-type="wp-page"] .elementor-widget:not(.elementor-widget-spacer):not(.elementor-widget-divider):not(.elementor-widget-heading):not(.elementor-widget-jkit_heading),
.kw-motion footer[itemtype*="WPFooter"] .elementor-widget:not(.elementor-widget-spacer):not(.elementor-widget-divider){opacity:0}
.kw-motion [data-elementor-type="wp-page"] :is(.elementor-widget-heading,.elementor-widget-jkit_heading){opacity:0}

/* Generic fade-up */
.kw-ready [data-kw="up"]{opacity:0;translate:0 34px;filter:blur(4px);transition:opacity .9s var(--kw-ease),translate 1s var(--kw-ease-out),filter .9s var(--kw-ease);transition-delay:var(--kw-d,0s)}
.kw-ready [data-kw="up"].kw-in{opacity:1;translate:0 0;filter:none}
/* Card pop */
.kw-ready [data-kw="card"]{opacity:0;translate:0 46px;scale:.96;transition:opacity .8s var(--kw-ease),translate 1s var(--kw-ease-out),scale 1s var(--kw-ease-out);transition-delay:var(--kw-d,0s)}
.kw-ready [data-kw="card"].kw-in{opacity:1;translate:0 0;scale:1}
/* Side slides */
.kw-ready [data-kw="left"]{opacity:0;translate:-48px 0;transition:opacity .9s var(--kw-ease),translate 1.1s var(--kw-ease-out);transition-delay:var(--kw-d,0s)}
.kw-ready [data-kw="right"]{opacity:0;translate:48px 0;transition:opacity .9s var(--kw-ease),translate 1.1s var(--kw-ease-out);transition-delay:var(--kw-d,0s)}
.kw-ready :is([data-kw="left"],[data-kw="right"]).kw-in{opacity:1;translate:0 0}
/* Image curtain reveal */
.kw-ready [data-kw="img"]{opacity:1}
.kw-ready [data-kw="img"] img{clip-path:inset(0 0 100% 0 round 14px);scale:1.12;transition:clip-path 1.25s var(--kw-ease-out),scale 1.6s var(--kw-ease-out);transition-delay:var(--kw-d,0s)}
.kw-ready [data-kw="img"].kw-in img{clip-path:inset(0 0 0 0 round 0);scale:1}
.kw-ready [data-kw="img"].kw-done img{clip-path:none}
/* Container background reveal (image banners) */
.kw-ready [data-kw-bg]{clip-path:inset(8% 6% 8% 6% round 24px);opacity:.001;transition:clip-path 1.3s var(--kw-ease-out),opacity .8s var(--kw-ease)}
.kw-ready [data-kw-bg].kw-in{clip-path:inset(0 0 0 0 round 0);opacity:1}
.kw-ready [data-kw-bg].kw-done{clip-path:none}
/* Heading word-by-word rise */
.kw-ready [data-kw="words"]{opacity:1}
.kw-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.kw-w>span{display:inline-block;translate:0 110%;rotate:4deg;transform-origin:0 100%;transition:translate .95s var(--kw-ease-out),rotate .95s var(--kw-ease-out);transition-delay:calc(var(--kw-d,0s) + var(--kw-i,0) * 55ms)}
.kw-in .kw-w>span{translate:0 0;rotate:0deg}
.kw-done .kw-w,.kw-done .kw-w>span{overflow:visible}

/* ---------- Hover ---------- */
/* Buttons: lift, glow, sheen */
.jkit-button-wrapper,.elementor-button,.jkit-mailchimp button,.jkit-mailchimp input[type=submit]{position:relative;overflow:hidden;isolation:isolate;transition:translate .35s var(--kw-ease),box-shadow .35s var(--kw-ease),background-color .3s,color .3s !important}
.jkit-button-wrapper::after,.elementor-button::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);translate:-120% 0;transition:translate .7s var(--kw-ease);pointer-events:none}
.jkit-button-wrapper:hover,.elementor-button:hover,.jkit-mailchimp button:hover{translate:0 -3px;box-shadow:0 14px 28px -12px color-mix(in srgb,var(--kw-accent) 70%,transparent)}
.jkit-button-wrapper:hover::after,.elementor-button:hover::after{translate:120% 0}
.jkit-button-wrapper:active,.elementor-button:active{translate:0 -1px;transition-duration:.1s}
.jkit-button-wrapper i,.jkit-button-wrapper svg{transition:translate .35s var(--kw-ease)}
.jkit-button-wrapper:hover i,.jkit-button-wrapper:hover svg{translate:3px 0}

/* Header nav: underline sweep */
#masthead .jkit-menu>li>a{position:relative}
#masthead .jkit-menu>li>a::before{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--kw-accent);scale:0 1;transform-origin:right;transition:scale .45s var(--kw-ease)}
#masthead .jkit-menu>li:hover>a::before,#masthead .jkit-menu>li.current-menu-item>a::before{scale:1 1;transform-origin:left}
#masthead .sub-menu a{transition:padding-left .3s var(--kw-ease),color .25s}
#masthead .sub-menu a:hover{padding-left:6px}
#masthead.kw-scrolled{box-shadow:0 10px 30px -18px rgba(20,12,6,.35);transition:box-shadow .4s}

/* Cards: icon boxes, fun facts, posts, accordions */
.jkit-icon-box-wrapper,.jkit-fun-fact,.jkit-postblock-post,.jkit-post-list .jkit-post,.elementor-widget-icon-box .elementor-icon-box-wrapper{transition:translate .45s var(--kw-ease),box-shadow .45s var(--kw-ease) !important}
.jkit-icon-box-wrapper:hover,.jkit-fun-fact:hover,.jkit-postblock-post:hover,.elementor-widget-icon-box .elementor-icon-box-wrapper:hover{translate:0 -8px;box-shadow:0 26px 48px -26px rgba(30,16,8,.38)}
.jkit-icon-box-wrapper .icon,.jkit-icon-box-wrapper .icon-box-icon,.jkit-fun-fact .fun-fact-icon,.elementor-icon-box-icon .elementor-icon,.elementor-widget-icon .elementor-icon{transition:scale .5s var(--kw-ease),rotate .5s var(--kw-ease)}
.jkit-icon-box-wrapper:hover :is(.icon,.icon-box-icon),.jkit-fun-fact:hover .fun-fact-icon,.elementor-icon-box-wrapper:hover .elementor-icon,.elementor-widget-icon:hover .elementor-icon{scale:1.12;rotate:-8deg}
.jkit-accordion .card-wrapper{transition:translate .35s var(--kw-ease),box-shadow .35s var(--kw-ease)}
.jkit-accordion .card-wrapper:hover{translate:4px 0}

/* Images: soft zoom + lift (corners kept) */
[data-elementor-type="wp-page"] .elementor-widget-image img,.jkit-post-featured-image img,.jkit-postblock-post img{transition:scale .9s var(--kw-ease),filter .6s var(--kw-ease),box-shadow .6s var(--kw-ease),clip-path 1.25s var(--kw-ease-out) !important}
[data-elementor-type="wp-page"] .elementor-widget-image:hover img{scale:1.035;filter:saturate(1.12) contrast(1.04);box-shadow:0 30px 60px -32px rgba(20,12,6,.5)}
.jkit-postblock-post:hover img,.jkit-post-featured-image:hover img{scale:1.06}
.jkit-postblock-post .jkit-thumb,.jkit-post-featured-image{overflow:hidden}

/* Links in text / lists / footer */
.elementor-icon-list-item a,footer .elementor-icon-list-item>span,footer .jkit-menu a{transition:translate .3s var(--kw-ease),color .25s}
.elementor-icon-list-item:hover>a,footer .jkit-menu a:hover{translate:5px 0;color:var(--kw-accent)}
.elementor-icon-list-icon{transition:scale .3s var(--kw-ease)}
.elementor-icon-list-item:hover .elementor-icon-list-icon{scale:1.2}
.elementor-text-editor a,.elementor-widget-text-editor a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--kw-ease)}
.elementor-widget-text-editor a:hover{background-size:100% 1px}
.elementor-social-icon{transition:translate .3s var(--kw-ease),background-color .3s,scale .3s var(--kw-ease) !important}
.elementor-social-icon:hover{translate:0 -4px;scale:1.08}

/* Scroll progress bar */
.kw-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:99999;background:var(--kw-accent);transform-origin:0 50%;scale:0 1;pointer-events:none}

@media (hover:none){[data-elementor-type="wp-page"] .elementor-widget-image:hover img{scale:1;box-shadow:none}}
@media (prefers-reduced-motion:reduce){
  .kw-motion [data-elementor-type="wp-page"] .elementor-widget,.kw-motion footer .elementor-widget{opacity:1 !important}
  [data-kw],[data-kw] *,.kw-w>span,[data-kw-bg]{transition:none !important;translate:none !important;rotate:none !important;scale:none !important;clip-path:none !important;filter:none !important;opacity:1 !important}
  .kw-progress{display:none}
}
