Faits :
A.
Le projet immobilier que X._ SA entendait réaliser à... portait sur la construction de dix villas jumelles. Sur le site internet de la société, il était indiqué que chaque villa présentait une surface de 219 m 2 sur deux niveaux avec mezzanine, ainsi qu'un sous-sol de 90 m 2. En 2006 et 2007, la régie chargée de la commercialisation du projet a fait paraître des annonces publicitaires mentionnant que la surface d'une villa était de 219 m 2, sans autre précision.
Le 25 janvier 2006, F.Z._ et H.Z._ ont signé une convention de réservation portant sur la "Villa E de 219.70 m 2environ, prévue sur quatre niveaux (sous-sol, rez-de-chaussée, 1 er étage et combles), comprenant 8 pièces (dont 4 chambres), une cave, une buanderie, un garage et un parking extérieur".
Par la suite, les époux Z._ ont acquis la parcelle n° 754-1 de la commune de... pour le prix de 402'600 fr. Le 20 mars 2007, ils ont conclu avec X._ SA un contrat d'entreprise portant sur "la réalisation d'une maison mitoyenne, sous-sol, rez-de-chaussée, 1 er étage, mezzanines, d'une superficie d'env. 219.70 m 2 + sous-sol d'env. 90.25 m 2 " pour un prix forfaitaire de 825'900 fr. (recte: 852'900 fr.). La norme SIA 118 (1977/1991) était intégrée au contrat.
Selon les plans de masse, annexés au contrat et signés par les époux Z._, la villa comprend un sous-sol de 90,3 m 2, un rez-de-chaussée de 88,8 m 2 (comprenant notamment un hall de 14,8 m 2, une cuisine de 15 m 2, un séjour de 42,4 m 2et une salle à manger de 8,9 m 2), un premier étage de 90,3 m 2 composé de quatre chambres (soit chambre 1: 19,3 m 2, chambre 2: 16 m 2, chambre 3: 12,4 m 2et chambre 4: 16,5 m 2) ainsi que deux mezzanines attenantes aux chambres 2 et 4. Ces plans n'indiquent pas si ces surfaces sont brutes ou nettes, c'est-à-dire si elles comprennent ou non les murs intérieurs et extérieurs de la villa.
Les époux Z._ ont également signé un descriptif de construction, annexé au contrat. En page 7, ce document comporte le "détail des équipements", soit notamment du carrelage pour la "cuisine section 30 x 60 cm (12.50 m 2) ", pour le "hall section 30 x 60 cm (6.60 m 2) ", pour le "salon section 30 x 60 cm (53.30 m 2) " ainsi que du parquet pour les "chambre 1 selon plan (16.80 m 2), chambre 2 selon plan (33.00 m 2), chambre 3 selon plan (9.00 m 2) et chambre 4 selon plan (33.00 m 2) "; il est précisé que dans les chambres 2 et 4, la surface des mezzanines est comprise.
Le contrat renvoie également aux plans d'autorisation de construire destinés à la commune, lesquels n'ont toutefois pas été remis aux maîtres de l'ouvrage, mais seulement tenus à leur disposition. Pour répondre aux exigences de la commune, ces plans indiquent la surface nette de chaque pièce, c'est-à-dire la superficie à l'intérieur des murs de la pièce.
Les plans d'exécution du 20 septembre 2007 ont été signés par les époux Z._ le 18 octobre 2007; ils comportent les cotes (distance et épaisseur des murs, dimension des portes, des passages, des appareils et des pièces) et mentionnent les mêmes surfaces que celles figurant dans les plans de masse, soit des surfaces brutes.
Sur mandat de X._ SA, A._ SA a été chargée de la réalisation et de la coordination des travaux.
La villa a été livrée le 9 octobre 2008.
Par courrier de leur conseil du 1 er octobre 2009, les époux Z._ ont informé X._ SA qu'ils avaient constaté que la surface de leur logement était de 145,06 m 2, soit inférieure de 74,64 m 2 à la superficie de 219 m 2 indiquée dans les plans; ils faisaient valoir à ce titre un défaut entraînant une moins-value de 289'760 fr. X._ SA a contesté les prétentions des époux Z._.
B.
Par demande déposée le 29 septembre 2010, F.Z._ et H.Z._ ont assigné X._ SA et A._ SA, pris conjointement et solidairement, notamment en paiement de la somme de 435'635 fr. avec intérêts, laquelle comprenait un montant de 289'760 fr. pour la moins-value résultant de la différence entre la surface promise et la surface livrée.
Le Tribunal de première instance du canton de Genève a ordonné une expertise. Dans son rapport du 15 août 2013, l'expert B._ a notamment indiqué que la surface nette était de 140,40 m 2 pour le rez-de-chaussée et le premier étage, de 37,05 m 2 pour les mezzanines et de 71,6 m 2 pour le sous-sol, soit un total de 249,05 m 2.
Par jugement du 27 mai 2014, le tribunal a condamné X._ SA a verser aux époux Z._, conjointement et solidairement, les sommes de 206'780 fr.60 avec intérêts à 5% dès le 3 octobre 2009, de 1'285 fr. avec intérêts à 5% dès le 26 février 2014, de 375 fr. avec intérêts à 5% dès le 30 septembre 2010 et de 10'900 fr.; il a débouté les parties de toutes autres conclusions. En particulier, le premier juge a retenu un défaut lié à une différence de surface de 60,9 m 2, correspondant à une moins-value de 167'580 fr.60.
Par arrêt du 20 février 2015 communiqué le 12 août 2015, la Chambre civile de la Cour de justice du canton de Genève a rejeté l'appel déposé par X._ SA et confirmé le jugement de première instance.
C.
X._ SA interjette un recours en matière civile. Principalement, elle demande au Tribunal fédéral, d'une part, de lui donner acte qu'elle reconnaît devoir aux époux Z._ différents montants en relation avec des défauts qui ne concernent pas la différence de surface de l'ouvrage et, d'autre part, de débouter les époux Z._ de toutes autres ou contraires conclusions. A titre subsidiaire, elle conclut au renvoi de la cause à la Cour de justice pour nouvelle décision dans le sens des considérants.
Dans leur réponse, H.Z._ et F.Z._ proposent de déclarer le recours irrecevable en raison de sa motivation de nature appellatoire, subsidiairement de le rejeter. La recourante a déposé une réplique, suivie d'ultimes observations des intimés.
Invitée à se déterminer, la cour cantonale se réfère aux considérants de son arrêt.
Par ordonnance du 18 novembre 2015, la Présidente de la cour de céans a rejeté la demande d'effet suspensif présentée par la recourante.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière civile (<ref-law>) par un tribunal supérieur d'un canton, qui a statué sur recours (<ref-law>). La cause atteint la valeur litigieuse de 30'000 fr. ouvrant le recours en matière civile dans les affaires ne relevant ni du droit du travail, ni du droit du bail à loyer (<ref-law>). Au surplus, le recours est exercé par la partie qui a succombé dans ses conclusions libératoires et qui a donc qualité pour recourir (<ref-law>). Déposé dans le délai (art. 46 al. 1 let. b et art. 100 al. 1 LTF) et la forme (<ref-law>) prévus par la loi, le recours est en principe recevable.
2.
Invoquant les art. 9 Cst. et 97 LTF, la recourante se plaint tout d'abord d'arbitraire dans l'établissement des faits. Elle reproche à la cour cantonale de n'avoir pas retenu les éléments suivants:
- les intimés "avaient déjà manipulé des dossiers de promotion" avant la conclusion du contrat d'entreprise;
- la pratique consistant à se référer à des surfaces brutes dans la commercialisation de villas;
- les nombreuses annotations effectuées par les intimés sur le descriptif de construction avant la conclusion du contrat;
- seuls les acquéreurs de trois villas sur dix ont invoqué une différence de surface.
La Cour de justice aurait par ailleurs constaté de manière erronée que la surface nette de l'ouvrage est de 249,05 m2, au lieu de 258,45 m2.
2.1. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356) - ou en violation du droit au sens de l'<ref-law> (<ref-law>). Si l'auteur du recours soulève le grief d'établissement inexact des faits, encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>). L'exception prévue à l'<ref-law> ne permet pas aux parties de rediscuter dans leurs mémoires les faits de la cause comme si elles plaidaient devant un juge d'appel. La partie recourante qui, sur la base de l'<ref-law>, entend faire rectifier ou compléter un état de fait doit expliquer de manière circonstanciée en quoi les conditions d'une telle modification seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18; <ref-ruling> consid. 5.1 p. 356; <ref-ruling> consid. 1.2 p. 187), au même titre que la partie qui invoque une violation de l'interdiction constitutionnelle de l'arbitraire dans l'appréciation des preuves et l'établissement des faits (cf. <ref-law>; ATF <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 2.2 p. 246; <ref-ruling> consid. 1.4.3 p. 254 s.).
2.2. Sur le premier point, la recourante n'explique pas de manière intelligible en quoi le fait que les futurs clients aient vu précédemment d'autres dossiers de promotions immobilières serait déterminant pour établir leur volonté réelle quant à la surface du logement recherché. Le grief est irrecevable dans cette mesure.
Sur le second point, la recourante prétend avoir prouvé une pratique en matière d'indication de surface lors de la commercialisation de biens à construire ou de biens construits. Outre la référence à des pièces dont le contenu n'est pas précisé, la recourante se réfère aux déclarations de deux employés de la régie chargée de la commercialisation du projet. Cela n'est manifestement pas suffisant pour admettre une pratique en la matière, qui devrait en outre être connue des acquéreurs potentiels. En outre, de l'avis de l'expert judiciaire, repris dans l'arrêt attaqué, il n'existe pas de règle en matière d'indication de surfaces brutes ou nettes. Du reste, dans deux arrêts concernant des voisins des intimés, le Tribunal fédéral fait également état de l'avis d'un expert, selon lequel l'indication de surfaces brutes est propice à la confusion et doit, de ce fait, être prohibée (arrêt 4A_65/2012 du 21 mai 2012 consid. 10.3.3 et 10.3.4 et arrêt 4A_227/2014 du 24 novembre 2014 consid. 2.2.2). Le grief d'arbitraire ne peut être qu'écarté sur ce point.
Troisièmement, la recourante entend tirer des nombreuses annotations des intimés sur le descriptif de construction - identique à celui qui sera signé ensuite - la preuve que les futurs clients avaient compris la volonté réelle de l'entrepreneur, qui portait sur des surfaces brutes. La recourante ne fonde pas sa conclusion sur le contenu même des observations, mais soutient qu'en annotant le document précité, les intimés ont nécessairement lu le descriptif de manière attentive et qu'en conséquence, l'indication des surfaces à couvrir, inférieures aux surfaces des pièces mentionnées dans le contrat et les plans de masse, ne leur a pas échappé. A ce propos, on ne voit pas en quoi le seul fait d'annoter le descriptif de construction serait de nature à prouver que les futurs propriétaires avaient compris que les surfaces indiquées dans le contrat et les plans de masse incluaient les murs. La cour cantonale n'a en tout cas pas versé dans l'arbitraire en ne tenant pas compte de ces annotations.
Quant au dernier élément que la cour cantonale aurait arbitrairement omis de retenir, il n'est manifestement pas susceptible d'influer sur l'issue de la cause. En effet, on ne saurait tirer aucune conclusion de la simple absence de réclamation des acquéreurs de sept villas du lotissement, dont on ignore au demeurant s'ils disposaient de documents contractuels similaires à ceux soumis aux intimés et aux deux autres couples ayant invoqué un défaut lié à une différence de surface (cf. arrêts précités du 21 mai 2012 et du 24 novembre 2014).
En ce qui concerne la surface nette totale de la villa des intimés, elle est fixée à 249,05 m2 dans l'arrêt attaqué, en référence aux calculs de l'expert judiciaire. La cour cantonale précise que cette donnée chiffrée n'est pas contestée par les parties. Il s'ensuit que la recourante n'a pas soulevé devant l'autorité précédente le grief de constatation inexacte des faits. Comme elle n'a pas respecté la règle de l'épuisement des instances sur ce point, la recourante ne peut pas se plaindre devant le Tribunal fédéral d'une appréciation arbitraire des déclarations de l'expert. Le grief fondé sur l'art. 9 Cst. est irrecevable.
3.
La recourante reproche en outre à la cour cantonale d'avoir admis qu'une interprétation subjective de l'accord des parties, au sens de l'<ref-law>, n'était pas possible. Elle soutient que la Chambre civile a violé l'<ref-law> en admettant, sur la foi d'une déclaration contestée des intimés, que la volonté intime de ceux-ci portait sur la construction d'une villa d'une surface nette de 219 m2, sous-sol non compris. Plus loin, elle prétend à la fois que la volonté intime des maîtres de l'ouvrage n'est pas prouvée et que les parties avaient la volonté commune convergente de construire une villa de 309,9 m2 bruts, ce que la cour cantonale aurait dû constater si elle n'avait pas établi les faits de manière arbitraire.
3.1. 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é. L'arbitraire, prohibé par l'art. 9 Cst., ne résulte pas du seul fait qu'une autre solution pourrait entrer en considération ou même qu'elle serait préférable. 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. Il ne suffit pas que les motifs de la décision soient insoutenables; encore faut-il que celle-ci soit arbitraire dans son résultat (<ref-ruling> consid. 2.1 p. 18 s., 157 consid. 2.1 p. 168; <ref-ruling> consid. 3.2.5 p. 339; <ref-ruling> consid. 6.1 p. 379 s.).
En matière d'appréciation des preuves, il y a arbitraire lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (ATF <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 4.2 p. 234; <ref-ruling> consid. 4.2 p. 560; <ref-ruling> consid. 4.3 p. 62; <ref-ruling> consid. 2.1 p. 9).
3.2. Conformément à la règle déduite de l'<ref-law>, la cour cantonale s'est d'abord attachée à rechercher, en fait, une éventuelle volonté commune des parties, par une interprétation dite subjective. Elle a constaté à cet égard que les parties étaient en désaccord à propos de la superficie de la maison à construire: pour la recourante, les m2 indiqués dans le contrat et les plans de masse correspondaient à des surfaces brutes, alors que les intimés s'attendaient à des surfaces nettes, n'incluant pas les murs intérieurs et extérieurs.
Contrairement à ce que la recourante prétend, la cour cantonale n'a, ce faisant, pas constaté de manière arbitraire la volonté intime des maîtres de l'ouvrage. En effet, ni la présentation de la promotion sur internet, ni les annonces publicitaires, ni la convention de réservation, ni le contrat, ni les plans de masse ne précisent si la surface indiquée s'entend brute ou nette. Et aucun des intervenants qui, du côté de la recourante, ont eu affaire aux intimés n'a été en mesure d'affirmer que des explications relatives à la nature de la surface proposée avaient été fournies aux maîtres de l'ouvrage, profanes en la matière. Ceux-ci ont du reste eu l'air surpris lorsqu'ils ont vu, après la conclusion du contrat, les plans de mise à l'enquête, fondés sur des valeurs nettes et mentionnant ainsi des surfaces plus petites que celles dont ils avaient connaissance jusqu'alors.
Sur le vu de ces éléments, la cour cantonale pouvait sans arbitraire conclure que les intimés n'avaient pas compris que les surfaces exprimées s'entendaient brutes. En tout état de cause, cette appréciation des preuves ne saurait être ébranlée par l'inexistence - invoquée par la recourante - du motif d'induction en erreur allégué par les intimés, à savoir la mention de surfaces "habitables" dans les annonces immobilières parues. De même, le fait que les intimés aient soulevé le problème de la surface de l'ouvrage environ un an après la livraison, n'est pas de nature à démontrer qu'ils connaissaient la volonté réelle de la recourante à l'époque de la conclusion du contrat.
Il convient de préciser enfin que, une fois établie la volonté intime des maîtres de l'ouvrage, il ne se posait plus la question de la répartition du fardeau de la preuve et de ses conséquences, de sorte que le grief tiré d'une violation de l'<ref-law> est sans objet en l'espèce (cf. <ref-ruling> consid. 6.1 p. 202; <ref-ruling> consid. 4.3, 268 consid. 3 p. 282).
Faute d'avoir pu établir une volonté réelle concordante des parties, la cour cantonale pouvait se livrer à une interprétation objective, fondée sur le principe de la confiance, des déclarations des parties sur la surface de l'ouvrage (<ref-ruling> consid. 3.2 p. 138 s. et les arrêts cités).
4.
Sous l'angle de l'<ref-law>, la recourante s'en prend également à l'interprétation objective des volontés des parties telle qu'elle figure dans l'arrêt attaqué. Selon elle, les intimés pouvaient et devaient comprendre de bonne foi que les surfaces de 219,70 m2 et de 90,25 m2 inscrites dans le contrat incluaient l'épaisseur des murs intérieurs et extérieurs. A l'appui de sa thèse, la recourante invoque comme circonstances déterminantes l'expérience de la pratique que les intimés auraient eue en raison de leurs précédentes recherches immobilières, ainsi que la lecture attentive du descriptif de construction, dûment annoté par les futurs maîtres de l'ouvrage.
4.1. Par l'interprétation selon la théorie de la confiance, le juge recherche comment une manifestation de volonté pouvait être comprise de bonne foi en fonction de l'ensemble des circonstances (<ref-ruling> consid. 3.2 p. 138 s.; <ref-ruling> consid. 2.2.3 p. 35 s.; <ref-ruling> consid. 5.2 p. 302). Cette interprétation dite objective s'effectue non seulement d'après le texte et le contexte des déclarations, mais également sur le vu des circonstances qui les ont précédées et accompagnées (<ref-ruling> consid. 4.2.1; <ref-ruling> consid. 3a), à l'exclusion des circonstances postérieures (<ref-ruling> consid. 3.1).
4.2. En mettant en exergue la prétendue expérience des intimés et les annotations apportées par ceux-ci sur le descriptif de construction, la recourante a déjà cherché à démontrer, en fait, que ses partenaires contractuels avaient bien compris que les surfaces indiquées étaient brutes. Ces éléments n'ont pas leur place pour déterminer comment les intimés pouvaient comprendre de bonne foi les indications de surface fournies par la recourante.
A cet égard, la convention de réservation, le contrat d'entreprise et les plans de masse indiquent uniquement les surfaces, sans précision supplémentaire. En présence de la seule mention de la superficie des pièces ou de la villa, sans autre mensuration comme des cotes, les intimés pouvaient penser de bonne foi qu'il s'agissait de valeurs nettes, dès lors que leur intérêt était avant tout de connaître la surface dont ils disposeraient. Certes, le contrat renvoie au dossier de construction, qui comporte des plans indiquant des surfaces nettes. Cependant, la recourante n'a pas soumis ceux-ci aux intimés, se bornant à les tenir à leur disposition. Comme déjà relevé dans les arrêts précités concernant des voisins des intimés, ce mode de procéder fait ressortir l'attitude peu claire de la recourante, qui s'est abstenue de remettre aux intéressés des plans mentionnant des surfaces nettes, mais leur a fait signer les plans de masse qui, eux, indiquent la surface brute des pièces mais sans le préciser.
En ce qui concerne le descriptif de construction, également signé par les intimés, il comprend les m2 de carrelage et de parquet nécessaires pour différentes pièces. Comme la cour cantonale le fait observer à juste titre, ces mentions figurent de manière discrète et éparse, sous un chapitre relatif au "détail des équipements". Il ne pouvait dès lors être attendu des intimés qu'à la lecture du descriptif, ils comprennent que les surfaces indiquées dans le contrat et les plans de masse s'entendaient comme des surfaces brutes.
En conclusion, sur la base des documents contractuels et de l'attitude de la recourante, les intimés pouvaient comprendre de bonne foi que la maison à construire offrirait une surface nette de 309,95 m2 (219,70 m2 + 90,25 m2). La cour cantonale n'a pas violé les principes en matière d'interprétation des contrats en jugeant ainsi.
5.
5.1. Dans l'hypothèse où le défaut lié à la différence de surface serait confirmé, la recourante se plaint d'une violation de l'<ref-law>. Critiquant la méthode adoptée par les instances cantonales pour calculer la réduction de prix, elle opère son propre calcul et aboutit à un résultat de 32'997 fr.50.
5.2. Il convient d'observer d'emblée que le calcul de la recourante, dont il n'est pas aisé de comprendre la logique, se fonde sur deux éléments inexacts: premièrement, le prix de l'ouvrage fixé dans le contrat n'est pas de 825'900 fr., comme indiqué par inadvertance par la cour cantonale, mais de 852'900 fr., montant figurant du reste dans le jugement de première instance; en second lieu, la surface nette de la villa est de 249,05 m2, et non de 258,45 m2.
Cela étant, le Tribunal de première instance, suivi par la cour cantonale, a réduit le prix en proportion de la différence de surface constatée, selon le calcul suivant:
852'900 - {852'900 x (249,05/309,95)} = 167'580 fr.60
Cette méthode a été appliquée dans les deux affaires similaires déjà citées et confirmée par le Tribunal fédéral dans l'arrêt susmentionné du 21 mai 2012 (consid. 12.8, approuvé par FRANZ WERRO, in DC 2012 p. 219). Il n'y a pas lieu de la remettre en cause à présent, de sorte que le grief tiré d'une violation de l'<ref-law> ne peut être qu'écarté.
6.
Sur le vu de ce de qui précède, le recours doit être rejeté dans la mesure où il est recevable.
La recourante prendra à sa charge les frais judiciaires (<ref-law>) et versera des dépens aux intimés (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 5'500 fr., sont mis à la charge de la recourante.
3.
La recourante versera aux intimés, créanciers solidaires, une indemnité de 6'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 11 avril 2016
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann