diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 4838f4b54f04a19d33471bc6b3fe8f089645f445..89dcfc46b140c9a36702316a35f4f5899c10a1d3 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -275,7 +275,7 @@ globalThis.BeautyArray = function(slave) {
 				break;
 			case "straightening braces":
 			case "cosmetic braces":
-				if (slave.visualAge.isBetween(14, 18)) {
+				if (slave.visualAge.isBetween(14, 18) && arcology.FSMaturityPreferentialist === "unset") {
 					adjustBeauty("Teeth", (1));
 				}
 				break;
@@ -354,8 +354,26 @@ globalThis.BeautyArray = function(slave) {
 		if (slave.nails > 0) {
 			adjustBeauty("Nails", (1));
 		}
-		if (slave.makeup > 0) {
-			adjustBeauty("Makeup", (1));
+		if (slave.makeup === 0) {
+			if (arcology.FSBodyPurist !== "unset") {
+				if (slave.face > 10) {
+					adjustBeauty("Body Purist: Makeup-free beauty", 2);
+				} else {
+					adjustBeauty("Body Purist: Makeup-free honesty", 1);
+				}
+			}
+		} else {
+			if (arcology.FSDegradationist !== "unset" && slave.makeup > 1) {
+				adjustBeauty("Degradationist: Heavy makeup", 2);
+			} else if (arcology.FSBodyPurist !== "unset") {
+				if (slave.makeup > 1) {
+					adjustBeauty("Body Purist: Unsightly makeup", -1);
+				} else {
+					// no bonus or penalty for light makeup in Body Purist arcologies
+				}
+			} else {
+				adjustBeauty("Makeup", 1);
+			}
 		}
 		switch (slave.markings) {
 			case "beauty mark":