/* Fullsteem: restrained hierarchy, product continuity and tactile feedback. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-fast:160ms;--motion-panel:260ms;--motion-enter:520ms}
@media(prefers-reduced-motion:no-preference){
 [data-motion-pending]{opacity:0;translate:0 16px}
 [data-motion-reveal]{transition:opacity var(--motion-enter) var(--motion-ease),translate var(--motion-enter) var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
 [data-motion-reveal]:focus-within{opacity:1;translate:none;transition:none}
 [data-motion-intro]{animation:fullsteem-intro 460ms var(--motion-ease) both;animation-delay:var(--motion-delay,0ms)}
 .button{transition:background-color var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}
 .button>svg:last-child:not(.play),.text-link>svg:last-child{transition:translate var(--motion-fast) var(--motion-ease)}
 .button:active{transform:translateY(0) scale(.985)}
 .modal[open]{animation:fullsteem-dialog 240ms var(--motion-ease) both}
 .modal[open]::backdrop{animation:fullsteem-backdrop 180ms ease-out both}
 .platform-nav[open] .platform-menu{animation:fullsteem-panel 200ms var(--motion-ease) both;transform-origin:top center}
 .mobile-menu:not([hidden]){animation:fullsteem-panel 180ms var(--motion-ease) both}
 .faq-list details[open]>p{animation:fullsteem-panel 200ms var(--motion-ease) both}
 @media(hover:hover) and (pointer:fine){
  .button:hover>svg:last-child:not(.play),.text-link:hover>svg:last-child{translate:3px 0}
 }
}
@keyframes fullsteem-intro{from{opacity:.25;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes fullsteem-panel{from{opacity:.4;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes fullsteem-dialog{from{opacity:0;translate:0 10px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes fullsteem-backdrop{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 [data-motion-pending],[data-motion-reveal],[data-motion-intro]{opacity:1!important;translate:none!important;animation:none!important;transition:none!important}
 .button,.button>svg,.text-link>svg,.trade-card,.simple-price-card{transition:none!important}
 .button:hover,.button:active,.trade-card:hover,.simple-price-card:hover{transform:none!important;translate:none!important}
}

/* Optional still review URL: ?motion=off. The OS preference uses the same JS path. */
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="reduced"] [data-motion-pending],html[data-motion="reduced"] [data-motion-reveal]{opacity:1!important;translate:none!important}
