Here is the entire updated CSS stylesheet with all the spacing, line heights, and padding optimizations carefully integrated.

You can copy this entire block and use it to completely replace your current WordPress custom CSS file:

```css
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800&family=Lato:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');

/* ========== BASE ========== */
html {
  font-size: 16px !important;
  zoom: 1 !important;
}

body {
  overflow-x: hidden !important;
}

.wp-site-blocks {
  color: #0d1b2a !important;
}

/* ========== HEADER / NAV ========== */
.site-header,
header,
.header-inner {
  border-bottom: 1px solid #e0e0e0 !important;
}

/* ========== BUTTONS ========== */
.wp-block-button__link {
  border-radius: 50px !important;
  border: none !important;
  font-size: 17px !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
}

/* ========== TESTIMONIALS / QUOTES ========== */
blockquote,
.wp-block-quote {
  border-left: 4px solid red !important;
  background-color: #ffffff !important;
  color: #0d1b2a !important;
  padding: 22px 28px !important;
  border-radius: 12px !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
}

blockquote p,
.wp-block-quote p,
blockquote li,
.wp-block-quote li,
blockquote strong,
.wp-block-quote strong {
  color: #0d1b2a !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
}

blockquote cite,
.wp-block-quote cite,
.wp-block-quote__citation {
  color: #FFD700 !important;
  font-style: normal !important;
  font-weight: 600;
  font-size: 16px !important;
}

/* ========== FORCE WHITE TEXT TO NAVY BLUE ========== */
.testimonial,
.testimonial p,
.testimonial li,
.testimonial strong,
.testimonials,
.testimonials p,
.testimonials li,
.testimonials strong,
.has-white-color,
.has-white-color p,
.has-white-color li,
.has-white-color strong {
  color: #0d1b2a !important;
}

/* ========== JETPACK INVERTED TEXT FIX ========== */
:root {
  --jetpack--contact-form--inverted-text-color: #0d1b2a;
}

/* ========== FOOTER ========== */
.site-footer,
footer,
#colophon,
#site-footer,
.maywood-footer,
.footer-widgets {
  border-top: 3px solid #e0e0e0 !important;
}

/* ========== FORM INPUTS ========== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  border-radius: 8px !important;
  font-size: 16px !important;
  padding: 12px 14px !important;
}

/* ========================================
   SERVICES PAGE ONLY (page-id-106)
   ======================================== */

/* --- Force navy on absolutely everything --- */
.page-id-106 *:not(.leadtime) {
  color: #113577 !important;
  font-family: 'Lato', sans-serif !important;
}

/* --- Headings override --- */
.page-id-106 h1,
.page-id-106 h2,
.page-id-106 h3,
.page-id-106 h4,
.page-id-106 h5,
.page-id-106 h6 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 800 !important;
  color: #113577 !important;
  line-height: 1.2 !important; /* Optimized to bring wrapped header lines closer */
}

/* --- Individual heading sizes --- */
.page-id-106 h1 {
  font-size: 52px !important;
}

.page-id-106 h2 {
  font-size: 40px !important;
  margin-bottom: 5px !important; /* Keeps sub-headings from pushing details down */
}

.page-id-106 h3 {
  font-size: 32px !important;
}

.page-id-106 h4 {
  font-size: 26px !important;
}

.page-id-106 h5 {
  font-size: 22px !important;
}

.page-id-106 h6 {
  font-size: 18px !important;
}

/* --- Page title (Optimized spacing) --- */
.page-id-106 .wp-block-post-title,
.page-id-106 h1.wp-block-post-title,
.page-id-106 .entry-title {
  background-color: transparent !important;
  color: #113577 !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 58px !important;
  font-weight: 800 !important;
  padding: 20px 0 0 0 !important; /* Zeroed out the massive bottom padding gap */
  margin-bottom: 5px !important; /* Tightened the container bottom bounds */
  text-align: center !important;
  line-height: 1.1 !important;
}

/* --- Bold text --- */
.page-id-106 strong,
.page-id-106 b {
  font-weight: 700 !important;
  color: #113577 !important;
}

/* --- Regular paragraphs --- */
.page-id-106 p {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #113577 !important;
  line-height: 1.9 !important;
}

/* --- Italic text --- */
.page-id-106 em,
.page-id-106 p em {
  font-style: italic !important;
  color: #113577 !important;
  font-size: 17px !important;
}

/* --- Links --- */
.page-id-106 a,
.page-id-106 a:visited,
.page-id-106 a:hover {
  color: #113577 !important;
  text-decoration: underline !important;
  text-decoration-color: #113577 !important;
}

/* --- All list items --- */
.page-id-106 ul li,
.page-id-106 ol li,
.page-id-106 .wp-block-list li {
  color: #113577 !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
}

/* --- Bullet markers --- */
.page-id-106 ul li::marker,
.page-id-106 ol li::marker {
  color: #113577 !important;
}

/* --- Extended leadtime exception — black --- */
.page-id-106 .leadtime,
.page-id-106 .leadtime * {
  color: #181818 !important;
}

/* --- Cover block background --- */
.page-id-106 .wp-block-cover {
  background-color: #0d1b3e !important;
}

/* --- Remove gap --- */
.page-id-106 .entry-content,
.page-id-106 .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* --- White card class (Optimized Top Spacing) --- */
.page-id-106 .white-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid rgba(17, 53, 119, 0.12) !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 18px 42px 48px 42px !important; /* Changed top padding from 48px to 18px to pull content up */
}

/* --- Dark section class --- */
.page-id-106 .dark-section {
  background-color: #0d1b3e !important;
  padding: 60px 36px !important;
}

/* ========== MOBILE RESPONSIVE ========== */
@media (max-width: 768px) {

  .page-id-106 h1,
  .page-id-106 .entry-title,
  .page-id-106 .wp-block-post-title {
    font-size: 40px !important;
  }

  .page-id-106 h2 {
    font-size: 32px !important;
  }

  .page-id-106 h3 {
    font-size: 26px !important;
  }

  .page-id-106 p,
  .page-id-106 li {
    font-size: 17px !important;
    line-height: 1.85 !important;
  }

  .page-id-106 .white-card {
    padding: 12px 24px 32px 24px !important; /* Reduced top layout gaps on mobile devices */
  }

  .dark-section {
    padding: 44px 20px !important;
  }
}

/* ========== TRUSTPILOT WIDGET ========== */
.tp-heading,
.page-id-106 .tp-heading,
.page-id-106 p.tp-heading,
body .tp-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  color: #113577 !important;
  -webkit-text-fill-color: #113577 !important;
}

```