/* Consulting Wallah — interaction layer */
.fx-r{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.fx-r.in{opacity:1;transform:none}
.fx-tilt{transform-style:preserve-3d;will-change:transform;transition:transform .25s ease,box-shadow .25s ease;position:relative}
.fx-tilt.on{transition:transform .06s linear}
.fx-tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,107,0,.14),transparent 55%);opacity:0;transition:opacity .25s}
.fx-tilt.on::after{opacity:1}
.fx-tilt.on{box-shadow:0 22px 50px rgba(20,20,20,.16)}
:root[data-theme="dark"] .fx-tilt.on{box-shadow:0 22px 50px rgba(0,0,0,.55)}
.fx-ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);white-space:nowrap;font-size:14px}
.fx-ticker .tk{display:inline-flex;gap:0;animation:fx-marq 70s linear infinite;will-change:transform}
.fx-ticker:hover .tk{animation-play-state:paused}
.fx-ticker a{display:inline-flex;align-items:center;gap:10px;padding:11px 26px;color:inherit;text-decoration:none;border-right:1px solid var(--line)}
.fx-ticker a b{font-family:var(--display);color:var(--orange-ink)}
.fx-ticker a:hover{background:var(--soft)}
@keyframes fx-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fx-bar{display:inline-block;height:6px;border-radius:3px;background:var(--orange);vertical-align:middle;margin-left:6px;opacity:.75;min-width:2px}
.fx-sort th{cursor:pointer;user-select:none}.fx-sort th.asc::after{content:" ▲";font-size:9px}.fx-sort th.desc::after{content:" ▼";font-size:9px}
.fx-chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.fx-chips button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;cursor:pointer}.fx-chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
:root[data-theme="dark"] .fx-chips button.on{background:var(--orange);border-color:var(--orange)}
.fx-q{width:100%;font:inherit;font-size:16px;padding:12px 16px;border:1.5px solid var(--line);border-radius:12px;background:transparent;color:inherit;margin:14px 0 4px}
.fx-spark{display:block;width:100%;height:46px;margin:8px 0 2px}
.fx-prog{position:fixed;left:0;top:0;height:3px;width:0;background:var(--orange);z-index:9999;transition:width .1s linear}
.fx-cur{position:fixed;width:14px;height:14px;border-radius:50%;background:var(--orange);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s,width .25s,height .25s;mix-blend-mode:multiply}
:root[data-theme="dark"] .fx-cur{mix-blend-mode:screen}
.fx-cur.big{width:44px;height:44px;opacity:.35}
.fx-cnt{font-variant-numeric:tabular-nums}
.fx-hero-orb{position:absolute;right:-8%;top:-10%;width:48vw;max-width:620px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,107,0,.28),rgba(255,107,0,.06) 45%,transparent 70%);filter:blur(10px);pointer-events:none;animation:fx-float 14s ease-in-out infinite;z-index:0}
@keyframes fx-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-4%,6%) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.fx-r{opacity:1;transform:none;transition:none}.fx-ticker .tk{animation:none}.fx-hero-orb{animation:none}.fx-cur{display:none}}
@media (hover:none){.fx-cur{display:none}}
