/* v0.69: common motion only. Content/layout/brand remain owned by existing CSS. */
:root { --lvs-interaction:190ms; --lvs-interaction-ease:cubic-bezier(.18,.75,.25,1); }
.lvs-entering { transition-property:box-shadow,border-color,background-color!important; }
.lvs-heading-visual,.lvs-heading-line { display:block; }
.lvs-heading-visual { overflow:clip; }
.lvs-heading-mask { overflow:hidden; padding:.06em 0 .12em; margin:-.06em 0 -.12em; }
.lvs-heading-phrase { display:inline-block; }
.lvs-heading-word,.lvs-heading-char { display:inline-block; }
.lvs-heading-word { white-space:nowrap; }
.lvs-heading-char { white-space:pre; }
.lvs-motion-sr { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.lvs-hero-reveal { position:absolute;z-index:1;pointer-events:none;overflow:hidden; }
.lvs-hero-slice { position:absolute;left:0;width:100%;overflow:hidden;contain:paint; }
.lvs-hero-ink { position:absolute;left:0;background-size:100% 100%;background-repeat:no-repeat; }
.lvs-atmosphere { position:relative;isolation:isolate; }
.lvs-ambience { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;contain:paint; }
#hero-section>.lvs-ambience { z-index:2; }
.lvs-light { position:absolute;display:block;width:min(58vw,650px);aspect-ratio:1;border-radius:50%;opacity:.45; }
.lvs-light-violet { left:-18%;top:0;background:radial-gradient(ellipse,rgba(144,112,215,.26),rgba(144,112,215,.07) 45%,transparent 70%);animation:lvs-light-drift 10s ease-in-out infinite alternate; }
.lvs-light-coral { right:-16%;bottom:0;background:radial-gradient(ellipse,rgba(190,124,116,.22),rgba(190,124,116,.06) 45%,transparent 70%);animation:lvs-light-drift 12s -5s ease-in-out infinite alternate-reverse; }
#hero-section .lvs-light {opacity:.8;width:65%;}
#hero-section .lvs-light-violet {left:-30%;}
#hero-section .lvs-light-coral {right:-30%;}
.lvs-wave { position:absolute;right:-13%;top:12%;width:45%;aspect-ratio:1;border:1px solid rgba(144,112,215,.16);border-radius:50%;box-shadow:0 0 0 24px rgba(144,112,215,.035),0 0 0 48px rgba(144,112,215,.025);animation:lvs-resonance 8s ease-in-out infinite; }
.lvs-wave-b {right:auto;left:-24%;top:35%;width:40%;animation-delay:-4s;}
#hero-section .lvs-wave {border-color:rgba(210,182,255,.17);right:-26%;}
.lvs-ambience span {animation-play-state:paused;}
.lvs-in-view .lvs-ambience span {animation-play-state:running;}
.lvs-motion-tab-hidden .lvs-ambience span {animation-play-state:paused;}
body.dark-mode .lvs-light {opacity:.65;}
@keyframes lvs-light-drift {from{transform:translate3d(-12px,-14px,0) scale(.92)}to{transform:translate3d(35px,22px,0) scale(1.1)}}
@keyframes lvs-resonance {0%,100%{transform:scale(.88);opacity:.35}50%{transform:scale(1.12);opacity:.8}}
.lvs-ambience-balanced .lvs-wave-b { display:none; }
.lvs-ambience-balanced .lvs-light { max-width:520px; }
/* Static clipping frame + transform zoom, no per-frame CSS variable/clip changes. */
.lvs-image-frame {display:block;overflow:hidden;isolation:isolate;}
.lvs-image-frame>.lvs-image-motion {display:block;}
.lvs-image-motion {transition:filter .25s;}
.instructor-photo {overflow:hidden;}
.lvs-photo-plane {display:block;width:100%;height:100%;transform-origin:center;}
body.lvs-motion-enabled .faq-item.open .faq-answer,
body.lvs-motion-enabled .faq-preview-item[open] .faq-preview-a {animation:none;}
body .lvs-menu-motion.open {animation:none;}
.lvs-menu-motion {overflow:hidden;}
.lvs-menu-motion.open {overflow-y:auto;}
.lvs-disclosure {overflow:hidden;box-sizing:border-box;padding-bottom:0!important;}
.lvs-disclosure .faq-answer-inner {padding-bottom:18px;}
.faq-preview-item {overflow:hidden;}
.faq-preview-q::after,.faq-toggle {transition:transform .32s var(--lvs-interaction-ease),color .19s;}
.faq-preview-item.lvs-details-closing .faq-preview-q::after {transform:none;}
body :is(.btn-primary,.btn-nav,.btn-outline,.hero-hotspot,.btn-option,.filter-btn) {transition:transform var(--lvs-interaction) var(--lvs-interaction-ease),box-shadow var(--lvs-interaction),filter var(--lvs-interaction),border-color var(--lvs-interaction),background-color var(--lvs-interaction);}
body :is(.btn-primary,.btn-nav,.hero-hotspot) {position:relative;overflow:hidden;isolation:isolate;}
body .hero-hotspot {position:absolute;}
:is(.btn-primary,.btn-nav,.hero-hotspot)::after {content:'';position:absolute;inset:-20% auto -20% -65%;width:45%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent);transform:skewX(-18deg);opacity:0;}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 body.lvs-motion-enabled :is(.btn-primary,.btn-nav,.hero-hotspot):not(:disabled):hover::after {animation:lvs-button-sheen .65s ease-out;}
 body.lvs-motion-enabled :is(.course-card,.feature-card,.column-card,.blog-card,.blog-preview-card):not(.lvs-entering):hover {transform:translateY(-5px);}
 body.lvs-motion-enabled .lvs-image-motion:hover {filter:brightness(1.05);}
 body.lvs-motion-enabled .cta-choice-card:not(.lvs-entering):hover {transform:translateY(-5px);border-color:var(--ui-focus);box-shadow:0 12px 30px rgba(112,96,184,.18);}
}
body.lvs-motion-enabled :is(.btn-primary,.btn-outline,.btn-nav,.hero-hotspot,.btn-option):not(:disabled):active {transform:translateY(2px) scale(.98);transition-duration:80ms;}
body.lvs-motion-enabled :is(.btn-primary,.btn-nav,.hero-hotspot):focus-visible::after {animation:lvs-button-sheen .65s ease-out;}
.cta-choice-card {transition:transform .2s var(--lvs-interaction-ease),border-color .2s,box-shadow .2s,background-color .2s;}
.cta-choice-card:focus-within {border-color:var(--ui-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-focus) 22%,transparent);}
body.lvs-motion-enabled .cta-choice-card:has(a:active) {transform:scale(.985);border-color:var(--ui-focus);background-color:color-mix(in srgb,var(--color-surface) 93%,var(--ui-focus));transition-duration:80ms;}
@keyframes lvs-button-sheen {0%{transform:translateX(0) skewX(-18deg);opacity:0}20%{opacity:1}100%{transform:translateX(440%) skewX(-18deg);opacity:0}}
.lvs-motion-toggle {font:inherit;font-size:12px;line-height:1.6;min-height:44px;padding:8px 16px;color:var(--color-text-sub);background:transparent;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;align-self:flex-start;}
.lvs-motion-toggle:disabled {cursor:default;opacity:.75;}
@media(max-width:700px) {.lvs-light{width:85%;}.lvs-wave{width:75%;right:-48%;}.lvs-wave-b{left:-60%;}.lvs-motion-toggle{max-width:100%;}}
@media(prefers-reduced-motion:reduce) {
 .lvs-entering{transform:none!important;opacity:1!important;} .lvs-ambience,.lvs-hero-reveal{display:none!important;}
 :is(.btn-primary,.btn-nav,.hero-hotspot)::after{animation:none!important;}
 .lvs-photo-plane{transform:none!important;}
 .lvs-heading-char,.lvs-heading-line,.lvs-heading-phrase{transform:none!important;opacity:1!important;}
}

body.lvs-motion-enabled .lvs-pressed:not(:disabled) {transform:translateY(2px) scale(.98)!important;transition-duration:80ms;}
body.lvs-motion-enabled .cta-choice-card.lvs-choice-pressed {transform:scale(.985);border-color:var(--ui-focus);background-color:color-mix(in srgb,var(--color-surface) 93%,var(--ui-focus));transition-duration:80ms;}

body.lvs-motion-paused :is(.faq-toggle,.faq-preview-q,.mobile-menu,.btn-primary,.btn-nav,.btn-outline,.hero-hotspot,.cta-choice-card),
body.lvs-motion-paused .faq-preview-q::after {transition:none!important;animation:none!important;}
body.lvs-motion-paused .hero-scroll span,body.lvs-motion-paused .hero-scroll span::before,body.lvs-motion-paused .hero-scroll span::after {animation-play-state:paused!important;}
