.bg-lights {
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 55% 60% at 92% 8%, rgba(200, 88, 26, 0.10) 0%, transparent 55%), radial-gradient(ellipse 45% 55% at 8% 92%, rgba(74, 173, 168, 0.08) 0%, transparent 50%), radial-gradient(ellipse 70% 35% at 50% 105%, rgba(201, 148, 58, 0.05) 0%, transparent 50%), linear-gradient(168deg, #0a0b13 0%, #06070d 55%, #090b14 100%);
}

.bg-tendrils {
    position: fixed;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.bg-tendrils svg {
    position: fixed;
    width: 100%;
    height: 100%;
}

.bg-tendrils .top-right {
    top: 40px;
    right: 0;
}

.bg-tendrils .bottom-left {
    bottom: 0;
    left: 220px;
}

.bg-orb {
    position: fixed;
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none;
}

.bg-orb.orb-1 {
    width: 340px;
    height: 340px;
    background: rgba(200, 88, 26, 0.1);
    top: -100px;
    right: 8%;
    animation: orb-drift-1 38s cubic-bezier(0.37, 0, 0.63, 1) infinite;
}

.bg-orb.orb-2 {
    width: 240px;
    height: 240px;
    background: rgba(74, 173, 168, 0.06);
    bottom: 15%;
    left: 3%;
    animation: orb-drift-2 52s ease-in-out infinite;
}

.bg-orb.orb-3 {
    width: 180px;
    height: 180px;
    background: rgba(201, 148, 58, 0.04);
    top: 45%;
    right: 28%;
    animation: orb-drift-3 44s cubic-bezier(0.33, 0.1, 0.67, 0.9) infinite;
}

@keyframes orb-drift-1 {
    0%   { transform: translate(   0px,    0px); opacity: 0.9;  }
    12%  { transform: translate(-180px,   80px); opacity: 1;    }
    25%  { transform: translate(-420px,  140px); opacity: 0.85; }
    38%  { transform: translate(-650px,  380px); opacity: 1;    }
    50%  { transform: translate(-480px,  580px); opacity: 0.9;  }
    63%  { transform: translate(-200px,  680px); opacity: 1;    }
    74%  { transform: translate(  60px,  520px); opacity: 0.85; }
    85%  { transform: translate( 120px,  240px); opacity: 1;    }
    93%  { transform: translate(  40px,   80px); opacity: 0.9;  }
    100% { transform: translate(   0px,    0px); opacity: 0.9;  }
}

@keyframes orb-drift-2 {
    0%   { transform: translate(   0px,    0px); opacity: 0.85; }
    10%  { transform: translate( 120px, -140px); opacity: 1;    }
    22%  { transform: translate( 340px, -320px); opacity: 0.9;  }
    35%  { transform: translate( 600px, -520px); opacity: 1;    }
    45%  { transform: translate( 720px, -380px); opacity: 0.85; }
    56%  { transform: translate( 580px, -140px); opacity: 1;    }
    67%  { transform: translate( 360px,   60px); opacity: 0.9;  }
    76%  { transform: translate( 160px,  200px); opacity: 1;    }
    86%  { transform: translate(  40px,   80px); opacity: 0.85; }
    94%  { transform: translate( -40px,  -30px); opacity: 1;    }
    100% { transform: translate(   0px,    0px); opacity: 0.85; }
}

@keyframes orb-drift-3 {
    0%   { transform: translate(   0px,    0px); opacity: 0.8;  }
    8%   { transform: translate(-100px,  120px); opacity: 1;    }
    18%  { transform: translate(-260px,  320px); opacity: 0.85; }
    30%  { transform: translate(-440px,  560px); opacity: 1;    }
    38%  { transform: translate(-460px,  600px); opacity: 0.8;  }
    44%  { transform: translate(-420px,  580px); opacity: 0.85; }
    55%  { transform: translate(-200px,  360px); opacity: 1;    }
    66%  { transform: translate(  80px,  140px); opacity: 0.9;  }
    76%  { transform: translate( 260px,  -80px); opacity: 1;    }
    86%  { transform: translate( 180px, -200px); opacity: 0.8;  }
    93%  { transform: translate(  60px,  -80px); opacity: 1;    }
    100% { transform: translate(   0px,    0px); opacity: 0.8;  }
}