/* Refined motion system — subtle, responsive, and accessibility-aware */
:root{--ease-lux:cubic-bezier(.22,1,.36,1)}
body{overflow-x:hidden}
.motion-ready .motion-reveal{opacity:0;filter:blur(3px);transform:translateY(28px);transition:opacity .85s var(--ease-lux),transform .85s var(--ease-lux),filter .85s var(--ease-lux);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-ready .motion-reveal.is-visible{opacity:1;filter:blur(0);transform:none}
.announce{animation:luxDrop .65s var(--ease-lux) both}
header{animation:luxDrop .8s .08s var(--ease-lux) both}
.clean-copy{animation:luxPanel 1s .12s var(--ease-lux) both}
.clean-copy::before,.clean-copy .kicker,.clean-copy h1,.clean-copy>p,.clean-copy .buttons,.clean-copy .hero-points{animation:luxText .9s var(--ease-lux) both}
.clean-copy::before{animation-delay:.28s}.clean-copy .kicker{animation-delay:.35s}.clean-copy h1{animation-delay:.43s}.clean-copy>p{animation-delay:.52s}.clean-copy .buttons{animation-delay:.6s}.clean-copy .hero-points{animation-delay:.68s}
.clean-mark{animation:luxMark 7s 1.1s ease-in-out infinite}
@keyframes luxDrop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes luxPanel{from{opacity:0;transform:translateY(24px) scale(.985);box-shadow:0 0 0 #272525}to{opacity:1;transform:none}}
@keyframes luxText{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes luxMark{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.brand,.btn,.order-link,.back-link,.text-link,.card-text a,.product-list article>a,.social a,footer a{transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .35s var(--ease-lux),box-shadow .35s var(--ease-lux)}
.brand:hover,.brand:focus-visible{transform:translateY(-2px)}
.btn,.order-link,.social a{position:relative;overflow:hidden;isolation:isolate}
.btn::after,.order-link::after,.social a::after{content:"";position:absolute;inset:-2px auto -2px -45%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .65s var(--ease-lux);z-index:-1}
.btn:hover::after,.btn:focus-visible::after,.order-link:hover::after,.order-link:focus-visible::after,.social a:hover::after,.social a:focus-visible::after{left:115%}
.btn:hover,.btn:focus-visible,.order-link:hover,.order-link:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(24,24,24,.16)}
.category{overflow:hidden;transition:transform .55s var(--ease-lux),box-shadow .55s var(--ease-lux)}
.category img{transition:transform .85s var(--ease-lux),filter .5s ease}
.category:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(43,41,40,.14)}
.category.feature:hover{transform:translateY(-43px)}
.category:hover img{transform:scale(1.035);filter:saturate(1.05)}
.product-list article{transition:transform .5s var(--ease-lux),border-color .35s ease}
.product-list article:hover{transform:translateY(-6px);border-color:#c90018}
.product-badges b{transition:background-color .3s ease,color .3s ease,transform .3s var(--ease-lux)}
.product-list article:hover .product-badges b{background:#181818;color:#fff;transform:translateY(-2px)}
.standard-grid article,.steps article{transition:background-color .4s ease,transform .45s var(--ease-lux)}
.standard-grid article:hover{background:#222;transform:translateY(-5px)}
.standard-grid .icon{transition:transform .5s var(--ease-lux),background-color .4s ease,color .4s ease}
.standard-grid article:hover .icon{transform:rotate(-5deg) scale(1.06);background:#c90018;color:#fff}
.steps article:hover{background:rgba(255,255,255,.055);transform:translateY(-4px)}
.story-image img{transition:transform 1s var(--ease-lux)}
.story-image:hover img{transform:scale(1.035) rotate(-1deg)}
.contact-panel{transition:transform .55s var(--ease-lux),box-shadow .55s var(--ease-lux)}
.contact-panel:hover{transform:translateY(-6px);box-shadow:18px 18px 0 rgba(39,37,37,.22)}
.accordion details{transition:padding .35s var(--ease-lux),background-color .35s ease}
.accordion details:hover{padding-left:14px;padding-right:14px;background:rgba(201,0,24,.035)}
summary span{transition:transform .4s var(--ease-lux)}
.accordion details[open] summary span{transform:rotate(45deg)}
.form-wrap input,.form-wrap select,.form-wrap textarea{transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}
.form-wrap input:hover,.form-wrap select:hover,.form-wrap textarea:hover{border-color:#c90018}
.submit-button{transition:transform .35s var(--ease-lux),background-color .3s ease,box-shadow .35s var(--ease-lux)}
.submit-button:hover,.submit-button:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(201,0,24,.2)}
@media(max-width:960px){.category.feature:hover{transform:translateY(-8px)}}
@media(max-width:760px){.motion-ready .motion-reveal{transform:translateY(20px);transition-duration:.7s}.category:hover,.product-list article:hover,.steps article:hover,.standard-grid article:hover,.contact-panel:hover{transform:none}.clean-mark{animation:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.motion-ready .motion-reveal{opacity:1!important;filter:none!important;transform:none!important}}
