/* Marcela IA — animações. Classes mi-*; respeita prefers-reduced-motion. */
@keyframes mi-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes mi-swap{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes mi-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes mi-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mi-pulse{0%{box-shadow:0 0 0 0 rgba(255,90,54,.55)}70%{box-shadow:0 0 0 7px rgba(255,90,54,0)}100%{box-shadow:0 0 0 0 rgba(255,90,54,0)}}
@keyframes mi-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.mi-in{animation:mi-in .36s cubic-bezier(.2,.8,.2,1) both}
.mi-d1{animation-delay:.06s}.mi-d2{animation-delay:.12s}.mi-d3{animation-delay:.18s}.mi-d4{animation-delay:.24s}
.mi-stagger>*{animation:mi-in .36s cubic-bezier(.2,.8,.2,1) both}
.mi-stagger>*:nth-child(2){animation-delay:.04s}.mi-stagger>*:nth-child(3){animation-delay:.08s}.mi-stagger>*:nth-child(4){animation-delay:.12s}.mi-stagger>*:nth-child(5){animation-delay:.16s}.mi-stagger>*:nth-child(6){animation-delay:.2s}.mi-stagger>*:nth-child(n+7){animation-delay:.24s}
.mi-swap{animation:mi-swap .28s cubic-bezier(.2,.8,.2,1) both}
.mi-grow{transform-origin:bottom;animation:mi-grow .7s cubic-bezier(.2,.8,.2,1) .1s both}
.pn-col.mi-grow{transform-box:fill-box;transform-origin:50% 100%}
.mi-grow2{transform-origin:bottom;animation:mi-grow .7s cubic-bezier(.2,.8,.2,1) .2s both}
.mi-bar{transform-origin:left;animation:mi-bar .8s cubic-bezier(.2,.8,.2,1) .15s both}
.mi-pulse{animation:mi-pulse 2.4s ease-out infinite}
.mi-dot{display:inline-block;width:6px;height:6px;border-radius:3px;background:var(--mi-indigo);animation:mi-dot 1.2s ease-in-out infinite}
.mi-dot:nth-child(2){animation-delay:.15s}.mi-dot:nth-child(3){animation-delay:.3s}
.mi-hover{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}
.mi-hover:hover{background-color:var(--mi-nevoa-clara)}
.mi-lift{transition:transform .18s ease,box-shadow .18s ease}
.mi-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(11,11,18,.07)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Conversa e celular */
.mi-msgs>*{animation:mi-in .3s cubic-bezier(.2,.8,.2,1) both}
.mi-msgs>*:nth-child(2){animation-delay:.03s}.mi-msgs>*:nth-child(3){animation-delay:.06s}.mi-msgs>*:nth-child(4){animation-delay:.09s}.mi-msgs>*:nth-child(5){animation-delay:.12s}.mi-msgs>*:nth-child(n+6){animation-delay:.15s}
@keyframes mi-sheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes mi-fade{from{opacity:0}to{opacity:1}}
.mi-sheet{animation:mi-sheet .32s cubic-bezier(.2,.8,.2,1) both}
.mi-fade{animation:mi-fade .2s ease both}
/* Hover e elevação (§5). O arquivo é carregado por último no layout: empate de especificidade vale para ele. */
button, a[href], summary, [role="tab"] { transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, opacity .15s ease; }
@media (prefers-reduced-motion: no-preference) {
  .pn-rec__i, .ldx-card, .ldx-fn__e, .mem-kpi:not(:disabled):not(.mem-kpi--nota), .cp-sug__item, .modelo, .ic-modo, .opc__i { transition: transform .18s ease, box-shadow .18s ease, border-color .15s ease, background-color .15s ease; }
  .pn-rec__i:hover:not(:focus-visible), .ldx-card:hover:not(:focus-visible), .ldx-fn__e:hover:not(:focus-visible), .mem-kpi:not(:disabled):not(.mem-kpi--nota):hover:not(:focus-visible), .cp-sug__item:hover:not(:focus-visible), .modelo:hover:not(:focus-visible), .ic-modo:hover:not(:focus-visible), .opc__i:hover:not(:focus-visible) { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(11,11,18,.07); }
}
/* Movimento reduzido: as elevações de hover que cada tela já tinha também ficam paradas */
@media (prefers-reduced-motion: reduce) {
  .cat-ex:hover, .cat-ex:focus-visible, .cat-pr:hover, .cat-pr:focus-visible, .cp-sug__item:hover, .cp-send:hover:not(:disabled), .uni-card:hover,
  .md-card:hover, .md-card:focus-visible, .ldx-card:hover, .kb-card:hover, .kb-card:focus-visible, .mon-funil__i:hover, .mon-card:hover { transform: none; }
  .swatch:hover::before { transform: none; }
}

.pn-col > .mi-grow, .pn-col > .mi-grow2 { transform-box: fill-box; transform-origin: 50% 100%; }
