diff --git a/layout.sty b/layout.sty
index a3759f34b64fb8e2b45fb8bd1585d21fceb27538..a55985a266816b7335449ab6aee16c3e8f709200 100644
--- a/layout.sty
+++ b/layout.sty
@@ -794,13 +794,12 @@ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
 \renewcommand*{\thesection}{\arabic{section}}
 
 \titleformat{\subsection}
-  {\needspace{12em}
-  \titleFont
-  \center
+  {\titleFont%
+  \Needspace*{4\baselineskip}%
   \LARGE}%
   {\thesubsection}%
   {1em}%
-  {#1}%
+  {\center#1}%
   [\textcolor{\pageSideColor}{\titlerule}]
 
 \titleformat{\subsubsection}[wrap]
@@ -822,6 +821,7 @@ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
 
 \newcommand\bigLine{%
   \textcolor{\pageSideColor}{\ifodd\value{page}\else\raisebox{-3pt}{\Large\hspace{0.1em}\flourish}\fi\hrulefill\ifodd\value{page}\raisebox{-3pt}{\Large\hspace{-0.1em}\flourish}\fi}%
+  \par%
 }
 
 %%%%% NPC Names
@@ -1132,7 +1132,7 @@ interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
   {%
     \par
     \nobreak\bigLine\par
-    \vspace{.7em}
+    \null
   }
 
 \newcommand\sideBySide[2]{
diff --git a/magic.sty b/magic.sty
index d8c2cf6ca35ceae01d66994d5285b9838293135b..08072b1c19df8754bd4b3b2cecf5e99cf64a9bbc 100644
--- a/magic.sty
+++ b/magic.sty
@@ -127,7 +127,6 @@
 }
 
 \newcommand\fullSpell{%
-  \Needspace{5\baselineskip}%
   \noindent%
   \begin{tabularx}{\linewidth}{m{.28\linewidth}X}
   \hiderowcolors
@@ -151,10 +150,12 @@
     }{}
   \\
   \end{tabularx}
+  \par%
+  \nobreak%
   \noindent%
   \spellSum.
   \spellNotes
-  \vspace{1em}
+  \vspace{\baselineskip}
 }
 
 \newcommand\shortSpell{%