/* Callutopia — animations du site (charte lime #A8E635 / magenta #D946B8). */
.fxr { opacity: 0; transform: translateY(26px); transition: opacity .6s ease var(--fxd,0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--fxd,0ms); }
.fxr.fxin { opacity: 1; transform: none; transition: transform .18s ease, box-shadow .2s ease, opacity .3s ease; }
.fxh { animation: fxup .7s cubic-bezier(.2,.8,.2,1) both var(--fxd,0ms); }
@keyframes fxup { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.plan { transition: transform .18s ease, box-shadow .2s ease; }
.plan:hover { transform: translateY(-5px); box-shadow: 0 18px 40px -14px rgba(217,70,184,.28); }
a.btn:hover, button:hover, [class*="btn"]:hover { transition: transform .15s ease; }
/* halo du hero qui respire doucement */
@keyframes fxglow { 0%,100% { opacity: .8; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } }
