
/* Interaction motion, shared with keyboard focus; content stays visible without JS. */
@media(prefers-reduced-motion:no-preference){
.button,.product-btn,.help-link,.reply-link,.call-location,.tabs button{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}
.button:active,.product-btn:active,.tabs button:active{transform:scale(.97)}
.addiction-card,.locations-grid article,.help-card,.products article,.context-metrics article,.donut-panel,.comparison-panel,.material-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease}
.product-art img{transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease}
.contact-card input,.contact-card select,.contact-card textarea{transition:border-color .22s,box-shadow .22s,background-color .22s}
.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{box-shadow:0 0 0 5px #a3bb711c;background:#fff}
header nav a{position:relative}header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}
#product-dialog[open]{animation:sf-dialog-in .3s cubic-bezier(.22,1,.36,1)}
#product-dialog[open]::backdrop{animation:sf-backdrop-in .25s ease}
.contact-status:not(:empty){animation:sf-feedback .35s ease-out}
@media(hover:hover) and (pointer:fine){
.button:hover,.product-btn:hover,.help-link:hover,.call-location:hover{transform:translateY(-3px);box-shadow:0 8px 20px #173f321c}
.addiction-card:hover,.locations-grid article:hover,.help-card:hover,.products article:hover,.context-metrics article:hover,.material-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #173f3210}
.products article:hover .product-art img{transform:scale(1.035)}
}
}
@keyframes sf-dialog-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes sf-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes sf-feedback{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.button,.product-btn,.help-link,.addiction-card,.products article,.product-art img,.contact-card input{transition:none!important}}
