/* Short feedback animations; shared timing/easing, no repeated ambient motion. */
:is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.format-tab,.process-controls button,.journal-filters button,.company-jump a){transition:transform var(--fast) var(--ease),background-color var(--fast) ease}
:is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.service-link) svg{transition:transform var(--fast) var(--ease)}
.format-index,.company-faq summary>span{transition:transform var(--fast) var(--ease),background-color var(--fast) ease}
.journal-card-arrow,.story-image>span,.footer-project-icon{transition:transform var(--normal) var(--ease)}
.journal-card-image img{transition:transform var(--normal) var(--ease)}
.company-faq summary>span{transform-origin:center}
html[data-input=pointer] :is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.format-tab,.process-controls button,.journal-filters button,.company-jump a):active{transform:scale(.98);transition-duration:100ms}
@media(hover:hover) and (pointer:fine){
 html:not([data-input=keyboard]) :is(.button,.hero-cta,.top-contact,.company-button,.footer-project):hover{transform:translateY(-2px)}
 html:not([data-input=keyboard]) :is(.button,.hero-cta,.top-contact,.company-button,.service-link):hover svg{transform:translate(2px,-2px)}
 html:not([data-input=keyboard]) .format-tab:hover .format-index{transform:translateY(-2px)}
 html:not([data-input=keyboard]) :is(.journal-card:hover .journal-card-arrow,.story:hover .story-image>span,.footer-project:hover .footer-project-icon){transform:rotate(-7deg)}
 html:not([data-input=keyboard]) .journal-card:hover .journal-card-image img{transform:scale(1.025)}
}
html[data-input=keyboard] :is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.format-tab,.process-controls button,.journal-filters button,.company-jump a,.company-faq summary>span){transition:none;transform:none}
html[data-input=keyboard] .company-faq details[open] summary>span{transform:rotate(45deg)}
html[data-input=keyboard] :is(.button svg,.hero-cta svg,.top-contact svg,.company-button svg,.service-link svg,.format-index,.journal-card-arrow,.story-image>span,.footer-project-icon,.journal-card-image img){transition:none;transform:none}
html[data-input=pointer] :is(.button,.hero-cta,.top-contact,.company-button,.footer-project):active:hover{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){
 :is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.format-tab,.format-index,.process-controls button,.journal-filters button,.company-jump a,.journal-card-arrow,.story-image>span,.footer-project-icon,.journal-card-image img,.company-faq summary>span){transition:none!important}
 html[data-input] :is(.button,.hero-cta,.top-contact,.company-button,.footer-project,.format-tab,.format-index,.process-controls button,.journal-filters button,.company-jump a,.journal-card-arrow,.story-image>span,.footer-project-icon,.journal-card-image img):is(:hover,:active){transform:none!important}
 html[data-input] :is(.button,.hero-cta,.top-contact,.company-button,.service-link):hover svg,html[data-input] :is(.journal-card:hover .journal-card-image img,.journal-card:hover .journal-card-arrow,.story:hover .story-image>span,.format-tab:hover .format-index){transform:none!important}
}
