Braydn Lange and Sofia Gomez Villafañe win at the Life Time Grand Prix series kickoff.
Josh Weinberg
Escape is on the ground at Sea Otter Classic, covering both the expo and Thursday’s gravel race, the latter of which served as the opening round of the Life Time Grand Prix. In a stacked elite men’s field, there was a major upset when Bradyn Lange broke Keegan Swenson’s four-year winning streak in a dramatic sprint. The women’s race came down to the line as well, with Sofía Gómez Villafañe successfully defending her Grand Prix title with a late breakaway.

Across a long weekend that includes multiple disciplines of racing – from dual slalom MTB to cross-country and even a run – the dedicated Sea Otter gravel race has been around since 2024 and is now considered a premier gravel event and the first each year in Life Time’s off-road series.
For the elite men’s and women’s fields, the course consists of three 29.6-mile (47.6 km) laps (equating to nearly 90 miles / 145 km total), with about 8,150 feet (2,485 m) of total elevation gain through the Fort Ord National Monument. Throughout each lap, riders encounter a punchy mix of dirt access roads, steep climbs, singletrack, and occasional paved sections, including the famous “corkscrew” climb at Laguna Seca Raceway, where the race begins and ends.


After dueling in a tight pack that broke off from a larger group about halfway through the race, Lange eked out a win ahead of the reigning champ with a time of 4:14:48. In his first major race after recovering from an injury, Swenson led for a chunk of the day but couldn’t overcome Lange’s inside line choice on the final turn.
Finishing in 5:10:39, Gómez Villafañe won her third Sea Otter event (2023 and 2024 Fuego XL women’s champ, with a second place spot in last year’s gravel race). After a tight race with a large field sticking together throughout most of the day, she made a calculated move right before the finish line, which put her two seconds ahead of Lauren Stephens.
Men’s top 10 results
| Rider | Age | Home | Time |
|---|---|---|---|
| 1 Bradyn Lange | 26 | Fairfax, US | 04:15:03 |
| 2 Keegan Swenson | 32 | Midway, US | 04:15:03 |
| 3 Alexey Vermeulen | 31 | Boulder, US | 04:15:14 |
| 4 Magnus Bak Klaris | 30 | Copenhagen, DK | 04:15:21 |
| 5 Matthew Beers | 31 | Cape Town, SA | 04:15:46 |
| 6 Cobe Freeburn | 24 | Durango, US | 04:16:52 |
| 7 Cole Paton | 28 | Cashmere, US | 04:16:53 |
| 8 Jordy Bouts | 29 | Mechelen, BE | 04:17:05 |
| 9 Simon Pellaud | 33 | Chemin-Dessus, SUI | 04:20:32 |
| 10 Andrew L’Esperance | 35 | Waterloo, US | 04:21:07 |
Women’s top 10 results
| Rider | Age | Home | Time |
|---|---|---|---|
| 1 Sofia Gomez Villafañe | 32 | Midway, US | 05:10:39 |
| 2 Lauren Stephens | 39 | Dallas, US | 05:10:41 |
| 3 Nele Johanna Laing | 27 | Köln, GER | 05:10:45 |
| 4 Karolina Mígon | 30 | Pully, POL | 05:10:48 |
| 5 Kate Courtney | 30 | Portola Valley, US | 05:11:15 |
| 6 Hayley Preen | 27 | Cape Town, SA | 05:11:15 |
| 7 Rosa Klöser | 29 | Soldeu, AND | 05:11:17 |
| 8 Cecily Decker | 27 | Santa Fe, US | 05:11:39 |
| 9 Larissa Hartog | 24 | Delft, NED | 05:11:49 |
| 10 Samara Shepperd | 35 | Churton Park, NZ | 05:12:06 |
Image gallery





Did we do a good job with this story?
