/* Site-wide friendly motion layer. JS only adds motion classes after the page is ready. */
:where(body:not(.elementor-editor-active)) .ost-motion-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.8,.28,1)}
:where(body:not(.elementor-editor-active)) .ost-motion-reveal.ost-motion-visible{opacity:1;transform:none}
:where(body:not(.elementor-editor-active)) .ost-motion-title{position:relative;isolation:isolate}
:where(body:not(.elementor-editor-active)) .ost-motion-title::after{content:"";position:absolute;left:0;bottom:-.22em;width:clamp(48px,18%,116px);height:3px;border-radius:999px;background:linear-gradient(90deg,#c65308,#f3b33e);transform:scaleX(0);transform-origin:left center;transition:transform .6s cubic-bezier(.22,.8,.28,1);pointer-events:none}
:where(body:not(.elementor-editor-active)) .ost-motion-title.ost-motion-visible::after{transform:scaleX(1)}
:where(body:not(.elementor-editor-active)) .ost-motion-title.ost-motion-title-centered::after{left:50%;transform:translateX(-50%) scaleX(0);transform-origin:center center}
:where(body:not(.elementor-editor-active)) .ost-motion-title.ost-motion-title-centered.ost-motion-visible::after{transform:translateX(-50%) scaleX(1)}
:where(body:not(.elementor-editor-active)) .ost-motion-title.ost-motion-title-right::after{left:auto;right:0;transform-origin:right center}
:where(body:not(.elementor-editor-active)) .ost-motion-card{transition:transform .28s cubic-bezier(.22,.8,.28,1)}
:where(body:not(.elementor-editor-active)) .ost-motion-card:hover{transform:translateY(-5px) rotate(.15deg)}
:where(body:not(.elementor-editor-active)) .ost-motion-card:hover{box-shadow:none!important;border-color:transparent!important}
:where(body:not(.elementor-editor-active)) .ost-motion-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s ease}
:where(body:not(.elementor-editor-active)) .ost-motion-card:hover .ost-motion-icon,:where(body:not(.elementor-editor-active)) .ost-motion-icon:hover{transform:translateY(-3px) rotate(-6deg) scale(1.08);filter:drop-shadow(0 7px 8px rgba(197,83,8,.2))}
:where(body:not(.elementor-editor-active)) :is([class*="-accent"],.ost-motion-accent,.ost-brand-en){transform-origin:center}
:where(body:not(.elementor-editor-active)) .ost-brand-en{animation:ostAccentBreathe 5.2s ease-in-out infinite}
:where(body:not(.elementor-editor-active)) .ost-motion-accent{position:relative;display:inline-block;isolation:isolate}
:where(body:not(.elementor-editor-active)) .ost-accent-soft{animation:ostAccentSoft 4.8s ease-in-out infinite}
:where(body:not(.elementor-editor-active)) .ost-accent-breathe{animation:ostAccentBreathe 5.6s ease-in-out infinite}
:where(body:not(.elementor-editor-active)) .ost-accent-pop{animation:ostAccentPop 4.4s ease-in-out infinite}
:where(body:not(.elementor-editor-active)) .ost-accent-purple{animation:ostPurpleGlow 4.9s ease-in-out infinite}
:where(body:not(.elementor-editor-active)) .ost-accent-sweep>.ost-accent-shine{position:absolute;inset:0;z-index:1;pointer-events:none;font:inherit;letter-spacing:inherit;line-height:inherit;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(108deg,transparent 0%,transparent 38%,rgba(255,244,184,.08) 46%,#fff9cf 50%,rgba(255,244,184,.08) 54%,transparent 62%,transparent 100%);background-size:260% 100%;background-position:165% 0;background-clip:text;-webkit-background-clip:text;animation:ostAccentSweep 4.8s cubic-bezier(.64,0,.36,1) infinite}
@keyframes ostAccentSoft{0%,100%{filter:saturate(1) brightness(1);text-shadow:0 0 0 rgba(235,121,25,0)}50%{filter:saturate(1.08) brightness(1.035);text-shadow:0 0 6px rgba(235,121,25,.22),0 0 14px rgba(255,184,73,.1)}}
@keyframes ostAccentBreathe{0%,100%{filter:saturate(1) brightness(1);transform:scale(1)}50%{filter:saturate(1.1) brightness(1.045);transform:scale(1.018)}}
@keyframes ostAccentPop{0%,100%{filter:saturate(1) brightness(1);transform:translateY(0)}45%{filter:saturate(1.12) brightness(1.06);transform:translateY(-1px)}55%{transform:translateY(0)}}
@keyframes ostAccentSweep{0%,18%{background-position:165% 0;opacity:0}42%{opacity:.72}68%,100%{background-position:-65% 0;opacity:0}}
@keyframes ostPurpleGlow{0%,100%{filter:saturate(1) brightness(1);text-shadow:0 0 0 rgba(100,58,118,0)}50%{filter:saturate(1.08) brightness(1.04);text-shadow:0 0 7px rgba(100,58,118,.24),0 0 15px rgba(188,139,216,.12)}}
:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button){transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button):hover{transform:translateY(-2px);filter:saturate(1.08)}
:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button):active{transform:translateY(1px) scale(.98)}
:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button):focus-visible{outline:3px solid #7b5bb1;outline-offset:4px}
.ost-motion-typing{display:inline-block;min-height:1em;border-right:2px solid currentColor;padding-right:.08em;animation:ostMotionCaret .85s steps(1,end) infinite}
@keyframes ostMotionCaret{0%,45%{border-color:currentColor}46%,100%{border-color:transparent}}
/* Keep hover movement light and open: no rectangular highlight, halo, or border flash. */
@media (hover:hover) and (pointer:fine){
  :where(body:not(.elementor-editor-active)) #ost-target-section .ost-target-card:hover{border-color:transparent!important;box-shadow:none!important}
  :where(body:not(.elementor-editor-active)) #ost-service-section .ost-service-card:hover{border-color:transparent!important;box-shadow:none!important}
  :where(body:not(.elementor-editor-active)) #ost-footer-section .ost-footer-list a:hover,
  :where(body:not(.elementor-editor-active)) #ost-footer-section .ost-footer-contact-link:hover,
  :where(body:not(.elementor-editor-active)) #ost-footer-section .ost-footer-bottom-link:hover{background:transparent!important;border-color:transparent!important;box-shadow:none!important;outline:none}
}
@media(prefers-reduced-motion:reduce){:where(body:not(.elementor-editor-active)) .ost-motion-reveal{opacity:1;transform:none;transition:none}:where(body:not(.elementor-editor-active)) .ost-motion-title::after{transform:scaleX(1);transition:none}:where(body:not(.elementor-editor-active)) .ost-motion-card,:where(body:not(.elementor-editor-active)) .ost-motion-icon,:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button){transition:none!important;animation:none!important}:where(body:not(.elementor-editor-active)) .ost-motion-card:hover,:where(body:not(.elementor-editor-active)) .ost-motion-icon:hover,:where(body:not(.elementor-editor-active)) :is(a.ost-btn,a[class*="-btn"],button[class*="-btn"],.elementor-button):hover{transform:none;filter:none;box-shadow:none}.ost-motion-typing{border-right:0;animation:none}}
:where(body:not(.elementor-editor-active)) :is([class*="-accent"],.ost-motion-accent,.ost-brand-en){text-shadow:none}
@media(prefers-reduced-motion:reduce){:where(body:not(.elementor-editor-active)) :is([class*="-accent"],.ost-motion-accent,.ost-brand-en){animation:none;filter:none;text-shadow:none}:where(body:not(.elementor-editor-active)) .ost-accent-shine{animation:none;opacity:0}}
