/* Brand motion: red for Xotictrades, neutral light for the tool cards. */
.hero-logo-stage{position:relative;width:108%;flex-shrink:0;animation:logo-float 7s ease-in-out infinite;translate:var(--hero-x,0px) var(--hero-y,0px);transition:translate .35s ease-out}
.hero-logo-stage img{display:block;width:100%;max-width:none;transform:none;animation:none!important}
.logo-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 43%,#ffffff08 46%,#ffffff80 49%,#ffffff12 52%,transparent 56%);background-size:260% 100%;background-position:150% 0;mask-image:url("assets/logo-enhanced.png");mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url("assets/logo-enhanced.png");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen;animation:chrome-sweep 11s ease-in-out infinite}
.fx-surface{position:relative;--spotlight-color:255,255,255}
.hero-logo-stage{isolation:isolate}
.logo-shine{z-index:2}
.code-strip.fx-surface,.firm-row.fx-surface{--spotlight-color:242,56,69}
.fx-spotlight{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(230px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(var(--spotlight-color),.095),transparent 72%);transition:opacity .35s}
.firm-row .fx-spotlight{background:radial-gradient(200px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(var(--spotlight-color),.055),transparent 72%)}
.fx-surface.fx-active>.fx-spotlight,.fx-surface:focus-within>.fx-spotlight{opacity:1}
.fx-card{transform:perspective(950px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));transition:transform .38s ease-out,border-color .3s,box-shadow .3s;transform-origin:center;backface-visibility:hidden}
.fx-card.fx-active{--lift:-2px}
.fx-armed{transition:opacity .65s ease,translate .65s ease,transform .38s ease-out,border-color .3s,box-shadow .3s;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms,0ms}
.fx-armed:not(.is-revealed){opacity:0;translate:0 15px}
.fx-armed.is-revealed{opacity:1;translate:0 0}
.fx-button{position:relative;overflow:hidden;--ripple-color:0,0,0}
.copy-code.fx-button{--ripple-color:255,255,255}
.fx-ripple{position:absolute;pointer-events:none;width:var(--ripple-size);height:var(--ripple-size);left:var(--ripple-x);top:var(--ripple-y);border-radius:50%;background:rgba(var(--ripple-color),.12);translate:-50% -50%;animation:tap-ripple .65s ease-out forwards}
.copy-code.copy-success{border-color:#ff6671;box-shadow:0 0 24px #f2384528}
@keyframes chrome-sweep{0%,38%{background-position:150% 0;opacity:0}40%{opacity:.6}58%{background-position:-50% 0;opacity:.6}60%,100%{background-position:-50% 0;opacity:0}}
@keyframes tap-ripple{from{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}
@media(max-width:700px){.hero-logo-stage{width:85%;max-width:370px;translate:none}.hero-logo-stage img{width:100%;max-width:none}.fx-card{transform:none!important}.fx-spotlight{display:none}}
@media(hover:none),(pointer:coarse){.fx-card{transform:none!important}.fx-spotlight{display:none}.hero-logo-stage{translate:none}}
@media(prefers-reduced-motion:reduce){.hero-logo-stage,.logo-shine,.fx-ripple{animation:none!important}.logo-shine,.fx-spotlight{display:none}.hero-logo-stage{translate:none;transition:none}.fx-card{transform:none!important}.fx-armed,.fx-armed:not(.is-revealed){opacity:1;translate:none;transition:none!important}.fx-ripple{display:none}.copy-code.copy-success{box-shadow:none}}
