@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
scroll-behavior: auto !important;
}
} @keyframes lm-fade-up {
from { opacity: 0; transform: translateY(28px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes lm-fade-in {
from { opacity: 0; }
to   { opacity: 1; }
}
@keyframes lm-zoom-in {
from { opacity: 0; transform: scale(.92); }
to   { opacity: 1; transform: scale(1); }
}
@keyframes lm-slide-left {
from { opacity: 0; transform: translateX(-32px); }
to   { opacity: 1; transform: translateX(0); }
}
@keyframes lm-slide-right {
from { opacity: 0; transform: translateX(32px); }
to   { opacity: 1; transform: translateX(0); }
}
@keyframes lm-wiggle {
0%, 100% { transform: rotate(var(--rot, 0deg)); }
25%      { transform: rotate(calc(var(--rot, 0deg) + 4deg)); }
75%      { transform: rotate(calc(var(--rot, 0deg) - 4deg)); }
}
@keyframes lm-bob {
0%, 100% { transform: translateY(0); }
50%      { transform: translateY(-8px); }
}
@keyframes lm-spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes lm-pulse {
0%, 100% { transform: scale(1); }
50%      { transform: scale(1.06); }
} .lm-reveal {
opacity: 0;
transform: translateY(28px);
transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
will-change: opacity, transform;
}
.lm-reveal.is-in {
opacity: 1; transform: none;
}
.lm-reveal--left { transform: translateX(-32px); }
.lm-reveal--left.is-in { transform: none; }
.lm-reveal--right { transform: translateX(32px); }
.lm-reveal--right.is-in { transform: none; }
.lm-reveal--zoom { transform: scale(.94); }
.lm-reveal--zoom.is-in { transform: none; } .lm-reveal-stagger > * {
opacity: 0; transform: translateY(20px);
transition: opacity .7s ease, transform .7s ease;
}
.lm-reveal-stagger.is-in > *:nth-child(1) { transition-delay: 0ms;   opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(2) { transition-delay: 100ms; opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(3) { transition-delay: 200ms; opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(4) { transition-delay: 300ms; opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(5) { transition-delay: 400ms; opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(6) { transition-delay: 500ms; opacity: 1; transform: none; }
.lm-reveal-stagger.is-in > *:nth-child(n+7) { transition-delay: 600ms; opacity: 1; transform: none; } .lm-hero__logo  { animation: lm-fade-up .9s cubic-bezier(.22,.61,.36,1) both; }
.lm-hero__logo small { display: block; animation: lm-wiggle 4s ease-in-out infinite; animation-delay: 1.2s; --rot: -6deg; }
.lm-hero__tagline { animation: lm-fade-up .9s cubic-bezier(.22,.61,.36,1) both; animation-delay: .15s; }
.lm-hero__mascot { animation: lm-fade-up .9s cubic-bezier(.22,.61,.36,1) both; animation-delay: .3s; }
.lm-hero__image  { animation: lm-zoom-in 1s cubic-bezier(.22,.61,.36,1) both; animation-delay: .25s; } .lm-hero__sticker { animation: lm-fade-in .6s ease both .8s, lm-bob 5s ease-in-out infinite 1.5s; }
.lm-hero__bubble  { animation: lm-fade-in .6s ease both 1s; }
.lm-cta-logo__sticker-overlay { animation: lm-fade-in .6s ease both .8s; } .lm-hero__sticker:hover::before,
.lm-hero__bubble:hover::before,
.lm-cta-logo__sticker-overlay:hover::before {
animation-play-state: paused;
} .lm-btn { transition: transform .2s cubic-bezier(.34,1.56,.64,1), background .2s ease, color .2s ease, box-shadow .2s ease; }
.lm-btn:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 8px 22px rgba(255,88,1,.28); }
.lm-btn:active { transform: translateY(0) scale(.98); }
.lm-events__card, .lm-event-feature, .lm-feature-pair__card, .lm-trio__card, .lm-split__card, .lm-services__item, .lm-formules__card {
transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease;
}
.lm-events__card:hover, .lm-event-feature:hover, .lm-feature-pair__card:hover,
.lm-trio__card:hover, .lm-split__card:hover, .lm-services__item:hover, .lm-formules__card:hover {
transform: translateY(-4px);
box-shadow: 0 14px 30px rgba(107,28,0,.16);
} .lm-nav a { position: relative; transition: color .2s ease; }
.lm-nav a::after {
content: ''; position: absolute; left: 0; right: 0; bottom: -4px;
height: 2px; background: var(--lm-orange-2); border-radius: 2px;
transform: scaleX(0); transform-origin: center; transition: transform .25s ease;
}
.lm-nav a:hover::after, .lm-nav .current-menu-item > a::after { transform: scaleX(1); }
.lm-footer__menu a, .lm-footer__legal a {
position: relative; transition: opacity .2s ease, transform .2s ease;
}
.lm-footer__menu a:hover { transform: translateX(4px); }
.lm-footer__social a {
transition: transform .25s cubic-bezier(.34,1.56,.64,1), background .2s ease;
}
.lm-footer__social a:hover {
background: var(--lm-orange-2);
transform: translateY(-3px) rotate(-6deg);
}
.lm-header__logo img { transition: transform .25s ease; }
.lm-header__logo:hover img { transform: rotate(-3deg) scale(1.04); } .lm-header.is-scrolled { box-shadow: 0 4px 18px rgba(107,28,0,.08); }
.lm-header { transition: box-shadow .25s ease; } .lm-hero__image img { transition: transform .6s ease; }