/* ═══════════════════════════════════════════
   GLOBAL BG FX
═══════════════════════════════════════════ */
body {
  background:var(--bg);
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  overflow-x:hidden;
  cursor:none;
}
::selection { background:var(--amber); color:var(--bg); }

body::before {
  content:''; position:fixed; inset:0; z-index:9990; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:.028;
}
.grid-bg {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
}
.orb {
  position:fixed; border-radius:50%; filter:blur(90px);
  pointer-events:none; z-index:0;
  animation:orb-float 12s ease-in-out infinite alternate;
}
.orb-1 { width:500px;height:500px;background:rgba(var(--amber-rgb),.07);top:-100px;right:-100px;animation-delay:0s; }
.orb-2 { width:400px;height:400px;background:rgba(192,69,26,.05);bottom:0;left:-80px;animation-delay:-5s; }
@keyframes orb-float { from{transform:translate(0,0) scale(1);} to{transform:translate(30px,20px) scale(1.08);} }
