classic dilemma. honest take: at 0.5 level gap, pure consistency won't work - they'll out-patient you. but reckless attack just hands them points. you need smart disruption.
what usually works:
build patiently, finish decisively. play 6-8 solid balls, then when you get the right ball (above net height, central), commit fully. half-commits cause most mistakes.
attack their weaker player relentlessly. 70% of shots through them. force them to make decisions, frustrate the stronger one.
short cross-court and chiquitas. grinders love deep rallies. pull them into the transition zone where they're least comfortable.
vary lob height and target. high spinning lobs to their backhand corner are way harder to attack than flat fast ones.
stay at the net no matter what. don't get pushed back. smash imperfectly rather than retreat.
avoid: slugging it out from the back. they're better at that game, period.
realistic expectation: you're underdogs. but underdogs win by being braver, not safer. go aggressive in moments, not constantly.