You can first find the positional index of the first value satisfying a condition:
idx = next(iter(np.where(df['Dip'] > 85)[0]), df.shape[0])
Then slice your dataframe by integer position from this value onwards:
res = df.iloc[idx:]
Choosing df.shape[0]
as the default if your condition is never satisfied ensures the entire dataframe is returned in this scenario.
Performance note
For larger data sets, you may find integer indexing more efficient than Boolean indexing:
np.random.seed(0)
df = pd.DataFrame({'A': np.random.randint(0, 100, 10**6)})
%timeit df[df['A'].gt(90).cummax()] # 36.1 ms
%timeit df.iloc[next(iter(np.where(df['A'] > 90)[0]), df.shape[0]):] # 4.04 ms
If efficiency is a primary concern, see Efficiently return the index of the first value satisfying condition in array. The idea is you don't have to traverse your entire series if the condition is satisfied earlier.