/* RADOCO — scroll motion layer */
.scroll-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; background: linear-gradient(90deg, #dd3333, #ff7a59); transform-origin: 0 50%; transform: scaleX(0); z-index: 1000; pointer-events: none; }
[dir="rtl"] .scroll-progress { transform-origin: 100% 50%; }
.m-item { opacity: 0; transform: translateY(28px) scale(.98); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 70ms); will-change: opacity, transform; }
.m-item.in { opacity: 1; transform: none; }
.m-words .m-w { display: inline-block; opacity: 0; transform: translateY(.6em) rotate(2deg); filter: blur(6px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1), filter .7s; transition-delay: calc(var(--i, 0) * 60ms); }
.m-words.in .m-w { opacity: 1; transform: none; filter: blur(0); }
.m-media { opacity: 0; transform: scale(.94) translateY(20px); transition: opacity 1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1); }
.m-media.in { opacity: 1; transform: none; }
.m-media.reveal { transition-property: opacity, transform; }
.hero-slide .hero-img, .hero-watermark { will-change: transform; }
.m-tilt { transform-style: preserve-3d; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s ease, box-shadow .35s ease; }
.m-tilt.in { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
.m-tilt:hover { box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.m-tilt::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0; border-radius: inherit; background: radial-gradient(420px circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.12), transparent 45%); transition: opacity .35s; }
.m-tilt:hover::after { opacity: 1; }
.product-card, .nw-card, .pg-tile, .ps-card, .ps-pcard { position: relative; }
.btn, .ps-pill { transition: transform .25s ease, background .25s, color .25s, box-shadow .25s; }
.ps-hero-img .in-wrap { opacity: var(--fade, 1); transform: scale(var(--zoom, 1)); transition: none; }
.section-airfryer, .section-titanium, .section-about, .page-title, .af-hero, .pg-hero { background-attachment: scroll; }
@media (prefers-reduced-motion: reduce) { .scroll-progress { display: none; } .m-item, .m-words .m-w, .m-media { opacity: 1; transform: none; filter: none; transition: none; } .m-tilt { transform: none; } }
@media (max-width: 767px) { .m-item { transition-delay: calc(var(--i, 0) * 40ms); } .m-tilt { transform: none !important; } }
