/* L15 card and row motion: transforms/opacity only. */
.lead,.kc{position:relative}
.lead::before{content:"";position:absolute;inset-block:8px;inset-inline-start:-1px;width:3px;border-radius:4px;background:var(--sand);transform:scaleY(0);transform-origin:center;transition:transform 160ms ease;pointer-events:none}
.lead:hover::before,.lead:focus-within::before{transform:scaleY(1)}
.lm-row-enter{animation:lm-row-enter 300ms ease-out both}
@keyframes lm-row-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.lm-stage-change{animation:lm-stage-change 320ms ease-out}
@keyframes lm-stage-change{50%{transform:scale(1.04);opacity:.82}}
.btn.call:active,.btn.wa:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.lead::before{transition:none}.lm-row-enter,.lm-stage-change{animation:none!important}}
@media(pointer:coarse){.lead:hover::before{transform:scaleY(0)}.lead:focus-within::before{transform:scaleY(1)}.lm-row-enter{animation-duration:180ms}}

/* Drawer entrance and action bar: transform/opacity only. */
.dr.on .h{animation:lm-drawer-head 240ms ease-out both}
.dr.on > :nth-child(-n+6){animation:lm-drawer-content 220ms ease-out both}
.dr.on > :nth-child(2){animation-delay:30ms}.dr.on > :nth-child(3){animation-delay:60ms}.dr.on > :nth-child(4){animation-delay:90ms}.dr.on > :nth-child(5){animation-delay:120ms}.dr.on > :nth-child(6){animation-delay:150ms}
.dr.on .sticky{animation:lm-action-bar 220ms ease-out both}
@keyframes lm-drawer-head{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes lm-drawer-content{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes lm-action-bar{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.dr.on .h,.dr.on > :nth-child(-n+6),.dr.on .sticky{animation:none!important}}
