Lop the ends off the grapefruit and the lime. Use a paring knife to remove the skin and cut the segments out over a bowl, being sure to save any citrus juices as well. If there are any tough bits of membrane attached to any citrus segments, remove them with a knife. Squeeze the membranes over the bowl after sectioning to extract as much juice as possible.: The moment your hands work with the fruit the kitchen fills with zesty aroma, a clear sign you are extracting quality flavor. As you pare the skin watch for the white pith, removing it to avoid bitterness. Sectioning over a bowl captures the juices and fragments, which will later dissolve into the risotto and lift the whole dish. A common mistake is cutting too close to the flesh and losing precious segments, so take steady strokes with your paring knife. If the fruit resists, let it sit at room temperature for a few minutes to loosen the juices.
Heat the butter over low-to-medium heat in a medium saucepan (4-6 quarts/liters.) Add the onions, season with a pinch of salt, and cook, stirring frequently, until the onions are translucent, about 5 minutes. Add the rice and stir until the rice is coated with butter and shiny. While you are cooking the onions and rice, heat the stock in a saucepan and keep warm while you continue making the recipe.: You will notice a gentle sizzle as the butter melts and the diced onion softens, releasing a sweet aroma that signals the base is building. Coating each grain of rice with butter makes them glossy, which helps them toast lightly and begin to release starch. Keep the heat modest to avoid browning the onion; you want translucence not color. A frequent error is turning the heat too high, which causes uneven cooking and a toasty flavor that can clash with the citrus. Keeping the stock warm allows steady absorption later, so keep a low simmer in its pot.
Stir about 2 cups (500 ml) of the stock into the rice. Keep the heat at a gentle simmer and as the first amount of stock gets absorbed, while stirring occasionally, add another 1 cup (250 ml) or so, stirring as needed, to keep the rice cooking and absorbing the liquid evenly. Continue to add more stock, about 1/2 cup (125 ml) or so at a time, seasoning the risotto with salt when the rice is very close to being fully cooked. At that point, add the citrus sections and juice to the risotto, crumbling them roughly as you add them to the risotto. Gently cook the risotto, continuing to stir occasionally until the rice is no longer firm. It's hard to say exactly how much stock the rice will absorb, but it's done when the rice is soft and velvety, and no longer tastes raw. I used the full 5 cups of stock but yours may require less.: You will hear a soft whisper of bubbling as the grains absorb liquid, and the pot will take on a creamy sheen as starch is coaxed out. Tasting along the way is crucial, because the final texture depends on the rice variety and your heat. When the center has the slightest tooth, you are approaching doneness. Add salt sparingly since the stock may already carry sodium. A typical trap is pouring too much stock at once which prevents the rice from releasing starch properly, yielding a thin result. Adding the citrus toward the end keeps its freshness intact, and crumbling the segments lets juices mingle without large chunks interrupting the texture.
Remove from heat and stir in the mascarpone. Divide into soup bowls, mounding the risotto in the center of the dish. Serve with shrimp, fish, or vegetables, as desired.: Off the heat the risotto relaxes, and stirring in the mascarpone creates a glossy finish that rounds flavors gently. The aroma should be a pleasant bridge of buttery, citrusy perfume. Mounding in bowls shows off the risotto's body and invites steam to continue softening it just a touch. A common slip is overheating while adding the mascarpone which can separate fats, so always remove the pot from direct heat. Let the risotto rest a minute before serving, this stabilizes the texture and enhances the eating experience.