/* ============================================
   KLARA COUNSELLING - COMPLETE CSS
   ============================================ */

/* GOOGLE FONTS */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Raleway:wght@300;400;500;600&display=swap');

/* ============================================
   COLOURS & BASE
   ============================================ */

a { color: #2C3E35 !important; }
a:hover { color: #8FAF8C !important; text-decoration: underline !important; }
a, button, .wp-block-button__link { transition: all .3s ease !important; }

/* ============================================
   TYPOGRAPHY - SITEWIDE
   ============================================ */

body, p, li, input, textarea, button, span, div {
  font-family: 'Raleway', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  line-height: 1.9 !important;
  -webkit-font-smoothing: antialiased !important;
}

h1, h2, h3, h4,
.site-title, .site-title a,
.entry-title, .wp-block-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  color: #2C3E35 !important;
  letter-spacing: 1.5px !important;
  line-height: 1.4 !important;
}

h1 { font-size: 32px !important; line-height: 1.3 !important; }
h2 { font-size: 26px !important; line-height: 1.3 !important; }
h3 { font-size: 22px !important; }
h5, h6 {
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #8FAF8C !important;
  font-weight: 400 !important;
  margin-bottom: 4px !important;
}

/* Override WordPress custom fonts */
.wf-active body, .wf-active p, .wf-active div,
.wf-active span, .wf-active li, .wf-active a,
.wf-active button, .wf-active input, .wf-active textarea {
  font-family: 'Raleway', sans-serif !important;
}

.wf-active h1, .wf-active h2, .wf-active h3, .wf-active h4,
.wf-active .site-title, .wf-active .site-title a,
.wf-active .entry-title, .wf-active .wp-block-heading {
  font-family: 'Cormorant Garamond', serif !important;
}

/* ============================================
   SITE TITLE & TAGLINE
   ============================================ */

.site-title a { color: #2C3E35 !important; }
.site-title a:hover { color: #8FAF8C !important; }

.site-description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 4px !important;
  text-transform: none !important;
  color: #8FAF8C !important;
  font-weight: 300 !important;
}

/* ============================================
   BUTTONS
   ============================================ */

.wp-block-button__link {
  background-color: #8FAF8C !important;
  color: #ffffff !important;
  font-family: 'Raleway', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.wp-block-button__link:hover {
  background-color: #2C3E35 !important;
  color: #ffffff !important;
}

/* ============================================
   IMAGES
   ============================================ */

img { border-radius: 8px !important; }
img.emoji {
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  display: inline !important;
  border-radius: 0 !important;
}

/* ============================================
   BLOCKQUOTE
   ============================================ */

blockquote {
  border-left: 3px solid #8FAF8C !important;
  background: #F5F0E8 !important;
  padding: 20px 28px !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
}

/* ============================================
   FOOTER
   ============================================ */

.site-footer {
  background: #2C3E35 !important;
  color: #c5d4c8 !important;
  padding: 30px !important;
  text-align: center !important;
  letter-spacing: 1px !important;
}

.site-footer a { color: #8FAF8C !important; }

/* ============================================
   NAVIGATION MENU
   ============================================ */

.main-navigation a {
  font-family: 'Raleway', sans-serif !important;
  letter-spacing: 1,5px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

.main-navigation a:hover { color: #8FAF8C !important; }

/* Centre menu - desktop */
.header-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background-color: #F5F0E8 !important;
}

.menu-wrapper {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  background-color: #F5F0E8 !important;
}

#header-menu {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto !important;
  float: none !important;
  padding: 0 !important;
}

#header-menu li {
  float: none !important;
  display: inline-flex !important;
}

/* Dropdown menu */
.main-navigation ul ul,
.main-navigation ul ul li,
.main-navigation .sub-menu,
nav ul ul {
  background: #ffffff !important;
  border: .5px solid #e0d8cc !important;
}

.main-navigation ul ul a,
.main-navigation .sub-menu a,
nav ul ul a {
  color: #2C3E35 !important;
  background: #ffffff !important;
}

.main-navigation ul ul a:hover,
.main-navigation .sub-menu a:hover,
nav ul ul a:hover {
  color: #8FAF8C !important;
  background: #F5F0E8 !important;
}

/* ============================================
   HEADER BACKGROUND - ALL PAGES
   ============================================ */

.site-header,
#masthead,
.header-wrapper,
.menu-wrapper {
  background-color: #F5F0E8 !important;
}

/* ============================================
   BLOG
   ============================================ */

.site-main, .site-main article, .site-main .post,
.site-content, .content-area, body.blog, body.archive, body.home {
  background: #F5F0E8 !important;
}

article, article.post, .post-outer, .post-inner {
  background: #ffffff !important;
  margin-bottom: 20px !important;
  padding: 20px !important;
  border-radius: 8px !important;
}

.wp-block-group, .entry, .post, article,
.jetpack-blog-display article, .blog article, .home article,
.archive article, .infinite-wrap article, .site-main article {
  background-color: #F5F0E8 !important;
  color: #2C3E35 !important;
}

.site-main article {
  border: .5px solid #e0d8cc !important;
  border-radius: 8px !important;
}

.blog .site-main article,
.archive .site-main article,
.home.blog .site-main article {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 20px !important;
}

.nav-links a, .post-navigation a, .navigation a,
.nav-previous a, .nav-next a {
  color: #2C3E35 !important;
  background: #ffffff !important;
}

.nav-links a:hover, .post-navigation a:hover, .navigation a:hover {
  color: #8FAF8C !important;
  background: #F5F0E8 !important;
}

/* ============================================
   GENERAL PAGE LAYOUT
   ============================================ */

.entry-content > * { margin-bottom: 2rem !important; }
.entry-content { padding-top: 0 !important; margin-top: 0 !important; }
.entry-content > :first-child { margin-top: 0 !important; padding-top: 0 !important; }
.site-main { padding-top: 0 !important; margin-top: 0 !important; }
.post-content { padding-top: 0 !important; margin-top: 0 !important; }

/* Push all pages up under menu */
.page .entry-header { margin-top: -50px !important; padding-top: 0 !important; }
.page .entry-content { margin-top: -40px !important; padding-top: 0 !important; }

/* ============================================
   HOMEPAGE (page-id-8)
   ============================================ */

.page-id-8 .entry-header,
.page-id-8 .page-header,
.page-id-8 .entry-title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-id-8 .entry-content { margin-top: -80px !important; padding-top: 0 !important; }

.page-id-8 .wp-block-columns,
.page-id-8 .wp-block-paragraph,
.page-id-8 .wp-block-group {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.page-id-8 blockquote {
  border-left: none !important;
  background: transparent !important;
  padding-left: 0 !important;
}

/* ============================================
   CLIENT STORIES (page-id-741)
   ============================================ */

.page-id-741 h4 {
  font-weight: 300 !important;
  font-style: normal !important;
  font-size: 15px !important;
  color: #5a6b62 !important;
  letter-spacing: .5px !important;
  line-height: 1.7 !important;
}

.page-id-741 blockquote {
  border-left: none !important;
  background: transparent !important;
  padding-left: 0 !important;
}

.page-id-741 blockquote,
.page-id-741 p + p {
  border-bottom: 1px solid #e0d8cc !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
}

.page-id-741 .entry-content p {
  border-bottom: 1px solid #e0d8cc !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
}

.page-id-741 .entry-header { margin-top: -50px !important; padding-top: 0 !important; }
.page-id-741 .entry-content { margin-top: -40px !important; padding-top: 0 !important; }

/* Gallery centred */
.page-id-741 .entry-content .wp-block-image {
  display: inline-block !important;
  width: 32% !important;
  margin: 0.5% !important;
  vertical-align: top !important;
}

.page-id-741 .entry-content figure { margin: 0 !important; }

/* ============================================
   ABOUT PAGE (page-id-15)
   ============================================ */

body.page-id-15 .entry-content,
body.page-id-15 .site-main,
body.page-id-15 .site-content,
body.page-id-15 #content,
body.page-id-15 #primary,
body.page-id-15 .content-area {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.page-id-15 .entry-content p { margin-bottom: 20px !important; line-height: 1.9 !important; }
.page-id-15 .entry-content ul { margin-top: 15px !important; margin-bottom: 35px !important; }
.page-id-15 .entry-content li { margin-bottom: 10px !important; line-height: 1.9 !important; }

.page-id-15 .entry-content h2 {
  margin-top: 60px !important;
  margin-bottom: 20px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
  border-top: 0.5px solid #e0d8cc !important;
  padding-top: 40px !important;
}

.page-id-15 .entry-content h2:first-of-type {
  border-top: none !important;
  padding-top: 0 !important;
}

.page-id-15 .entry-content strong {
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  color: #2C3E35 !important;
  display: block !important;
  margin-top: 18px !important;
  margin-bottom: 6px !important;
}

.page-id-15 .entry-content ul li {
  border-left: 1px solid #8FAF8C !important;
  padding-left: 12px !important;
  margin-bottom: 8px !important;
}

.page-id-15 .entry-content figure {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

/* ============================================
   DESKTOP MENU
   ============================================ */

@media (min-width: 769px) {
  .main-navigation {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .main-navigation ul, #header-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
  }

  #header-menu li {
    display: inline-block !important;
    float: none !important;
  }

  .main-navigation ul li { position: relative !important; }

  .main-navigation ul ul, .main-navigation .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    display: none !important;
    min-width: 220px !important;
    background: #fff !important;
    z-index: 9999 !important;
  }

  .main-navigation li:hover > ul,
  .main-navigation li:focus-within > ul {
    display: block !important;
  }

  .main-navigation ul ul li {
    display: block !important;
    width: 100% !important;
  }
}

/* ============================================
   MOBILE (max-width: 768px)
   ============================================ */

@media (max-width: 768px) {

  /* Fonts */
  *, *::before, *::after { font-family: 'Raleway', sans-serif !important; }

  h1, h2, h3, h4, .site-title, .entry-title, .wp-block-heading {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
  }

  p, li, span, div, a { font-family: 'Raleway', sans-serif !important; font-weight: 300 !important; line-height: 1.8 !important; }

  blockquote, blockquote p { font-family: 'Cormorant Garamond', serif !important; font-size: 16px !important; }

  /* Menu */
  .menu-toggle {
    margin: 0 auto !important;
    display: block !important;
    float: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .main-navigation {
    text-align: center !important;
    display: block !important;
    visibility: visible !important;
  }

  .main-navigation .menu-kv-therapy-container {
    display: block !important;
    visibility: visible !important;
  }

  #header-menu { display: block !important; width: 100% !important; }
  #header-menu li { display: block !important; width: 100% !important; }

  .main-navigation ul { background: #ffffff !important; width: 100% !important; }
  .main-navigation ul li { display: block !important; width: 100% !important; border-bottom: 1px solid #e0d8cc !important; }
  .main-navigation ul a { color: #2C3E35 !important; padding: 12px 20px !important; display: block !important; }
  .main-navigation ul ul, .main-navigation .sub-menu {
    position: relative !important;
    width: 100% !important;
    background: #F5F0E8 !important;
    padding-left: 15px !important;
  }

  /* Homepage */
  .desktop-photo-only { display: none !important; }
  .mobile-photo-only { display: block !important; width: 100% !important; margin: 0 auto !important; }
  .book-call-button { display: none !important; }

  /* All pages spacing */
  .page:not(.page-id-8) .entry-header,
  .page:not(.page-id-8) .entry-title {
    margin-top: -20px !important;
    padding-top: 0 !important;
  }

  .page:not(.page-id-8) .entry-content { margin-top: 0 !important; }

  /* Client Stories mobile */
  .page-id-741 .entry-header,
  .page-id-741 .entry-title { margin-top: 10px !important; padding-top: 10px !important; }
}

/* ============================================
   DESKTOP ONLY
   ============================================ */

@media (min-width: 769px) {
  .mobile-photo-only { display: none !important; }
  .mobile-button-only { display: none !important; }
}
/* Thicker subheadings on all pages */
h2, h3 {
  font-weight: 500 !important;
}

/* Stronger navigation */
.main-navigation a {
  font-weight: 500 !important;
  color: #2C3E35 !important;
  letter-spacing: 1px !important;
}

/* Tagline - cleaner alignment */
.site-description {
  font-weight: 400 !important;
  letter-spacing: 5px !important;
  text-align: center !important;
}
.wp-block-post-title {
    margin-top: -15px !important;
}
/* === Lift all page titles slightly higher site-wide === */

/* Main page titles (most WordPress themes) */
h1.entry-title,
h1.page-title,
.entry-title,
.page-title {
    transform: translateY(-8px); /* adjust: -4px to -12px as needed */
}

/* Backup selector for themes using main content headers */
.site-main h1,
.site-content h1 {
    transform: translateY(-8px);
}

/* Optional: tighten spacing above titles */
h1.entry-title,
h1.page-title,
.site-main h1 {
    margin-top: 16px;
}
/* === Stronger upward lift for all page titles (no layout shift) === */

h1.entry-title,
h1.page-title,
.entry-title,
.page-title {
    transform: translateY(-22px); /* stronger lift */
}
/* === Premium therapy page spacing system === */

/* Section breathing space */
.entry-content p,
.page-content p {
    margin-bottom: 1.4em;
    line-height: 1.7;
}
/* Headings separation (creates hierarchy) */
.entry-content h2,
.entry-content h3 {
    margin-top: 2.2em;
    margin-bottom: 0.8em;
    letter-spacing: 0.3px;
}
/* Extra space between major blocks */
.entry-content h2 + p {
    margin-top: 0.6em;
}

/* Soft max width for luxury readability */
.entry-content {
    max-width: 820px;
}

/* Headings letter spacing */
.entry-content h1,
.entry-content h2,
.entry-content h3 {
    letter-spacing: 0.2px;
}
.entry-content p,
.page-content p {
    margin-bottom: 1.4em !important;
    line-height: 1.7 !important;
    font-size: 17px !important;
    font-weight: 300 !important;
}

.hero-details {
    max-width: 480px;
}
.wp-block-columns {
    display: flex !important;
    justify-content: center !important;
    gap: 40px;
    max-width: 1100px;
    margin: 0 auto !important;
}

.wp-block-column {
    flex: 1;
}
.wp-block-columns h1,
.wp-block-columns h2,
.wp-block-columns h3 {
    color: #2C3E35 !important;
}@media (max-width: 768px) {

  body, p, li, div, span {
    color: #2C3E35 !important;
  }

  .entry-content, .wp-block-group, .wp-block-columns {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  h1, h2, h3, h4 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

}
@media (max-width: 768px) {

  body, p, li, div, span {
    color: #2C3E35 !important;
  }

  .entry-content, .wp-block-group, .wp-block-columns {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  h1, h2, h3, h4 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  /* hides ONLY column images on mobile */
  .wp-block-columns img {
    display: none !important;
  }

}

.book-call-button {
  display: block !important;
}
/* ================================
   LUXURY TYPOGRAPHY REFINEMENT
   ================================ */

/* softer, more premium paragraph rhythm */
.entry-content p,
.page-content p {
  font-size: 18px !important;
  line-height: 1.85 !important;
  font-weight: 300 !important;
  letter-spacing: 0.2px !important;
  color: #2C3E35 !important;
  max-width: 70ch;
}

/* better heading hierarchy (less “blocky”) */
h1, h2, h3, h4 {
  letter-spacing: 0.4px !important;
  font-weight: 400 !important;
}

/* luxury spacing rhythm between sections */
.entry-content h2 {
  margin-top: 3rem !important;
  margin-bottom: 1rem !important;
}

.entry-content h3 {
  margin-top: 2rem !important;
  margin-bottom: 0.8rem !important;
}

/* removes “WordPress boxed feel” */
.entry-content {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* softer visual breathing */
.wp-block-group,
.wp-block-columns,
article {
  border: none !important;
  box-shadow: none !important;
}
/* ================================
   PREMIUM BUTTON UPGRADE
   ================================ */

.wp-block-button__link,
button,
input[type="submit"] {
  background-color: #2C3E35 !important;
  color: #F5F0E8 !important;
  border-radius: 0 !important;
  padding: 14px 26px !important;
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border: 1px solid #2C3E35 !important;
  transition: all 0.3s ease !important;
}

/* hover = subtle luxury inversion */
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
  background-color: transparent !important;
  color: #2C3E35 !important;
}
/* ================================
   LUXURY HEADER REFINEMENT
   ================================ */

/* cleaner, more premium header height */
.site-header,
.header-wrapper,
.menu-wrapper {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

/* menu becomes lighter, more spaced */
.main-navigation a {
  font-size: 11px !important;
  letter-spacing: 3px !important;
  font-weight: 300 !important;
  opacity: 0.85;
}

/* hover = subtle refinement, not colour jump */
.main-navigation a:hover {
  opacity: 1 !important;
  color: #2C3E35 !important;
}

/* remove “heavy block” feeling from header background */
.header-wrapper,
.menu-wrapper,
.site-header {
  background: #F5F0E8 !important;
  border-bottom: 1px solid rgba(44, 62, 53, 0.08) !important;
}

/* site title feels more luxury / spaced */
.site-title a {
  letter-spacing: 2px !important;
  font-weight: 400 !important;
}

/* tagline becomes more subtle (high-end clinics do this) */
.site-description {
  opacity: 0.7;
  font-size: 12px !important;
}
/* ================================
   LUXURY HOMEPAGE HERO CONTROL
   ================================ */

/* reduce “stacked WordPress feel” on homepage */
.page-id-8 .entry-content {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 10px !important;
}

/* tighter, more editorial spacing */
.page-id-8 .entry-content p {
  margin-bottom: 1.2rem !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
}

/* remove unnecessary vertical gaps at top */
.page-id-8 .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* hero text feels more premium and controlled */
.page-id-8 h1,
.page-id-8 h2 {
  letter-spacing: 1px !important;
  font-weight: 400 !important;
}

/* prevents “full width amateur look” */
.page-id-8 .wp-block-columns {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* subtle luxury breathing space */
.page-id-8 .wp-block-group {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
/* ================================
   LUXURY VISUAL + SECTION POLISH
   ================================ */

/* images feel more editorial (not blog-like) */
img {
  border-radius: 2px !important;
  filter: contrast(1.02) brightness(0.98);
}

/* remove “boxed block” feeling */
.wp-block-group,
.wp-block-columns,
article {
  box-shadow: none !important;
  border: none !important;
}

/* soft separation between sections instead of harsh boxes */
.entry-content > * {
  margin-bottom: 1.6rem !important;
}

/* make sections feel like magazine layout */
.entry-content p {
  max-width: 72ch;
}

/* nicer spacing for image blocks */
.wp-block-image {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

/* subtle luxury divider feel */
hr {
  border: none !important;
  height: 1px !important;
  background: rgba(44, 62, 53, 0.12) !important;
  margin: 40px 0 !important;
}

/* reduce “heavy page feel” */
body {
  background-color: #F5F0E8 !important;
}
/* ================================
   FINAL LUXURY CONSISTENCY LAYER
   ================================ */

/* global rhythm control (this is what luxury sites actually rely on) */
.entry-content {
  line-height: 1.9 !important;
  font-weight: 300 !important;
}

/* consistent section spacing everywhere */
.entry-content > * {
  margin-bottom: 1.4rem !important;
}

/* stronger hierarchy between headings and text */
.entry-content h1 {
  margin-bottom: 1rem !important;
}

.entry-content h2 {
  margin-top: 3rem !important;
  margin-bottom: 1rem !important;
}

.entry-content h3 {
  margin-top: 2rem !important;
  margin-bottom: 0.8rem !important;
}

/* removes leftover “WordPress gap randomness” */
.wp-block-group,
.wp-block-columns,
.wp-block-image,
article {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ensures clean centered reading experience */
.entry-content {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* makes everything feel more editorial */
p {
  letter-spacing: 0.2px !important;
}
/* ================================
   HARLEY STREET FINAL POLISH
   ================================ */

/* remove last traces of “webpage feel” */
body {
  background: #F5F0E8 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* make content feel like printed editorial */
.entry-content {
  font-size: 17.5px !important;
  color: #2C3E35 !important;
}

/* softer, premium headings */
h1, h2, h3 {
  font-weight: 400 !important;
  letter-spacing: 0.6px !important;
}

/* improve reading comfort (this is key luxury signal) */
.entry-content p {
  max-width: 70ch !important;
}

/* remove any leftover harsh edges */
img {
  border-radius: 3px !important;
}

/* subtle hover refinement for links (no bright colour shifts) */
a {
  text-decoration: none !important;
}

a:hover {
  opacity: 0.75 !important;
}

/* makes page feel less “boxed builder” */
.site-main,
.site-content {
  background: transparent !important;
}
.site-title,
.site-title a {
  font-size: 59px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  line-height: 1.3 !important;
}

.site-description {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 4px !important;
  opacity: 1 !important;
  line-height: 1.6 !important;
  color: #8FAF8C !important;
  font-family: 'Raleway', sans-serif !important;
}

/* Homepage subtitle positioning */
.page-id-8 .wp-block-heading {
    margin-top: 19px !important;
}

.book-call-button a,
.wp-block-button__link {
  background-color: #8FAF8C !important;
  color: #ffffff !important;
}
/* MY APPROACH page (ID 10) category headings */

.page-id-10 h3 {
    font-size: 22px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    margin-top: 30px !important;
    margin-bottom: 12px !important;
}

/* FINAL DESKTOP POLISH — page title spacing, content width, buttons */

/* 1. Consistent page title spacing */
.entry-header,
.page .entry-header {
  padding-top: 42px !important;
  padding-bottom: 24px !important;
  margin-bottom: 20px !important;
}

.entry-title,
.wp-block-post-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 2. Consistent content width across pages */
.entry-content,
.wp-block-post-content {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep wider gallery/images from becoming too huge */
.wp-block-gallery,
.wp-block-image,
.wp-block-columns {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Luxury Button Styling */

.wp-block-button__link,
.book-call-button a,
a.wp-block-button__link {
  background-color: #8FAF8C !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  padding: 4px 14px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  border: 1px solid #8FAF8C !important;
  box-shadow: none !important;
}

/* Button Hover */

.wp-block-button__link:hover,
.book-call-button a:hover,
a.wp-block-button__link:hover {
  background-color: #2C3E35 !important;
  border-color: #2C3E35 !important;
  color: #ffffff !important;
}

/* Button Spacing */

.wp-block-button {
  margin-top: 14px !important;
  margin-bottom: 14px !important;
}
/* Homepage button only */

.page-id-8 .book-call-button a {
    padding: 2px 18px !important;
    font-size: 10px !important;
}
/* Luxury spacing rhythm */

h2,
.wp-block-heading {
    margin-bottom: 18px !important;
}

p {
    margin-bottom: 1.35em !important;
}

.wp-block-group,
.wp-block-columns {
    margin-bottom: 42px !important;
}

.wp-block-image {
    margin-top: 20px !important;
    margin-bottom: 40px !important;
}

/* Leaner buttons */
.wp-block-button__link {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
/* Homepage button closer to photo */

.page-id-8 .book-call-button {
    margin-top: -19px !important;
}
/* Luxury image treatment */

.wp-block-image img {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.page-id-8 .wp-block-image img,
.page-id-10 .wp-block-image img,
.page-id-17 .wp-block-image img,
.page-id-741 .wp-block-image img {
  filter: saturate(92%) contrast(96%) brightness(102%) !important;
}
/* About page button refinement */

.page-id-15 .wp-block-button {
    margin-top: -10px !important;
}
/* MOBILE HEADER REFINEMENT */

@media (max-width: 768px) {
  .site-title,
  .site-title a {
    font-size: 42px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.5px !important;
  }

  .site-description {
    font-size: 13px !important;
    letter-spacing: 3px !important;
    margin-top: 8px !important;
  }

  .site-header,
  .header-wrapper,
  .menu-wrapper {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .menu-toggle {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
  }
}
@media (max-width: 768px) {
  .wp-block-button__link {
    letter-spacing: 0.08em !important;
  }
}
/* MOBILE SPACING REFINEMENT */

@media (max-width: 768px) {

  /* Less space above and below menu */
  .site-header {
    padding-bottom: 10px !important;
  }

  .menu-toggle {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }

  /* About / How I Work titles closer to content */
  .entry-title,
  .wp-block-post-title {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
  }

  /* Reduce oversized gaps between sections */
  h2,
  h3,
  .wp-block-heading {
    margin-bottom: 14px !important;
  }

  .wp-block-group,
  .wp-block-columns,
  .wp-block-image {
    margin-bottom: 24px !important;
  }

  p {
    margin-bottom: 1em !important;
  }
}
/* MOBILE PARAGRAPH SPACING */

@media (max-width: 768px) {

  p {
    margin-bottom: 0.65em !important;
  }

  .wp-block-paragraph {
    margin-bottom: 0.65em !important;
  }
/* MOBILE CONTENT COMPRESSION */

@media (max-width: 768px) {

  .entry-content > * {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }

}
/* MOBILE - reduce gap under page title */

@media (max-width: 768px) {
  .page:not(.page-id-8) .entry-content {
    margin-top: -43px !important;
  }
}
/* MOBILE - Qualifications and training polish */

@media (max-width: 768px) {

  /* Centre main section headings on About page */
  .page-id-15 h2 {
    text-align: center !important;
  }

  /* Remove mobile bullets from qualification list only */
  .page-id-15 ul li {
    list-style: none !important;
  }

  .page-id-15 ul {
    list-style: none !important;
    padding-left: 0 !important;
  }

  /* Keep the elegant vertical sage line */
  .page-id-15 .entry-content ul li {
    border-left: 1px solid #8FAF8C !important;
    padding-left: 14px !important;
    margin-left: 0 !important;
  }

  /* Specialist Training list spacing */
  .page-id-15 .entry-content li {
    margin-bottom: 12px !important;
    line-height: 1.65 !important;
  }
}	
/* MOBILE - reduce section gaps */

@media (max-width: 768px) {

  .page-id-15 h2,
  .page-id-15 h3,
  .page-id-15 .wp-block-heading {
    margin-top: 32px !important;
    margin-bottom: 16px !important;
  }

  .page-id-15 hr,
  .page-id-15 .wp-block-separator {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

}
/* MOBILE - About page gallery and button alignment */

@media (max-width: 768px) {

  /* Centre buttons on About page */
  .page-id-15 .wp-block-button {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page-id-15 .wp-block-button__link {
    display: inline-block !important;
  }
/* MOBILE - hide blog leftovers on Client Testimonials */

@media (max-width: 768px) {

  .page-id-741 .sharedaddy,
  .page-id-741 .sd-sharing,
  .page-id-741 .sd-like,
  .page-id-741 #respond,
  .page-id-741 .comments-area,
  .page-id-741 .comment-respond,
  .page-id-741 .reply,
  .page-id-741 .post-comments,
  .page-id-741 #comments {
    display: none !important;
  }

  .page-id-741 .site-main,
  .page-id-741 .entry-content,
  .page-id-741 article {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .page-id-741 .site-footer {
    margin-top: 20px !important;
  }
}
/* MOBILE - fix testimonial screenshot gallery display */

@media (max-width: 768px) {
  .page-id-741 .wp-block-gallery,
  .page-id-741 .wp-block-image,
  .page-id-741 figure {
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
  }

  .page-id-741 .wp-block-gallery img,
  .page-id-741 .wp-block-image img,
  .page-id-741 figure img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    object-fit: contain !important;
  }
/* MOBILE - Fees page polish */

@media (max-width: 768px) {

  /* Reduce top gap under Fees & Sessions title */
  .page-id-17 .entry-content {
    margin-top: -28px !important;
  }

  /* Make Fees page section headings more elegant */
  .page-id-17 h2,
  .page-id-17 h3,
  .page-id-17 .wp-block-heading {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #2C3E35 !important;
    text-align: left !important;
    margin-top: 34px !important;
    margin-bottom: 14px !important;
  }

  /* Centre Fees page buttons */
  .page-id-17 .wp-block-button,
  .page-id-17 .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .page-id-17 .wp-block-button__link {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* MOBILE - Fees top section refinement */

@media (max-width: 768px) {

  /* Lift first text closer to Fees & Sessions */
  .page-id-17 .entry-content {
    margin-top: -45px !important;
  }

  /* Make top bullet list cleaner on mobile */
  .page-id-17 .entry-content ul:first-of-type {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  .page-id-17 .entry-content ul:first-of-type li {
    list-style: none !important;
    margin-bottom: 18px !important;
    padding-left: 0 !important;
    line-height: 1.65 !important;
  }
}	
/* MOBILE - reduce gap under page title */

@media (max-width: 768px) {

  .page-id-17 .entry-header,
  .page-id-17 .entry-title,
  .page-id-17 .post-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .page-id-17 .entry-content {
    margin-top: -70px !important;
  }
@media (max-width: 768px) {

  .site-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

}
@media (max-width: 768px) {

  .menu-toggle {
    margin-top: 3px !important;
    margin-bottom: 3px !important;
  }

}	
@media (max-width: 768px) {

  .site-header {
    zoom: 0.90;
  }

}
/* REAL PHONE - site title two-line control */

@media (max-width: 430px) {
  .site-branding h1,
  .site-branding .site-title,
  .site-header h1,
  .site-title,
  .site-title a {
    font-size: 38px !important;
    line-height: 1.08 !important;
    letter-spacing: 0.3px !important;
  }
}	
/* Slimmer mobile MENU button */

button.menu-toggle {
    padding: 3px 12px !important;
    min-height: 0 !important;
    line-height: 1.1 !important;
    font-size: 12px !important;
    letter-spacing: 0.15em !important;
}	
/* Mobile - lift homepage content closer to menu */

@media (max-width: 768px) {
  .page-id-8 .entry-content {
    margin-top: -105px !important;
  }
}
/* Mobile - lift homepage content closer to menu */

@media (max-width: 768px) {
  .page-id-8 .entry-content {
    margin-top: -95px !important;
  }
/* Mobile - remove gap before homepage content */

@media (max-width: 768px) {
  .page-id-8 .site-main,
  .page-id-8 .content-area,
  .page-id-8 article,
  .page-id-8 .post-content,
  .page-id-8 .entry-content,
  .page-id-8 .entry-content > *:first-child {
margin-top: 0px !important;
    padding-top: 0 !important;
  }
}	
/* Mobile - homepage heading position only */

@media (max-width: 768px) {

  .page-id-8 h2 {
    margin-top: 25px !important;
  }
	
}
/* Luxury MENU button */

button.menu-toggle {
    background: transparent !important;
    border: 1px solid #8FAF8C !important;
    color: #2C3E35 !important;
    box-shadow: none !important;

    font-weight: 700 !important;
    font-size: 14px !important;
    min-width: 88px !important;

    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;

    padding: 3px 12px !important;
    line-height: 1.1 !important;
}

/* Hide hamburger icon */

button.menu-toggle:before,
button.menu-toggle .icon,
button.menu-toggle svg {
    display: none !important;
}
/* Mobile menu items stronger */

.main-navigation a,
.mobile-menu a,
.menu a {
    font-weight: 600 !important;
}
/* Klara name line */

.site-description {
    color: #2C3E35 !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}
/* Klara name line - force sage green everywhere */

body .site-header .site-description,
body .header-wrapper .site-description,
body .site-description,
body .site-description a {
    color: #7C9B7B !important;
    opacity: 1 !important;
}