Questione giuridica chiave
Whether the cantonal judgment violated the right to be heard by insufficient reasoning on damage and causation
Decisione estratta
The reasoning was sufficient to let the appellant understand and challenge the decision.
Motivazione estratta
The cantonal court briefly but clearly explained the contractual basis, the damage calculation, the hours used, and the 4% reduction; this met minimum constitutional reasoning requirements.