The camera lingers on the rain-slicked glass of the opposite apartment, the lens pulling focus through the gap in the curtains. Inside, two bodies move under a single low lamp. The taller man, broad-shouldered and shirtless, presses the smaller one against the window frame. His hand slides down, grips the thick length already hard and leaking, and guides it between spread cheeks in one slow, deliberate thrust. The smaller mans mouth opens in a silent gasp that the voyeur can almost hear through the distance.
The observers own cock throbs against his palm as he watches from the darkened room across the street. Every detail is sharp: the way the tops hips roll forward, the bottoms fingers clawing at the sill, the faint sheen of sweat catching the light on flexing backs. The top pulls out almost entirely, the head glistening, then slams back in. The bottoms cock bounces with each impact, untouched but dripping onto the floor. The voyeur times his strokes to the rhythm, imagining the wet sound of skin meeting skin.
Close on the tops face now, jaw tight, eyes half-lidded as he watches his cock disappear again and again. He reaches around, wraps a fist around the bottoms shaft, and pumps in time with his thrusts. The bottoms legs tremble. His forehead presses to the cool glass, leaving a faint fogged circle that spreads with every panting breath. The voyeur can see the veins along the tops forearm stand out as he tightens his grip.
The angle shifts in the voyeurs mind, panning down to where the thick cock stretches the rim, pulling it outward on every withdrawal before driving deep again. The bottom pushes back, greedy for more, and the top answers with harder, shorter strokes that make the window rattle. Sweat runs down the cleft of the tops ass; the voyeur tracks one droplet as it slides between clenched cheeks and disappears.
A sudden change: the top spins the bottom around, lifts one leg high, and re-enters from the front. The new angle lets the voyeur see every inch sliding in, the bottoms balls drawn tight, his own cock trapped between their bellies. The top leans in, mouths at the exposed throat, and the bottoms fingers dig into muscular shoulders. The pace builds until the tops thrusts turn short and urgent.

The bottoms cock jerks untouched and spills in thick ropes across his own stomach. The top follows seconds later, burying himself to the hilt, body locked and shaking.
The voyeurs hand moves faster, matching the final pulses he can almost feel through the glass. When the top finally eases out, the camera lingers on the slow trickle that follows, glistening on the bottoms thigh. Both men stay pressed together, breathing hard, foreheads touching. The light catches the wet shine on their skin one last time before the curtains are drawn.
The voyeur leans back in his chair, chest heaving, the image burned behind his eyes. Across the street the window is now just another rectangle of darkness, but the memory of that cock driving deep, the raw stretch, the shared release, lingers like heat on glass. He wipes his hand clean, already wondering when the curtains will part again.