/* Minisimnet — motion layer. Subtle, Elementor-reproducible transitions only. */

@keyframes msn-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes msn-glow { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }

[data-reveal] { opacity: 0; }
[data-reveal].msn-in { animation: msn-rise .65s cubic-bezier(.22,.9,.28,1) both; }

.msn-lift { transition: transform .25s cubic-bezier(.22,.9,.28,1), border-color .25s ease, box-shadow .25s ease; }
.msn-lift:hover { transform: translateY(-4px); border-color: var(--color-accent) !important; box-shadow: 0 16px 36px rgba(0,0,0,.45); }
.msn-lift image-slot, .msn-lift img { transition: transform .4s cubic-bezier(.22,.9,.28,1); }
.msn-lift:hover image-slot, .msn-lift:hover img { transform: scale(1.05); }

.btn { transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(1px); }

a { transition: color .2s ease; }
summary { transition: background .2s ease; }
summary:hover { background: rgba(145,132,217,.08); }
details .pm, details summary > span:last-child { transition: transform .25s ease; }
details[open] .pm, details[open] summary > span:last-child { transform: rotate(45deg); }

input, textarea, select { transition: border-color .2s ease, box-shadow .2s ease; }
input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 3px rgba(145,132,217,.18); }

@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal].msn-in { animation: none !important; opacity: 1 !important; }
  .msn-lift, .btn, .msn-lift image-slot, .msn-lift img { transition: none !important; }
}
