Faits : A. A.a. B._, «en partenariat avec C._», a conclu en avril 1999 un «contrat relatif aux prestations d'architecture et de coordination générale», par lequel elle confiait au bureau d'architectes... (devenu par la suite A._ SA) l'étude et la réalisation d'une halle... à Neuchâtel. Les parties ont convenu d'honoraires «forfaitaires» fixés à 1'875'000 fr. TTC (toutes taxes comprises), dont 92'180 fr. TTC pour le poste «ingénieur civil/béton armé». La clause suivante a notamment été insérée: «11. Prestations supplémentaires (...) 11.2 Modifications Si à la demande du Maître de l'ouvrage ou avec son accord les architectes doivent apporter des modifications importantes aux plans ou à d'autres documents, les prestations complémentaires effectuées seront rémunérées séparément sur la base d'un accord écrit préalable.» Par «contrat de sous-mandataire» conclu le 31 mai 1999, le bureau d'architectes a confié à la société X._ SA les prestations d'ingénieur civil liées à l'étude et à la réalisation de la halle..., moyennant une rémunération forfaitaire de 84'825 fr. TTC. A.b. Après la conclusion de ces contrats, différentes modifications ont été apportées au projet de construction. Les 25 janvier, 28 janvier et 24 mars 2004, X._ SA (ci-après: la sous-traitante) a adressé au bureau d'architectes 11 requêtes tendant au paiement de 118'444 fr. 85 pour des prestations supplémentaires. L'intéressé a refusé d'y donner suite. A.c. Le 6 décembre 2004, le bureau d'architectes a adressé à B._ quatre avenants exigeant des honoraires complémentaires de 212'649 fr. 05 avec les précisions suivantes: «Avenant 1: Remise en soumission 1999-2003»: 42'268 fr. 10 TTC; «Avenant 2: Hausses 1999-2003»: 23'634 fr. 25 TTC; «Avenant 3: Remise en soum. 2004 + énergie»: 22'273 fr. 20 TTC; «Avenant 4: Hausses index. + coûts compl.»: 124'473 fr. 50 TTC. Les quatre avenants indiquaient qu'il s'agissait de «montants selon tableau 'Honoraires définitifs Halle... 06.12.04'». Ledit tableau faisait ressortir que 10'159 fr. 59 TTC se rapportaient à des prestations d'«ingénieur civil béton armé». B._ et C._ ont payé en totalité la somme réclamée. A.d. Le 26 juin 2007, la sous-traitante a attrait le bureau d'architectes devant les tribunaux neuchâtelois en paiement de 118'444 fr. 85, à titre de rémunération pour des prestations supplémentaires non incluses dans le «contrat de sous-mandataire». A l'appui de sa réponse concluant au rejet, le bureau d'architectes a fait valoir que la réalisation du projet n'avait entraîné aucune modification «notoire», seules quelques mesures d'évolution ayant été effectuées. Il a fait notifier une dénonciation du litige à B._, qui l'a refusée. Par jugement du 9 mai 2012, le Tribunal civil du Littoral et du Val-de-Travers a condamné le bureau d'architectes à verser à la sous-traitante la somme de 54'802 fr. plus intérêts à 5% dès le 18 juin 2005. Selon cette autorité, il y avait eu d'importantes modifications de commande par rapport à l'objet du contrat initial, lesquelles avaient entraîné des prestations supplémentaires justifiant une rémunération. Ce jugement est devenu définitif et exécutoire. B. B.a. Le 27 février 2013, le bureau d'architectes a ouvert action en paiement contre B._ et C._ devant ce même Tribunal civil. Ses dernières conclusions tendaient au paiement de 111'464 fr., comprenant le montant en capital et intérêts dû à la sous-traitante, augmenté des frais de justice et honoraires d'avocat engagés dans le précédent procès. B.b. Par jugement du 10 octobre 2016, le Tribunal civil a rejeté la demande, au terme d'une analyse résumée ci-dessous. La qualité pour défendre devait être reconnue à C._, qui ne la contestait pas et était mentionné dans le contrat d'avril 1999 comme partenaire de B._. Les parties avaient conclu un contrat d'architecte global conférant au bureau d'architectes la position d'un entrepreneur général. La société X._ SA était une sous-traitante liée à celui-ci par un contrat indépendant du contrat de base conclu avec les deux maîtres de l'ouvrage. Lorsque des modifications avaient été apportées au projet de base, le bureau d'architectes et les maîtres avaient régulièrement mené des discussions pour déterminer les surcoûts qui pourraient en résulter. Concernant les prestations de la sous-traitante, le bureau d'architectes n'avait pas mis en oeuvre le mécanisme prévu par l'art. 11.2 du contrat de base, ni même rendu les maîtres attentifs à un éventuel surcoût, considérant que ces modifications n'étaient pas «notoires» et n'induisaient pas une augmentation de prestations justifiant une rémunération supplémentaire. Toutefois, après avoir reçu les demandes de rémunération complémentaire émises par la sous-traitante, le bureau d'architectes avait envoyé aux maîtres ses quatre avenants du 6 décembre 2004. Ce faisant, il avait manifesté la volonté de fixer son complément d'honoraires à 212'649 fr. 05 pour les modifications apportées à la commande initiale, incluant les prestations supplémentaires d'ingénieur; les maîtres avaient accepté cette offre. Un accord avait ainsi été trouvé. Certes, à ce moment-là, le bureau d'architectes ignorait encore qu'il aurait à verser 54'802 fr. plus des intérêts à la sous-traitante pour des prestations supplémentaires. Cependant, il connaissait déjà dans le détail les montants réclamés par la sous-traitante depuis janvier et mars 2004. Il lui aurait donc été loisible d'inclure dans les avenants du 6 décembre 2004 la somme de 118'444 fr. 85 exigée par la sous-traitante, ou de réserver ce poste jusqu'au règlement du litige avec celle-ci. B.c. Par arrêt du 12 juillet 2017, le Tribunal cantonal neuchâtelois a rejeté l'appel du bureau d'architectes et confirmé le jugement entrepris. Le tribunal supérieur a jugé que les témoignages invoqués par l'appelant montraient en réalité que les parties n'avaient pas renoncé à l'application de l'art. 11.2 du contrat de base. Le bureau d'architectes avait commis une erreur d'appréciation quant à la légitimité des prétentions émises par la sous-traitante et avait rassuré les maîtres de l'ouvrage en affirmant qu'ils ne devraient pas être concernés; il devait assumer cette erreur. La situation apparaîtrait sous un jour différent s'il avait informé les maîtres du risque que les prétentions litigieuses fussent fondées, mais tel n'était pas le cas. Le Tribunal cantonal a ensuite abordé la question de savoir si les honoraires complémentaires réclamés à hauteur de 212'649 fr. 05 incluaient ou non les prétentions litigieuses de la sous-traitante. Il a constaté que les témoignages faisaient certes état de deux séries de prétentions supplémentaires réclamées par la sous-traitante, mais qu'une seule série avait été alléguée et établie; il fallait donc admettre que le total réclamé incluait pour partie (10'159 fr. 59) les prétentions litigieuses de la sous-traitante (118'444 fr. 85). Au demeurant, seul comptait le fait que le bureau d'architectes avait réclamé aux maîtres des honoraires complémentaires de 212'649 fr. 05 pour solde de tout compte, sans faire aucune réserve quant aux prétentions litigieuses de la sous-traitante. Les juges d'appel ont également confirmé qu'il n'y avait pas matière à fonder une prétention sur la base de l'enrichissement illégitime ou de la gestion d'affaires, le bureau d'architectes ayant géré ses propres intérêts, en tant que cocontractant exclusif, dans le procès qui l'avait opposé à la sous-traitante. Il était également exclu de retenir une responsabilité fondée sur la confiance dans la mesure où aucun élément du dossier ne laissait penser que les maîtres avaient fait croire qu'ils assumeraient un éventuel procès intenté par la sous-traitante. C. Le bureau d'architectes (ci-après: la recourante) saisit le Tribunal fédéral d'un recours en matière civile visant à faire condamner B._ et C._ au paiement de 111'464 fr. plus intérêts. Les deux intimés ont fait savoir par leur service juridique qu'ils n'avaient pas d'observations à formuler. L'autorité précédente s'est référée à son arrêt.