/* React Bits DOM adapters, adapted from the local Fáerhin and Brion projects.
 * Copyright (c) 2026 David Haz. MIT + Commons Clause: /licenses/react-bits.txt
 * Original components: https://github.com/DavidHDev/react-bits
 */
.rb-hero-effects{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}
.rb-rays,.rb-particles{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;mix-blend-mode:screen}
.rb-rays{opacity:.32}.rb-particles{opacity:.42}
.rb-hero-effects.rb-fallback::before{content:'';position:absolute;inset:0;background:conic-gradient(from 136deg at 97% -12%,transparent 3deg,#efdcaa22 12deg,transparent 19deg,#e2c98b14 31deg,transparent 40deg);filter:blur(14px);opacity:.38;pointer-events:none}
.rb-rays[data-ready=false],.rb-particles[data-ready=false]{display:none}
#mxa-rb-sparks{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none}
.rb-word{display:inline-block;transform-origin:50% 100%;white-space:pre;opacity:1;filter:none}
.rb-blur-active .rb-word{animation:mxa-rb-blur-in .95s cubic-bezier(.2,.65,.25,1) both;animation-delay:calc(var(--rb-word-index,0)*72ms)}
/* Essential copy remains readable if a browser suspends an entrance animation. */
@keyframes mxa-rb-blur-in{0%{opacity:.82;filter:blur(3px);transform:translateY(14px)}50%{opacity:.94;filter:blur(1px);transform:translateY(-1px)}100%{opacity:1;filter:blur(0);transform:translateY(0)}}
.rb-text-settled .rb-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
.product-visual.rb-tilted>img{transform:perspective(950px) rotateX(var(--rb-tilt-x,0deg)) rotateY(var(--rb-tilt-y,0deg)) scale(var(--rb-tilt-scale,1));transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .65s;transform-origin:center}
.rb-card-glare::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(-34deg,transparent 53%,#fff1d436 67%,transparent 81%);background-size:240% 240%;background-position:-160% -160%;transition:background-position .9s cubic-bezier(.2,.8,.2,1),opacity .45s}
.rb-card-glare .product-tag,.rb-card-glare .circle-arrow{z-index:3}
@media(min-width:761px) and (hover:hover) and (pointer:fine){.rb-effects-enabled .rb-card-glare:hover::after{opacity:1;background-position:120% 120%}}
.rb-card-enter{opacity:1;filter:none;transform:none}
.rb-card-entered{animation:mxa-rb-card-in .62s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--rb-card-delay,0ms)}
@keyframes mxa-rb-card-in{from{opacity:.65;filter:blur(1.5px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}
.rb-compact .rb-blur-active .rb-word{opacity:1!important;filter:none!important;animation-name:mxa-rb-mobile-word;animation-duration:.48s;animation-delay:calc(var(--rb-word-index,0)*35ms)}
@keyframes mxa-rb-mobile-word{from{transform:translateY(7px)}to{transform:translateY(0)}}
.rb-compact .rb-card-entered{animation-duration:.48s}
.rb-compact .rb-tilted>img{transform:none!important}
.rb-compact .rb-tilted:hover>img{filter:saturate(.78)}
.rb-compact .rb-card-glare:hover::after{opacity:0}
.rb-effects-enabled .rb-card-glare.rb-touch-press::after{opacity:.28;background-position:40% 40%;transition:opacity .12s}
.rb-effects-enabled .rb-card-glare.rb-touch-glare::after{animation:mxa-rb-touch-glare .42s ease-out both}
.rb-card-glare.rb-touch-press>img{filter:saturate(.95);transition:filter .12s}
@keyframes mxa-rb-touch-glare{0%{opacity:.28;background-position:20% 20%}40%{opacity:.42}100%{opacity:0;background-position:100% 100%}}
.rb-magnet-inner{display:inline-flex;align-items:center;justify-content:center;gap:inherit;pointer-events:none;transform:translate3d(var(--rb-magnet-x,0px),var(--rb-magnet-y,0px),0);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.rb-magnet>.rb-magnet-inner{font-size:inherit;line-height:inherit}.rb-magnet:hover{transform:none}
.rb-spotlight{position:relative;isolation:isolate;overflow:hidden}
.rb-spotlight::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(370px circle at var(--rb-mouse-x,50%) var(--rb-mouse-y,30%),#ba935e16,transparent 76%);opacity:var(--rb-spotlight-opacity,0);transition:opacity .4s}
.hero-foot{flex-wrap:wrap}
.rb-motion-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 0;border:0;background:none;color:inherit;font:inherit;font-size:8px;line-height:1.3;white-space:nowrap;cursor:pointer;text-align:left}
.rb-motion-toggle::before{content:'';display:block;width:4px;height:4px;border-radius:50%;background:#d9c191;opacity:.8}
.rb-motion-toggle[aria-pressed=true]::before{background:#c5cbba;opacity:.55}
.rb-motion-toggle:focus-visible{outline:2px solid #e8dbb8;outline-offset:5px}
.rb-motion-paused .rb-hero-effects,.rb-motion-paused #mxa-rb-sparks,.rb-overlay-paused .rb-hero-effects,.rb-overlay-paused #mxa-rb-sparks{visibility:hidden}
.rb-motion-paused .rb-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
.rb-motion-paused .rb-tilted>img{transform:none!important;transition:none!important}
.rb-motion-paused .rb-magnet-inner{transform:none!important;transition:none!important}
.rb-motion-paused .button:hover{transform:none!important}
.rb-motion-paused .rb-card-glare::after,.rb-motion-paused .rb-spotlight::before{opacity:0!important;transition:none!important}
.rb-motion-paused .rb-card-enter,.rb-motion-paused .reveal{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
.rb-motion-paused .rb-card-glare::after,.rb-overlay-paused .rb-card-glare::after{animation:none!important;opacity:0!important}
.rb-page-hidden .rb-word,.rb-page-hidden .rb-card-enter,.rb-page-hidden .reveal{animation-play-state:paused!important}
.rb-compact .rb-rays{opacity:.20}.rb-compact .rb-particles{opacity:.27}
@media(max-width:760px){#hero-title .rb-word{opacity:1!important;filter:none!important}.hero-foot .rb-motion-toggle{width:auto;min-height:44px;margin-top:0;padding:4px 0;order:2;font-size:10px}.hero-foot a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.rb-hero-effects,#mxa-rb-sparks{display:none!important}.rb-word,.rb-card-enter{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}.rb-tilted>img,.rb-magnet-inner,.button:hover{transform:none!important;transition:none!important}.rb-card-glare::after,.rb-spotlight::before{opacity:0!important;transition:none!important;animation:none!important}}
