Faits :
A.
A.a. En octobre 2012, les époux A1._ et A2._ ont chargé la société B._ Sàrl (ci-après: B._ ou l'entreprise de construction) de réaliser des travaux de maçonnerie, peinture et carrelage dans le cadre de la rénovation de leur grange. Ils ont confié la direction des travaux au cabinet d'architectes C._ Sàrl.
Le maître de l'ouvrage A1._ ainsi que les associés gérants de l'entreprise de construction (B2._) et du cabinet d'architectes (C2._) ont signé un bon de commande du 5 octobre 2012 fixant le coût des travaux de maçonnerie, peinture et carrelage à 260'373 fr. 09 HT (hors taxes), soit 281'202 fr. 95 TTC (toutes taxes comprises). Le bon renvoyait à un devis estimatif du 5 octobre 2012 faisant partie intégrante de la documentation contractuelle. Un rabais (compte pro rata) de 1,2% du prix de la commande TTC était prévu. Tout travail complémentaire devait faire l'objet d'une commande complémentaire sous la forme d'un avenant.
A.b. Le chantier a commencé dans le courant du mois d'octobre 2012; il devait durer jusqu'en mars-avril 2013. En cours d'exécution, des travaux complémentaires («hors adjudication») ont été confiés à l'entreprise de construction, sans qu'aucun devis ni avenant soit établi.
Au début de l'année 2013, l'associé-gérant de B._ et un ingénieur dénommé C3._ travaillant au service du cabinet d'architectes ont calculé de manière contradictoire les métrés, soit la quantité d'unités exécutées ou fournies par l'entreprise précitée.
Le vendredi 18 janvier 2013, l'architecte et associé gérant C2._ s'est emporté contre l'entreprise de construction au motif que les travaux préparatoires en vue de la pose d'une citerne n'avaient pas encore été effectués. L'architecte a haussé le ton en disant à un collaborateur de l'entreprise qu'«ils pouvaient s'en aller» si le nécessaire n'était pas fait avant la livraison de la citerne le jeudi suivant.
Sur instruction de B2._, les ouvriers ont quitté le chantier dans l'après-midi.
Le lundi 21 janvier 2013, l'architecte a posté à l'adresse de l'entreprise de construction un courrier dans lequel il prenait acte de sa décision de quitter le chantier en précisant que les travaux restants seraient confiés à une autre entreprise.
Les ouvriers de l'entreprise sont revenus sur le chantier le lundi 21 janvier; ils ont travaillé normalement à peu près toute la semaine. L'architecte affirme leur avoir dit de quitter le chantier.
Le 25 janvier 2013, l'architecte, le maître de l'ouvrage et l'associé gérant de l'entreprise de construction se sont rencontrés. L'architecte a dit à ce dernier que leur collaboration était terminée.
A.c. Dans un décompte final du 23 janvier 2013, le bureau d'architectes a récapitulé les travaux exécutés par l'entreprise de construction en reprenant les postes CFC (code de frais de construction) du devis du 5 octobre 2012. Il a retenu un prix total de 149'954 fr. 01 HT, soit 161'950 fr. 35 TTC.
Trois autres décomptes étaient joints:
- le premier recensait les postes de travaux inclus dans le bon de commande du 5 octobre 2012 qui avaient été effectués par l'entreprise, aboutissant au montant de 78'158 fr. 42 HT;
- le deuxième document réévaluait ces mêmes travaux à 93'370 fr. 22 HT après rectification des métrés et des prix unitaires;
- enfin, le troisième décompte énonçait les travaux supplémentaires effectués par l'entreprise de construction pour un montant de 56'583 fr. 80 HT.
Aucune déduction n'avait été effectuée pour des malfaçons, défauts ou retards.
C3._ a expliqué qu'il avait collaboré à l'établissement de ces décomptes et s'était basé sur le devis du 5 octobre 2012, les mises à jour périodiques effectuées pendant le chantier et le compte-rendu de la séance qui s'était tenue en contradictoire avec B2._ quelques jours avant l'arrêt des travaux.
A.d. A la fin du mois de février 2013, l'entreprise D._ SA a repris les travaux que B._ aurait dû exécuter. Ces travaux, détaillés dans un devis du 25 février 2013, ont été commandés pour un montant de 152'933 fr. 86 HT; ils ont été achevés en octobre 2013.
Selon l'administrateur de D._ SA, la moitié des travaux effectués a consisté en des réparations de malfaçons.
A.e. B._ a contesté en bloc le décompte final du 23 janvier 2013 établi par le bureau d'architectes. Elle a adressé aux maîtres une facture finale du 12 mars 2013 fixant le coût total des travaux exécutés sur le chantier à 267'450 fr. HT, soit 288'846 fr. 55 TTC. Après déduction des acomptes de 150'000 fr., l'entreprise revendiquait un solde de 138'846 fr. 55 TTC. Elle a imparti aux maîtres un délai de paiement au 25 mars 2013.
Les maîtres de l'ouvrage ont soumis cette facture au cabinet d'architectes, qui l'a analysée dans un rapport du 16 avril 2013, puis ils ont écrit à l'entreprise de construction le 19 avril 2013 qu'ils refusaient de la payer.
A.f. Le 17 mai 2013, l'entreprise de construction a obtenu l'inscription provisoire au registre foncier d'une hypothèque légale des artisans et entrepreneurs grevant à concurrence de 138'846 fr. 55 la parcelle des maîtres de l'ouvrage sise dans la commune de... (GE).
B.
B.a. Après avoir saisi le Tribunal de première instance du canton de Genève d'une requête de conciliation le 21 octobre 2013, l'entreprise de construction a déposé une demande dans laquelle elle concluait au paiement des montants de 138'846 fr. 55 pour les travaux effectués sur le chantier des maîtres de l'ouvrage et de 70'370 fr. 65 pour le manque à gagner lié à la résiliation du contrat. Elle a en outre requis l'inscription définitive de l'hypothèque légale des artisans et entrepreneurs à hauteur de 138'846 fr. 55 et le paiement des différents frais et émoluments afférents à cette inscription.
Les maîtres de l'ouvrage ont conclu au rejet de la demande et, à titre reconventionnel, au paiement de 5'964 fr.
B.b. Entendu comme témoin, C3._ a déclaré avoir travaillé comme technicien-architecte pour le bureau d'architectes de juin 2012 à septembre 2013. Il avait collaboré à l'élaboration du décompte final du 23 janvier 2013 ainsi qu'à l'analyse de la facture émise par B._ le 12 mars 2013. Il estimait qu'au moment de l'arrêt des travaux, cette entreprise avait réalisé environ 55% des travaux qui lui incombaient. Il fondait ce taux sur la base des décomptes qu'il avait effectués tant sur les travaux de B._ que sur ceux exécutés par l'entreprise qui lui avait succédé.
B.c. Par jugement du 25 mai 2016, le Tribunal de première instance a condamné les maîtres de l'ouvrage, conjointement et solidairement, à payer à l'entreprise de construction les sommes de 63'917 fr. pour les travaux exécutés et de 31'002 fr. pour le manque à gagner découlant de la résiliation du contrat. Il a en outre ordonné l'inscription définitive de l'hypothèque légale des artisans et entrepreneurs à concurrence de 63'917 fr. et a condamné les maîtres à payer le coût des extraits du registre foncier et de l'inscription, ainsi que les droits d'enregistrement et d'inscription.
En substance, le Tribunal a jugé que les parties s'étaient liées par un contrat d'entreprise qui avait pris fin de façon anticipée le 25 janvier 2013 lorsque les maîtres de l'ouvrage avaient refusé de poursuivre leur collaboration. L'entreprise de construction avait droit au paiement du travail effectué jusque-là (<ref-law>). En se fondant sur un prix forfaitaire ferme de 281'202 fr. 95 TTC et un taux d'exécution des travaux de 55% (témoignage de C3._), le Tribunal aboutissait au montant de 154'662 fr. TTC (281'202 fr. 95 x 55%), soit 152'806 fr. après déduction du rabais de 1,2% (154'662 fr. - [154'662 x 1,2% = 1'856 fr.]). S'y ajoutait le coût des travaux supplémentaires commandés en cours de chantier et admis par les maîtres de l'ouvrage à hauteur de 61'111 fr. TTC. Après déduction des acomptes de 150'000 fr., il subsistait un solde de 63'917 fr. ([152'806 + 61'111 = 213'917] - 150'000 = 63'917).
Concernant le gain manqué, le Tribunal civil a constaté que 45% des travaux convenus restaient à exécuter pour le prix de 126'541 fr., soit 45% du prix ferme convenu (281'202 fr. 95 x 45%). Le Tribunal a estimé que sur ce montant, l'entreprise de construction aurait réalisé une marge bénéficiaire de 35%, usuelle dans le commerce, soit 44'289 fr. (126'541 fr. x 35%). Il convenait cependant de réduire cette indemnité de 30% pour tenir compte du rôle joué par l'entreprise dans la résiliation du contrat. L'indemnité due au titre de gain manqué s'élevait ainsi à 31'002 fr. (44'289 fr. - [44'289 fr. x 30% = 13'287]).
B.d. Statuant le 23 juin 2017 sur appel des maîtres de l'ouvrage et appel joint de l'entreprise de construction, la Cour de justice genevoise a réformé cette décision, en ce sens qu'elle a condamné les maîtres à payer à l'entreprise 83'364 fr. 65 pour les travaux effectués et 7'270 fr. pour son manque à gagner. Pour le surplus, elle a ordonné l'inscription définitive de l'hypothèque légale à concurrence de 83'364 fr. 65 et a confirmé le jugement entrepris en tant qu'il mettait le coût des divers frais et émoluments afférents à cette inscription à la charge des maîtres. La Cour de justice a modifié le taux concernant la part des travaux exécutés (62% au lieu de 55%) et la marge bénéficiaire (11% au lieu de 35%) que l'entreprise aurait pu retirer sur les travaux restant à effectuer. La motivation de cet arrêt, dans ce qu'elle a d'utile à retenir pour l'examen du recours en matière civile, sera exposée plus bas (cf. consid. 3.3 infra).
C.
Les maîtres de l'ouvrage ont interjeté un recours en matière civile au Tribunal fédéral, en concluant principalement à la réforme de l'arrêt sur appel en ce sens qu'il leur soit donné acte de leur engagement à payer à l'entreprise demanderesse la somme de 19'266 fr. 34 TTC plus intérêts à 5% l'an dès le 25 mars 2013, les prétentions de celle-ci étant rejetées pour le surplus.
L'entreprise de construction a conclu à l'irrecevabilité du recours, subsidiairement à son rejet. L'autorité précédente s'est référée à son arrêt.

Considérant en droit :
1.
Déposé en temps utile (art. 46 al. 1 let. b et 100 al. 1 LTF) par les défendeurs qui ont partiellement succombé dans leurs conclusions (<ref-law>) et dirigé contre un jugement final (<ref-law>) rendu sur recours par le tribunal supérieur du canton (<ref-law>) dans une contestation civile pécuniaire dont la valeur litigieuse est supérieure à 30'000 fr. (art. 72 al. 1 et 74 al. 1 let. b LTF), le recours en matière civile est recevable au regard de ces dispositions.
2.
2.1. Le Tribunal fédéral applique d'office le droit (<ref-law>) à l'état de fait constaté dans l'arrêt cantonal. Cela n'implique pas qu'il examine toutes les questions juridiques qui pourraient se poser, à l'instar d'un juge de première instance. Eu égard à l'obligation de motiver imposée par l'<ref-law>, l'autorité de céans ne traite que les questions qui sont soulevées devant elle par les parties, à moins que la violation du droit soit manifeste (<ref-ruling> consid. 2 p. 116; <ref-ruling> consid. 2).
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'<ref-law> (<ref-law>). «Manifestement inexactes» signifie ici «arbitraires» (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5).
Selon la jurisprudence, une décision est arbitraire lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou contredit d'une manière choquante le sentiment de la justice et de l'équité. Le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si sa décision apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs ou en violation d'un droit certain. L'arbitraire ne résulte pas du seul fait qu'une autre solution serait concevable, voire préférable. En outre, il ne suffit pas que les motifs de la décision soient insoutenables; encore faut-il qu'elle soit arbitraire dans son résultat (<ref-ruling> consid. 4.1; <ref-ruling>consid. 2.1).
L'appréciation des preuves est arbitraire lorsque le juge s'est manifestement mépris sur le sens et la portée d'un moyen de preuve, lorsqu'il a omis, sans raison sérieuse, de tenir compte d'un moyen important pour la décision attaquée, ou encore lorsqu'il a tiré des déductions insoutenables à partir des éléments recueillis (<ref-ruling> consid. 2.3 p. 266; <ref-ruling> consid. 4.2). La partie recourante qui invoque l'arbitraire dans l'appréciation des preuves et l'établissement des faits doit démontrer par une argumentation circonstanciée, si possible documentée, que la cour cantonale a retenu ou omis un fait pertinent d'une manière insoutenable (<ref-ruling> consid. 2.3 p. 266; <ref-ruling> consid. 2.2).
3.
3.1.
3.1.1. L'<ref-law> permet au maître, tant que l'ouvrage n'est pas terminé, de se départir du contrat en payant le travail fait et en indemnisant complètement l'entrepreneur. L'entrepreneur a ainsi le droit d'être remboursé pour la matière fournie et rémunéré pour tous les travaux nécessaires à l'exécution de l'ouvrage, y compris les travaux préparatoires, jusqu'au moment de la résiliation; dès cet instant, il doit interrompre ses travaux (arrêt 4A_182/2014 du 16 juillet 2014 consid. 2.2). La rémunération est fixée selon la convention des parties ou, à défaut, selon l'<ref-law> (PETER GAUCH, Der Werkvertrag, 5 e éd. 2011, n° 537; cf. arrêt 4C.87/2003 du 25 août 2003 consid. 6.2.2).
3.1.2. A teneur de l' <ref-law>, lorsque le prix a été fixé à forfait, l'entrepreneur est tenu d'exécuter l'ouvrage pour la somme fixée, et il 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 (al. 1). A l'inverse, le maître est tenu de payer le prix intégral, même si l'ouvrage a exigé moins de travail que ce qui avait été prévu (al. 3). En ce sens, on admet que le prix forfaitaire ou prix ferme fixe une limite à la fois maximale et minimale pour la rémunération de l'entrepreneur (arrêt 4A_458/2016 du 29 mars 2017 consid. 6.1 et les références citées).
Les modifications de commande donnent droit à une augmentation du prix dans la mesure où elles ont nécessité des prestations supplémentaires de l'entrepreneur; sauf convention spéciale, cette rémunération se calcule sur la base de l' <ref-law>, c'est-à-dire d'après la valeur du travail et les dépenses de l'entrepreneur (<ref-ruling> consid. 3b; arrêt 4D_63/2013 du 18 février 2014 consid. 2.2).
3.1.3. L'entrepreneur doit prouver les frais et les dépenses occasionnés par le travail qu'il a déjà exécuté (arrêt 4A_566/2015 du 8 février 2016 consid. 4.3), tout comme la modification de commande et les frais supplémentaires en résultant (arrêt 4C.23/2004 du 14 décembre 2004 consid. 4.1).
3.2. En l'espèce, il est constant que les parties étaient liées par un contrat d'entreprise (<ref-law>), en vertu duquel l'entreprise demanderesse s'était engagée à réaliser des travaux de maçonnerie, peinture et carrelage dans le cadre de la rénovation de la grange des maîtres de l'ouvrage défendeurs. Il n'est pas contesté que les parties ont convenu d'un prix forfaitaire ferme de 281'202 fr. 95 TTC pour l'exécution des travaux listés dans le devis du 5 octobre 2012. Il n'est pas non plus contesté devant le Tribunal fédéral que ce sont les maîtres de l'ouvrage qui ont résilié le contrat de manière anticipée le 25 janvier 2013 et qu'ils sont dès lors tenus de payer à l'entreprise de construction une rémunération pour le travail exécuté ainsi qu'une indemnisation pour son manque à gagner, conformément à l'<ref-law>.
Les maîtres renoncent expressément à remettre en cause le montant de 7'270 fr. alloué à l'entreprise à titre de gain manqué.
En revanche, ils contestent le montant de 83'364 fr. 65 correspondant à la rémunération des travaux déjà exécutés.
3.3.
3.3.1. La cour cantonale a jugé convaincante l'estimation du témoin C3._ selon laquelle le taux d'exécution des travaux confiés à l'entreprise de construction était d'environ 55% au moment où le contrat avait été résilié. En effet, le prénommé avait une connaissance de première main du dossier pour avoir participé aux mises à jour périodiques pendant le chantier, ainsi qu'au relevé contradictoire des métrés avec B2._ peu avant l'arrêt des travaux; en outre, il avait contribué à préparer le décompte du 23 janvier 2013 ainsi que le rapport de l'architecte du 16 avril 2013; enfin, son estimation était également fondée sur les travaux que la nouvelle partenaire (D._ SA) avait exécutés en remplacement de la demanderesse.
Les juges cantonaux ont néanmoins estimé que le taux de 55% avancé par le témoin C3._ ne pouvait pas être retenu tel quel, car il ne se conciliait pas avec la «facture» de 152'933 fr. 86 HT émise par D._ SA. En effet, comme l'administrateur de cette société avait déclaré que la moitié des travaux exécutés par son entreprise avait consisté en des réparations de malfaçons (cf. let. A.d supra), il fallait en déduire que seul un montant de 76'466 fr. 50 HT (152'933 fr. 86 : 2) concernait les travaux réalisés en lieu et place de la demanderesse. Or ce montant de 76'466 fr. 50 représentait environ 30% du prix total des travaux prévus dans le devis du 5 octobre 2012 (260'373 fr. 09 HT); en d'autres termes, le taux d'exécution des travaux confiés à la demanderesse serait d'environ 70%.
Compte tenu de ce qui précède, la cour cantonale a considéré qu'il convenait de pondérer les taux de 55% et 70% et d'arrêter à 62% ([55% + 70%] : 2) le taux des travaux exécutés par l'entreprise demanderesse au jour de la résiliation du contrat.
3.3.2. Les juges cantonaux ont ensuite relevé que les maîtres de l'ouvrage ne pouvaient pas être suivis lorsqu'ils soutenaient que le taux d'exécution des travaux prévus par le contrat devait également s'appliquer aux travaux supplémentaires, ce qui reviendrait à admettre que l'entreprise demanderesse avait laissé des travaux supplémentaires inachevés lors de la rupture des relations contractuelles. Or il n'était pas contesté qu'elle avait réalisé des travaux supplémentaires pour un montant de 61'111 fr. TTC, et il n'avait pas été allégué ni a fortiori prouvé que d'autres travaux supplémentaires auraient été commandés sans avoir été exécutés.
3.3.3. L'autorité d'appel a ainsi conclu que l'entreprise de construction avait droit au prix des travaux qui étaient prévus dans le devis initial et avaient été exécutés (62% de 281'202 fr. 95 TTC, soit 174'345 fr. 80 TTC) ainsi qu'au prix des travaux supplémentaires (61'111 fr. TTC), sous déduction du rabais du compte pro rata - lequel s'appliquait uniquement au prix des travaux prévus dans le devis initial (1,2% de 174'345 fr. 80, soit 2'092 fr. 15) à l'exclusion du prix des travaux supplémentaires. Eu égard aux acomptes versés (150'000 fr.), les maîtres devaient encore à l'entreprise 83'364 fr. 65 TTC.
3.4. Les maîtres de l'ouvrage se plaignent d'une violation de l'<ref-law> en relation avec l'art. 9 Cst. - soit en réalité d'une appréciation arbitraire des preuves (cf. arrêts 4A_552/2014 du 26 janvier 2015 consid. 3.2; 5A_250/2012 du 18 mai 2012 consid. 7.4.1 et les références; cf. <ref-ruling> consid. 2.3 p. 266).
Les maîtres rappellent que dans son décompte final du 23 janvier 2013, à l'établissement duquel C3._ a collaboré (cf. let. A.c supra), le bureau d'architectes a d'une part récapitulé les travaux exécutés par la demanderesse conformément au devis du 5 octobre 2012, en les chiffrant à 93'370 fr. 22 HT (100'839 fr. 35 TTC) après rectification des métrés et des prix unitaires, et a d'autre part recensé les travaux effectués en sus de ce bon de commande au prix de 56'583 fr. 80 HT (61'111 TTC), aboutissant ainsi à un prix total de 149'954 fr. 01 HT (161'950 fr. 35 TTC) pour la totalité des travaux exécutés par l'entreprise demanderesse, travaux supplémentaires compris.
Les maîtres concluent qu'en s'écartant du taux d'exécution des travaux estimé à 55% par le témoin C3._ pour retenir un taux de 62%, la cour cantonale parvient à un résultat arbitraire dans la mesure où il consacre la somme de 235'456 fr. 80 pour la totalité des travaux effectués par la demanderesse (174'345 fr. 80 TTC de travaux devisés + 61'111 fr. TTC de travaux supplémentaires), alors que le décompte final du 23 janvier 2013 - qui, selon la cour cantonale, bénéficie d'une présomption d'exactitude quant aux travaux exécutés - fixe la valeur totale des mêmes travaux à 161'950 fr. 35 TTC.
Par ailleurs, la cour cantonale aurait méconnu que le montant de 152'933 fr. 86 HT afférent aux travaux confiés à la nouvelle partenaire D._ SA découlait d'un devis antérieur à la réalisation des travaux par cette entreprise et portait uniquement sur les travaux d'achèvement du chantier commencé par la demanderesse, à l'exclusion de travaux de réparation. Si l'administrateur de D._ SA a certes affirmé que la moitié des travaux exécutés par son entreprise avait consisté en des réparations de malfaçons (cf. let. A.d supra), la cour cantonale en aurait déduit de façon insoutenable que seul un montant de 76'466 fr. 50 HT (152'933 fr. 86 : 2) concernait les travaux réalisés en lieu et place de la demanderesse. Du point de vue des maîtres, la cour cantonale aurait dû s'en tenir à son premier constat, admettre la crédibilité du témoignage de C3._ et retenir que le taux d'exécution des travaux accomplis par la demanderesse était de 55%.
Enfin, les maîtres de l'ouvrage reprochent à la cour cantonale de ne pas avoir appliqué ce taux de 55% aux travaux supplémentaires, alors que l'estimation du témoin C3._ se rapportait à l'ensemble du chantier incombant à l'entreprise demanderesse.
3.5.
3.5.1. La cour cantonale a jugé convaincante l'estimation du témoin C3._ fixant à 55% le taux d'exécution des travaux confiés à la demanderesse, en expliquant les raisons qui confortaient la crédibilité de ce chiffre (cf. consid. 3.3.1 supra). Cette motivation est exempte d'arbitraire.
Dans ces conditions, les juges cantonaux n'avaient pas de raison de s'écarter du taux d'exécution des travaux ainsi estimé, sauf à trouver d'autres éléments probants conduisant à retenir une valeur différente.
3.5.2. Or la lecture du devis du 25 février 2013 dans lequel D._ SA détaille les travaux qui lui ont été confiés pour un montant de 152'933 fr. 86 HT révèle que ce devis concernait uniquement des travaux restant à exécuter sur le chantier après la rupture des relations contractuelles avec B._ - sous réserve d'un poste de 480 fr. HT pour «réparation crépis bas de murs» (pièce 10 défendeurs, bordereau du 5 septembre 2014). Si l'administrateur de D._ SA Constructions a déclaré lors de son audition que la moitié des travaux exécutés par son entreprise avait consisté en des réparations de malfaçons (cf. let. A.d supra), ce seul fait ne permet nullement de conclure, comme l'ont fait les juges cantonaux, que seule la moitié des travaux devisés à 152'933 fr. 86 HT (soit 76'466 fr. 50 HT) concernait des travaux réalisés en lieu et place de l'entreprise demanderesse. Au surplus, si l'administrateur de D._ SA a déclaré avoir facturé ses travaux conformément au devis, il ne ressort nullement de son témoignage qu'il n'aurait pas facturé les travaux de réparation - non compris dans le devis - en sus. Enfin, le montant de 152'933 fr. 86 HT visé par le devis du 25 février 2013 représente quelque 58% du montant de 260'373 fr. 09 HT retenu par l'entreprise demanderesse dans son devis du 5 octobre 2012, ce qui tend à corroborer le taux de 55% estimé par le témoin C3._. A l'inverse, retenir, comme l'a fait la cour cantonale, que seule la moitié du montant de 152'933 fr. 86 HT visé par le devis de D._ SA concernerait des travaux effectués par cette entreprise à la place de la demanderesse ne se concilie pas avec le fait que l'estimation du témoin C3._ se fondait en particulier sur les travaux exécutés par D._ SA en remplacement de la demanderesse.
3.5.3. En définitive, les juges cantonaux ont tiré une déduction insoutenable du devis de D._ SA en relation avec le témoignage de l'administrateur de cette société, qui les a conduits à s'écarter de l'estimation du témoin C3._ qu'ils avaient pourtant jugée convaincante - admettant ainsi son caractère probant - pour toute une série de motifs pertinents (cf. consid. 3.3.1 supra). Dans cette mesure, le grief est bien fondé.
3.5.4. En revanche, les maîtres de l'ouvrage ne sauraient être suivis lorsqu'ils soutiennent que le taux d'exécution de 55% afférent aux travaux prévus par le contrat devrait également s'appliquer aux travaux supplémentaires. Si le témoin C3._ a expliqué que «Par rapport à l'ensemble du chantier qui lui incombait j'estime que la part effectivement réalisée par la demanderesse représentait environ 55%», cela ne signifie pas encore qu'il faudrait appliquer ce taux également aux travaux supplémentaires. En effet, comme l'ont relevé les juges cantonaux, il n'est pas établi que d'autres travaux supplémentaires que ceux effectués par la demanderesse pour une valeur non contestée de 61'111 fr. TTC auraient été commandés. Au surplus, le montant de 152'933 fr. 86 HT visé par le devis de D._ SA corrobore le fait que le taux de 55% estimé par le témoin C3._ s'applique uniquement aux travaux prévus par le devis du 5 octobre 2012 (cf. consid. 3.5.2 supra). Appliquer le taux de 55% aux travaux supplémentaires reviendrait d'ailleurs à ne rémunérer qu'à hauteur de 55% des travaux effectués par la demanderesse pour une valeur de 61'111 fr. TTC, ce qui serait insoutenable.
3.5.5. En bref, il y a lieu de retenir, à l'instar du Tribunal de première instance (cf. lettre B.c supra), que les travaux confiés à la demanderesse selon devis du 5 octobre 2012 avaient été exécutés à raison de 55% lors de la résiliation du contrat. Le prix de ces travaux s'élève donc à 154'661 fr. 60 (55% de 281'202 fr. 95 TTC), montant dont il faut déduire le rabais du compte pro rata par 1'855 fr. 95 (1.2% de 154'661 fr. 60). L'entreprise demanderesse a en outre droit au prix des travaux supplémentaires, par 61'111 fr. TTC. Après déduction des acomptes versés par les défendeurs (150'000 fr.), l'entreprise a droit en définitive au montant de 63'916 fr. 65 TTC, plus intérêts à 5% l'an dès le 25 mars 2013. S'y ajoute le montant non contesté de 7'270 fr., plus intérêts à 5% l'an dès le 28 janvier 2013, à titre de gain manqué.
4.
Il résulte de ce qui précède que le recours doit être partiellement admis et l'arrêt attaqué réformé en ce sens que les maîtres de l'ouvrage (défendeurs et recourants), solidairement entre eux, doivent payer à l'entreprise de construction (demanderesse et intimée) les sommes de 63'916 fr. 65, plus intérêts à 5% l'an dès le 25 mars 2013, et de 7'270 fr., plus intérêts à 5% l'an dès le 28 janvier 2013. L'inscription définitive au registre foncier d'une hypothèque légale des artisans et entrepreneurs sur l'immeuble des défendeurs doit être ordonnée à concurrence de 63'916 fr. 65, plus intérêts à 5% l'an dès le 25 mars 2013. Les défendeurs seront condamnés aux divers frais afférents à cette inscription (chiffre 3 du dispositif du jugement de première instance, confirmé par l'arrêt sur appel).
Vu l'issue du recours, les frais de la présente procédure seront mis à raison de trois cinquièmes à la charge des défendeurs, solidairement entre eux, et à raison de deux cinquièmes à la charge de la demanderesse (art. 66 al. 1 et 5 LTF). Les défendeurs, solidairement entre eux, verseront à la demanderesse une indemnité de dépens réduite [3/5 - 2/5 = 1/5 de 5'000 fr., soit 1'000 fr.] (art. 68 al. 1, 2 et 4 LTF).
Enfin, la cause sera renvoyée à la cour cantonale pour nouvelle décision sur les fraiset dépens des instances cantonales (art. 67 et 68 al. 5 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis et l'arrêt attaqué est réformé en ce sens que:
- les défendeurs, solidairement entre eux, doivent payer à la demanderesse la somme de 63'916 fr. 65, plus intérêts à 5% l'an dès le 25 mars 2013, et la somme de 7'270 fr., plus intérêts à 5% l'an dès le 28 janvier 2013;
- ordre est donné au Conservateur du Registre foncier de Genève de procéder à l'inscription définitive, au profit de B._ Sàrl, d'une hypothèque légale des artisans et entrepreneurs à concurrence de 63'916 fr. 65, plus intérêts à 5% l'an dès le 25 mars 2013, sur l'immeuble... de la commune de....
2.
Les frais judiciaires, arrêtés à 4'000 fr., sont mis à la charge des défendeurs, à parts égales et solidairement entre eux, à raison de 2'400 fr., et à la charge de la demanderesse à raison de 1'600 fr.
3.
Les défendeurs, à parts égales et solidairement entre eux, verseront à la demanderesse une indemnité de 1'000 fr. à titre de dépens réduits.
4.
La cause est renvoyée à la cour cantonale pour nouvelle décision sur les fraiset dépens des instances cantonales.
5.
Le présent arrêt est communiqué aux mandataires des parties, à la Chambre civile de la Cour de justice du canton de Genève et au Conservateur du Registre foncier de Genève.
Lausanne, le 29 janvier 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Kiss
La Greffière: Monti