/* DH · small motion touches (v11). Subtle, once-only, and off under reduced motion. */

/* FAQ: items arrive one after another; an opened answer settles in */
.faq-list .rv:nth-child(2){transition-delay:.06s}.faq-list .rv:nth-child(3){transition-delay:.12s}
.faq-list .rv:nth-child(4){transition-delay:.18s}.faq-list .rv:nth-child(5){transition-delay:.24s}
.faq details[open] > p{animation:m-settle .55s var(--out)}
@keyframes m-settle{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* hairlines draw from the start side (RTL: right) once in view */
.js .rc-line.m-draw{clip-path:inset(-8px -8px -8px calc(100% + 8px));transition:clip-path 1.3s var(--out) .35s}
.js .rc-line.m-draw.m-in{clip-path:inset(-8px -8px -8px -8px)}
.js #socials.m-draw::before,.js .site-footer.m-draw::before{transform:translateX(-50%) scaleX(0);transition:transform 1.4s var(--out) .1s}
.js #socials.m-draw.m-in::before,.js .site-footer.m-draw.m-in::before{transform:translateX(-50%) scaleX(1)}

/* links and buttons answer the pointer: arrows lean forward (RTL), posters breathe */
.rc-links svg,.rd-full svg,.sc-btn svg{transition:transform .4s var(--out),opacity .3s}
.rc-links a:hover svg,.rc-links a:focus-visible svg,.rd-full:hover svg,.rd-full:focus-visible svg{transform:translateX(-3px);opacity:1}
.sc-btn:hover svg,.sc-btn:focus-visible svg{transform:translateX(-3px)}
.lthumb img{transition:transform 1.2s var(--out),opacity .4s}
.lthumb:hover img,.lthumb:focus-visible img{transform:scale(1.035)}
.lcard:hover{border-color:var(--line-2)}
.pbtn:not([aria-disabled="true"]){transition:border-color .3s,background-color .3s,transform .4s var(--out)}
.pbtn:not([aria-disabled="true"]):hover{transform:translateY(-1px)}
.so-ic{transition:border-color .3s,color .3s,transform .5s var(--out)}
.so-list a:hover .so-ic,.so-list a:focus-visible .so-ic{transform:scale(1.06)}
