/* Lukôlô: deliberate movement, with static equivalents for reduced motion. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth}
.reveal-item{transition:opacity .65s var(--motion-ease),translate .65s var(--motion-ease);opacity:1;translate:0 0}
.reveal-item.reveal-out{opacity:0;translate:0 32px}
.goal-card,.teacher-card,.exam-card,.about-value{transition:background .28s,color .28s,border-color .28s,box-shadow .3s,transform .32s var(--motion-ease)}
.goal-card .goal-icon,.goal-card .card-bottom>svg,.language-icon,.btn svg{transition:transform .32s var(--motion-ease),background .25s,color .25s}
.btn,.round-btn,.choice,.language-item,.teacher-tabs button{position:relative;isolation:isolate;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s var(--motion-ease)}
.btn:not(:disabled):active,.round-btn:active,.language-item:active{transform:scale(.96);background:#073289;color:white}
.goal-card:active{transform:translateY(-2px) scale(.98);background:#073289;color:white}
.goal-card:active p{color:#edf2ff}
.choice.selected{background:#123dc9;border-color:#123dc9;color:white;box-shadow:0 6px 18px #163ee82a}
.choice.selected>svg{color:white}.choice.selected .choice-check{background:white;color:#123dc9;border-color:white}
.choice.selected:active{background:#082875;transform:scale(.98)}
.teacher-tabs>button.active{border-bottom-width:4px;background:#ecf1ff;border-radius:8px 8px 0 0;padding-inline:12px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#163ee8;box-shadow:0 0 0 4px #163ee817;outline:2px solid transparent}
:is(a,button,input,select,textarea):focus-visible{outline:3px solid #4369ff;outline-offset:4px}
.click-wave{position:absolute;z-index:3;pointer-events:none;width:18px;height:18px;border-radius:50%;background:#7299ff60;transform:translate(-50%,-50%) scale(0);animation:click-wave .5s ease-out forwards}
@keyframes click-wave{to{transform:translate(-50%,-50%) scale(7);opacity:0}}
@media(hover:hover) and (pointer:fine){
 .goal-card:hover,.goal-card:focus-visible{transform:translateY(-9px);background:#123dc9;border-color:#123dc9;color:white;box-shadow:0 18px 35px #093cb52a}
 .goal-card:hover p,.goal-card:focus-visible p{color:#e5edff}
 .goal-card:hover .goal-icon{transform:rotate(-8deg) scale(1.08);background:#fff;border-color:#fff;color:#123dc9}
 .goal-card:hover .card-bottom>svg{transform:translateX(8px)}
 .teacher-card:hover,.exam-card:hover,.about-value:hover{transform:translateY(-6px);border-color:#9bb4ff;box-shadow:0 14px 30px #123dc916}
 .btn:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 8px 18px #163ee821}
 .btn:hover svg{transform:translateX(4px)}
 .language-item:hover .language-icon{transform:rotate(-7deg) scale(1.12);background:#163ee8;color:white}
 .hero-visual img{transition:transform .8s var(--motion-ease)}.hero-visual:hover img{transform:scale(1.025)}
}
.lukolo-opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#fafcff;overflow:hidden;animation:opening-away .9s 3.2s forwards}
.opening-logo{width:min(64vw,430px);height:auto;position:relative;z-index:2;animation:logo-arrival 4s var(--motion-ease) both}
.opening-halo{position:absolute;width:min(55vw,350px);aspect-ratio:1;border-radius:50%;border:2px solid #7598ff;box-shadow:0 0 90px 45px #1a51db12;opacity:0;animation:halo-burst 1.3s 2.5s ease-out forwards}
.opening-halo.second{animation-delay:2.7s;border-color:#bccdff}
@keyframes logo-arrival{0%{opacity:0;transform:scale(.8);filter:blur(5px)}25%,52%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(2.4);filter:blur(8px)}}
@keyframes halo-burst{0%{opacity:0;transform:scale(.65)}25%{opacity:.7}100%{opacity:0;transform:scale(5)}}
@keyframes opening-away{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-item.reveal-out{opacity:1;translate:none}.lukolo-opening,.click-wave{display:none}.goal-card:hover,.teacher-card:hover,.exam-card:hover,.about-value:hover,.btn:hover,.hero-visual:hover img{transform:none}}
