/* =========================================
UPSTREAM PREMIUM SCROLL-REACTIVE BACKGROUND
STRONGER MOVEMENT VERSION
========================================= */
.page-section:has(.upstream-motion-bg) {
--upstream-scroll: 0;
--upstream-intensity: 0;
}
}
/* Background starts subtle, then becomes much stronger */
.page-section:has(.upstream-motion-bg) .upstream-motion-bg {
background:
radial-gradient(
circle at
calc(10% + (var(--upstream-intensity) * 70%))
calc(10% + (var(--upstream-intensity) * 55%)),
rgba(
34,
200,
183,
calc(0.04 + (var(--upstream-intensity) * 0.42))
),
transparent
calc(24% + (var(--upstream-intensity) * 22%))
),
radial-gradient(
circle at
calc(85% - (var(--upstream-intensity) * 45%))
calc(80% - (var(--upstream-intensity) * 35%)),
rgba(
34,
200,
183,
calc(0.02 + (var(--upstream-intensity) * 0.26))
),
transparent
calc(20% + (var(--upstream-intensity) * 18%))
),
linear-gradient(
calc(120deg + (var(--upstream-intensity) * 55deg)),
#0c3d53 0%,
#082f41 42%,
#0d5260 72%,
#0c3d53 100%
);
filter:
saturate(
calc(1 + (var(--upstream-intensity) * 0.9))
)
brightness(
calc(0.94 + (var(--upstream-intensity) * 0.16))
);
will-change: background, filter;
}
/* Main teal glow — much stronger travel */
.page-section:has(.upstream-motion-bg) .upstream-glow-one {
opacity: calc(
0.08 + (var(--upstream-intensity) * 0.82)
);
filter: blur(
calc(95px - (var(--upstream-intensity) * 42px))
);
transform:
translate3d(
calc(-120px + (var(--upstream-intensity) * 620px)),
calc(-80px + (var(--upstream-intensity) * 360px)),
0
)
scale(
calc(0.55 + (var(--upstream-intensity) * 1.65))
);
}
/* Secondary glow — moves from the opposite direction */
.page-section:has(.upstream-motion-bg) .upstream-glow-two {
opacity: calc(
0.05 + (var(--upstream-intensity) * 0.7)
);
filter: blur(
calc(110px - (var(--upstream-intensity) * 48px))
);
transform:
translate3d(
calc(140px - (var(--upstream-intensity) * 560px)),
calc(120px - (var(--upstream-intensity) * 320px)),
0
)
scale(
calc(0.6 + (var(--upstream-intensity) * 1.35))
);
}
/* Center glow — stronger vertical movement */
.page-section:has(.upstream-motion-bg) .upstream-glow-three {
opacity: calc(
0.03 + (var(--upstream-intensity) * 0.42)
);
filter: blur(
calc(90px - (var(--upstream-intensity) * 30px))
);
transform:
translate3d(
calc(-80px + (var(--upstream-intensity) * 340px)),
calc(180px - (var(--upstream-intensity) * 420px)),
0
)
scale(
calc(0.5 + (var(--upstream-intensity) * 1.45))
);
}
/* Particles become brighter as the scroll progresses */
.page-section:has(.upstream-motion-bg)
.upstream-particles span {
opacity: calc(
0.15 + (var(--upstream-intensity) * 0.8)
);
box-shadow:
0 0
calc(6px + (var(--upstream-intensity) * 18px))
rgba(
34,
200,
183,
calc(0.25 + (var(--upstream-intensity) * 0.65))
);
}
/* Premium section-wide glow */
.page-section:has(.upstream-motion-bg)::before {
content: "";
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;
background:
radial-gradient(
circle at
calc(35% + (var(--upstream-intensity) * 30%))
calc(70% - (var(--upstream-intensity) * 35%)),
rgba(
34,
200,
183,
calc(var(--upstream-intensity) * 0.22)
),
transparent 52%
);
opacity: var(--upstream-intensity);
mix-blend-mode: screen;
will-change: opacity, background;
}
/* Keeps your text and buttons above the animation */
.page-section:has(.upstream-motion-bg) .content-wrapper {
position: relative;
z-index: 3;
}
/* Stops original glow animations from conflicting */
.page-section:has(.upstream-motion-bg) .upstream-glow {
animation: none !important;
will-change: transform, opacity, filter;
}
/* Keeps particle animations running */
.page-section:has(.upstream-motion-bg)
.upstream-particles span {
will-change: transform, opacity, box-shadow;
}
/* Small amount of smoothing */
.page-section:has(.upstream-motion-bg) .upstream-motion-bg,
.page-section:has(.upstream-motion-bg) .upstream-glow,
.page-section:has(.upstream-motion-bg)::before {
transition:
opacity 0.06s linear,
filter 0.06s linear;
}
/* Mobile performance adjustment */
@media screen and (max-width: 767px) {
.page-section:has(.upstream-motion-bg) .upstream-motion-bg {
filter:
saturate(
calc(1 + (var(--upstream-intensity) * 0.55))
)
brightness(
calc(0.96 + (var(--upstream-intensity) * 0.1))
);
}
.page-section:has(.upstream-motion-bg)::before {
opacity: calc(var(--upstream-intensity) * 0.7);
}
.page-section:has(.upstream-motion-bg) .upstream-glow-one {
transform:
translate3d(
calc(-70px + (var(--upstream-intensity) * 330px)),
calc(-40px + (var(--upstream-intensity) * 220px)),
0
)
scale(
calc(0.65 + (var(--upstream-intensity) * 1.15))
);
}
.page-section:has(.upstream-motion-bg) .upstream-glow-two {
transform:
translate3d(
calc(80px - (var(--upstream-intensity) * 300px)),
calc(80px - (var(--upstream-intensity) * 210px)),
0
)
scale(
calc(0.7 + (var(--upstream-intensity) * 1))
);
}
.page-section:has(.upstream-motion-bg) .upstream-glow-three {
transform:
translate3d(
calc(-40px + (var(--upstream-intensity) * 190px)),
calc(100px - (var(--upstream-intensity) * 260px)),
0
)
scale(
calc(0.6 + (var(--upstream-intensity) * 1.05))
);
}
}
/* Accessibility */
@media (prefers-reduced-motion: reduce) {
.page-section:has(.upstream-motion-bg) {
--upstream-scroll: 0.35 !important;
}
.page-section:has(.upstream-motion-bg) .upstream-glow {
transform: none !important;
}
}
Who reviews my music?
Vetted music professionals.
How does Upstream work?
You upload your track, EP, or album to our music professionals. Within 48–72 hours you’ll receive your Upstream scorecard and a detailed review with tips and information to take your track(s) to the next level.
How long does it take?
After you submit the music submission form (which you receive by email after purchase), your music will be placed in the queue. It will take no longer than 72 hours for you to receive your review.
How much does it cost?
Single Track Feedback: $19
Project Feedback: starts at $38
Album Analysis: starts at $130
There’s also a discount for uploading 15 tracks, which is the maximum amount.Why not ask friends?
Friends don’t always tell the truth. “This is fire” is easier to say than “this needs work.” They don’t want to hurt your feelings, but that won’t help you grow. Our professionals are verified by us and are also artists who understand what’s needed for a successful project release.
Can I submit unreleased music?
Yes—of course. That’s what we’re here for. We’ll help make sure your music is in its best state so you can have a smooth, confident release.
