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.
Considérant en droit :
1.
Les conditions de recevabilité du recours en matière civile sont réalisées sur le principe, notamment celles afférentes à la valeur litigieuse minimale de 30'000 fr. (art. 74 al. 1 let. b LTF) et au délai de recours (art. 46 al. 1 let. b en lien avec l'art. 100 al. 1 LTF).
2.
Les parties ont convenu d'un prix ferme (ou prix forfaitaire) pour la réalisation d'une halle.... Dans un tel cas, l'entrepreneur est tenu d'exécuter l'ouvrage pour la somme fixée et ne peut réclamer aucune augmentation, même si l'ouvrage a exigé plus de travail ou de dépenses que ce qui avait été prévu (art. 373 al. 1 CO); quant au maître, il doit payer le prix intégral même si l'ouvrage a exigé moins de travail que prévu (art. 373 al. 3 CO).
Les modifications de commande donnent cependant droit à une augmentation du prix dans la mesure où elles ont nécessité des prestations supplémentaires de la part de l'entrepreneur. Sauf convention spéciale ou applicabilité de la norme SIA 118 (cf. ATF 143 III 545), cette rémunération se calcule selon la méthode de l'art. 374 CO, c'est-à-dire d'après la valeur du travail et les dépenses de l'entrepreneur (arrêts 4A_433/2017 du 29 janvier 2018 consid. 3.1.2; 4A_183/2010 du 27 mai 2010 consid. 3.2).
En fonction de la description plus ou moins précise de l'ouvrage convenu, il est parfois difficile de déterminer si une prestation de l'entrepreneur constitue une modification de commande ou si elle fait encore partie des prestations convenues à l'origine. Dans la mesure où il cherche à obtenir un complément de rémunération, l'entrepreneur supporte le fardeau de la preuve de la modification de commande et des frais supplémentaires qui en résultent (arrêts 4C.86/2005 du 2 juin 2005 consid. 3; 4C.23/2004 du 14 décembre 2004 consid. 4.1).
PETER GAUCH observe l'émergence dans la pratique de la clause d'approbation préalable, destinée à éviter des litiges ultérieurs sur la rémunération complémentaire. Une telle clause oblige l'entrepreneur à faire approuver par le maître la rémunération qu'il entend obtenir pour une modification de commande avant de commencer à exécuter celle-ci, faute de quoi il ne pourra émettre aucune prétention supplémentaire. PETER GAUCH mentionne diverses exceptions, notamment lorsque le maître a renoncé expressément ou tacitement à invoquer cette clause pour une modification déterminée. Il peut y avoir renonciation tacite notamment lorsque le maître apprend que l'exécution de la modification de commande a débuté et qu'il s'abstient d'exiger un accord sur la rémunération y relative. Selon cet auteur, la clause ne saurait non plus être opposée à l'entrepreneur qui donne suite à une instruction du maître sans se rendre compte, malgré toute l'attention commandée par les circonstances, qu'il s'agissait d'une modification de commande; tel peut être le cas lorsque la description des prestations dues n'est pas claire (PETER GAUCH, Der Werkvertrag, 5e éd. 2011, nos 789a et b).
Ces précisions étant apportées, il convient de passer à l'examen des griefs.
3.
3.1. La recourante admet que la rémunération qu'elle demande pour les prestations supplémentaires exécutées par la sous-traitante n'a pas fait l'objet d'un accord préalable écrit, qui eût été en soi nécessaire. Les parties auraient toutefois renoncé à appliquer l'art. 11.2 du contrat conclu en avril 1999.
3.2. La recourante fait valoir que le projet a été piloté par une commission de construction composée notamment d'architectes, parmi lesquels Y._, chef du projet, ainsi que Z._. Cette commission qui représentait les maîtres de l'ouvrage aurait suivi le projet au jour le jour, si bien que les maîtres auraient parfaitement connu les modifications apportées au projet et les rémunérations supplémentaires qu'elles impliquaient.
En réalité, l'existence d'une telle commission ne saurait nécessairement conduire à imputer aux maîtres de l'ouvrage une connaissance suffisamment précise du déroulement des travaux, notamment des modifications de commande et de leur exécution, au point qu'on pourrait en inférer une renonciation tacite à invoquer la clause d'approbation préalable (cf. consid. 2 supra). En effet, on ignore tout des circonstances dans lesquelles les modifications de commande ont été apportées, en quoi elles ont consisté et la manière dont le chantier a été suivi. De surcroît, rien n'indique que les membres de la commission auraient eu connaissance du contenu du «contrat de sous-mandataire» passé entre la recourante et la sous-traitante, et notamment de la description des prestations prévues par ce sous-contrat. Le fait qu'il y ait eu, selon l'architecte Z._, de longs débats au sein de la commission de construction, au sujet de modifications dont on ignore la teneur, n'est pas de nature à modifier cette analyse.
La recourante évoque en outre des procès-verbaux de la commission de construction, dont le Tribunal civil a inféré que lorsque des modifications avaient été apportées au projet de base, les parties avaient régulièrement mené des discussions pour déterminer les surcoûts qui pourraient en résulter. S'il n'y a pas nécessairement matière à en déduire que les parties auraient systématiquement respecté la procédure d'approbation préalable prévue par l'art. 11.2 du contrat de base, à l'inverse on ne saurait nécessairement en inférer que les parties auraient renoncé de façon générale à cette exigence.
En bref, le grief d'arbitraire dans l'appréciation des preuves, respectivement de violation du droit fédéral, est infondé au vu de ce qui précède.
3.3. Il peut être donné acte du fait que l'architecte Z._ a confirmé l'existence de discussions visant à trouver un arrangement pour un montant moindre que les 118'444 fr. 85 réclamés par la sous-traitante. Interpellé sur le montant de 35'000 fr., l'architecte a dit se souvenir effectivement d'un tel chiffre.
Cela étant, et contrairement à ce que plaide la recourante, on ne saurait inférer de ces seuls éléments une renonciation à invoquer l'art. 11.2 pour les prétentions de la sous-traitante, à défaut de plus amples précisions quant aux circonstances dans lesquelles ces discussions ont eu lieu, en particulier à quel moment et à l'initiative de qui.
3.4.
3.4.1. L'autorité précédente aurait encore arbitrairement méconnu d'autres déclarations de l'architecte Z._, qui établiraient que les maîtres avaient renoncé à l'art. 11.2 du contrat et connaissaient l'ampleur des prétentions émises par la sous-traitante, respectivement le risque qu'elles soient bien-fondées.
3.4.2. Entendu en 2008 dans le procès intenté par la sous-traitante, l'architecte Z._ a reconnu avoir reçu à bien plaire des représentants de la sous-traitante; il les avait invités à discuter avec B._ et à documenter leurs prétentions. La question avait été évoquée en commission de construction; B._ avait estimé qu'il convenait prioritairement de régler le problème entre la recourante et la sous-traitante, «étant entendu que si les prétentions s'avéraient fondées, le maître de l'ouvrage entrerait en matière».
Réentendu en 2015 dans le présent procès, l'architecte Z._ a répondu par l'affirmative à la question de savoir s'il appartenait selon lui au maître de l'ouvrage d'assumer les prestations supplémentaires de la sous-traitante, dans la mesure où celle-ci parvenait à établir qu'elles étaient justifiées; il voulait dire par là que si la recourante adoubait la prestation supplémentaire invoquée par la sous-traitante, la recourante pouvait alors la présenter au maître de l'ouvrage. Il a ajouté que le pilotage du projet était assuré par B._, spécialement par Y._. Ce dernier, aux dires de l'architecte Z._, était persuadé que les éléments déjà honorés comprenaient certaines prestations qui étaient sollicitées. Qui plus est, la recourante affirmait pouvoir faire entendre raison à la sous-traitante; elle avait bon espoir que ces prétentions ne soient pas reconnues ou totalement acceptées. Aussi les maîtres de l'ouvrage n'avaient-ils pas admis la deuxième série de prestations supplémentaires requises par la sous-traitante.
Indépendamment du point de savoir si ces propos - en particulier ceux tenus en 2008 - sont liés à des allégués régulièrement introduits dans le présent procès, l'architecte Z._ a exprimé une opinion, dont rien n'indique qu'elle ait été partagée par la majorité des membres de la commission de construction, respectivement par les personnes aptes à engager les maîtres. Par ailleurs, il n'apparaît pas que les maîtres - respectivement leurs représentants - auraient signifié à la recourante leur intention de payer les montants revendiqués par la sous-traitante dans l'hypothèse où ils correspondraient effectivement à des prestations supplémentaires.
Pour le surplus, le seul fait que l'architecte Z._ ait rencontré des représentants de la sous-traitante à qui il a conseillé de documenter leurs prétentions, respectivement que la question ait été abordée en commission, ne signifie pas nécessairement que les maîtres aient connu dans le détail ces prétentions, ni qu'ils aient été à même de préjuger du bien-fondé de celles-ci.
Le grief se révèle infondé.
3.5. Subsiste le fait que les intimés ont accepté de payer des honoraires complémentaires de 212'649 fr. 05. La recourante conteste que cette somme ait inclus les prétentions de la sous-traitante à hauteur de 10'159 fr. 59. Elle conteste également qu'il se soit agi d'un paiement pour solde de tout compte; elle fait observer que le témoin Y._ se réfère à une facture finale du 30 décembre 2005 qui ne figure pas au dossier.
De deux choses l'une. Soit, comme le prétend la recourante, les honoraires complémentaires de 212'649 fr. 05 ne couvraient pas des prestations de la sous-traitante. Dans cette première hypothèse, on ne peut rien déduire du seul fait que les maîtres ont accepté de payer de tels honoraires, alors qu'on ignore notamment à quelles prestations précises ils se rapportaient, si des accords préalables avaient été signés, ou encore s'ils couvraient certaines modifications de moindre importance non sujettes à un accord préalable. Il incombait à la recourante, le cas échéant en requérant la collaboration des parties adverses, d'alléguer et d'établir les circonstances précises permettant d'inférer du paiement de ces honoraires une renonciation générale à la clause contractuelle.
Soit, selon une seconde hypothèse, la somme de 212'649 fr. 05 englobait partiellement des prétentions supplémentaires de la sous-traitante (10'159 fr. 59). Selon l'arrêt attaqué, la recourante avait rassuré les maîtres de l'ouvrage au sujet des prétentions complémentaires de la sous-traitante, en affirmant qu'ils ne devraient pas être concernés. Peu importe qu'elle ait fait comprendre qu'une telle issue n'était pas garantie et que les maîtres aient dû s'en rendre compte. Du moment que la recourante réclamait des honoraires en renvoyant expressément à un tableau portant la mention «honoraires définitifs», et en faisant valoir qu'elle avait bon espoir d'obtenir gain de cause contre la sous-traitante, elle ne pouvait pas de bonne foi inférer du paiement partiel des intimés (10'159 fr. 59) qu'ils renonceraient à se prévaloir de l'art. 11.2 du contrat si elle venait ultérieurement à émettre des prétentions supplémentaires pour le solde revendiqué par la sous-traitante.
3.6. Pour le surplus, l'état de fait ne permet pas de retenir l'hypothèse mentionnée par la doctrine (cf. consid. 2 supra), selon laquelle la recourante aurait donné suite à des instructions des maîtres sans pouvoir se rendre compte qu'il s'agissait d'une modification de commande, du fait d'une description peu claire de l'ouvrage. Cela met un terme à toute discussion.
3.7. En définitive, l'autorité précédente n'a pas enfreint le droit fédéral en considérant que la recourante n'avait pas droit à un complément d'honoraires en lien avec les prestations supplémentaires effectuées par la sous-traitante. Le fait que celle-ci ait obtenu gain de cause dans son procès contre la recourante ne dispensait pas la recourante, dans la procédure initiée à l'encontre des maîtres de l'ouvrage, d'alléguer et d'établir des circonstances suffisamment précises pour établir son propre droit à une rémunération supplémentaire.
4.
Sur le vu de ce qui précède, les juges d'appel n'ont pas enfreint le droit fédéral en considérant qu'il n'avait pas matière à retenir une responsabilité fondée sur la confiance, ni à faire application des règles sur l'enrichissement illégitime ou la gestion d'affaires.
5.
En définitive, le recours se révèle infondé.
En conséquence, la recourante supportera les frais de la présente procédure (art. 66 al. 1 LTF). Aucuns dépens ne sont dus aux intimés, qui ont renoncé à se déterminer et n'ont pas recouru aux services d'un avocat externe.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 5'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Neuchâtel.
Lausanne, le 2 mai 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente: Kiss
La greffière: Monti