diff --git a/src/Mods/Catmod/events/nonRandom/projectNInitialized.js b/src/Mods/Catmod/events/nonRandom/projectNInitialized.js
index bd8bdf57e047ebf7e1506f12151eb79fc06e71b8..d790bf750ad0683ec26cd997f4caf5eb1c843e93 100644
--- a/src/Mods/Catmod/events/nonRandom/projectNInitialized.js
+++ b/src/Mods/Catmod/events/nonRandom/projectNInitialized.js
@@ -10,7 +10,7 @@ App.Events.SEProjectNInitialized = class SEProjectNInitialized extends App.Event
 		V.projectN.phase1 = App.Events.effectiveWeek();
 
 		App.Events.addParagraph(node, [`After giving the order to your personal assistant to begin preparations for your transhumanist genetic engineering project, you spend much of the next week getting in contact with the most renowned geneticists and biologists of the old world. Many of these gray-bearded intellectuals scoff as you initially explain your goal of making a 'catgirl', but change their tune almost immediately when you mention the paycheck attached. By the end of the week, you've acquired an impressive team of high-profile minds en route to the arcology, many of them already setting up workstations and tables full of imported chemicals within your laboratory.`]);
-		App.Events.addParagraph(node, [`The first few days within the lab are spent organizing the new staff's structure; under your supervision, they create a formal research team headed by the ancient Doctor Nieskowitz, dubbed "Project N" both for the research head and as a dry joke by the ever-sardonic science team for their cat focused intentions. As things begin to formalize into the process of initial research, you realize you've got a decision to make before you've even started the project itself - are you going to keep Project N a secret from the rest of your arcology, or immediately bring it out into the public eye?`]);
+		App.Events.addParagraph(node, [`The first few days within the lab are spent organizing the new staff's structure; under your supervision, they create a formal research team headed by the ancient Doctor Nieskowitz, dubbed "Project N" both for the research head and as a dry joke by the ever-sardonic science team for their cat-focused intentions. As things begin to formalize into the process of initial research, you realize you've got a decision to make before you've even started the project itself - are you going to keep Project N a secret from the rest of your arcology, or immediately bring it out into the public eye?`]);
 
 		const choices = [];
 		choices.push(new App.Events.Result(`Announce Project N to the public`, announce));
diff --git a/src/endWeek/economics/neighborsDevelopment.js b/src/endWeek/economics/neighborsDevelopment.js
index 822721e72c56a6d1c2d82580be34091ff2755d7e..bc3c6c994dd7f3d1b1bac02183f54d7741c97a0a 100644
--- a/src/endWeek/economics/neighborsDevelopment.js
+++ b/src/endWeek/economics/neighborsDevelopment.js
@@ -2143,11 +2143,11 @@ App.EndWeek.neighborsDevelopment = function() {
 					},
 					{
 						fs: "FSDegradationist",
-						msg: `The arcology's elite focused culture <span class="yellow">pushes it towards Degradationism,</span> since its lowest class deserves nothing but misery.`
+						msg: `The arcology's elite-focused culture <span class="yellow">pushes it towards Degradationism,</span> since its lowest class deserves nothing but misery.`
 					},
 					{
 						fs: "FSSlaveProfessionalism",
-						msg: `The arcology's elite focused culture <span class="yellow">pushes it towards Slave Professionalism,</span> since the highest class deserve nothing less than the best slaves.`
+						msg: `The arcology's elite-focused culture <span class="yellow">pushes it towards Slave Professionalism,</span> since the highest class deserve nothing less than the best slaves.`
 					},
 					{
 						fs: "FSHedonisticDecadence",
diff --git a/src/endWeek/player/prDiet.js b/src/endWeek/player/prDiet.js
index cb8a28486a133e8df797db241d776ad1168d7cbe..53761fec1a7519799e31c62d14561e63d9fd9d77 100644
--- a/src/endWeek/player/prDiet.js
+++ b/src/endWeek/player/prDiet.js
@@ -495,7 +495,7 @@ App.EndWeek.Player.diet = function(PC = V.PC) {
 				break;
 			case "cleansing": // chem reduce and health plus
 				if (!canSmell(PC) && !canTaste(PC)) {
-					r.push(`<span class="health inc">You feel spectacular</span> on this health focused diet, even if you find other people try to avoid you, and that your slaves hold their breath when in your presence.`);
+					r.push(`<span class="health inc">You feel spectacular</span> on this health-focused diet, even if you find other people try to avoid you, and that your slaves hold their breath when in your presence.`);
 				} else if (!canSmell(PC) || !canTaste(PC)) {
 					r.push(`Your specialized diet ${canTaste(PC) ? "tastes" : "smells"} awful, but leaves you <span class="health inc">feeling well</span> once you get over it.`);
 				} else {
diff --git a/src/events/nonRandom/pBadBreasts.js b/src/events/nonRandom/pBadBreasts.js
index 3431da85a7cc80c52c5044fdb14fd58d9a2e2e5a..f3c7db1924a1cc544d2379088a8d5c57e6d05204 100644
--- a/src/events/nonRandom/pBadBreasts.js
+++ b/src/events/nonRandom/pBadBreasts.js
@@ -31,7 +31,7 @@ App.Events.pBadBreasts = class pBadBreasts extends App.Events.BaseEvent {
 			}
 		});
 		let r = [];
-		r.push(`Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that ${slave.slaveName} woke up feeling terribly nauseous. ${He}'s in no danger, but you've hardly checked ${him} over before more slaves stagger in. Every one of your slaves on breast focused A-HGH has been struck by the mysterious malady and has <span class="health dec">sickened.</span>`);
+		r.push(`Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that ${slave.slaveName} woke up feeling terribly nauseous. ${He}'s in no danger, but you've hardly checked ${him} over before more slaves stagger in. Every one of your slaves on breast-focused A-HGH has been struck by the mysterious malady and has <span class="health dec">sickened.</span>`);
 		App.Events.addParagraph(node, r);
 		r = [];
 		r.push(`It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel much better, and appear positively glowing. However, their breasts swell slightly and their bellies bulge, pointing to the issue being the contamination of the A-HGH production line with fertility agents.`);
diff --git a/src/events/scheduled/sePlayerBirth.js b/src/events/scheduled/sePlayerBirth.js
index 2ab4b6afa016c7c5e67aa0e9616b0beb93442bee..27ef156774919844764ce3475fe913bad0c8b5f6 100644
--- a/src/events/scheduled/sePlayerBirth.js
+++ b/src/events/scheduled/sePlayerBirth.js
@@ -1127,7 +1127,7 @@ App.Events.SEPlayerBirth = class SEPlayerBirth extends App.Events.BaseEvent {
 
 		function breeding() {
 			V.breederOrphanageTotal += curBabies;
-			return `You have decided to send them to be raised into a proper breeder. Perhaps you'll even see them again, though it's unlikely you'll recognize them with their reproduction focused body.`;
+			return `You have decided to send them to be raised into a proper breeder. Perhaps you'll even see them again, though it's unlikely you'll recognize them with their reproduction-focused body.`;
 		}
 
 		function auction() {
diff --git a/src/facilities/bodyModification/bodyModification.js b/src/facilities/bodyModification/bodyModification.js
index 914d37a5023a2ba718485aeec5a89b83b1d617c4..b691a8d4dcfad48d2425eacc3c99ce72ce11bff2 100644
--- a/src/facilities/bodyModification/bodyModification.js
+++ b/src/facilities/bodyModification/bodyModification.js
@@ -566,11 +566,11 @@ App.UI.bodyModification = function(slave, cheat = false) {
 					}
 				}
 			} else if (slave.bellyPreg >= 450000) {
-				r.push(`${His} middle is large and taut enough to be a suitable canvas for a navel focused tattoo, but ${his} brood is too active to permit the needle to do its work.`);
+				r.push(`${His} middle is large and taut enough to be a suitable canvas for a navel-focused tattoo, but ${his} brood is too active to permit the needle to do its work.`);
 			} else if (slave.bellyFluid >= 10000) {
-				r.push(`${His} middle is large and taut enough to be a suitable canvas for a navel focused tattoo, but the pressure applied to ${his} stomach will likely force ${him} to release its contents.`);
+				r.push(`${His} middle is large and taut enough to be a suitable canvas for a navel-focused tattoo, but the pressure applied to ${his} stomach will likely force ${him} to release its contents.`);
 			} else {
-				r.push(`${His} middle isn't large enough to be a suitable canvas for a navel focused tattoo.`);
+				r.push(`${His} middle isn't large enough to be a suitable canvas for a navel-focused tattoo.`);
 			}
 			r.push(App.UI.DOM.generateLinksStrip(linkArray));
 			App.Events.addNode(frag, r, "div");
diff --git a/src/gui/Encyclopedia/encyclopediaFetish.js b/src/gui/Encyclopedia/encyclopediaFetish.js
index 436707dea43a38f62a8d2b7a5c65743e10a3348e..97bc4666601ed69f05a1dba7a0371d28296c861a 100644
--- a/src/gui/Encyclopedia/encyclopediaFetish.js
+++ b/src/gui/Encyclopedia/encyclopediaFetish.js
@@ -35,7 +35,7 @@ App.Encyclopedia.addArticle("Buttsluts", function() {
 	r.push("<span class='encyclopedia topic'>Buttsluts</span> fetishize anal sex — mostly on the receiving end, though they'll enjoy other anal play.");
 	r.toParagraph();
 
-	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, anally focused fucktoy service, service in a", App.Encyclopedia.Dialog.linkDOM("Dairy", "Dairy"), "upgraded with reciprocating dildos, the dildo drug dispenser upgrade, anal accessories, and being a painal queen.");
+	r.push("The fetish can be created by appropriate smart clit piercing settings, serving the Head Girl, relationships, anally-focused fucktoy service, service in a", App.Encyclopedia.Dialog.linkDOM("Dairy", "Dairy"), "upgraded with reciprocating dildos, the dildo drug dispenser upgrade, anal accessories, and being a painal queen.");
 	r.toParagraph();
 
 	r.push("It can be advanced by appropriate smart clit piercing settings, high");
diff --git a/src/js/porn.js b/src/js/porn.js
index 00e8db6235784f07a084778fdc0fb36c64cfd639..00c5b86472dd3a7adcf1743de9428b3b001f2a9c 100644
--- a/src/js/porn.js
+++ b/src/js/porn.js
@@ -238,7 +238,7 @@ App.Porn.Genre.boobs = {
 	prestigeDesc1: "Thousands have enjoyed the sight of $his breasts",
 	prestigeDesc2: "$His many fans relish the sight of $his breasts",
 	prestigeDesc3: "Millions are intimately familiar with $his breasts",
-	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for tits, ${getPronouns(slave).he} has a clear advantage when it comes to breast focused smut.`; },
+	hitText: function(slave) { return `With ${getPronouns(slave).his} fetish for tits, ${getPronouns(slave).he} has a clear advantage when it comes to breast-focused smut.`; },
 	trinketShotDesc: function(slave) { return `showing ${getPronouns(slave).his} bare chest`; },
 	valid: function(slave) { return slave.fetish === "boobs"; },
 	uiName: function() { return capFirstChar(this.focusName); }
diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js
index 17f1623facbdd379c77f6c68e9438e36258d9e7a..64e7c210f9eddab4f7214df0e873d3b391b04c7e 100644
--- a/src/npc/descriptions/belly/belly.js
+++ b/src/npc/descriptions/belly/belly.js
@@ -32,7 +32,7 @@ App.Desc.belly = function(slave, descType = DescType.NORMAL) {
 		if (slave.belly < 1500) {
 			if (slave.bellySagPreg > 1 || slave.bellySagPreg === -1) {
 				if (V.arcologies[0].FSRepopulationFocus !== "unset") {
-					r.push(`While most societies would find ${his} sagging, pregnancy ruined stomach unattractive, your repopulation focused one merely sees ${him} as a breeder between pregnancies.`);
+					r.push(`While most societies would find ${his} sagging, pregnancy ruined stomach unattractive, your repopulation-focused one merely sees ${him} as a breeder between pregnancies.`);
 				} else {
 					r.push(`Society finds ${his} pregnancy ruined stomach very unattractive.`);
 				}
@@ -76,32 +76,32 @@ App.Desc.belly = function(slave, descType = DescType.NORMAL) {
 				if (V.arcologies[0].FSRepopulationFocus !== "unset") {
 					if (slave.belly >= 1000000) {
 						if (isBellyFluidLargest) {
-							r.push(`Your breeding focused society finds ${his} unfathomable, hyper-swollen, ${slave.inflationType}-filled belly near the pinnacle of fashion despite ${his} inability to have children.`);
+							r.push(`Your breeding-focused society finds ${his} unfathomable, hyper-swollen, ${slave.inflationType}-filled belly near the pinnacle of fashion despite ${his} inability to have children.`);
 						} else if (slave.bellyImplant > 0) {
-							r.push(`Your breeding focused society finds ${his} unfathomable, hyper-swollen, implant-filled belly near the pinnacle of fashion despite ${his} inability to have children.`);
+							r.push(`Your breeding-focused society finds ${his} unfathomable, hyper-swollen, implant-filled belly near the pinnacle of fashion despite ${his} inability to have children.`);
 						} else {
-							r.push(`Your breeding focused society finds ${his} unfathomable, hyper-swollen pregnant belly the perfect realization of the fashionable ideal.`);
+							r.push(`Your breeding-focused society finds ${his} unfathomable, hyper-swollen pregnant belly the perfect realization of the fashionable ideal.`);
 						}
 					} else if (slave.belly >= 750000) {
 						if (isBellyFluidLargest) {
-							r.push(`Your breeding focused society finds ${his} monolithic ${slave.inflationType}-filled belly highly fashionable despite ${his} inability to have children.`);
+							r.push(`Your breeding-focused society finds ${his} monolithic ${slave.inflationType}-filled belly highly fashionable despite ${his} inability to have children.`);
 						} else if (slave.bellyImplant > 0) {
-							r.push(`Your breeding focused society finds ${his} monolithic implant-filled belly highly fashionable despite ${his} inability to have children.`);
+							r.push(`Your breeding-focused society finds ${his} monolithic implant-filled belly highly fashionable despite ${his} inability to have children.`);
 						} else {
-							r.push(`Your breeding focused society finds ${his} monolithic pregnant belly near to the perfect realization of the fashionable ideal.`);
+							r.push(`Your breeding-focused society finds ${his} monolithic pregnant belly near to the perfect realization of the fashionable ideal.`);
 						}
 					} else if (slave.bellyPreg >= 600000) {
-						r.push(`Your breeding focused society finds ${his} titanic bulging pregnant belly the epitome of fashion.`);
+						r.push(`Your breeding-focused society finds ${his} titanic bulging pregnant belly the epitome of fashion.`);
 					} else if (slave.bellyPreg >= 300000) {
-						r.push(`Your breeding focused society finds ${his} massive pregnant belly extremely fashionable.`);
+						r.push(`Your breeding-focused society finds ${his} massive pregnant belly extremely fashionable.`);
 					} else if (slave.bellyPreg >= 15000) {
-						r.push(`Your breeding focused society finds ${his} huge pregnant belly very fashionable.`);
+						r.push(`Your breeding-focused society finds ${his} huge pregnant belly very fashionable.`);
 					} else if (slave.bellyPreg >= 10000) {
-						r.push(`Your breeding focused society finds ${his} big pregnant belly very fashionable.`);
+						r.push(`Your breeding-focused society finds ${his} big pregnant belly very fashionable.`);
 					} else if (slave.bellyPreg >= 5000) {
-						r.push(`Your breeding focused society finds ${his} pregnant belly fashionable.`);
+						r.push(`Your breeding-focused society finds ${his} pregnant belly fashionable.`);
 					} else if (slave.bellyPreg >= 1500) {
-						r.push(`Your breeding focused society finds a developing pregnancy very fashionable.`);
+						r.push(`Your breeding-focused society finds a developing pregnancy very fashionable.`);
 					}
 				} else if (V.arcologies[0].FSRepopulationFocusPregPolicy === 1 && slave.bellyPreg >= 1500) {
 					r.push(`Thanks to your trendsetting policies, society finds ${his} pregnant belly fashionable.`);
diff --git a/src/npc/interaction/fFeelings.js b/src/npc/interaction/fFeelings.js
index f1430f55a87a3d1ca73de5ee778377986abf812e..311c56cd6fc8c77665daef0ba4c9d8fca04a93af 100644
--- a/src/npc/interaction/fFeelings.js
+++ b/src/npc/interaction/fFeelings.js
@@ -2098,7 +2098,7 @@ App.Interact.fFeelings = function(slave) {
 				}
 				if (V.arcologies[0].FSGenderFundamentalist >= 10) {
 					if (slave.intelligence+slave.intelligenceImplant > 50) {
-						text.push(`${Spoken(slave, `I shouldn't be surprised at how easy it is to reinforce traditional values in a new, slavery focused culture.`)}`);
+						text.push(`${Spoken(slave, `I shouldn't be surprised at how easy it is to reinforce traditional values in a new, slavery-focused culture.`)}`);
 					} else if (slave.attrKnown === 1 && slave.attrXX > 80) {
 						text.push(`${Spoken(slave, `I really like how you're encouraging slavery to focus on girls."`)} ${He} giggles. ${Spoken(slave, `"I like girls!`)}`);
 					} else if (slave.dick > 0) {