/* Give the Contact menu item its existing structural spacing */
.fl-page-nav .navbar-nav > li.contact-button {
  padding: 10px;
}


/* Adjust the position for the fixed navigation menu */
.fl-page-header-fixed .fl-page-nav .navbar-nav > li.contact-button > a {
  position: relative;
  bottom: 6px;
}


/* Align Contact button with the ordinary desktop navigation links.
   Fixed-header state returns to its existing bottom: 6px adjustment. */
@media (min-width: 992px) {
  .fl-page-nav .navbar-nav > li.contact-button > a {
    position: relative;
    top: -5px;
  }

  .fl-page-header-fixed .fl-page-nav .navbar-nav > li.contact-button > a {
    top: auto;
    bottom: 6px;
  }
}


/* ==========================================================================
   DESKTOP HEADER - navigation links and Contact button (992px and up)
   Replaces the obsolete Contact visuals. The alignment corrections above are
   preserved. Selectors are specific enough to out-rank WP Dark Mode's link
   rules and the theme's focus outline.

   Every colour has an oklch() twin because WP Dark Mode rewrites hex values
   in its runtime copy of this stylesheet.

   Focus indicators are preserved and recoloured from amber to cyan.
   ========================================================================== */

@media (min-width: 992px) {

  /* Ordinary navigation links - rest */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a {
    color: #f4f7fb !important;
    color: oklch(97.50% 0.0062 255.5) !important;
    filter: none !important;
  }


  /* Current page / current section - accent plus a 1px bottom indicator */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-ancestor:not(.contact-button) > a,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-parent:not(.contact-button) > a {
    color: #3ea1b6 !important;
    color: oklch(66.00% 0.0953 214.3) !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a::after,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-ancestor:not(.contact-button) > a::after,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-parent:not(.contact-button) > a::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 9px;
    height: 1px;
    background-color: #3ea1b6;
    background-color: oklch(66.00% 0.0953 214.3);
  }


  /* Ordinary navigation links - hover and focus.
     :focus is included so the cyan focus box may remain after a mouse click. */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:hover,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus-visible {
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    filter: none !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: -3px;
  }


  /* Contact button - rest.
     Border changes from 2px to 1px, so padding changes from 8px 20px
     to 9px 21px to preserve the existing external dimensions. */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
    padding: 9px 21px !important;
    box-sizing: border-box;
    background-color: transparent;
    background-image: none;
    border: 1px solid #3ea1b6;
    border-color: oklch(66.00% 0.0953 214.3);
    border-radius: 8px;
    box-shadow: none;
    color: #f4f7fb !important;
    color: oklch(97.50% 0.0062 255.5) !important;
    filter: none !important;
  }


  /* Contact button - hover, press and focus.
     Focus retains a visible 2px cyan outline. */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:hover,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:active,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus-visible {
    background-color: transparent;
    border-color: #0ff1ff;
    border-color: oklch(87.30% 0.1474 202.4);
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    filter: none !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: 2px;
  }


  /* Logo link - focus */
  html body header.fl-page-header .fl-page-header-logo a:focus,
  html body header.fl-page-header .fl-page-header-logo a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: 2px;
  }


  /* Dropdown submenu links - focus */
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: -3px;
  }


  /* Dropdown panel top line: structural teal, 1px.
     Replaces the old 3px line that WP Dark Mode displayed as mint.
     Background, shadow, spacing and hover behaviour are unchanged. */
  html body header.fl-page-header .fl-page-nav ul.sub-menu {
    border-top: 1px solid #3ea1b6;
    border-top-color: oklch(66.00% 0.0953 214.3);
  }
}


/* ==========================================================================
   MOBILE / TABLET HEADER (below 992px). Desktop (992px and up) is untouched.
   Same specificity pattern as the desktop block, so these out-rank WP Dark Mode's
   important link rules; every colour has an oklch() twin.
   ========================================================================== */

@media (max-width: 991px) {

  /* Logo: same size as desktop (325px), never larger; still shrinks on narrow phones */
  html body header.fl-page-header .fl-page-header-logo img.fl-logo-img {
    max-width: min(325px, 100%);
    height: auto;
  }

  html body header.fl-page-header .fl-page-header-logo a:focus,
  html body header.fl-page-header .fl-page-header-logo a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: 2px;
  }


  /* Menu button: 44 x 44 hit area, icon aligned to the logo */
  html body header.fl-page-header .fl-page-nav .navbar-toggle {
    top: 55px !important;
    right: 15.6px !important;
    width: 44px;
    height: 44px;
    min-width: 44px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f4f7fb;
    color: oklch(97.50% 0.0062 255.5);
  }

  @media (min-width: 420px) {
    html body header.fl-page-header .fl-page-nav .navbar-toggle {
      top: 59px !important;
    }
  }

  html body header.fl-page-header .fl-page-nav .navbar-toggle i {
    color: inherit;
  }

  html body header.fl-page-header .fl-page-nav .navbar-toggle:focus,
  html body header.fl-page-header .fl-page-nav .navbar-toggle:focus-visible {
    color: #0ff1ff;
    color: oklch(87.30% 0.1474 202.4);
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: 2px;
  }


  /* Menu links: rest, hover and focus */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a,
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a {
    color: #f4f7fb !important;
    color: oklch(97.50% 0.0062 255.5) !important;
    filter: none !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus-visible,
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:focus-visible {
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: -3px;
  }

  @media (hover: hover) {
    html body header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:hover,
    html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:hover {
      color: #0ff1ff !important;
      color: oklch(87.30% 0.1474 202.4) !important;
      filter: none !important;
    }
  }


  /* Current page / section:
     top level gets structural teal plus a 2px left indicator.
     A current submenu child gets teal text only.
     Interaction states remain cyan. */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a:not(:hover):not(:focus):not(:focus-visible),
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-ancestor:not(.contact-button) > a:not(:hover):not(:focus):not(:focus-visible),
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-parent:not(.contact-button) > a:not(:hover):not(:focus):not(:focus-visible),
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu > li.current-menu-item > a:not(:hover):not(:focus):not(:focus-visible) {
    color: #3ea1b6 !important;
    color: oklch(66.00% 0.0953 214.3) !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a::before,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-ancestor:not(.contact-button) > a::before,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-parent:not(.contact-button) > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background-color: #3ea1b6;
    background-color: oklch(66.00% 0.0953 214.3);
  }


  /* Top-level menu separators:
     structural teal at 50 percent instead of the old theme blue */
  html body header.fl-page-header .fl-page-nav .fl-page-nav-collapse {
    border-top: 1px solid rgba(62,161,182,.5);
    border-top-color: oklch(66.00% 0.0953 214.3 / .5);
  }

  html body header.fl-page-header .fl-page-nav .fl-page-nav-collapse ul.navbar-nav > li {
    border-bottom: 1px solid rgba(62,161,182,.5);
    border-bottom-color: oklch(66.00% 0.0953 214.3 / .5);
  }


  /* Sub-menu hierarchy:
     indented, full-strength structural teal guide and separators */
  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu {
    margin-left: 15px;
    border-left: 1px solid #3ea1b6;
    border-left-color: oklch(66.00% 0.0953 214.3);
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu > li {
    border-top: 1px solid #3ea1b6;
    border-top-color: oklch(66.00% 0.0953 214.3);
  }


  /* Keyboard access to submenus without JavaScript:
     closed submenus are hidden from sight and tab order.
     Focus on the parent row opens the submenu in flow. */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.menu-item-has-children:not(.fl-mobile-sub-menu-open):not(:focus-within) > .sub-menu {
    visibility: hidden;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.menu-item-has-children:not(.fl-mobile-sub-menu-open):focus-within > .sub-menu {
    position: static;
  }


  /* Contact:
     8px radius, transparent background, 1px teal border, minimum touch height */
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
    padding: 12px 21px !important;
    box-sizing: border-box;
    background-color: transparent;
    background-image: none;
    border: 1px solid #3ea1b6;
    border-color: oklch(66.00% 0.0953 214.3);
    border-radius: 8px;
    box-shadow: none;
    color: #f4f7fb !important;
    color: oklch(97.50% 0.0062 255.5) !important;
    filter: none !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:active,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus-visible {
    background-color: transparent;
    border-color: #0ff1ff;
    border-color: oklch(87.30% 0.1474 202.4);
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    filter: none !important;
  }

  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus,
  html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus-visible {
    outline: 2px solid #0ff1ff;
    outline: 2px solid oklch(87.30% 0.1474 202.4);
    outline-offset: 2px;
  }

  @media (hover: hover) {
    html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:hover {
      background-color: transparent;
      border-color: #0ff1ff;
      border-color: oklch(87.30% 0.1474 202.4);
      color: #0ff1ff !important;
      color: oklch(87.30% 0.1474 202.4) !important;
      filter: none !important;
    }
  }


  /* Tablet: Contact is auto width instead of stretching across the whole menu */
  @media (min-width: 576px) {
    html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button {
      text-align: left;
    }

    html body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
      display: inline-block;
    }
  }
}


.single-post h1 .fl-heading-text {
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* ===== Pattern Shift TEMPORARY COLOR PROOF v7 - START (Customizer preview only) =====
   Delete everything from this START line to the END line to remove it.
   Primarily home page, dark mode only. The shared footer link correction near the
   end of this block is intentionally sitewide.

   If proof block v1 to v6 is still in Additional CSS, delete it:
   this replaces it.

   WP Dark Mode stays on. Colors are written as a hex fallback plus an oklch() value
   because the plugin rewrites hex/rgb/hsl but leaves oklch() alone.
     canvas #02050E   surface #07122A   gradient highlight rgb(40,140,196)
     blue #3EA1B6     hover blue #0FF1FF   (every #0FF1FF hover also sets filter: none,
     which switches off the plugin's brightness(1.2) for that element only)
     text #F4F7FB   text 2 #CBD6E3   muted #95A8BC

   Outlines: each 1px outline is drawn with outline + outline-offset: -1px over the
   element's existing (now transparent) border, so every box keeps its exact current
   size and position at every screen width (except the six service outer cards, which
   now use a real 1px border). No purple, mint or teal is used anywhere in the
   homepage proof portion of this block. Logo artwork and the STEP icon images
   are not touched. */


/* --- Page canvas: page and home rows in this test --- */

html[data-wp-dark-mode-active]:has(> body.home),
html[data-wp-dark-mode-active] body.home,
html[data-wp-dark-mode-active] body.home .fl-page,
html[data-wp-dark-mode-active] body.home .fl-page-content {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-nsgaxc35w8fz,
  .fl-node-xgysdjwihqbo,
  .fl-node-smlw8nf9451i,
  .fl-node-gfnc1bmx25dz,
  .fl-node-9s0bpm7ntdar
) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}


/* Footer rows (shared footer layout 340), home page only:
   footer body i49y3qt20hls, copyright bar z0aif3su19ln */

html[data-wp-dark-mode-active] body.home .fl-builder-content-340 :is(
  .fl-node-i49y3qt20hls,
  .fl-node-z0aif3su19ln
) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-7vlwstdnchge,
  .fl-node-e7bnywf21tjc
) > .fl-col-content {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}


/* --- Headings: primary text --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 h2:is(
  .fl-node-2531ypna4gom,
  .fl-node-tb7zl0uedsap,
  .fl-node-850akqh6olfm
),
html[data-wp-dark-mode-active] .fl-builder-content-84 h2:is(
  .fl-node-2531ypna4gom,
  .fl-node-tb7zl0uedsap,
  .fl-node-850akqh6olfm
) .fl-heading-text,
html[data-wp-dark-mode-active] .fl-builder-content-84 h3:is(
  .fl-node-1dhtjzc8apib,
  .fl-node-n7m3bol165eq,
  .fl-node-3amo2jz0v516,
  .fl-node-u34r7xfd2hi0,
  .fl-node-3l8vm9dyn5qe,
  .fl-node-7porgc8zwi5v
),
html[data-wp-dark-mode-active] .fl-builder-content-84 h3:is(
  .fl-node-1dhtjzc8apib,
  .fl-node-n7m3bol165eq,
  .fl-node-3amo2jz0v516,
  .fl-node-u34r7xfd2hi0,
  .fl-node-3l8vm9dyn5qe,
  .fl-node-7porgc8zwi5v
) .fl-heading-text {
  color: #f4f7fb !important;
  color: oklch(97.50% 0.0062 255.5) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 h3.fl-node-l9u81p74zsid,
html[data-wp-dark-mode-active] .fl-builder-content-84 h3.fl-node-l9u81p74zsid .fl-heading-text,
html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-l9u81p74zsid.fl-module-heading {
  color: #cbd6e3 !important;
  color: oklch(87.16% 0.0216 252.5) !important;
  text-shadow: none !important;
}


/* --- Body copy: secondary text; emphasis: primary;
       links: structural blue, hover blue --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text p,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text li,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text span {
  color: #cbd6e3 !important;
  color: oklch(87.16% 0.0216 252.5) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text strong,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text b,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text span[style*="color"] {
  color: #f4f7fb !important;
  color: oklch(97.50% 0.0062 255.5) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text a,
html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-2bzkaor35j89,
  .fl-node-2g7opcwix69s,
  .fl-node-8lfh649ny23v,
  .fl-node-dokfl2har4w3,
  .fl-node-aum5d46f3e17,
  .fl-node-rtkpui43v0mq,
  .fl-node-y4codg2vwfmn
).fl-module-rich-text a * {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}


@media (hover: hover) {
  html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
    .fl-node-2bzkaor35j89,
    .fl-node-2g7opcwix69s,
    .fl-node-8lfh649ny23v,
    .fl-node-dokfl2har4w3,
    .fl-node-aum5d46f3e17,
    .fl-node-rtkpui43v0mq,
    .fl-node-y4codg2vwfmn
  ).fl-module-rich-text a:hover,
  html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
    .fl-node-2bzkaor35j89,
    .fl-node-2g7opcwix69s,
    .fl-node-8lfh649ny23v,
    .fl-node-dokfl2har4w3,
    .fl-node-aum5d46f3e17,
    .fl-node-rtkpui43v0mq,
    .fl-node-y4codg2vwfmn
  ).fl-module-rich-text a:hover * {
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    filter: none !important;
  }
}


/* --- Slider (Seeker's Exhaustion etc.): surface, highlight, text, pager --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-viewport {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image:
    radial-gradient(
      ellipse 75% 115% at 92% 0%,
      rgba(40,140,196,.45),
      rgba(40,140,196,0) 68%
    ) !important;
  background-image:
    radial-gradient(
      ellipse 75% 115% at 92% 0%,
      oklch(61.00% 0.1224 238.8 / .45),
      oklch(61.00% 0.1224 238.8 / 0) 68%
    ) !important;
  box-shadow: none !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide,
html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide .fl-slide-content {
  background-color: transparent !important;
  background-image: none !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide .fl-slide-title {
  color: #f4f7fb !important;
  color: oklch(97.50% 0.0062 255.5) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide .fl-slide-text,
html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide .fl-slide-text * {
  color: #cbd6e3 !important;
  color: oklch(87.16% 0.0216 252.5) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .fl-slide .fl-slide-text hr {
  border-color: rgba(62,161,182,.35) !important;
  border-color: oklch(66.00% 0.0953 214.3 / .35) !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-wrapper .bx-pager.bx-default-pager a {
  background-color: #95a8bc !important;
  background-color: oklch(72.35% 0.0361 249.7) !important;
  box-shadow: none !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-wrapper .bx-pager.bx-default-pager a:hover,
html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-wrapper .bx-pager.bx-default-pager a.active {
  background-color: #3ea1b6 !important;
  background-color: oklch(66.00% 0.0953 214.3) !important;
}


/* --- Clinical Support panel: surface + 1px #3EA1B6 outline --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-jxtwse58hl1i > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  border-color: transparent !important;
  outline-style: solid !important;
  outline-width: 1px !important;
  outline-offset: -1px !important;
  outline-color: #3ea1b6 !important;
  outline-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}


/* --- Service cards: outer photo card and inner text card --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-0afkz5mv13bu,
  .fl-node-5iylu4gq72m8,
  .fl-node-wx5yq0lsr1ok,
  .fl-node-mbzk6w9y2i3q,
  .fl-node-oqcy0pd87tw3,
  .fl-node-qsluz2k36vti
) > .fl-col-content {
  border-style: solid !important;
  border-width: 1px !important;
  border-color: #3ea1b6 !important;
  border-color: oklch(66.00% 0.0953 214.3) !important;
  outline: none !important;
  padding: 3px !important;
  box-shadow: none !important;
}


html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-0u5oti87fc4h,
  .fl-node-y9ns5cv12de3,
  .fl-node-h0ynxbmlf9j3,
  .fl-node-ml4eztp7jgn3,
  .fl-node-xjym4lq9pu2f,
  .fl-node-rvt1ncq6m7hy
) {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  border-color: transparent !important;
  outline-style: solid !important;
  outline-width: 1px !important;
  outline-offset: -1px !important;
  outline-color: #3ea1b6 !important;
  outline-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}


/* --- Getting Started step cards --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 :is(
  .fl-node-gue3aix94bw8,
  .fl-node-iv32hm79wlra,
  .fl-node-r8zpe5376iaq
) > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  border-color: transparent !important;
  outline-style: solid !important;
  outline-width: 1px !important;
  outline-offset: -1px !important;
  outline-color: #3ea1b6 !important;
  outline-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}


/* --- Large lower CTA panel --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-yz390gku5d4q > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  border-color: transparent !important;
  outline-style: solid !important;
  outline-width: 1px !important;
  outline-offset: -1px !important;
  outline-color: #3ea1b6 !important;
  outline-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}


/* --- Jason's photo and More About Me buttons lose their shadow --- */

html[data-wp-dark-mode-active] .fl-builder-content-84 .fl-node-lobx0ic9q31s .fl-photo-img,
html[data-wp-dark-mode-active] .fl-builder-content-84 .psc-home-about-buttons a.fl-button {
  box-shadow: none !important;
}


/* --- Shared footer links: all pages, dark mode --- */

html[data-wp-dark-mode-active] body
.fl-builder-content.fl-builder-content-340
:is(.fl-module-rich-text, .fl-icon-text) a {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}


@media (hover: hover) {
  html[data-wp-dark-mode-active] body
  .fl-builder-content.fl-builder-content-340
  :is(.fl-module-rich-text, .fl-icon-text) a:hover {
    color: #0ff1ff !important;
    color: oklch(87.30% 0.1474 202.4) !important;
    filter: none !important;
  }
}


html[data-wp-dark-mode-active] body
.fl-builder-content.fl-builder-content-340
:is(.fl-module-rich-text, .fl-icon-text) a:focus-visible {
  color: #0ff1ff !important;
  color: oklch(87.30% 0.1474 202.4) !important;
  filter: none !important;
  outline: 1px solid #0ff1ff;
  outline: 1px solid oklch(87.30% 0.1474 202.4);
  outline-offset: 2px;
}


/* ===== Pattern Shift TEMPORARY COLOR PROOF v7 - END ===== */


/* ===== Pattern Shift TEMPORARY RADIUS PROOF (8px) - START =====
   Separate from the color proof above: delete from this START line to its END line
   to remove only the radius change. Border-radius only.

   Every selector starts with .fl-builder-content-84
   and a Beaver Builder node ID that exists only on the home page.

   The header Contact button and the bottom image are not included. */


/* Buttons */

.fl-builder-content-84 :is(
  .fl-node-5l0yizqxgrjs,
  .fl-node-qoang2zwdf57,
  .fl-node-n2rgvxqdku76,
  .psc-home-clinical-buttons,
  .psc-home-about-buttons
) a.fl-button {
  border-radius: 8px !important;
}


/* Slider frame and column behind it */

.fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-viewport {
  border-radius: 8px !important;
  overflow: hidden !important;
}


.fl-builder-content-84 .fl-node-7vlwstdnchge > .fl-col-content {
  border-radius: 8px !important;
}


/* Clinical panel, service cards, inner boxes, Jason photo,
   step cards and lower CTA panel */

.fl-builder-content-84 .fl-node-jxtwse58hl1i > .fl-col-content,
.fl-builder-content-84 :is(
  .fl-node-0afkz5mv13bu,
  .fl-node-5iylu4gq72m8,
  .fl-node-wx5yq0lsr1ok,
  .fl-node-mbzk6w9y2i3q,
  .fl-node-oqcy0pd87tw3,
  .fl-node-qsluz2k36vti
) > .fl-col-content,
.fl-builder-content-84 :is(
  .fl-node-0u5oti87fc4h,
  .fl-node-y9ns5cv12de3,
  .fl-node-h0ynxbmlf9j3,
  .fl-node-ml4eztp7jgn3,
  .fl-node-xjym4lq9pu2f,
  .fl-node-rvt1ncq6m7hy
),
.fl-builder-content-84 .fl-node-lobx0ic9q31s .fl-photo-img,
.fl-builder-content-84 :is(
  .fl-node-gue3aix94bw8,
  .fl-node-iv32hm79wlra,
  .fl-node-r8zpe5376iaq
) > .fl-col-content,
.fl-builder-content-84 .fl-node-yz390gku5d4q > .fl-col-content {
  border-radius: 8px !important;
}


/* ===== Pattern Shift TEMPORARY RADIUS PROOF (8px) - END ===== */


/* ===== D DIN display font (typography migration) - START ===== */

@font-face {
  font-family: "D DIN";
  src: url("/wp-content/uploads/fonts/D-DIN.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-synthesis-weight: none;
}

/* ===== D DIN display font (typography migration) - END ===== */


/* ==========================================================================
   EVERYTHING ABOVE THIS LINE IS UNCHANGED FROM THE CURRENT LIVE ADDITIONAL CSS.
   EVERYTHING BELOW THIS LINE IS NEW - the Anxiety Therapy service-page pilot.
   ========================================================================== */


/* ==========================================================================


/* ==========================================================================
   SERVICE PAGE SHARED COMPONENTS  (v3: Anxiety + ADHD; prepared 2026-09-23)
   Scope: body.parent-pageid-132 = published child pages of /services/ only.
   This section does not touch the header, footer, homepage or fonts above it.

   REPLACES the previous "pilot: Anxiety Therapy only" section entirely.
   Two architecture changes from that version, both requested so this scales
   to the remaining service pages without page-specific CSS:

   1. The purple accent panel used to be selected by Anxiety's own Beaver
      Builder node ID (.fl-node-3w67pb9uxhk8). It is now selected by a
      semantic class, .psc-card-accent, added as a SECOND class alongside
      .psc-card on whichever one panel per page holds the purple icon set.
      No node IDs anywhere in this file any more.

   2. Every consultation button (hero, mid-page, and the closing panel) now
      shares one class, .psc-btn, instead of a closing-panel-only
      .psc-cta-btn. Apply .psc-btn to all three button modules on a page.

   Classes to assign per page, in Beaver Builder > Advanced:
     psc-card          column   - every recurring content card (including the accent one)
     psc-card-accent   column   - ADDED alongside psc-card, on the ONE card containing
                                   the purple icon illustrations, per page
     psc-photo         module   - secondary photographs only (never the hero image)
     psc-cta           column   - the closing CTA panel
     psc-btn           module   - EVERY consultation button: hero, mid-page, and closing

   Also fixed in this version: the STEP-label and card-title rules previously
   used a ":first-child :is(h1...)" descendant-combinator selector that
   assumed the heading module wrapped its own h-tag. It does not - the
   Beaver Builder heading module IS the h-tag directly, with no wrapper -
   so that selector never matched anything, and STEP labels were rendering
   at default title size and colour instead of the intended small purple
   accent. Fixed by matching the module element itself directly.

   STEP/FIRST label size (2026-09-23 revision): raised from an initial 11px
   to 14px desktop / 13px mobile after visual review - the original size
   read as too small. Letter-spacing reduced slightly (.10em to .06em
   desktop, .05em mobile) so the larger text doesn't look over-tracked.
   Confirmed no wrapping or spacing issues on Anxiety or ADHD at any width.

   Purple hierarchy colour: reuses the accent-panel border colour exactly
   (#6B389F light / #7A3FB0 dark) for BORDERS. For STEP-label TEXT specifically,
   dark mode uses a lighter tint in the same hue, #A87BD6, because #7A3FB0
   as text against the dark card background measures only 2.80:1 contrast -
   well under the 4.5:1 minimum. #A87BD6 measures 5.73:1. Light mode text
   uses the original #6B389F unchanged (6.54:1, no issue).

   Every colour has an oklch() twin because WP Dark Mode rewrites hex/rgb
   values in its runtime copy of this stylesheet but leaves oklch() alone.
     #07122A oklch(18.79% 0.0515 263.3)   #3EA1B6 oklch(66.00% 0.0953 214.3)
     #E4ECF3 oklch(93.91% 0.0128 244.3)   #16324A oklch(30.78% 0.0552 246.7)
     #E8F0FA oklch(95.20% 0.0160 253.9)   #0FF1FF oklch(87.30% 0.1474 202.4)
     #123C5C oklch(34.44% 0.0724 245.4)   #33294A oklch(30.83% 0.0590 296.7)
     #6B389F oklch(45.75% 0.1613 303.4)   #7A3FB0 oklch(49.69% 0.1744 304.9)
     #A87BD6 oklch(66.33% 0.1383 305.8)
   ========================================================================== */

/* -------------------- Cards + CTA panel: base = light mode -------------------- */

body[class] .fl-page-content .psc-card:not(.psc-card-accent) > .fl-col-content,
body[class] .fl-page-content .psc-cta > .fl-col-content {
  background-color: #e4ecf3;
  background-color: oklch(93.91% 0.0128 244.3);
  background-image: linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(ellipse 90% 90% at 92% -10%, rgba(47,122,140,.10), rgba(47,122,140,0) 62%);
  background-image: linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(ellipse 90% 90% at 92% -10%, oklch(54.08% 0.0777 216.5 / .10), oklch(54.08% 0.0777 216.5 / 0) 62%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #2f7a8c;
  border-color: oklch(54.08% 0.0777 216.5);
  box-shadow: 0 6px 16px -6px rgba(15,40,60,.16);
}

body[class] .fl-page-content .psc-card.psc-card-accent > .fl-col-content {
  background-color: #e4ecf3;
  background-color: oklch(93.91% 0.0128 244.3);
  background-image: linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(ellipse 90% 90% at 92% -10%, rgba(94,48,138,.10), rgba(94,48,138,0) 62%);
  background-image: linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(ellipse 90% 90% at 92% -10%, oklch(41.53% 0.1451 304.3 / .10), oklch(41.53% 0.1451 304.3 / 0) 62%);
  border-radius: 8px;
  border-width: 1.5px;
  border-style: solid;
  border-color: #6b389f;
  border-color: oklch(45.75% 0.1613 303.4);
  box-shadow: 0 6px 16px -6px rgba(15,40,60,.16);
}

body[class] .fl-page-content .psc-card > .fl-col-content,
body[class] .fl-page-content .psc-cta > .fl-col-content,
body[class] .fl-page-content .psc-card > .fl-col-content *,
body[class] .fl-page-content .psc-cta > .fl-col-content * {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

body[class] .fl-page-content .psc-card :is(h1, h2, h3, h4, h5, h6),
body[class] .fl-page-content .psc-cta :is(h1, h2, h3, h4, h5, h6) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

body[class] .fl-page-content .psc-card a:not(.fl-button),
body[class] .fl-page-content .psc-cta a:not(.fl-button) {
  color: #2f7a8c !important;
  color: oklch(54.08% 0.0777 216.5) !important;
}

/* -------------------- Cards + CTA panel: dark mode override -------------------- */

html.wp-dark-mode-active body[class] .fl-page-content .psc-card:not(.psc-card-accent) > .fl-col-content,
html.wp-dark-mode-active body[class] .fl-page-content .psc-cta > .fl-col-content {
  background-color: #07122a;
  background-color: oklch(18.79% 0.0515 263.3);
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, rgba(40,140,196,.34), rgba(40,140,196,0) 58%),
    radial-gradient(ellipse 130% 90% at 4% 118%, rgba(2,5,14,.55), rgba(2,5,14,0) 55%);
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, oklch(61.00% 0.1224 238.8 / .34), oklch(61.00% 0.1224 238.8 / 0) 58%),
    radial-gradient(ellipse 130% 90% at 4% 118%, oklch(11.58% 0.0251 260.9 / .55), oklch(11.58% 0.0251 260.9 / 0) 55%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #3ea1b6;
  border-color: oklch(66.00% 0.0953 214.3);
  box-shadow: 0 10px 24px -8px rgba(2,5,14,.6);
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card.psc-card-accent > .fl-col-content {
  background-color: #07122a;
  background-color: oklch(18.79% 0.0515 263.3);
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, rgba(120,60,180,.30), rgba(120,60,180,0) 58%),
    radial-gradient(ellipse 130% 90% at 4% 118%, rgba(2,5,14,.55), rgba(2,5,14,0) 55%);
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, oklch(46.00% 0.1550 304.0 / .30), oklch(46.00% 0.1550 304.0 / 0) 58%),
    radial-gradient(ellipse 130% 90% at 4% 118%, oklch(11.58% 0.0251 260.9 / .55), oklch(11.58% 0.0251 260.9 / 0) 55%);
  border-radius: 8px;
  border-width: 1.5px;
  border-style: solid;
  border-color: #7a3fb0;
  border-color: oklch(49.69% 0.1744 304.9);
  box-shadow: 0 10px 24px -8px rgba(2,5,14,.6);
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content,
html.wp-dark-mode-active body[class] .fl-page-content .psc-cta > .fl-col-content,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content *,
html.wp-dark-mode-active body[class] .fl-page-content .psc-cta > .fl-col-content * {
  color: #e8f0fa !important;
  color: oklch(95.20% 0.0160 253.9) !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card :is(h1, h2, h3, h4, h5, h6),
html.wp-dark-mode-active body[class] .fl-page-content .psc-cta :is(h1, h2, h3, h4, h5, h6) {
  color: #e8f0fa !important;
  color: oklch(95.20% 0.0160 253.9) !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card a:not(.fl-button),
html.wp-dark-mode-active body[class] .fl-page-content .psc-cta a:not(.fl-button) {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}

/* -------------------- Lead line (e.g. "Living with anxiety often means") -------------------- */

body[class] .fl-page-content .psc-card:not(.psc-card-accent) > .fl-col-content > .fl-module-rich-text:first-child,
body[class] .fl-page-content .psc-card:not(.psc-card-accent) > .fl-col-content > .fl-module-rich-text:first-child * {
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
}

/* -------------------- STEP cards: label / title / body hierarchy -------------------- */
/* Selector matches the heading module element directly (no wrapper exists),
   plus any descendant as a fallback for configurations that do wrap text. */

body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child,
body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child * {
  font-size: 14px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: .92;
  color: #6b389f !important;
  color: oklch(45.75% 0.1613 303.4) !important;
}

@media (max-width: 767px) {
  body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child,
  body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child * {
    font-size: 13px !important;
    letter-spacing: .05em;
  }
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:first-child * {
  color: #a87bd6 !important;
  color: oklch(66.33% 0.1383 305.8) !important;
  font-weight: 600 !important;
}

body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:nth-child(2),
body[class] .fl-page-content .psc-card > .fl-col-content > .fl-module-heading:nth-child(2) * {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text,
body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text p,
body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text * {
  color: #4a6072 !important;
  color: oklch(48% 0.035 235) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text p,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text * {
  color: #8ea3b8 !important;
  color: oklch(68.00% 0.0300 249.0) !important;
}

/* -------------------- Photos: 8px, no gray glow -------------------- */

body[class] .fl-page-content .psc-photo .fl-photo-img {
  border-radius: 8px;
  box-shadow: 0 10px 22px -8px rgba(2,5,14,.4);
}

html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-photo .fl-photo-img {
  box-shadow: 0 8px 18px -8px rgba(15,40,60,.22);
}

/* -------------------- Consultation buttons: one shared class for every instance --------------------
   Applies to the hero button, the mid-page button, and the closing-panel
   button alike - .psc-btn replaces the earlier closing-panel-only
   .psc-cta-btn. Light-mode rules are written a second time under an
   "html:not(.wp-dark-mode-active)" prefix matching this site's own
   light-mode button rule in specificity; without that duplication the
   gradient is silently overridden by specificity in light mode only
   (found and fixed during testing - do not simplify back to one rule). */

body[class] .fl-page-content .psc-btn a.fl-button,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-btn a.fl-button {
  background-color: #1f5875;
  background-color: oklch(43.70% 0.0753 234.6);
  background-image: linear-gradient(45deg, #123c5c 0%, #1f5875 58%, #2a6e7e 100%);
  background-image: linear-gradient(45deg, oklch(34.44% 0.0724 245.4) 0%, oklch(43.70% 0.0753 234.6) 58%, oklch(50.22% 0.0717 216.1) 100%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  box-shadow: none;
  border-color: #4b86a7;
  border-color: oklch(59.35% 0.0797 234.8);
}

body[class] .fl-page-content .psc-btn a.fl-button,
body[class] .fl-page-content .psc-btn a.fl-button *,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-btn a.fl-button,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-btn a.fl-button * {
  color: #ffffff !important;
  color: oklch(100% 0 0) !important;
}

html body[class] .fl-page-content .psc-btn a.fl-button:hover,
html body[class] .fl-page-content .psc-btn a.fl-button:focus-visible,
html:not(.wp-dark-mode-active) html body[class] .fl-page-content .psc-btn a.fl-button:hover,
html:not(.wp-dark-mode-active) html body[class] .fl-page-content .psc-btn a.fl-button:focus-visible {
  background-image: linear-gradient(45deg, #214d6b 0%, #266a90 58%, #2a6e7e 100%);
  background-image: linear-gradient(45deg, oklch(40.37% 0.0701 241.3) 0%, oklch(49.94% 0.0903 237.2) 58%, oklch(50.22% 0.0717 216.1) 100%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  box-shadow: none;
  border-color: #0ff1ff;
  border-color: oklch(87.30% 0.1474 202.4);
}

html body[class] .fl-page-content .psc-btn a.fl-button:hover *,
html body[class] .fl-page-content .psc-btn a.fl-button:focus-visible *,
html body[class] .fl-page-content .psc-btn a.fl-button:hover,
html body[class] .fl-page-content .psc-btn a.fl-button:focus-visible {
  color: #ffffff !important;
  color: oklch(100% 0 0) !important;
}

body[class] .fl-page-content .psc-btn a.fl-button:focus-visible,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-btn a.fl-button:focus-visible {
  outline: 2px solid #0ff1ff;
  outline: 2px solid oklch(87.30% 0.1474 202.4);
  outline-offset: 2px;
}

/* -------------------- CTA sentence ghost-text fix (Anxiety only, already applied to saved content) --------------------
   Left here for reference only - the actual fix was made by editing Anxiety's
   saved rich-text content directly (removing inline color from two spans),
   not through CSS. See the implementation notes for ADHD: check its own
   closing-CTA text for the same "color: #f7f7f7" inline-span pattern before
   publishing, and fix in the saved content the same way if present. */

body[class] .fl-page-content .psc-cta :is(h1, h2, h3, h4, h5, h6) {
  font-family: "D DIN", Helvetica, Arial, sans-serif !important;
}

/* -------------------- Comparison cards -------------------- */

body[class] .fl-page-content .psc-card-comparison > .fl-col-content {
  background-color: #e4ecf3;
  background-color: oklch(93.91% 0.0128 244.3);
  background-image:
    linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(
      ellipse 90% 90% at 92% -10%,
      rgba(47,122,140,.10),
      rgba(47,122,140,0) 62%
    );
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #2f7a8c;
  border-color: oklch(54.08% 0.0777 216.5);
  box-shadow: none;
}

body[class] .fl-page-content .psc-card-comparison > .fl-col-content,
body[class] .fl-page-content .psc-card-comparison > .fl-col-content * {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison > .fl-col-content {
  background-color: #07122a;
  background-color: oklch(18.79% 0.0515 263.3);
  background-image:
    radial-gradient(
      ellipse 95% 130% at 90% -12%,
      rgba(40,140,196,.34),
      rgba(40,140,196,0) 58%
    ),
    radial-gradient(
      ellipse 130% 90% at 4% 118%,
      rgba(2,5,14,.55),
      rgba(2,5,14,0) 55%
    );
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #3ea1b6;
  border-color: oklch(66.00% 0.0953 214.3);
  box-shadow: none;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison > .fl-col-content,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison > .fl-col-content * {
  color: #e8f0fa !important;
  color: oklch(95.20% 0.0160 253.9) !important;
}

/* -------------------- Comparison panel built from a List module -------------------- */

body[class] .fl-page-content .psc-card-comparison .fl-list {
  background-color: #e4ecf3 !important;
  background-color: oklch(93.91% 0.0128 244.3) !important;
  background-image:
    linear-gradient(160deg, rgba(255,255,255,.65), rgba(255,255,255,0) 60%),
    radial-gradient(
      ellipse 90% 90% at 92% -10%,
      rgba(47,122,140,.10),
      rgba(47,122,140,0) 62%
    ) !important;
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: #3ea1b6 !important;
  border-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}

body[class] .fl-page-content .psc-card-comparison .fl-list,
body[class] .fl-page-content .psc-card-comparison .fl-list * {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison .fl-list {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image:
    radial-gradient(
      ellipse 95% 130% at 90% -12%,
      rgba(40,140,196,.34),
      rgba(40,140,196,0) 58%
    ),
    radial-gradient(
      ellipse 130% 90% at 4% 118%,
      rgba(2,5,14,.55),
      rgba(2,5,14,0) 55%
    ) !important;
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: #3ea1b6 !important;
  border-color: oklch(66.00% 0.0953 214.3) !important;
  box-shadow: none !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison .fl-list,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison .fl-list * {
  color: #e8f0fa !important;
  color: oklch(95.20% 0.0160 253.9) !important;
}

body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon,
html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon {
  color: #9762c7 !important;
  color: oklch(58.00% 0.1450 304.5) !important;
}

/* ===== SERVICE PAGE SHARED COMPONENTS (v3) - END ===== */

/* Privacy Sensitive Therapy checklist icon override */

body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon,
html:not(.wp-dark-mode-active) body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon {
  color: #2f7a8c !important;
  color: oklch(54.08% 0.0777 216.5) !important;
}

html.wp-dark-mode-active body[class] .fl-page-content .psc-card-comparison .fl-list-item-icon {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}

/* ==========================================================================
   PATTERN SHIFT - LIGHT MODE  (production v1, prepared 2026-09-23, NOT YET LIVE)
   Paste as ONE block at the very end of Additional CSS, after
   "SERVICE PAGE SHARED COMPONENTS (v3)" and the Privacy checklist icon override.

   GATE: every selector starts with  html:not([data-wp-dark-mode-active]).
   The server always sends data-wp-dark-mode-active="true" and WP Dark Mode
   removes it only when light mode is chosen, so none of these rules can match
   in dark mode or during a dark first paint. No dark-mode rule is edited.

   SCOPE
     Sections 1-2   header, all pages (shared BB Theme header)
     Sections 3-6   the six Services children only (body.parent-pageid-132)
     Sections 7-8   footer, all pages (shared Themer footer layout 340)

   REQUIRES two Beaver Builder classes (see the implementation notes):
     psc-hero    on the hero ROW of each service page
     psc-panel   on the single checklist COLUMN, added alongside psc-card

   Every declaration is !important: these rules must beat Beaver Builder
   per-node CSS, the theme Customizer skin, inline colours saved in content,
   and the existing (dark-first) Additional CSS. Colours are a hex fallback
   plus an oklch() twin, matching the rest of this stylesheet.

   PALETTE
     navy text        #16324A  oklch(30.78% 0.0552 246.7)
     accent teal      #2A6E7E  oklch(50.22% 0.0717 216.1)
     footer heading   #4A6480  oklch(49.40% 0.0548 250.8)
     footer quiet     #506A80  oklch(51.23% 0.0466 244.4)
     footer link      #3F5A74  oklch(45.71% 0.0536 248.1)
     footer label     #2C4660  oklch(38.53% 0.0549 249.4)
     footer secondary #485F73  oklch(47.48% 0.0428 245.1)
     copyright        #3B4654  oklch(39.00% 0.0279 254.6)

   TEMPORARY items are marked TEMPORARY below (logo filters only).
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. HEADER - surface, navigation text, states (all pages)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body header.fl-page-header {
  background: #eef3f8 !important;
  background: linear-gradient(180deg, #f8fafd 0%, #e2eaf4 100%) !important;
  background: linear-gradient(180deg, oklch(98.44% 0.0045 258.3) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
  border-bottom: 1px solid rgba(42,110,126,.16) !important;
  border-bottom-color: oklch(50.22% 0.0717 216.1 / .16) !important;
}

/* Rest: menu links, submenu links, Contact label, menu button, submenu chevron */
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li > a,
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a,
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-toggle,
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-submenu-toggle-icon {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
  filter: none !important;
}

html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
  border-color: #2a6e7e !important;
  border-color: oklch(50.22% 0.0717 216.1) !important;
}

/* Current page / section. The :not() chain mirrors the live mobile rule so this
   out-ranks it (without it, mobile keeps the old #3EA1B6 at 2.8:1). */
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a,
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a:not(:hover):not(:focus):not(:focus-visible) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

/* The 1px desktop underline and the 2px mobile bar under the current item */
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a::after,
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a::before {
  background-color: #2a6e7e !important;
  background-color: oklch(50.22% 0.0717 216.1) !important;
}

/* Current child page inside a submenu: mobile only (desktop has no current-child colour) */
@media (max-width: 991px) {
  html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu > li.current-menu-item > a:not(:hover):not(:focus):not(:focus-visible) {
    color: #2a6e7e !important;
    color: oklch(50.22% 0.0717 216.1) !important;
  }
}

/* Hover and keyboard focus: teal text; focus rings recoloured from cyan
   (#0FF1FF is 1.3:1 on the light header) to teal. Hover is limited to devices
   that can hover, matching the live mobile block. */
@media (hover: hover) {
  html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li > a:hover,
  html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:hover {
    color: #2a6e7e !important;
    color: oklch(50.22% 0.0717 216.1) !important;
  }
}

html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav > li > a:is(:focus, :focus-visible),
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:is(:focus, :focus-visible),
html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav .navbar-toggle:is(:focus, :focus-visible) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html:not([data-wp-dark-mode-active]) body header.fl-page-header :is(a, button):is(:focus, :focus-visible) {
  outline-color: #2a6e7e !important;
  outline-color: oklch(50.22% 0.0717 216.1) !important;
}


/* --------------------------------------------------------------------------
   2. HEADER - desktop dropdown panel, and logo
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  html:not([data-wp-dark-mode-active]) body header.fl-page-header .fl-page-nav ul.sub-menu {
    background: #eef3f8 !important;
    background: linear-gradient(180deg, #f8fafd 0%, #e2eaf4 100%) !important;
    background: linear-gradient(180deg, oklch(98.44% 0.0045 258.3) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
    border-top-color: #2a6e7e !important;
    border-top-color: oklch(50.22% 0.0717 216.1) !important;
  }
}

/* TEMPORARY - darkens the cyan header logo so it reads on the light bar.
   Replace with a proper light-mode logo file when one exists. */
html:not([data-wp-dark-mode-active]) body header.fl-page-header img.fl-logo-img {
  filter: brightness(.62) saturate(1.3) !important;
}


/* --------------------------------------------------------------------------
   3. SERVICE HERO - row class psc-hero
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero > .fl-row-content-wrap {
  background-color: #e8eff7 !important;
  background-image: linear-gradient(135deg, #f6f9fd 0%, #dae5f1 100%) !important;
  background-image: linear-gradient(135deg, oklch(98.10% 0.0062 255.5) 0%, oklch(91.72% 0.0202 250.4) 100%) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero :is(h1, h1 *, .fl-rich-text, .fl-rich-text *) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

/* Hero emphasis: reserve accent color for selected words inside the H1.
   Subtitles use supporting text colors so they do not compete with the H1 accent. */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero h1 span[style*="color"] {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero :is(h2, h2 *) {
  color: #4A6480 !important;
}

/* Service-detail hero emphasis in dark mode. Prevents legacy mint saved in
   Beaver Builder from resurfacing while keeping the subtitle visually quieter. */
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-page-content .psc-hero h1 span[style*="color"] {
  color: #45A8C8 !important;
  color: oklch(68.64% 0.1022 222.7) !important;
}
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-page-content .psc-hero :is(h2, h2 *) {
  color: #B9C6D8 !important;
  color: oklch(82.22% 0.0291 256.5) !important;
}


/* --------------------------------------------------------------------------
   4. LARGE PANELS - psc-panel, psc-card-accent, psc-card-comparison, psc-cta
   Surface only: borders, radius and text colours come from the v3 section.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-panel, .psc-card-accent, .psc-card-comparison, .psc-cta) > .fl-col-content,
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-card-comparison .fl-list {
  background-color: #e9eff6 !important;
  background-image: linear-gradient(160deg, #f8fafd 0%, #dae4f0 100%) !important;
  background-image: linear-gradient(160deg, oklch(98.44% 0.0045 258.3) 0%, oklch(91.49% 0.0196 252.9) 100%) !important;
}


/* --------------------------------------------------------------------------
   5. SMALL CARDS - every other psc-card (step / "What Change Looks Like" cards)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-card:not(.psc-card-accent):not(.psc-panel) > .fl-col-content {
  background-color: #f0f4f9 !important;
  background-image: linear-gradient(160deg, #ffffff 0%, #e2eaf4 100%) !important;
  background-image: linear-gradient(160deg, oklch(100% 0 0) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
}

/* Text links inside cards and panels: #2F7A8C measures 3.8-4.1:1 on these
   surfaces; the accent teal passes (4.5:1 at the darkest corner of a panel). */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-card, .psc-cta, .psc-card-comparison) a:not(.fl-button) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}


/* --------------------------------------------------------------------------
   6. CONSULTATION CTA ROW - quiet cool band in light mode
   The row is found through the psc-cta column it contains. This now matches
   the lighter closing-CTA treatment already approved on About/Meet Jason.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-row:has(.psc-cta) > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: none !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta > .fl-col-content {
  box-shadow: 0 10px 28px -12px rgba(5,15,30,.45) !important;
}


/* --------------------------------------------------------------------------
   7. FOOTER - surface (Themer layout 340: body row i49y3qt20hls,
   copyright row z0aif3su19ln)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: linear-gradient(180deg, #f4f7fb 0%, #eaf0f6 100%) !important;
  background-image: linear-gradient(180deg, oklch(97.50% 0.0062 255.5) 0%, oklch(95.23% 0.0103 247.9) 100%) !important;
  border-top: 1px solid rgba(22,50,74,.14) !important;
  border-top-color: oklch(30.78% 0.0552 246.7 / .14) !important;
}

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-z0aif3su19ln > .fl-row-content-wrap {
  background-color: #eaf0f6 !important;
  background-color: oklch(95.23% 0.0103 247.9) !important;
  background-image: none !important;
  border-top: 1px solid rgba(22,50,74,.08) !important;
  border-top-color: oklch(30.78% 0.0552 246.7 / .08) !important;
}

/* RESOLVED 2026 09 27
Footer logo now uses a transparent PNG.
Do not restore the previous invert, hue rotate, or multiply treatment.
The transparent image should display normally in both light and dark mode.
*/


/* --------------------------------------------------------------------------
   8. FOOTER - typography (approved hybrid). Regular weight throughout the body
   row; teal only on email, phone, icons, hover and focus.
   Quick Links module: fay1m9i72qzu.  Client Rights links module: 6x8mknviohgj.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(p, span, strong, b, a, li) {
  font-weight: 400 !important;
}

/* Quiet text (Quick Links dashes, any unstyled text) */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(p, span, strong, li) {
  color: #506a80 !important;
  color: oklch(51.23% 0.0466 244.4) !important;
}

/* Section headings: "Get In Touch!", "Quick Links" */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(h3, h3 *) {
  color: #4a6480 !important;
  color: oklch(49.40% 0.0548 250.8) !important;
}

/* Tagline: "Therapy for Thinkers, Seekers, and Strivers" (overrides inline accent colours) */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(h2, h2 *) {
  color: #506a80 !important;
  color: oklch(51.23% 0.0466 244.4) !important;
}

/* Small secondary text: contact lines, "Client Rights" label, separators */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls .fl-icon-text :is(p, span, strong):not(a, a *),
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-6x8mknviohgj :is(p, span, strong):not(a, a *),
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(h5, h5 *) {
  color: #485f73 !important;
  color: oklch(47.48% 0.0428 245.1) !important;
}

/* Links: quiet slate, no underline */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(a, a *) {
  color: #3f5a74 !important;
  color: oklch(45.71% 0.0536 248.1) !important;
  text-decoration: none !important;
}

/* State links sit inside a line of text, so they keep a soft underline */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-6x8mknviohgj :is(a, a *) {
  text-decoration: underline !important;
  text-decoration-color: rgba(63,90,116,.45) !important;
  text-underline-offset: 3px;
}

/* Quick Links category labels: Services / About / Contact */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-fay1m9i72qzu p > strong:first-child :is(a, a *) {
  color: #2c4660 !important;
  color: oklch(38.53% 0.0549 249.4) !important;
}

/* Email address and phone number */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls .fl-icon-text :is(a, a *) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

/* Icons */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(.fl-icon i, .fl-icon i::before, .dashicons, .dashicons::before) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

/* Hover and keyboard focus: teal with underline */
@media (hover: hover) {
  html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(a:hover, a:hover *) {
    color: #2a6e7e !important;
    color: oklch(50.22% 0.0717 216.1) !important;
    text-decoration: underline !important;
    text-decoration-color: currentColor !important;
    text-underline-offset: 3px;
  }
}

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-i49y3qt20hls :is(a:focus-visible, a:focus-visible *) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-underline-offset: 3px;
}

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 a:focus-visible {
  outline: 2px solid #2a6e7e !important;
  outline-color: oklch(50.22% 0.0717 216.1) !important;
  outline-offset: 2px;
}

/* Copyright row: dark neutral slate text, teal credit link (navy on hover) */
html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-z0aif3su19ln :is(p, span, strong):not(a, a *) {
  color: #3b4654 !important;
  color: oklch(39.00% 0.0279 254.6) !important;
}

html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-z0aif3su19ln :is(a, a *) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

@media (hover: hover) {
  html:not([data-wp-dark-mode-active]) body .fl-builder-content-340 .fl-node-z0aif3su19ln :is(a:hover, a:hover *) {
    color: #16324a !important;
    color: oklch(30.78% 0.0552 246.7) !important;
  }
}

/* ===== PATTERN SHIFT - LIGHT MODE (production v1) - END ===== */

/* ===== PATTERN SHIFT - SERVICE PAGE GEOMETRY TEST ===== */


/* ---------------------------------------------------------
   1. CARDS AND PANELS
   4px radius in BOTH light and dark modes
   --------------------------------------------------------- */

body[class]
.fl-page-content
:is(.psc-card, .psc-panel, .psc-card-accent, .psc-card-comparison, .psc-cta)
> .fl-col-content {
  border-radius: 4px !important;
}

body[class]
.fl-page-content
.psc-card-comparison .fl-list {
  border-radius: 4px !important;
}


/* ---------------------------------------------------------
   2. CONTENT PHOTOS
   4px radius in BOTH modes
   --------------------------------------------------------- */

body[class]
.fl-page-content
.fl-row:not(.psc-hero)
.psc-photo .fl-photo-content {
  position: relative !important;
  display: inline-block !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

body[class]
.fl-page-content
.fl-row:not(.psc-hero)
.psc-photo .fl-photo-img {
  display: block !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------
   3. CONTENT PHOTO INSET TREATMENT
   Same neutral vignette in BOTH modes
   --------------------------------------------------------- */

body[class]
.fl-page-content
.fl-row:not(.psc-hero)
.psc-photo .fl-photo-content::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: 4px !important;

  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.20),
    inset 0 0 22px rgba(0, 0, 0, 0.24) !important;
}


/* ---------------------------------------------------------
   4. LIGHT MODE CONTENT PHOTO OUTER SHADOW
   --------------------------------------------------------- */

html:not([data-wp-dark-mode-active])
body[class]
.fl-page-content
.fl-row:not(.psc-hero)
.psc-photo .fl-photo-content {
  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.18) !important;
}


/* ---------------------------------------------------------
   5. DARK MODE CONTENT PHOTO OUTER SHADOW
   Slightly stronger because the page background is dark
   --------------------------------------------------------- */

html[data-wp-dark-mode-active]
body[class]
.fl-page-content
.fl-row:not(.psc-hero)
.psc-photo .fl-photo-content {
  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.32) !important;
}


/* ---------------------------------------------------------
   6. HERO PHOTOS
   Square in BOTH modes, no frame or exterior shadow
   --------------------------------------------------------- */

body[class]
.fl-page-content
.psc-hero .fl-photo-content,
body[class]
.fl-page-content
.psc-hero .fl-photo-img {
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
}


/* ===== END SERVICE PAGE GEOMETRY TEST ===== */

/* ==========================================================================
   SERVICE PAGES - DARK MODE CANVAS  (v1, approved 2026-09-24)
   Gives the six Services children the homepage's near-black canvas #02050E.

   Gate: html[data-wp-dark-mode-active] - the same dark gate the homepage
   (v7) block and the geometry block already use. Never matches in light mode.
   Scope: body.parent-pageid-132 - the six Services children only.

   Touches ONLY row / page backgrounds. Cards, panels, comparison boxes,
   step cards, CTA card interiors, photos, geometry, typography, buttons,
   header and footer are not selected by any rule here.

   #02050E is written with its oklch() twin, as elsewhere in this stylesheet,
   because WP Dark Mode rewrites hex values in its runtime copy.
   ========================================================================== */

/* 1. Page canvas - shows through transparent rows and any gaps (mirrors the homepage) */
html[data-wp-dark-mode-active]:has(> body.parent-pageid-132),
html[data-wp-dark-mode-active] body.parent-pageid-132,
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-page,
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-page-content {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
}

/* 2. Every top-level content row: hero, ordinary sections, CTA outer band */
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-builder-content-primary > .fl-row > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
}

/* 3. Footer surfaces (shared Themer footer layout 340): body row i49y3qt20hls and
   copyright row z0aif3su19ln. Same two surfaces and the same declarations as the
   homepage's v7 footer rule, scoped to the service pages. Background only:
   typography, links, icons, logo, spacing and borders are untouched.
   Light-mode footer is unaffected (dark gate). */
html[data-wp-dark-mode-active] body.parent-pageid-132 .fl-builder-content-340 :is(.fl-node-i49y3qt20hls, .fl-node-z0aif3su19ln) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

/* 4. Privacy comparison List module: 4px in dark mode as well.
   The older v3 rule "html.wp-dark-mode-active ... .psc-card-comparison .fl-list
   { border-radius: 8px !important }" out-ranked the geometry block's 4px in dark
   mode. Same specificity, later in the file, radius only. */
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-card-comparison .fl-list {
  border-radius: 4px !important;
}

/* ===== SERVICE PAGES - DARK MODE CANVAS (v1) - END ===== */

/* ==========================================================================
   PATTERN SHIFT - GLOBAL DARK FOUNDATION  (Phase 1, PROPOSED 2026-09-24)
   The near-black #02050E canvas of the homepage and service pages, sitewide.

   Gate: html[data-wp-dark-mode-active] - dark mode only; light mode untouched.
   Only background colours of the page canvas, top-level Beaver Builder rows
   and the shared footer. Background IMAGES are not touched, so photo rows and
   any gradient rows keep their images. Cards, panels, buttons, typography,
   images, borders, radii, accordions, icons and the header are not selected.

   Supersedes, by cascade only, the identical scoped copies in the homepage
   (v7) block and the SERVICE PAGES - DARK MODE CANVAS (v1) block, which
   stay in place until the later cleanup phase.
   ========================================================================== */

/* 1. Page canvas (html, body, page wrappers). Out-ranks WP Dark Mode's own
      "html { background-color: #1d1f27 !important }". */
html[data-wp-dark-mode-active],
html[data-wp-dark-mode-active] body,
html[data-wp-dark-mode-active] body .fl-page,
html[data-wp-dark-mode-active] body .fl-page-content {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
}

/* 2. Every top-level Beaver Builder content row (heroes, sections, CTA bands).
      Colour only - background images and photo rows are preserved. */
html[data-wp-dark-mode-active] body .fl-builder-content-primary > .fl-row > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
}

/* 3. Shared footer (Themer layout 340): body row and copyright row */
html[data-wp-dark-mode-active] body .fl-builder-content-340 :is(.fl-node-i49y3qt20hls, .fl-node-z0aif3su19ln) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

/* ===== PATTERN SHIFT - GLOBAL DARK FOUNDATION (Phase 1) - END ===== */

/* ==========================================================================
   PATTERN SHIFT - GLOBAL COMPONENTS 2A: BUTTONS, LINK INTERACTION, ICONS
   (PROPOSED 2026-09-24, preview only)

   Scope: Beaver Builder page content only (.fl-builder-content-primary).
   Header, footer, Themer post layout and block-editor pages (Blog, Further
   Reading, Research Notes, posts) are outside that scope and untouched.

   Service-page psc components keep their own rules:
   - buttons in a .psc-btn module are excluded (they already use this family);
   - links inside psc-card / psc-panel / psc-card-accent / psc-card-comparison /
     psc-cta are excluded (they already use the approved teal treatment).
   Purple that is intentional (accent panel border, STEP labels, comparison
   list icons) is not selected by any rule here.

   Colours are hex plus an oklch() twin, as elsewhere in this stylesheet.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. BUTTON FAMILY - the approved psc-btn "C2" treatment for every ordinary
      Beaver Builder content button (button and button-group modules).
      8px radius preserved. Same values as the .psc-btn rules.
   -------------------------------------------------------------------------- */

html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button,
html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:visited {
  background-color: #1f5875;
  background-color: oklch(43.70% 0.0753 234.6);
  background-image: linear-gradient(45deg, #123c5c 0%, #1f5875 58%, #2a6e7e 100%);
  background-image: linear-gradient(45deg, oklch(34.44% 0.0724 245.4) 0%, oklch(43.70% 0.0753 234.6) 58%, oklch(50.22% 0.0717 216.1) 100%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #4b86a7;
  border-color: oklch(59.35% 0.0797 234.8);
  box-shadow: none;
}

html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button,
html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button *,
html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:visited,
html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:visited * {
  color: #ffffff !important;
  color: oklch(100% 0 0) !important;
  filter: none !important;
}

html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:is(:hover, :focus-visible) {
  background-image: linear-gradient(45deg, #214d6b 0%, #266a90 58%, #2a6e7e 100%);
  background-image: linear-gradient(45deg, oklch(40.37% 0.0701 241.3) 0%, oklch(49.94% 0.0903 237.2) 58%, oklch(50.22% 0.0717 216.1) 100%);
  border-radius: 8px;
  border-width: 1px;
  border-style: solid;
  border-color: #45a8c8;
  border-color: oklch(68.64% 0.1022 222.7);
  box-shadow: none;
}

html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:is(:hover, :focus-visible),
html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:is(:hover, :focus-visible) * {
  color: #ffffff !important;
  color: oklch(100% 0 0) !important;
}

html body[class] .fl-builder-content-primary .fl-module:not(.psc-btn) a.fl-button:focus-visible {
  outline: 2px solid #0ff1ff;
  outline: 2px solid oklch(87.30% 0.1474 202.4);
  outline-offset: 2px;
}


/* --------------------------------------------------------------------------
   2. CONTENT LINK INTERACTION - replaces the Customizer's purple a:hover /
      a:focus (#712AB9). Resting link colours are not changed.
      Light: accent teal #2A6E7E. Dark: the site's established cyan
      interaction colour #0FF1FF (header, footer and homepage links).
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body .fl-builder-content-primary a:not(.fl-button):not(:is(.psc-card, .psc-panel, .psc-card-accent, .psc-card-comparison, .psc-cta) a):is(:hover, :focus, :focus-visible) {
  color: #2a6e7e;
  color: oklch(50.22% 0.0717 216.1);
}

html[data-wp-dark-mode-active] body .fl-builder-content-primary a:not(.fl-button):not(:is(.psc-card, .psc-panel, .psc-card-accent, .psc-card-comparison, .psc-cta) a):is(:hover, :focus, :focus-visible) {
  color: #0ff1ff !important;
  color: oklch(87.30% 0.1474 202.4) !important;
  filter: none !important;
}


/* --------------------------------------------------------------------------
   3. ICON MODULES - legacy purple Beaver Builder icons to structural teal.
      Light #2A6E7E, dark #3EA1B6 (the dark structural teal).
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body .fl-builder-content-primary .fl-module-icon .fl-icon i,
html:not([data-wp-dark-mode-active]) body .fl-builder-content-primary .fl-module-icon .fl-icon i::before {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html[data-wp-dark-mode-active] body .fl-builder-content-primary .fl-module-icon .fl-icon i,
html[data-wp-dark-mode-active] body .fl-builder-content-primary .fl-module-icon .fl-icon i::before {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}

/* ===== PATTERN SHIFT - GLOBAL COMPONENTS 2A - END ===== */
/* ==========================================================================
   PATTERN SHIFT - GLOBAL COMPONENTS 2B: PHOTO TREATMENT + CARD GEOMETRY
   (PROPOSED 2026-09-24, preview only)

   Scope: Beaver Builder page content only (.fl-builder-content-primary).
   Service-page psc components keep their own approved rules (excluded).
   Not touched: accordions, heroes, CTA band fills, buttons, links, icons,
   header, footer, typography, blog posts, card/panel background fills.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. ORDINARY CONTENT PHOTOS - the approved service-page photo treatment.
      Which images: Beaver Builder photo modules whose file is a JPG/JPEG/WEBP
      (Beaver Builder marks this on .fl-photo-content). PNG graphics - icons,
      maps, illustrations - are left alone.
      Not applied to: hero rows (a .psc-hero row, or the first row of a page
      until that page's hero gets psc-hero), .psc-photo (already treated),
      anything inside a psc component, and .psc-photo-round (opt-out for
      intentionally circular images).
   -------------------------------------------------------------------------- */

html body[class] .fl-builder-content-primary > .fl-row:not(.psc-hero):not(:first-child) .fl-module-photo:not(.psc-photo):not(.psc-photo-round):not([class*="psc-"] *) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  position: relative !important;
  display: inline-block !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

html body[class] .fl-builder-content-primary > .fl-row:not(.psc-hero):not(:first-child) .fl-module-photo:not(.psc-photo):not(.psc-photo-round):not([class*="psc-"] *) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) .fl-photo-img {
  display: block !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* neutral charcoal inset edge + vignette */
html body[class] .fl-builder-content-primary > .fl-row:not(.psc-hero):not(:first-child) .fl-module-photo:not(.psc-photo):not(.psc-photo-round):not([class*="psc-"] *) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: 4px !important;
  box-shadow:
    inset 0 0 0 2px rgba(0, 0, 0, 0.20),
    inset 0 0 22px rgba(0, 0, 0, 0.24) !important;
}

/* tight exterior shadow: light / dark */
html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-primary > .fl-row:not(.psc-hero):not(:first-child) .fl-module-photo:not(.psc-photo):not(.psc-photo-round):not([class*="psc-"] *) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content-primary > .fl-row:not(.psc-hero):not(:first-child) .fl-module-photo:not(.psc-photo):not(.psc-photo-round):not([class*="psc-"] *) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.32) !important;
}


/* --------------------------------------------------------------------------
   2. LEGACY CARD / PANEL GEOMETRY - ordinary Beaver Builder columns
      (not psc components and not inside them): 4px radius, no legacy gray
      drop shadow, legacy purple/mint structural borders to the approved
      structural teal. Background fills are NOT changed. Border colour only
      shows where a column already has a border.
      Not applied on the six service-detail pages (body.parent-pageid-132),
   which are fully governed by the psc system.
   No !important: element-ID rules that use !important (the homepage v7
      and "radius proof" blocks) keep control until the homepage phase.
   -------------------------------------------------------------------------- */

html body[class]:not(.parent-pageid-132) .fl-builder-content-primary .fl-col:not([class*="psc-"]):not([class*="psc-"] *) > .fl-col-content {
  border-radius: 4px;
  box-shadow: none;
}

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-builder-content-primary .fl-col:not([class*="psc-"]):not([class*="psc-"] *) > .fl-col-content {
  border-color: #2f7a8c;
  border-color: oklch(54.08% 0.0777 216.5);
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-builder-content-primary .fl-col:not([class*="psc-"]):not([class*="psc-"] *) > .fl-col-content {
  border-color: #3ea1b6;
  border-color: oklch(66.00% 0.0953 214.3);
}

/* ===== PATTERN SHIFT - GLOBAL COMPONENTS 2B - END ===== */

/* ==========================================================================
   PATTERN SHIFT - PHASE 3A: LOCATION-DETAIL PAGE SURFACES
   (APPROVED 2026-09-24 - append-only)

   Scope: the 14 location-detail pages only, by archetype:
     states  body.parent-pageid-672          (TX, WA, OR, NV, FL)
     cities  body.parent-pageid-647/801/824/834 (Austin, Houston, Dallas,
             Seattle, Spokane, Portland, Eugene, Las Vegas, Reno)
   The Locations landing page (672 itself) has no parent-pageid class and is
   not matched. Service pages (parent 132) are not matched.

   Row positions are shared by every page in each archetype (verified on all
   14 pages 2026-09-24):
     city:  1 hero | 3 icon cards | 4 service panel | 6 fit band (mint)
     state: 1 hero | 3 icon cards | 4 areas served | 5 service panel |
            7 getting-started band (mint)

   Not touched: accordions, buttons (C2), icons, content photos (2B),
   borders/radius (2B), header, footer, typography sizes, content.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. HERO (row 1) - light: service B2 hero; dark: canvas (Phase 1 already
      paints #02050E - repeated here so the hero cannot drift)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child > .fl-row-content-wrap {
  background-color: #e8eff7 !important;
  background-image: linear-gradient(135deg, #f6f9fd 0%, #dae5f1 100%) !important;
  background-image: linear-gradient(135deg, oklch(98.10% 0.0062 255.5) 0%, oklch(91.72% 0.0202 250.4) 100%) !important;
}

html[data-wp-dark-mode-active] body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

/* hero text on the light hero: navy body, teal accents (as service heroes).
   :where() keeps the body rule weaker than the accent rule below. */
html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child :where(h1, h1 *, .fl-rich-text, .fl-rich-text *) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child :is(h1 span, h2, h2 *) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

/* hero photo: square, no shadow, no vignette (as service heroes) */
html body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child .fl-module-photo :is(.fl-photo-content, .fl-photo-img) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:first-child .fl-module-photo .fl-photo-content::after {
  content: none !important;
}


/* --------------------------------------------------------------------------
   2. MINT BAND RETIRED - city row 6 / state row 7
      light: service B2 panel surface; dark: canvas
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(6) > .fl-row-content-wrap,
html:not([data-wp-dark-mode-active]) body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(7) > .fl-row-content-wrap {
  background-color: #e9eff6 !important;
  background-image: linear-gradient(160deg, #f8fafd 0%, #dae4f0 100%) !important;
  background-image: linear-gradient(160deg, oklch(98.44% 0.0045 258.3) 0%, oklch(91.49% 0.0196 252.9) 100%) !important;
}

html[data-wp-dark-mode-active] body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(6) > .fl-row-content-wrap,
html[data-wp-dark-mode-active] body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(7) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}


/* --------------------------------------------------------------------------
   2b. GRAY #F7F7F7 SECTION BANDS RETIRED - city rows 3-4 / state rows 3 and 5
       light: quiet cool canvas = Footer B's approved start tone #F4F7FB,
       flat (no gradient) so B2/B3 surfaces still read as components.
       White sections stay white. Dark: unchanged (Phase 1 canvas).
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:is(:nth-child(3), :nth-child(4)) > .fl-row-content-wrap,
html:not([data-wp-dark-mode-active]) body.parent-pageid-672 .fl-builder-content-primary > .fl-row:is(:nth-child(3), :nth-child(5)) > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: none !important;
}


/* --------------------------------------------------------------------------
   3. LARGE PANELS -> B2 (light) / navy #07122A (dark)
      - service panel: the column that frames the nested service tiles
        (city row 4, state row 5)
      - areas served: the nested column holding the map + text (state row 4)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col-content:has(> .fl-col-group),
html:not([data-wp-dark-mode-active]) body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(5) .fl-col-content:has(> .fl-col-group),
html:not([data-wp-dark-mode-active]) body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col .fl-col > .fl-col-content:has(> .fl-module-photo) {
  background-color: #e9eff6 !important;
  background-image: linear-gradient(160deg, #f8fafd 0%, #dae4f0 100%) !important;
  background-image: linear-gradient(160deg, oklch(98.44% 0.0045 258.3) 0%, oklch(91.49% 0.0196 252.9) 100%) !important;
}


/* --------------------------------------------------------------------------
   4. SMALL CARDS -> B3 (light) / navy #07122A (dark)
      - icon cards (any column whose content starts with an icon module)
      - fit / getting-started cards (nested columns in city row 6 / state row 7)
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary .fl-col-content:has(> .fl-module-icon),
html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(6) .fl-col .fl-col > .fl-col-content,
html:not([data-wp-dark-mode-active]) body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(7) .fl-col .fl-col > .fl-col-content {
  background-color: #f0f4f9 !important;
  background-image: linear-gradient(160deg, #ffffff 0%, #e2eaf4 100%) !important;
  background-image: linear-gradient(160deg, oklch(100% 0 0) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
}


/* icon cards (row 3, both archetypes): restrained 1px structural teal edge so
   the B3 card reads on the #F4F7FB band. Light only; no shadow. */
html:not([data-wp-dark-mode-active]) body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary .fl-col-content:has(> .fl-module-icon) {
  border: 1px solid #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
}


/* --------------------------------------------------------------------------
   5. DARK: every card/panel above -> navy #07122A, no WP-Dark-Mode gray
   -------------------------------------------------------------------------- */

html[data-wp-dark-mode-active] body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col-content:has(> .fl-col-group),
html[data-wp-dark-mode-active] body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(5) .fl-col-content:has(> .fl-col-group),
html[data-wp-dark-mode-active] body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col .fl-col > .fl-col-content:has(> .fl-module-photo),
html[data-wp-dark-mode-active] body:is(.parent-pageid-672, .parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary .fl-col-content:has(> .fl-module-icon),
html[data-wp-dark-mode-active] body:is(.parent-pageid-647, .parent-pageid-801, .parent-pageid-824, .parent-pageid-834) .fl-builder-content-primary > .fl-row:nth-child(6) .fl-col .fl-col > .fl-col-content,
html[data-wp-dark-mode-active] body.parent-pageid-672 .fl-builder-content-primary > .fl-row:nth-child(7) .fl-col .fl-col > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
}

/* ===== PATTERN SHIFT - PHASE 3A LOCATIONS - END ===== */

/* ==========================================================================
   PATTERN SHIFT - PHASE 3B: LOCATIONS LANDING PAGE SURFACES
   (APPROVED 2026-09-24 - append-only)

   Scope: the Locations landing page only (body.page-id-672). Location-detail
   pages carry parent-pageid-672, not page-id-672, and are not matched.
   Rows: 1 hero | 2 intro (white, unchanged) | 3 "States served" band |
         4 CTA row (Beaver Builder gradient row)

   Not touched: accordions, buttons (C2), icons, content photos (2B),
   borders/radius (2B), header, footer, typography sizes, content.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. HERO - light: service B2 hero; dark: canvas. Photo square, no effects.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:first-child > .fl-row-content-wrap {
  background-color: #e8eff7 !important;
  background-image: linear-gradient(135deg, #f6f9fd 0%, #dae5f1 100%) !important;
  background-image: linear-gradient(135deg, oklch(98.10% 0.0062 255.5) 0%, oklch(91.72% 0.0202 250.4) 100%) !important;
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:first-child > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:first-child :where(h1, h1 *, .fl-rich-text, .fl-rich-text *) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:first-child :is(h1 span, h2, h2 *) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:first-child .fl-module-photo :is(.fl-photo-content, .fl-photo-img) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:first-child .fl-module-photo .fl-photo-content::after {
  content: none !important;
}


/* --------------------------------------------------------------------------
   2. "STATES SERVED" BAND (row 3) - light: quiet cool canvas #F4F7FB
      (as the 3A section bands); dark: canvas
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: none !important;
}


/* --------------------------------------------------------------------------
   3. STATE CARDS (row 3 columns holding the state text) - light: B3 + 1px
      teal edge (as the 3A icon cards); dark: navy #07122A
      The retired state-outline icon modules are hidden here. Harmless once
      Jason deletes the five photo modules in Beaver Builder; can be removed
      in the cleanup phase after that.
   -------------------------------------------------------------------------- */

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content > .fl-module-photo {
  display: none !important;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content:has(> .fl-module-rich-text) {
  background-color: #f0f4f9 !important;
  background-image: linear-gradient(160deg, #ffffff 0%, #e2eaf4 100%) !important;
  background-image: linear-gradient(160deg, oklch(100% 0 0) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
  border: 1px solid #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content:has(> .fl-module-rich-text) {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
}


/* --------------------------------------------------------------------------
   3b. STATE CARDS - EDITORIAL DIRECTORY TREATMENT (preview)
       prominent state name, quiet intro line, wrapped inline city list with
       centred-dot separators, large low-emphasis typographic abbreviation.
       Each card is identified by its state link (h3 > a), not by node ID.
   -------------------------------------------------------------------------- */

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content:has(> .fl-module-rich-text) {
  position: relative !important;
  padding: 26px 28px 24px !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content > .fl-module-rich-text {
  margin: 0 !important;
  position: relative;
  z-index: 1;
}

/* state name: primary */
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 16px !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  margin: 0 0 8px 0 !important;
}

/* "Serving clients across ..." : smaller, quieter */
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p {
  margin: 0 0 14px 0 !important;
  line-height: 1.45 !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p span {
  font-size: 14px !important;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p span {
  color: #506a80 !important;
  color: oklch(51.23% 0.0466 244.4) !important;
}

/* city list: wrapped inline with centred-dot separators. Every city gets a
   leading dot; the list is shifted left by one separator width inside a
   clipped text module, so the dot that starts each line is hidden and no
   line ever begins or ends with a separator. */
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-col-content > .fl-module-rich-text {
  overflow: hidden !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p {
  margin: 0 0 0 -1.3em !important;
  line-height: 1.75 !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p ~ p {
  margin: 0 !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > br {
  display: none !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > :is(a, span) {
  display: inline-block !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > :is(a, span) span {
  font-size: 15px !important;
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > :is(a, span)::before {
  content: "\00B7";
  display: inline-block;
  width: 1.3em;
  text-align: center;
  font-weight: 700;
  color: #2f7a8c;
  color: oklch(54.08% 0.0777 216.5);
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > :is(a, span)::before {
  color: #3ea1b6;
  color: oklch(66.00% 0.0953 214.3);
}
/* dark: linked city names in the site's approved dark link teal. Hover and
   focus are left to the Phase 2A cyan rule (#0FF1FF). */
html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > a:not(:hover, :focus, :focus-visible),
html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3 + p + p > a:not(:hover, :focus, :focus-visible) span {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}
/* state abbreviation: right end of the heading row, decorative only.
   It lives inside the h3 flex row, so the intro line and city list below
   always use the full card width and never pass under it. */
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3::after {
  flex: none;
  font-family: "D DIN", Helvetica, Arial, sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  pointer-events: none;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3::after {
  color: rgba(47, 122, 140, 0.28);
  color: oklch(54.08% 0.0777 216.5 / 0.28);
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) .fl-module-rich-text h3::after {
  color: rgba(62, 161, 182, 0.40);
  color: oklch(66.00% 0.0953 214.3 / 0.40);
}

html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) h3:has(a[href*="/locations/texas/"])::after { content: "TX"; content: "TX" / ""; }
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) h3:has(a[href*="/locations/oregon/"])::after { content: "OR"; content: "OR" / ""; }
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) h3:has(a[href*="/locations/washington/"])::after { content: "WA"; content: "WA" / ""; }
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) h3:has(a[href*="/locations/nevada"])::after { content: "NV"; content: "NV" / ""; }
html body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(3) h3:has(a[href*="/locations/florida/"])::after { content: "FL"; content: "FL" / ""; }

/* --------------------------------------------------------------------------
   4. CTA ROW (row 4) - retires the purple radial gradient.
      light: service CTA Option 1 navy band + B2 panel (as .psc-cta);
      dark: canvas row + navy #07122A panel
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(4) > .fl-row-content-wrap {
  background-color: #16324a !important;
  background-color: oklch(30.78% 0.0552 246.7) !important;
  background-image: linear-gradient(135deg, #16324a 0%, #123c5c 55%, #2b3152 100%) !important;
  background-image: linear-gradient(135deg, oklch(30.78% 0.0552 246.7) 0%, oklch(34.44% 0.0724 245.4) 55%, oklch(32.41% 0.0592 274.8) 100%) !important;
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(4) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

html:not([data-wp-dark-mode-active]) body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col-content:has(> .fl-module-button) {
  background-color: #e9eff6 !important;
  background-image: linear-gradient(160deg, #f8fafd 0%, #dae4f0 100%) !important;
  background-image: linear-gradient(160deg, oklch(98.44% 0.0045 258.3) 0%, oklch(91.49% 0.0196 252.9) 100%) !important;
}

html[data-wp-dark-mode-active] body.page-id-672 .fl-builder-content-primary > .fl-row:nth-child(4) .fl-col-content:has(> .fl-module-button) {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
}

/* ===== PATTERN SHIFT - PHASE 3B LOCATIONS LANDING - END ===== */

/* ==========================================================================
   PATTERN SHIFT - PHASE 4A (v2, HYBRID): SERVICES LANDING CLASS COMPONENTS
   (DRAFT 2026-09-24 - replaces the v1 "PHASE 4A SERVICES LANDING CLASSES"
   block; inert on any page without these classes)

   Classes (Beaver Builder > Advanced > Class):
     psc-hero        hero ROW (existing class, no new CSS here)
     psc-path-card   each service ROW (6) - the row becomes one card; the
                     page's row list becomes a 2-column grid (1 on mobile).
                     Every other top-level row stays full width.
     psc-steps       "How Virtual Therapy Works" ROW
     psc-photo-duplicate  a redundant PHOTO module inside a card (the old
                     mobile-only copies) - hidden at all widths
   Optional photo focal helpers on a card's PHOTO module:
     psc-focus-top / psc-focus-bottom / psc-focus-left / psc-focus-right

   No node IDs, row positions or image URLs. Existing modules are only
   restyled or hidden (separators, step number images), never removed.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. PAGE GRID - any Beaver Builder layout containing .psc-path-card rows.
      Cards sit on a 1100px, 2-column grid; every other row breaks out to
      the full page width. The page canvas behind the cards is the quiet
      #F4F7FB band (light); dark keeps the Phase 1 canvas.
   -------------------------------------------------------------------------- */

body[class] .fl-page-content:has(.fl-builder-content-primary > .psc-path-card) {
  container-type: inline-size;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.fl-builder-content-primary > .psc-path-card) {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
}

body[class] .fl-page-content .fl-builder-content-primary:has(> .psc-path-card) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  width: min(1100px, 100% - 32px);
  margin-inline: auto;
}

body[class] .fl-page-content .fl-builder-content-primary:has(> .psc-path-card) > .fl-row:not(.psc-path-card) {
  grid-column: 1 / -1;
  width: 100cqw !important;
  max-width: none !important;
  margin-left: calc(50% - 50cqw) !important;
  margin-right: 0 !important;
}

/* plain full-width rows (e.g. the intro) stay white above the band */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-builder-content-primary:has(> .psc-path-card) > .fl-row:not(.psc-path-card, .psc-hero, .psc-steps) > .fl-row-content-wrap {
  background-color: #ffffff !important;
}

/* breathing room above the first and below the last row of cards */
body[class] .fl-page-content .fl-builder-content-primary > .fl-row:not(.psc-path-card):has(+ .psc-path-card) {
  margin-bottom: 44px !important;
}

body[class] .fl-page-content .fl-builder-content-primary > .psc-path-card + .fl-row:not(.psc-path-card) {
  margin-top: 52px !important;
}

@media (max-width: 767px) {
  body[class] .fl-page-content .fl-builder-content-primary:has(> .psc-path-card) {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* --------------------------------------------------------------------------
   2. SERVICE CARD - the row's content wrap is the card.
      Light: B3, 4px, 1px teal. Dark: navy #07122A, borderless.
      Photo column on top as a 16:9 banner; text and button follow in normal
      flow. Cards in a pair stay equal height; any spare space falls at the
      bottom of the shorter card, never between its copy and its button.
   -------------------------------------------------------------------------- */

body[class] .fl-page-content .fl-builder-content-primary > .psc-path-card {
  display: flex !important;
  align-self: stretch;
  padding: 12px 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

body[class] .fl-page-content .fl-builder-content-primary > .psc-path-card > .fl-row-content-wrap {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  padding: 8px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  background-attachment: scroll !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-builder-content-primary > .psc-path-card > .fl-row-content-wrap {
  background-color: #f0f4f9 !important;
  background-image: linear-gradient(160deg, #ffffff 0%, #e2eaf4 100%) !important;
  background-image: linear-gradient(160deg, oklch(100% 0 0) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
  border: 1px solid #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .fl-builder-content-primary > .psc-path-card > .fl-row-content-wrap {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
  border: none !important;
}

/* stack the existing photo column above the existing text column */
body[class] .fl-page-content .psc-path-card :is(.fl-row-content, .fl-col-group) {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
}

body[class] .fl-page-content .psc-path-card .fl-col {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body[class] .fl-page-content .psc-path-card .fl-col:has(.fl-module-photo) {
  order: -1;
  flex: none;
}

body[class] .fl-page-content .psc-path-card .fl-col:not(:has(.fl-module-photo)) {
  flex: 1;
  display: flex !important;
}

body[class] .fl-page-content .psc-path-card .fl-col:not(:has(.fl-module-photo)) > .fl-col-content {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start !important; /* override Beaver Builder vertical centring: spare space goes to the bottom */
}

/* one photo per card: the old mobile-only copies carry .psc-photo-duplicate
   and are hidden with their column at every width; the remaining photo is
   shown at every width, overriding its old desktop/tablet-only visibility */
body[class] .fl-page-content .psc-path-card .fl-module-photo.psc-photo-duplicate,
body[class] .fl-page-content .psc-path-card .fl-col:has(> .fl-col-content > .psc-photo-duplicate) {
  display: none !important;
}

body[class] .fl-page-content .psc-path-card .fl-col:has(.fl-module-photo:not(.psc-photo-duplicate)),
body[class] .fl-page-content .psc-path-card .fl-module-photo:not(.psc-photo-duplicate) {
  display: block !important;
}

/* retire the short underline divider motif */
body[class] .fl-page-content .psc-path-card .fl-module-separator {
  display: none !important;
}

/* 16:9 photo banner with the approved photo treatment (4px corners, inset
   vignette, tight shadow) - the 2B rule skips psc components, so it is
   restated here */
body[class] .fl-page-content .psc-path-card .fl-module-photo :is(.fl-photo, .fl-photo-content) {
  display: block !important;
  width: 100% !important;
}

body[class] .fl-page-content .psc-path-card .fl-module-photo .fl-photo-content {
  position: relative !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

body[class] .fl-page-content .psc-path-card .fl-module-photo .fl-photo-img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 40%;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body[class] .fl-page-content .psc-path-card .fl-module-photo .fl-photo-content::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: 4px !important;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.20), inset 0 0 22px rgba(0, 0, 0, 0.24) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-path-card .fl-module-photo .fl-photo-content {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-path-card .fl-module-photo .fl-photo-content {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.32) !important;
}

/* text links in cards (e.g. the Privacy dagger link) and legacy inline
   purple wrappers: approved teal; hover/focus left to Phase 2A */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-path-card a:not(.fl-button):not(:hover, :focus, :focus-visible),
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-path-card :is([style*="712ab9" i], [style*="113, 42, 185"]):not(a:is(:hover, :focus, :focus-visible)) {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-path-card a:not(.fl-button):not(:hover, :focus, :focus-visible),
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-path-card :is([style*="712ab9" i], [style*="113, 42, 185"], [style*="151, 98, 199"]):not(a:is(:hover, :focus, :focus-visible)) {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}


/* --------------------------------------------------------------------------
   3. "HOW VIRTUAL THERAPY WORKS" - .psc-steps row.
      Light: B2 panel gradient band, open (no box), navy/teal type, B3 step
      cards with the 1px teal edge.
      Dark: #02050E page canvas; the content becomes a contained #07122A
      panel with a 1px #3EA1B6 edge; the step cards are recessed #02050E
      wells with a softer teal edge, so they read distinctly from the panel.
      The number images are hidden and replaced by CSS-counter numerals.
      The consultation button is left to its current (Phase 2A) styling.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps > .fl-row-content-wrap {
  background-color: #e9eff6 !important;
  background-image: linear-gradient(160deg, #f8fafd 0%, #dae4f0 100%) !important;
  background-image: linear-gradient(160deg, oklch(98.44% 0.0045 258.3) 0%, oklch(91.49% 0.0196 252.9) 100%) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-steps > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

/* outer panel: open in light mode, a contained navy panel in dark mode */
body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 4px !important;
}

/* dark panel = the approved dark psc-card surface: #07122A with the teal
   radial highlight top-right and a canvas-toned falloff bottom-left */
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, rgba(40, 140, 196, 0.34), rgba(40, 140, 196, 0) 58%), radial-gradient(ellipse 130% 90% at 4% 118%, rgba(2, 5, 14, 0.55), rgba(2, 5, 14, 0) 55%) !important;
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, oklch(61.00% 0.1224 238.8 / 0.34), oklch(61.00% 0.1224 238.8 / 0) 58%), radial-gradient(ellipse 130% 90% at 4% 118%, oklch(11.58% 0.0251 260.9 / 0.55), oklch(11.58% 0.0251 260.9 / 0) 55%) !important;
  border: 1px solid #3ea1b6 !important;
  border-color: oklch(66.00% 0.0953 214.3) !important;
}

/* display heading in D DIN (already set in Beaver Builder; restated here so
   it cannot drift), no shadow */
body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module-heading:first-child {
  font-family: "D DIN", "D-DIN", Helvetica, Arial, sans-serif !important;
  text-shadow: none !important;
}

/* light mode type on the light band: navy text, teal subtitle and links
   (panel text only - step cards have their own rule; the button is untouched) */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module:not(.fl-module-button),
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module:not(.fl-module-button) :is(p, span, strong, em, li) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module-heading:first-child + .fl-module-heading {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module:not(.fl-module-button) a:not(.fl-button):not(:hover, :focus, :focus-visible),
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-content:has(> .fl-col-group) > .fl-module:not(.fl-module-button) a:not(.fl-button):not(:hover, :focus, :focus-visible) * {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

body[class] .fl-page-content .psc-steps .fl-col-group-nested {
  counter-reset: psc-step;
  gap: 20px;
  margin: 12px 20px 8px;
  width: auto !important;
}

body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col {
  counter-increment: psc-step;
  flex: 1 1 0;
  width: auto !important;
  display: flex;
}

body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content {
  flex: 1;
  padding: 22px 6px 10px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content {
  background-color: #f0f4f9 !important;
  background-image: linear-gradient(160deg, #ffffff 0%, #e2eaf4 100%) !important;
  background-image: linear-gradient(160deg, oklch(100% 0 0) 0%, oklch(93.39% 0.0160 253.9) 100%) !important;
  border: 1px solid #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
}

/* dark step cards: navy-on-navy, a step lighter than the panel - the
   approved #123C5C navy fading into #07122A - with a teal edge */
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content {
  background-color: #0c2240 !important;
  background-color: oklch(26.00% 0.0620 252.0) !important;
  background-image: linear-gradient(160deg, rgba(18, 60, 92, 0.85) 0%, rgba(7, 18, 42, 0.85) 100%) !important;
  background-image: linear-gradient(160deg, oklch(34.44% 0.0724 245.4 / 0.85) 0%, oklch(18.79% 0.0515 263.3 / 0.85) 100%) !important;
  border: 1px solid rgba(62, 161, 182, 0.75) !important;
  border-color: oklch(66.00% 0.0953 214.3 / 0.75) !important;
}

body[class] .fl-page-content .psc-steps .fl-col-group-nested .fl-module-photo {
  display: none !important;
}

body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content::before {
  content: counter(psc-step);
  display: block;
  margin: 0 20px 4px;
  font-family: "D DIN", Helvetica, Arial, sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 1;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content::before {
  color: #2f7a8c;
  color: oklch(54.08% 0.0777 216.5);
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-steps .fl-col-group-nested > .fl-col > .fl-col-content::before {
  color: #3ea1b6;
  color: oklch(66.00% 0.0953 214.3);
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-group-nested :is(h1, h2, h3, h4, h5, h6, p, li, .fl-rich-text),
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-steps .fl-col-group-nested :is(h1, h2, h3, h4, h5, h6, p, li, .fl-rich-text) *:not(a:is(:hover, :focus, :focus-visible)) {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

@media (max-width: 767px) {
  body[class] .fl-page-content .psc-steps .fl-col-group-nested {
    flex-direction: column;
    margin: 12px 16px 8px;
  }
}

/* ===== PATTERN SHIFT - PHASE 4A SERVICES LANDING CLASSES v2 - END ===== */

/* ==========================================================================
   PATTERN SHIFT - PHASE 4B: ABOUT + MEET JASON
   (FINAL 2026-09-25 - approved on About + Meet Jason drafts; append at the END of Additional CSS)

   Reuses the approved service-system classes on these two pages:
     psc-hero   hero ROW                 (B2 hero, navy/teal type, square photo)
     psc-panel  large content COLUMN     (B2 panel)
     psc-cta    closing CTA COLUMN       (light: quiet #F4F7FB row + B2 panel;
                                   dark: #02050E row + #07122A panel, teal glow)
   psc-cta goes on TWO columns: About "Ready to Start Your Journey?"
   (node 931gco28xf4w) and Meet Jason "What I Value" (node r96ukms7jeox,
   holds the Schedule Your Consultation button). Section 5 finds the row
   via :has(.psc-cta), so no row class is needed.
   Adds one class:
     psc-band   ROW that was a #F7F7F7 band -> quiet #F4F7FB (light)
   Every rule below is limited to pages that are NOT service-detail pages
   (body:not(.parent-pageid-132)), so the six finished service pages keep
   their own psc treatment unchanged. No node IDs, row positions or URLs.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. psc-hero on other pages: drop any legacy background photo / overlay,
      keep the dark canvas, and give the H1 a neutral light colour in dark
      mode (the Meet Jason H1 carries a legacy purple).
   -------------------------------------------------------------------------- */

body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero > .fl-row-content-wrap::after {
  display: none !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero h1,
html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero h1 *:not([style*="color"]) {
  color: #f4f3ee !important;
  color: oklch(96.40% 0.0070 95.0) !important;
}


/* --------------------------------------------------------------------------
   2. psc-panel / psc-cta panels on other pages: 4px geometry, 1px teal
      edge, and the approved dark navy surface for psc-panel (the service
      pages get this from psc-card, which is not used here).
   -------------------------------------------------------------------------- */

body[class]:not(.parent-pageid-132) .fl-page-content :is(.psc-panel, .psc-cta) > .fl-col-content {
  border-radius: 4px !important;
  box-shadow: none !important;
  border-width: 1px !important;
  border-style: solid !important;
}

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content :is(.psc-panel, .psc-cta) > .fl-col-content {
  border-color: #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content :is(.psc-panel, .psc-cta) > .fl-col-content {
  border-color: #3ea1b6 !important;
  border-color: oklch(66.00% 0.0953 214.3) !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-panel > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, rgba(40, 140, 196, 0.34), rgba(40, 140, 196, 0) 58%), radial-gradient(ellipse 130% 90% at 4% 118%, rgba(2, 5, 14, 0.55), rgba(2, 5, 14, 0) 55%) !important;
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, oklch(61.00% 0.1224 238.8 / 0.34), oklch(61.00% 0.1224 238.8 / 0) 58%), radial-gradient(ellipse 130% 90% at 4% 118%, oklch(11.58% 0.0251 260.9 / 0.55), oklch(11.58% 0.0251 260.9 / 0) 55%) !important;
}


/* --------------------------------------------------------------------------
   3. psc-band - the old #F7F7F7 section band
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content .psc-band > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: none !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-band > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

/* Photos inside a psc-band row keep the approved Phase 2B photo treatment
   (the 2B rule skips anything inside a psc- component, so it is restated
   here; psc-photo-round keeps its opt-out) */
body[class]:not(.parent-pageid-132) .fl-page-content .psc-band .fl-module-photo:not(.psc-photo-round) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  position: relative !important;
  display: inline-block !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

body[class]:not(.parent-pageid-132) .fl-page-content .psc-band .fl-module-photo:not(.psc-photo-round) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) .fl-photo-img {
  display: block !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

body[class]:not(.parent-pageid-132) .fl-page-content .psc-band .fl-module-photo:not(.psc-photo-round) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: 4px !important;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.20), inset 0 0 22px rgba(0, 0, 0, 0.24) !important;
}

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content .psc-band .fl-module-photo:not(.psc-photo-round) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18) !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-band .fl-module-photo:not(.psc-photo-round) .fl-photo-content:is(.fl-photo-img-jpg, .fl-photo-img-jpeg, .fl-photo-img-webp) {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.32) !important;
}

/* List-module check icons inside these components: legacy mint -> teal */
html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content :is(.psc-band, .psc-panel, .psc-cta, .psc-hero) .fl-list-item-icon {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content :is(.psc-band, .psc-panel, .psc-cta, .psc-hero) .fl-list-item-icon {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}


/* --------------------------------------------------------------------------
   4. PATTERN SHIFT NOTES - Beaver Builder pages only (.fl-builder-content),
      so blog posts and the block-editor landing pages keep theirs.
      A quiet secondary panel: B3 / navy, 1px teal edge, 4px, and an
      outline "Subscribe" link so it stays subordinate to the consultation
      CTA. It is still a plain link (HARD RULE 5 - no form, no third-party
      code on page view).
   -------------------------------------------------------------------------- */

body[class] .fl-builder-content .ps-notes {
  border-radius: 4px !important;
  box-shadow: none !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content .ps-notes {
  background: #f6f9fc !important;
  background-image: linear-gradient(160deg, #fbfcfe 0%, #eef3f9 100%) !important;
  border: 1px solid rgba(47, 122, 140, 0.22) !important;
  box-shadow: none !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content .ps-notes .ps-notes-h {
  color: #16324a !important;
  color: oklch(30.78% 0.0552 246.7) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content .ps-notes p:not(.ps-notes-h) {
  color: #4a6480 !important;
  color: oklch(49.40% 0.0548 250.8) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content .ps-notes {
  background: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
  border: 1px solid rgba(62, 161, 182, 0.16) !important;
  box-shadow: none !important;
}

/* secondary action: outline link, not a filled button */
body[class] .fl-builder-content .ps-notes a.ps-notes-btn {
  background: transparent !important;
  border: 1px solid currentColor !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  padding: 9px 26px !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content .ps-notes a.ps-notes-btn {
  color: #2a6e7e !important;
  color: oklch(50.22% 0.0717 216.1) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content .ps-notes a.ps-notes-btn {
  color: #3ea1b6 !important;
  color: oklch(66.00% 0.0953 214.3) !important;
}

body[class] .fl-builder-content .ps-notes a.ps-notes-btn:is(:hover, :focus-visible) {
  background: rgba(62, 161, 182, 0.12) !important;
  background: oklch(66.00% 0.0953 214.3 / 0.12) !important;
}

/* --------------------------------------------------------------------------
   5. CTA SECTION (v2, replaces the navy-slab light treatment)
      Light: the row becomes the quiet #F4F7FB band and the psc-cta panel
      stays B2 with a teal edge - pale/cool, no dark slab. Buttons untouched.
      Dark: near-black row, navy panel with the approved teal glow, so the
      row and panel read as two layers, not one dark blob.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content .fl-row:has(.psc-cta) > .fl-row-content-wrap {
  background-color: #f4f7fb !important;
  background-color: oklch(97.50% 0.0062 255.5) !important;
  background-image: none !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .fl-row:has(.psc-cta) > .fl-row-content-wrap {
  background-color: #02050e !important;
  background-color: oklch(11.58% 0.0251 260.9) !important;
  background-image: none !important;
}

html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-cta > .fl-col-content {
  background-color: #07122a !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: radial-gradient(ellipse 95% 130% at 90% -12%, rgba(40, 140, 196, 0.34), rgba(40, 140, 196, 0) 58%), radial-gradient(ellipse 130% 90% at 4% 118%, rgba(2, 5, 14, 0.55), rgba(2, 5, 14, 0) 55%) !important;
}

/* stray legacy divider under the hero H1 (Meet Jason) */
body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero .fl-module-heading .fl-heading::after,
body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero .fl-module-heading::after,
body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero .fl-module-separator {
  display: none !important;
}

/* --------------------------------------------------------------------------
   6. psc-hero stacked (phone) rhythm. When the two columns stack, the
      button sat 40px from the copy and 40px from the portrait, so it read
      as glued to the photo. Tighter above the button, clearer break below.
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero .fl-module-button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    text-align: center !important; /* button module is fl-button-left; copy and portrait are centred */
  }
  body[class]:not(.parent-pageid-132) .fl-page-content .psc-hero .fl-module-photo {
    margin-top: 36px !important;
    margin-bottom: 20px !important;
  }
}

/* --------------------------------------------------------------------------
   7. psc-cta: no drop shadow. The live service-page rule
      "html:not([data-wp-dark-mode-active]) body[class] .fl-page-content
      .psc-cta > .fl-col-content" sets 0 10px 28px -12px !important and
      out-ranks section 2 by one element; this one adds the :not() guard.
   -------------------------------------------------------------------------- */

html:not([data-wp-dark-mode-active]) body[class]:not(.parent-pageid-132) .fl-page-content .psc-cta > .fl-col-content,
html[data-wp-dark-mode-active] body[class]:not(.parent-pageid-132) .fl-page-content .psc-cta > .fl-col-content {
  box-shadow: none !important;
}

/* ===== PATTERN SHIFT - PHASE 4B ABOUT + MEET JASON - END ===== */

/* ===== PATTERN SHIFT - PHASE 5: SF1 CONTAINED FOCUS CTA (approved 2026-09-25; append at the END of Additional CSS) =====
   Classes: psc-cta-primary (column = the panel), psc-cta-primary-btn (button module).
   Nothing here touches other buttons, other sections, or Pattern Shift Notes.
   Roll out to another consultation section by adding the two classes; no other CSS needed. */

/* --- section row: page background + outer space (64 above / 72 below) --- */
body[class] .fl-page-content .fl-row:has(.psc-cta-primary) > .fl-row-content-wrap { padding: 64px 24px 72px !important; background-image: none !important; }
/* site content width 1180 (this row's fixed content width was 966) */
body[class] .fl-page-content .fl-row:has(.psc-cta-primary) .fl-row-content { max-width: 1180px !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-row:has(.psc-cta-primary) > .fl-row-content-wrap { background-color: #ffffff !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .fl-row:has(.psc-cta-primary) > .fl-row-content-wrap { background-color: #02050e !important; background-color: oklch(11.58% 0.0251 260.9) !important; }

/* --- panel --- */
body[class] .fl-page-content .psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content { box-sizing: border-box !important; max-width: 1080px !important; margin: 0 auto !important; padding: 72px 80px !important; border-width: 1px !important; border-style: solid !important; border-radius: 4px !important; box-shadow: none !important; outline: none !important; background-image: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content { background-color: #f4f7fb !important; border-color: #d5dfea !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content { background-color: #07122a !important; background-color: oklch(18.79% 0.0515 263.3) !important; border-color: rgba(62, 161, 182, 0.45) !important; border-color: oklch(66.00% 0.0953 214.3 / 0.45) !important; }

/* --- content rhythm --- */
body[class] .fl-page-content .psc-cta-primary .fl-module, body[class] .fl-page-content .psc-cta-primary .fl-module-content { margin: 0 !important; }
/* the heading module IS the h2 (module, .fl-heading and .fl-heading-text are all classes on one element) */
body[class] .fl-page-content .psc-cta-primary .fl-module-heading { font-family: "D DIN", Helvetica, Arial, sans-serif !important; font-weight: 400 !important; font-size: 36px !important; line-height: 1.15 !important; text-align: center !important; max-width: 760px !important; margin: 0 auto 26px !important; }
body[class] .fl-page-content .psc-cta-primary .fl-module-rich-text { margin-bottom: 38px !important; }
body[class] .fl-page-content .psc-cta-primary .fl-rich-text p { font-family: Raleway, sans-serif !important; font-size: 18px !important; line-height: 1.55 !important; text-align: center !important; max-width: 800px !important; margin: 0 auto 18px !important; }
body[class] .fl-page-content .psc-cta-primary .fl-rich-text p + p { max-width: 760px !important; margin-bottom: 0 !important; }
body[class] .fl-page-content .psc-cta-primary .fl-module-button { text-align: center !important; }

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary .fl-heading, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary .fl-heading * { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary .fl-heading, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary .fl-heading * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary .fl-rich-text p, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary .fl-rich-text p * { color: #4a6480 !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary .fl-rich-text p, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary .fl-rich-text p * { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; }

/* --- primary button: logo-derived blue gradient (#003E88 > #004C9E > #006AB7), same in light and dark --- */
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button,
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:visited { display: inline-block !important; width: auto !important; padding: 15px 30px !important; border: 1px solid #5c8fce !important; border-color: oklch(64.12% 0.1100 254.4) !important; border-radius: 8px !important; background-color: #003e88 !important; background-color: oklch(37.82% 0.1362 257.4) !important; background-image: linear-gradient(90deg, #003e88 0%, #004c9e 50%, #006ab7 100%) !important; background-image: linear-gradient(90deg, oklch(37.82% 0.1362 257.4) 0%, oklch(42.84% 0.1484 256.4) 50%, oklch(51.61% 0.1457 249.9) 100%) !important; color: #ffffff !important; color: oklch(100% 0 0) !important; font-family: Raleway, sans-serif !important; font-weight: 600 !important; font-size: 17px !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28) !important; filter: none !important; }
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button *,
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:visited * { color: #ffffff !important; color: oklch(100% 0 0) !important; font: inherit !important; filter: none !important; }
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:hover { border-color: #5c8fce !important; border-color: oklch(64.12% 0.1100 254.4) !important; background-color: #003e88 !important; background-color: oklch(37.82% 0.1362 257.4) !important; background-image: linear-gradient(90deg, #003e88 0%, #004c9e 50%, #006ab7 100%) !important; background-image: linear-gradient(90deg, oklch(37.82% 0.1362 257.4) 0%, oklch(42.84% 0.1484 256.4) 50%, oklch(51.61% 0.1457 249.9) 100%) !important; filter: brightness(1.1) !important; }
html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:active { filter: brightness(0.94) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible { outline: 2px solid #2a6e7e !important; outline-offset: 2px !important; border-color: #5c8fce !important; border-color: oklch(64.12% 0.1100 254.4) !important; background-image: linear-gradient(90deg, #003e88 0%, #004c9e 50%, #006ab7 100%) !important; background-image: linear-gradient(90deg, oklch(37.82% 0.1362 257.4) 0%, oklch(42.84% 0.1484 256.4) 50%, oklch(51.61% 0.1457 249.9) 100%) !important; filter: none !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible { outline: 2px solid #8fd3df !important; outline-color: oklch(82.57% 0.0703 209.7) !important; outline-offset: 2px !important; border-color: #5c8fce !important; border-color: oklch(64.12% 0.1100 254.4) !important; background-image: linear-gradient(90deg, #003e88 0%, #004c9e 50%, #006ab7 100%) !important; background-image: linear-gradient(90deg, oklch(37.82% 0.1362 257.4) 0%, oklch(42.84% 0.1484 256.4) 50%, oklch(51.61% 0.1457 249.9) 100%) !important; filter: none !important; }

/* --- mobile: same hierarchy, smaller type and padding --- */
@media (max-width: 767px) {
  body[class] .fl-page-content .fl-row:has(.psc-cta-primary) > .fl-row-content-wrap { padding: 48px 16px 56px !important; }
  body[class] .fl-page-content .psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content { padding: 44px 22px !important; }
  body[class] .fl-page-content .psc-cta-primary .fl-module-heading { font-size: 28px !important; line-height: 1.2 !important; margin: 0 auto 20px !important; }
  body[class] .fl-page-content .psc-cta-primary .fl-rich-text p { font-size: 16px !important; margin-bottom: 16px !important; }
  body[class] .fl-page-content .psc-cta-primary .fl-module-rich-text { margin-bottom: 30px !important; }
  html body[class] .fl-page-content .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button { box-sizing: border-box !important; max-width: 100% !important; padding: 14px 22px !important; font-size: 16px !important; white-space: normal !important; text-align: center !important; }
}
/* ===== END PHASE 5 SF1 ===== */

/* ===== PATTERN SHIFT - HOMEPAGE SERVICE CARD OVERLAY BOXES, LIGHT MODE (2026-09-25) =====
   The six Box modules in "Support Designed for How You Think" carry a legacy Beaver Builder
   border (#712AB9, 4px) and gray shadow in their module settings. Dark mode already has a
   rule for them (homepage v7). This is its light-mode twin: transparent border, 1px inset
   teal outline (size and position unchanged), no shadow. Background and radius untouched. */

html:not([data-wp-dark-mode-active]) .fl-builder-content-84 :is(
  .fl-node-0u5oti87fc4h,
  .fl-node-y9ns5cv12de3,
  .fl-node-h0ynxbmlf9j3,
  .fl-node-ml4eztp7jgn3,
  .fl-node-xjym4lq9pu2f,
  .fl-node-rvt1ncq6m7hy
) {
  border-color: transparent !important;
  outline-style: solid !important;
  outline-width: 1px !important;
  outline-offset: -1px !important;
  outline-color: #2f7a8c !important;
  outline-color: oklch(54.08% 0.0777 216.5) !important;
  box-shadow: none !important;
}

/* ===== END HOMEPAGE SERVICE CARD OVERLAY BOXES, LIGHT MODE ===== */

/* ===== PATTERN SHIFT - HOMEPAGE SERVICE CARDS, LIGHT MODE BORDER GEOMETRY (2026-09-25) =====
   Matches the dark-mode reference: 1px teal border on the photo card and on the white overlay
   box, no shadow, no outline. The old 4px Beaver Builder border becomes 1px border + 3px padding,
   so every box keeps its exact outer size and its content stays where it was. Supersedes the
   earlier "OVERLAY BOXES, LIGHT MODE" outline block (this one is later and wins). Light mode only.
   No overflow:hidden on the card: the overlay box intentionally hangs past the card's bottom edge
   and would be clipped. The photo's darkening overlay (::after) inherited an 8px radius while the
   inner edge of a 1px border is 7px, so it is set to 7px to remove the corner sliver. */

html:not([data-wp-dark-mode-active]) .fl-builder-content-84 :is(
  .fl-node-0afkz5mv13bu,
  .fl-node-5iylu4gq72m8,
  .fl-node-wx5yq0lsr1ok,
  .fl-node-mbzk6w9y2i3q,
  .fl-node-oqcy0pd87tw3,
  .fl-node-qsluz2k36vti
) > .fl-col-content {
  border-style: solid !important;
  border-width: 1px !important;
  border-color: #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
  padding: 3px !important;
  outline: none !important;
  box-shadow: none !important;
}

html:not([data-wp-dark-mode-active]) .fl-builder-content-84 :is(
  .fl-node-0afkz5mv13bu,
  .fl-node-5iylu4gq72m8,
  .fl-node-wx5yq0lsr1ok,
  .fl-node-mbzk6w9y2i3q,
  .fl-node-oqcy0pd87tw3,
  .fl-node-qsluz2k36vti
) > .fl-col-content::after {
  border-radius: 7px !important;
}

html:not([data-wp-dark-mode-active]) .fl-builder-content-84 :is(
  .fl-node-0u5oti87fc4h,
  .fl-node-y9ns5cv12de3,
  .fl-node-h0ynxbmlf9j3,
  .fl-node-ml4eztp7jgn3,
  .fl-node-xjym4lq9pu2f,
  .fl-node-rvt1ncq6m7hy
) {
  border: 1px solid #2f7a8c !important;
  border-color: oklch(54.08% 0.0777 216.5) !important;
  padding: 3px !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ===== END HOMEPAGE SERVICE CARDS, LIGHT MODE BORDER GEOMETRY ===== */

/* ===== PATTERN SHIFT - PATTERN SHIFT NOTES, DARK MODE CANONICAL (C2) (2026-09-26) =====
   One dark-mode treatment for every Notes block: posts, Blog / Further Reading / Research Notes
   landing pages, About, Meet Jason. Covers both class families (.ps-notes and .ps-notes-fr).
   Dark mode only; light mode is not selected here. Each colour is a hex plus an oklch() twin
   (WP Dark Mode rewrites hex/rgb but leaves oklch alone).
   Panel  #0b1a36  slightly lifted navy on the #02050E canvas
   Border rgba(62,161,182,.16)  much quieter than the consultation CTA border (.45)
   Button muted blue slate #40638f > #36567f, border #6f90ba, white text, 8px radius, 1px shadow
   Geometry: panel radius 4px (sitewide card/panel standard; landing pages and .ps-notes-fr
   were 12px), button radius 8px. Panel padding and width are NOT changed. */

/* panel */
html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes.ps-notes,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr.ps-notes-fr {
  background-color: #0b1a36 !important;
  background-color: oklch(22.24% 0.0585 261.7) !important;
  background-image: none !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-color: rgba(62, 161, 182, 0.16) !important;
  border-color: oklch(66.00% 0.0953 214.3 / 0.16) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* heading + copy */
html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes .ps-notes-h,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr .ps-notes-fr-h {
  color: #f4f7fb !important;
  color: oklch(97.50% 0.0062 255.5) !important;
}

html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes p:not(.ps-notes-h),
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr p:not(.ps-notes-fr-h) {
  color: #b9c6d8 !important;
  color: oklch(82.22% 0.0291 256.5) !important;
}

/* Subscribe button: filled, muted blue slate (secondary) */
html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes a.ps-notes-btn.ps-notes-btn.ps-notes-btn,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr a.ps-notes-fr-btn.ps-notes-fr-btn.ps-notes-fr-btn,
html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes a.ps-notes-btn.ps-notes-btn.ps-notes-btn:visited,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr a.ps-notes-fr-btn.ps-notes-fr-btn.ps-notes-fr-btn:visited {
  background-color: #132C48 !important;
  background-color: oklch(28.87% 0.0602 252.9) !important;
  background-image: none !important;
  border: 1px solid #3E7CA8 !important;
  border-color: oklch(56.44% 0.0937 241.9) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.28) !important;
  color: #ffffff !important;
  color: oklch(100% 0 0) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  filter: none !important;
}

/* hover / active / focus (calm) */
html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes a.ps-notes-btn.ps-notes-btn.ps-notes-btn:hover,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr a.ps-notes-fr-btn.ps-notes-fr-btn.ps-notes-fr-btn:hover {
  filter: brightness(1.15) !important;
}

html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes a.ps-notes-btn.ps-notes-btn.ps-notes-btn:active,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr a.ps-notes-fr-btn.ps-notes-fr-btn.ps-notes-fr-btn:active {
  filter: brightness(0.90) !important;
}

html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes a.ps-notes-btn.ps-notes-btn.ps-notes-btn:focus-visible,
html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr a.ps-notes-fr-btn.ps-notes-fr-btn.ps-notes-fr-btn:focus-visible {
  outline: 2px solid #a9c1e2 !important;
  outline-color: oklch(80.40% 0.0538 256.4) !important;
  outline-offset: 2px !important;
}

/* ===== END PATTERN SHIFT NOTES, DARK MODE CANONICAL (C2) ===== */

/* ===== PATTERN SHIFT - PHASE 6 HOW I WORK (approved 2026-09-26; append at the END of Additional CSS) =====
   Page rows: psc-hero, psc-how-approach, psc-how-license (+psc-band), psc-how-training, psc-how-studying (+psc-band); CTA uses the existing SF1 classes.
   Replaces the temporary Beaver Builder page Layout CSS. Every rule is scoped by these page classes, so nothing else on the site is affected. */
/* frame */
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) > .fl-row-content-wrap { padding: 52px 24px !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-row-content { max-width: 1180px !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-module { margin: 0 !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-col-content { border: 0 !important; box-shadow: none !important; outline: none !important; background: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-how-approach, .psc-how-training) > .fl-row-content-wrap { background-color: #ffffff !important; background-image: none !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-how-approach, .psc-how-training) > .fl-row-content-wrap { background-color: #02050e !important; background-color: oklch(11.58% 0.0251 260.9) !important; background-image: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-how-license, .psc-how-studying) > .fl-row-content-wrap { border-top: 1px solid rgba(47, 122, 140, 0.30) !important; border-bottom: 1px solid rgba(47, 122, 140, 0.30) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-how-license, .psc-how-studying) > .fl-row-content-wrap { border-top: 1px solid rgba(62, 161, 182, 0.30) !important; border-top-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; border-bottom: 1px solid rgba(62, 161, 182, 0.30) !important; border-bottom-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; }

/* type: D DIN headings, Raleway body */
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(h2, h3, h2 *, h3 *) { font-family: "D DIN", Helvetica, Arial, sans-serif !important; font-weight: 400 !important; line-height: 1.15 !important; text-transform: none !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text h2 { font-size: 28px !important; margin: 0 0 18px !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text h3 { font-size: 20px !important; margin: 0 0 12px !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(p, li, span) { font-family: Raleway, sans-serif !important; font-size: 16.5px !important; line-height: 1.55 !important; font-weight: 400 !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text p { margin: 0 0 14px !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text p:last-child { margin-bottom: 0 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(h2, h3, h2 *, h3 *) { color: #16324a !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(p, li, span) { color: #4a6480 !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(h2, h3, h2 *, h3 *) { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text :is(p, li, span) { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; }

/* quiet teal list markers */
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training) .fl-rich-text ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training) .fl-rich-text li { position: relative; padding-left: 24px !important; margin: 0 0 8px !important; break-inside: avoid; }
body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training) .fl-rich-text li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 12px; height: 1px; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training) .fl-rich-text li::before { background: #2f7a8c; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training) .fl-rich-text li::before { background: #3ea1b6; background: oklch(66.00% 0.0953 214.3); }

/* 2 approaches: wide prose, two-column list */
body[class] .fl-page-content .psc-how-approach .fl-rich-text { max-width: 900px; margin: 0 auto !important; }
body[class] .fl-page-content .psc-how-approach .fl-rich-text ul { column-count: 2; column-gap: 56px; margin: 6px 0 18px !important; }

/* 3 licensure: one compact full-width section */
body[class] .fl-page-content .psc-how-license .fl-rich-text { display: block; max-width: 1080px; margin: 0 auto !important; }
body[class] .fl-page-content .psc-how-license .psc-how-license-main h2 { margin-bottom: 14px !important; }
body[class] .fl-page-content .psc-how-license .fl-rich-text p.psc-how-license-cred { font-size: 20px !important; line-height: 1.4 !important; font-weight: 600 !important; margin: 0 0 8px !important; }
body[class] .fl-page-content .psc-how-license .fl-rich-text p.psc-how-license-support { font-size: 16px !important; line-height: 1.5 !important; margin: 0 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-how-license .fl-rich-text p.psc-how-license-cred { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-how-license .fl-rich-text p.psc-how-license-cred { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
body[class] .fl-page-content .psc-how-license .psc-how-license-extra { margin-top: 28px; }
body[class] .fl-page-content .psc-how-license .psc-how-license-extra h3 { font-size: 19px !important; margin: 0 0 10px !important; }
body[class] .fl-page-content .psc-how-license .psc-how-license-extra li { font-size: 15.5px !important; line-height: 1.5 !important; margin-bottom: 6px !important; }

body[class] .fl-page-content .psc-how-license .fl-rich-text::before, body[class] .fl-page-content .psc-how-license .fl-rich-text::after { display: none !important; content: none !important; }

/* 4 selected training areas: heading + three compact columns, top aligned */
body[class] .fl-page-content .psc-how-training-intro { max-width: 900px; margin: 0 auto 28px; }
body[class] .fl-page-content .psc-how-training-intro h2 { margin-bottom: 0 !important; }
body[class] .fl-page-content .psc-how-training-cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr; align-items: start; max-width: 1000px; margin: 0 auto; }
body[class] .fl-page-content .psc-how-training-col { padding: 0 28px; }
body[class] .fl-page-content .psc-how-training-col:first-child { padding-left: 0; }
body[class] .fl-page-content .psc-how-training-col:last-child { padding-right: 0; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-how-training-col + .psc-how-training-col { border-left: 1px solid rgba(47, 122, 140, 0.30); }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-how-training-col + .psc-how-training-col { border-left: 1px solid rgba(62, 161, 182, 0.30); border-left-color: oklch(66.00% 0.0953 214.3 / 0.30); }
body[class] .fl-page-content .psc-how-training .fl-rich-text :is(li, span) { font-size: 15.5px !important; line-height: 1.5 !important; }
body[class] .fl-page-content .psc-how-training .fl-rich-text li { margin-bottom: 5px !important; }

/* 5 what I keep studying */
body[class] .fl-page-content .psc-how-studying .fl-rich-text { max-width: 880px; margin: 0 auto !important; }

/* hero */
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero > .fl-row-content-wrap { display: flex !important; align-items: center !important; min-height: 0 !important; padding-top: 40px !important; padding-bottom: 40px !important; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero > .fl-row-content-wrap > .fl-row-content { width: 100%; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-col-group { display: flex; align-items: center; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-col:first-child .fl-col-content { justify-content: center; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-module-photo { margin: 0 !important; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-module-photo .fl-photo-img { border-radius: 4px !important; box-shadow: none !important; }
@media (min-width: 768px) { body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-module-photo :is(.fl-photo-content, .fl-photo-img) { width: 320px !important; } }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading { font-size: 55px !important; line-height: 1.08 !important; margin: 0 0 22px !important; max-width: 560px; text-align: left !important; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy { max-width: 560px; margin: 0 !important; text-align: left; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p { font-family: Raleway, sans-serif !important; font-size: 17px !important; line-height: 1.5 !important; font-weight: 400 !important; margin: 0 !important; text-align: left !important; }
body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p.psc-how-hero-lead { font-size: 20px !important; line-height: 1.45 !important; font-weight: 500 !important; margin: 0 0 16px !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading * { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading, html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p { color: #4a6480 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p.psc-how-hero-lead { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p.psc-how-hero-lead { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }

/* mobile: stack, keep compressed scale */
@media (max-width: 767px) {
  body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) > .fl-row-content-wrap { padding: 40px 20px !important; }
  body[class] .fl-page-content :is(.psc-how-approach, .psc-how-license, .psc-how-training, .psc-how-studying) .fl-rich-text h2 { font-size: 24px !important; margin-bottom: 14px !important; }
  body[class] .fl-page-content .psc-how-approach .fl-rich-text ul { column-count: 1; }
  body[class] .fl-page-content .psc-how-training-cols { grid-template-columns: 1fr; }
  body[class] .fl-page-content .psc-how-training-col, body[class] .fl-page-content .psc-how-training-col:first-child, body[class] .fl-page-content .psc-how-training-col:last-child { padding: 0 0 6px; }
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-how-training-col + .psc-how-training-col { border-left: 0; border-top: 1px solid rgba(47, 122, 140, 0.30); padding-top: 22px; margin-top: 16px; }
  html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-how-training-col + .psc-how-training-col { border-left: 0; border-top: 1px solid rgba(62, 161, 182, 0.30); padding-top: 22px; margin-top: 16px; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero > .fl-row-content-wrap { display: block !important; padding: 36px 20px !important; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero h1.fl-module-heading { font-size: 40px !important; line-height: 1.1 !important; margin: 0 0 16px !important; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p { font-size: 16px !important; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .psc-how-hero-copy p.psc-how-hero-lead { font-size: 18px !important; margin: 0 0 12px !important; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-col-group { display: block; }
  body[class] .fl-page-content:has(.psc-how-approach) .psc-hero .fl-module-photo { margin-top: 24px !important; }
}
/* ===== END PHASE 6 HOW I WORK ===== */

/* ===== PATTERN SHIFT - FEES & INSURANCE (approved 2026-09-26; append at the END of Additional CSS) =====
   Page rows: psc-hero, psc-fees-fee, psc-band psc-fees-summary, psc-fees-why (contains the psc-accordion module), psc-fees-cta (SF1 with a page-scoped compact modifier).
   psc-accordion is a GENERIC, reusable accordion foundation (one contained editorial component); everything else is scoped to the psc-fees-* row classes.
   Relies on existing live rules: psc-hero (B2 hero), psc-band (quiet band), and the global SF1 classes psc-cta-primary / psc-cta-primary-btn (not modified here).
   Replaces the temporary Beaver Builder page Layout CSS. */

/* frame */
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) > .fl-row-content-wrap { padding: 48px 24px !important; }
body[class] .fl-page-content .psc-fees-why > .fl-row-content-wrap { padding-top: 40px !important; padding-bottom: 40px !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) .fl-row-content { max-width: 1080px !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) .fl-module { margin: 0 !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) .fl-col-content { border: 0 !important; box-shadow: none !important; outline: none !important; background: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-why) > .fl-row-content-wrap { background-color: #ffffff !important; background-image: none !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-why) > .fl-row-content-wrap { background-color: #02050e !important; background-color: oklch(11.58% 0.0251 260.9) !important; background-image: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-fees-summary > .fl-row-content-wrap { border-top: 1px solid rgba(47, 122, 140, 0.30) !important; border-bottom: 1px solid rgba(47, 122, 140, 0.30) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-fees-summary > .fl-row-content-wrap { border-top: 1px solid rgba(62, 161, 182, 0.30) !important; border-top-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; border-bottom: 1px solid rgba(62, 161, 182, 0.30) !important; border-bottom-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; }

/* type */
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(h2, h3, h2 *, h3 *), body[class] .fl-page-content .psc-fees-summary .fl-callout-title, body[class] .fl-page-content .psc-fees-summary .fl-callout-title * { font-family: "D DIN", Helvetica, Arial, sans-serif !important; font-weight: 400 !important; line-height: 1.15 !important; text-transform: none !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) h2 { font-size: 28px !important; margin: 0 0 16px !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) h3, body[class] .fl-page-content .psc-fees-summary .fl-callout-title { font-size: 20px !important; margin: 0 0 10px !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(p, li, span, strong, em) { font-family: Raleway, sans-serif !important; font-size: 16.5px !important; line-height: 1.55 !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(p, li, span, em) { font-weight: 400 !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) strong { font-weight: 600 !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) p { margin: 0 0 14px !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) p:last-child { margin-bottom: 0 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(h2, h3, h2 *, h3 *), html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-fees-summary .fl-callout-title, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-fees-summary .fl-callout-title * { color: #16324a !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(p, li, span, strong, em) { color: #4a6480 !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(h2, h3, h2 *, h3 *), html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-fees-summary .fl-callout-title, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-fees-summary .fl-callout-title * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) :is(p, li, span, strong, em) { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; }
body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) .fl-rich-text, body[class] .fl-page-content .psc-fees-summary .psc-fees-reduced { max-width: 880px; }

/* hero - FEES PAGE ONLY */
body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero > .fl-row-content-wrap { display: block !important; min-height: 0 !important; padding: 40px 24px !important; }
body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero .fl-row-content { max-width: 1080px !important; }
body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading { font-size: 54px !important; line-height: 1.12 !important; margin: 0 !important; text-align: left !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading * { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading, html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }

/* fee: ordinary body text, button 22px beneath */
body[class] .fl-page-content .psc-fees-fee .fl-module-rich-text { margin-bottom: 22px !important; }
body[class] .fl-page-content .psc-fees-fee .fl-module-button { text-align: left; }

/* summary: insurance answer, then reimbursement and reduced-rate stacked, horizontal divider between */
body[class] .fl-page-content .psc-fees-summary .fl-col-content { display: block !important; }
body[class] .fl-page-content .psc-fees-summary .psc-fees-lead { margin-bottom: 28px !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-fees-summary .psc-fees-reduced { border-top: 1px solid rgba(47, 122, 140, 0.30); margin-top: 28px !important; padding-top: 28px !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-fees-summary .psc-fees-reduced { border-top: 1px solid rgba(62, 161, 182, 0.30); border-top-color: oklch(66.00% 0.0953 214.3 / 0.30); margin-top: 28px !important; padding-top: 28px !important; }
body[class] .fl-page-content .psc-fees-summary .fl-callout, body[class] .fl-page-content .psc-fees-summary .fl-callout-content { background: none !important; border: 0 !important; padding: 0 !important; text-align: left !important; }
body[class] .fl-page-content .psc-fees-summary .fl-callout-text p { margin: 0 !important; }
body[class] .fl-page-content .psc-fees-summary .fl-module-content, body[class] .fl-page-content .psc-fees-summary .fl-callout-text-wrap, body[class] .fl-page-content .psc-fees-summary .fl-callout-title { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body[class] .fl-page-content .psc-fees-summary .fl-module-content { margin-top: 0 !important; margin-bottom: 0 !important; }


/* CTA: standard SF1 with a page-scoped compact modifier (desktop only; global SF1 untouched) */
@media (min-width: 768px) {
  body[class] .fl-page-content .psc-fees-cta.psc-fees-cta.psc-fees-cta.psc-fees-cta > .fl-row-content-wrap { padding: 40px 24px 48px !important; }
  body[class] .fl-page-content .psc-fees-cta.psc-fees-cta.psc-fees-cta.psc-fees-cta .psc-cta-primary.psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content { padding: 44px 64px !important; }
  body[class] .fl-page-content .psc-fees-cta .psc-cta-primary .fl-module-heading { font-size: 30px !important; margin-bottom: 14px !important; }
  body[class] .fl-page-content .psc-fees-cta .psc-cta-primary .fl-rich-text p { font-size: 17px !important; line-height: 1.5 !important; max-width: 760px !important; }
  body[class] .fl-page-content .psc-fees-cta .psc-cta-primary .fl-module-rich-text { margin-bottom: 24px !important; }
}

/* mobile */
@media (max-width: 767px) {
  body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) > .fl-row-content-wrap { padding: 40px 20px !important; }
  body[class] .fl-page-content .psc-fees-why > .fl-row-content-wrap { padding-top: 32px !important; padding-bottom: 32px !important; }
  body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero > .fl-row-content-wrap { padding: 32px 20px !important; }
  body[class] .fl-page-content:has(.psc-fees-fee) .psc-hero h1.fl-module-heading { font-size: 40px !important; }
  body[class] .fl-page-content :is(.psc-fees-fee, .psc-fees-summary, .psc-fees-why) :is(.fl-rich-text, .fl-callout) h2 { font-size: 24px !important; }
}
/* ===== END FEES & INSURANCE ===== */
/* ===== PATTERN SHIFT - FEES: reduced-rate heading normalization =====
   The visible callout heading sits in span.fl-callout-title-text, which the Fees body-text rule (p, li, span...) had styled as Raleway 16.5px / #4A6480.
   Matches the Out of Network Reimbursement h3: D DIN 20px, weight 400, line-height 1.15, #16324A (light) / #F4F7FB (dark). Append after the Fees & Insurance block. */
body[class] .fl-page-content .psc-fees-summary .fl-callout-title .fl-callout-title-text { font-family: "D DIN", Helvetica, Arial, sans-serif !important; font-size: 20px !important; font-weight: 400 !important; line-height: 1.15 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-fees-summary .fl-callout-title .fl-callout-title-text { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-fees-summary .fl-callout-title .fl-callout-title-text { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
/* ===== END FEES heading normalization ===== */

/* ===== PATTERN SHIFT - PHASE 8: CONTACT PAGE (approved 2026-09-26; append at the END of Additional CSS) =====
   Rows: psc-hero, psc-contact-start, psc-band psc-contact-practical, psc-contact-crisis.
   Primary button = existing psc-cta-primary-btn, overridden ONLY inside .psc-contact-start (global SF1 untouched);
   secondary = psc-contact-secondary-btn. Semantic classes only; no Beaver Builder node IDs.
   Relies on existing live rules: psc-hero (B2 hero), psc-band (quiet band). Hero rules here are scoped to the hero row
   that precedes .psc-contact-start so no other page's hero changes. Each dark colour is a hex plus an oklch() twin. */

/* frame */
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) > .fl-row-content-wrap { padding: 48px 24px !important; }
body[class] .fl-page-content .psc-contact-start > .fl-row-content-wrap { padding-top: 36px !important; padding-bottom: 36px !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-row-content { max-width: 1080px !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-module { margin: 0 !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-col-content { border: 0 !important; box-shadow: none !important; outline: none !important; background: none !important; border-radius: 0 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-crisis) > .fl-row-content-wrap { background-color: #ffffff !important; background-image: none !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-crisis) > .fl-row-content-wrap { background-color: #02050e !important; background-color: oklch(11.58% 0.0251 260.9) !important; background-image: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-practical > .fl-row-content-wrap { border-top: 1px solid rgba(47, 122, 140, 0.30) !important; border-bottom: 1px solid rgba(47, 122, 140, 0.30) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-practical > .fl-row-content-wrap { border-top: 1px solid rgba(62, 161, 182, 0.30) !important; border-top-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; border-bottom: 1px solid rgba(62, 161, 182, 0.30) !important; border-bottom-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-crisis > .fl-row-content-wrap { border-top: 1px solid rgba(47, 122, 140, 0.30) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-crisis > .fl-row-content-wrap { border-top: 1px solid rgba(62, 161, 182, 0.30) !important; border-top-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; }

/* type */
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) :is(.fl-module-heading, .fl-module-heading *) { font-family: "D DIN", Helvetica, Arial, sans-serif !important; font-weight: 400 !important; line-height: 1.15 !important; text-transform: none !important; text-align: left !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) h2.fl-module-heading { font-size: 28px !important; margin: 0 0 14px !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) h3.fl-module-heading { font-size: 20px !important; margin: 0 0 10px !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text :is(p, li, span, strong, b, em) { font-family: Raleway, sans-serif !important; font-size: 16.5px !important; line-height: 1.55 !important; font-weight: 400 !important; text-align: left !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text :is(strong, b) { font-weight: 600 !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text p { margin: 0 0 12px !important; }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text p:last-child { margin-bottom: 0 !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) :is(.fl-module-heading, .fl-module-heading *) { color: #16324a !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text :is(p, li, span, strong, b, em) { color: #4a6480 !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) :is(.fl-module-heading, .fl-module-heading *) { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text :is(p, li, span, strong, b, em) { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text a, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text a * { color: #2a6e7e !important; text-decoration: underline; text-underline-offset: 3px; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text a, html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text a * { color: #3ea1b6 !important; color: oklch(66.00% 0.0953 214.3) !important; text-decoration: underline; text-underline-offset: 3px; }
body[class] .fl-page-content :is(.psc-contact-practical, .psc-contact-crisis) .fl-rich-text ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body[class] .fl-page-content :is(.psc-contact-practical, .psc-contact-crisis) .fl-rich-text li { position: relative; padding-left: 24px !important; margin: 0 0 8px !important; }
body[class] .fl-page-content :is(.psc-contact-practical, .psc-contact-crisis) .fl-rich-text li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 12px; height: 1px; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content :is(.psc-contact-practical, .psc-contact-crisis) .fl-rich-text li::before { background: #2f7a8c; }
html[data-wp-dark-mode-active] body[class] .fl-page-content :is(.psc-contact-practical, .psc-contact-crisis) .fl-rich-text li::before { background: #3ea1b6; background: oklch(66.00% 0.0953 214.3); }
body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) .fl-rich-text { max-width: 760px; }

/* primary contact: consultation first, secondary route beneath */
body[class] .fl-page-content .psc-contact-start .psc-contact-lead { margin-bottom: 18px !important; }
body[class] .fl-page-content .psc-contact-start .psc-contact-sub { margin-top: 28px !important; padding-top: 22px !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-contact-sub { border-top: 1px solid rgba(47, 122, 140, 0.30); }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-start .psc-contact-sub { border-top: 1px solid rgba(62, 161, 182, 0.30); border-top-color: oklch(66.00% 0.0953 214.3 / 0.30); }
body[class] .fl-page-content .psc-contact-start .psc-contact-sub-copy { margin-bottom: 18px !important; }
body[class] .fl-page-content .psc-contact-start .fl-module-button { text-align: left; }

/* secondary button: quiet outline, 8px radius, clearly below the primary */
html body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button, html body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited { background-color: transparent !important; background-image: none !important; border: 1px solid #2f7a8c !important; border-radius: 8px !important; box-shadow: none !important; padding: 12px 24px !important; font-family: Raleway, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.2 !important; text-decoration: none !important; filter: none !important; width: auto !important; }
html body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button *, html body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited * { font: inherit !important; filter: none !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button *, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited * { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button *, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:visited { border-color: #3ea1b6 !important; border-color: oklch(66.00% 0.0953 214.3) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:hover { background-color: #f4f7fb !important; border-color: #2f7a8c !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:hover { background-color: #0b1a36 !important; background-color: oklch(22.24% 0.0585 261.7) !important; border-color: #3ea1b6 !important; border-color: oklch(66.00% 0.0953 214.3) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:focus-visible { outline: 2px solid #2a6e7e !important; outline-offset: 2px !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn.psc-contact-secondary-btn a.fl-button:focus-visible { outline: 2px solid #8fd3df !important; outline-color: oklch(82.57% 0.0703 209.7) !important; outline-offset: 2px !important; }

/* practical items: links inherit the list item's typography exactly (subtle underline only) */
body[class] .fl-page-content .psc-contact-practical .fl-rich-text a, body[class] .fl-page-content .psc-contact-practical .fl-rich-text a * { font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; }

/* practical links: same text colour as the other items; the underline (teal) is the only link cue */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-practical .fl-rich-text a, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-practical .fl-rich-text a * { color: #4a6480 !important; text-decoration-color: #2f7a8c !important; text-decoration-thickness: 1px; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-practical .fl-rich-text a, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-practical .fl-rich-text a * { color: #b9c6d8 !important; color: oklch(82.22% 0.0291 256.5) !important; text-decoration-color: #3ea1b6 !important; text-decoration-color: oklch(66.00% 0.0953 214.3) !important; text-decoration-thickness: 1px; }

/* Contact-only primary consultation button: quieter deep teal (global SF1 untouched) */
html body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button, html body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:visited { padding: 13px 22px !important; font-size: 15.5px !important; font-weight: 600 !important; line-height: 1.2 !important; border-radius: 8px !important; border: 1px solid #2f7a8c !important; border-color: oklch(54.08% 0.0777 216.5) !important; background-color: #256575 !important; background-color: oklch(47.30% 0.0687 217.3) !important; background-image: linear-gradient(90deg, #1f5a68 0%, #256575 50%, #2f7a8c 100%) !important; background-image: linear-gradient(90deg, oklch(43.59% 0.0638 216.4) 0%, oklch(47.30% 0.0687 217.3) 50%, oklch(54.08% 0.0777 216.5) 100%) !important; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12) !important; }
html body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:hover { border-color: #2f7a8c !important; border-color: oklch(54.08% 0.0777 216.5) !important; background-image: linear-gradient(90deg, #1f5a68 0%, #256575 50%, #2f7a8c 100%) !important; background-image: linear-gradient(90deg, oklch(43.59% 0.0638 216.4) 0%, oklch(47.30% 0.0687 217.3) 50%, oklch(54.08% 0.0777 216.5) 100%) !important; filter: brightness(1.1) !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible { background-image: linear-gradient(90deg, #1f5a68 0%, #256575 50%, #2f7a8c 100%) !important; background-image: linear-gradient(90deg, oklch(43.59% 0.0638 216.4) 0%, oklch(47.30% 0.0687 217.3) 50%, oklch(54.08% 0.0777 216.5) 100%) !important; border-color: #2f7a8c !important; border-color: oklch(54.08% 0.0777 216.5) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible { background-image: linear-gradient(90deg, #1f5a68 0%, #256575 50%, #2f7a8c 100%) !important; background-image: linear-gradient(90deg, oklch(43.59% 0.0638 216.4) 0%, oklch(47.30% 0.0687 217.3) 50%, oklch(54.08% 0.0777 216.5) 100%) !important; border-color: #2f7a8c !important; border-color: oklch(54.08% 0.0777 216.5) !important; }

/* light mode only: lighter teal for the Contact primary button (dark mode untouched) */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:visited, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:hover, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-start .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible { background-color: #29707f !important; background-image: linear-gradient(90deg, #276473 0%, #29707f 50%, #29808e 100%) !important; background-image: linear-gradient(90deg, oklch(47.00% 0.0660 216.4) 0%, oklch(50.80% 0.0730 213.5) 50%, oklch(55.60% 0.0830 209.5) 100%) !important; border-color: #3a91a0 !important; border-color: oklch(61.00% 0.0850 211.0) !important; }

/* before you schedule: quiet band (psc-band supplies the surface) */
body[class] .fl-page-content .psc-contact-practical .fl-rich-text { max-width: 880px; }

/* crisis: two restrained columns, hairline between */
body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col > .fl-col-content { padding: 0 28px 0 0 !important; }
body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { padding: 0 0 0 28px !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { border-left: 1px solid rgba(47, 122, 140, 0.30) !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { border-left: 1px solid rgba(62, 161, 182, 0.30) !important; border-left-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; }
body[class] .fl-page-content .psc-contact-crisis .fl-col-group:first-child { margin-bottom: 8px; }

/* hero (same as Fees; scoped to the hero row that precedes the Contact start section) */
body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) > .fl-row-content-wrap { display: block !important; min-height: 0 !important; padding: 40px 24px !important; background-image: none !important; }
body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) .fl-row-content { max-width: 1080px !important; }
body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading { font-size: 54px !important; line-height: 1.12 !important; margin: 0 !important; text-align: left !important; }
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading, html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading * { color: #16324a !important; }
html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading, html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading * { color: #f4f7fb !important; color: oklch(97.50% 0.0062 255.5) !important; }

/* mobile */
@media (max-width: 767px) {
  body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) > .fl-row-content-wrap { padding: 40px 20px !important; }
  body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) > .fl-row-content-wrap { padding: 32px 20px !important; }
  body[class] .fl-page-content .psc-hero:has(~ .psc-contact-start) h1.fl-module-heading { font-size: 40px !important; }
  body[class] .fl-page-content :is(.psc-contact-start, .psc-contact-practical, .psc-contact-crisis) h2.fl-module-heading { font-size: 24px !important; }
  body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col > .fl-col-content, body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { padding: 0 !important; }
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { border-left: 0 !important; border-top: 1px solid rgba(47, 122, 140, 0.30) !important; padding-top: 22px !important; margin-top: 22px; }
  html[data-wp-dark-mode-active] body[class] .fl-page-content .psc-contact-crisis .fl-col-group .fl-col + .fl-col > .fl-col-content { border-left: 0 !important; border-top: 1px solid rgba(62, 161, 182, 0.30) !important; border-top-color: oklch(66.00% 0.0953 214.3 / 0.30) !important; padding-top: 22px !important; margin-top: 22px; }
}
/* ===== END PHASE 8 CONTACT ===== */

/* ===== PATTERN SHIFT - PHASE 9 COLOR SYSTEM (permanent; 2026-09-27) - START =====
   Locks the site to Palette B (light) / Palette E (dark), the outcome of the A-E live
   palette test. Covers: primary consultation CTAs, ordinary links on migrated pages,
   card/panel/hairline borders, small icon accents, the .psc-card-accent purple retire,
   FAQ colour-only normalization, header/footer legacy green-teal cleanup, and the Notes
   dark panel surface. Out of scope (left untouched): secondary/legacy gradient buttons,
   Notes Subscribe button, Locations/Compliance archetypes, Blog/Research Notes/Further
   Reading inline templates, homepage STEP badge PNGs (raster images - see report), FAQ
   accordion architecture. Once verified, delete the temporary A-E harness block that
   currently follows this one; nothing here depends on it. */
/* 1. PRIMARY CONSULTATION CTAs - unifies the former SF1 (.psc-cta-primary-btn) role
   with the per-page consultation buttons (.psc-btn, and four bare Beaver Builder
   buttons identified by node id on Home/Services/About/Meet Jason) into ONE role.
   Geometry, radius, shadow and typography untouched - colour only. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button
) {
  background-color: #2A5D7F !important; background-color: oklch(45.92% 0.0779 240.6) !important; background-image: none !important;
  border-color: #4B86A7 !important; border-color: oklch(59.35% 0.0797 234.8) !important; border-style: solid !important;
}

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button *,
  html:not([data-wp-dark-mode-active]) body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button *,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button *,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button *
) {
  color: #FFFFFF !important; color: oklch(100.00% 0.0000 89.9) !important;
}

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:is(:hover, :focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button:is(:hover, :focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible)
) {
  background-color: #326B8B !important; background-color: oklch(50.37% 0.0784 235.9) !important; background-image: none !important;
  border-color: #4B86A7 !important; border-color: oklch(59.35% 0.0797 234.8) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button
) {
  background-color: #216A9D !important; background-color: oklch(50.51% 0.1072 243.9) !important; background-image: linear-gradient(90deg, #216A9D 0%, #287EAA 100%) !important; background-image: linear-gradient(90deg, oklch(50.51% 0.1072 243.9) 0%, oklch(56.28% 0.1045 235.7) 100%) !important;
  border-color: #08C0E3 !important; border-color: oklch(74.54% 0.1325 217.3) !important; border-style: solid !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button,
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button *,
  html[data-wp-dark-mode-active] body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button *,
  html[data-wp-dark-mode-active] body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button *,
  html[data-wp-dark-mode-active] body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button *
) {
  color: #FFFFFF !important; color: oklch(100.00% 0.0000 89.9) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button:is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible)
) {
  filter: brightness(1.18) !important;
}

/* 2. ORDINARY TEXT LINKS on already-migrated (psc-*) pages. Gate = any .fl-page-content
   containing .psc-hero or the homepage's .psc_hero_gradient, so this reaches every
   migrated page (Home, Services landing, all 6 individual service pages, About,
   Meet Jason, How I Work, Fees, Contact) without a hardcoded page-id list. FAQ /
   Compliance / Locations have neither class and are correctly excluded. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn),
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn) *
) {
  color: #2A5D7F !important; color: oklch(45.92% 0.0779 240.6) !important; text-decoration-color: rgba(42,93,127,0.45) !important;
}

:is(
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn):is(:hover, :focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn) *:is(:hover, :focus-visible)
) {
  color: #214D6B !important; color: oklch(40.37% 0.0701 241.3) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn),
  html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn) *
) {
  color: #4FA9C9 !important; color: oklch(69.26% 0.0973 224.3) !important; text-decoration-color: rgba(79,169,201,0.6) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn):is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button):not(.ps-notes-btn) *:is(:hover, :focus-visible)
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

/* 3. CARD / PANEL / HAIRLINE BORDERS - same global psc-* classes the temp harness
   previewed. Border width, style and existing opacity behaviour untouched. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-card.psc-card.psc-card.psc-card:not(.psc-card-accent) > .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-card-comparison.psc-card-comparison.psc-card-comparison.psc-card-comparison > .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-panel.psc-panel.psc-panel.psc-panel > .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta.psc-cta.psc-cta.psc-cta > .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary.psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-path-card.psc-path-card.psc-path-card.psc-path-card > .fl-row-content-wrap,
  html:not([data-wp-dark-mode-active]) body[class] .psc-path-card.psc-path-card.psc-path-card.psc-path-card .fl-col-content,
  html:not([data-wp-dark-mode-active]) body[class] .psc-contact-practical.psc-contact-practical.psc-contact-practical.psc-contact-practical > .fl-row-content-wrap,
  html:not([data-wp-dark-mode-active]) body[class] .psc-contact-crisis.psc-contact-crisis.psc-contact-crisis.psc-contact-crisis > .fl-row-content-wrap,
  html:not([data-wp-dark-mode-active]) body[class] .psc-contact-start .psc-contact-sub.psc-contact-sub.psc-contact-sub.psc-contact-sub,
  html:not([data-wp-dark-mode-active]) body[class] .psc-fees-summary.psc-fees-summary.psc-fees-summary.psc-fees-summary > .fl-row-content-wrap,
  html:not([data-wp-dark-mode-active]) body[class] .psc-fees-summary .psc-fees-reduced.psc-fees-reduced.psc-fees-reduced.psc-fees-reduced
) {
  border-color: rgba(111,168,200,0.35) !important; border-color: oklch(70.42% 0.0758 234.0 / 0.35) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-card.psc-card.psc-card.psc-card:not(.psc-card-accent) > .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-card-comparison.psc-card-comparison.psc-card-comparison.psc-card-comparison > .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-panel.psc-panel.psc-panel.psc-panel > .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-cta.psc-cta.psc-cta.psc-cta > .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary.psc-cta-primary.psc-cta-primary.psc-cta-primary > .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-path-card.psc-path-card.psc-path-card.psc-path-card > .fl-row-content-wrap,
  html[data-wp-dark-mode-active] body[class] .psc-path-card.psc-path-card.psc-path-card.psc-path-card .fl-col-content,
  html[data-wp-dark-mode-active] body[class] .psc-contact-practical.psc-contact-practical.psc-contact-practical.psc-contact-practical > .fl-row-content-wrap,
  html[data-wp-dark-mode-active] body[class] .psc-contact-crisis.psc-contact-crisis.psc-contact-crisis.psc-contact-crisis > .fl-row-content-wrap,
  html[data-wp-dark-mode-active] body[class] .psc-contact-start .psc-contact-sub.psc-contact-sub.psc-contact-sub.psc-contact-sub,
  html[data-wp-dark-mode-active] body[class] .psc-fees-summary.psc-fees-summary.psc-fees-summary.psc-fees-summary > .fl-row-content-wrap,
  html[data-wp-dark-mode-active] body[class] .psc-fees-summary .psc-fees-reduced.psc-fees-reduced.psc-fees-reduced.psc-fees-reduced
) {
  border-color: rgba(53,123,150,0.4) !important; border-color: oklch(54.98% 0.0811 226.5 / 0.4) !important;
}

/* 4. SMALL ICON ACCENTS - Fees accordion (.psc-accordion) and comparison-card check icons. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .fl-accordion-button-icon.fl-accordion-button-icon.fl-accordion-button-icon.fl-accordion-button-icon,
  html:not([data-wp-dark-mode-active]) body[class] .psc-card-comparison.psc-card-comparison.psc-card-comparison.psc-card-comparison .fl-list-item-icon
) {
  color: #00BBD4 !important; color: oklch(72.67% 0.1264 211.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-accordion-button-icon.fl-accordion-button-icon.fl-accordion-button-icon.fl-accordion-button-icon,
  html[data-wp-dark-mode-active] body[class] .psc-card-comparison.psc-card-comparison.psc-card-comparison.psc-card-comparison .fl-list-item-icon
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

/* 5. PSC-CARD-ACCENT - retires the purple accent-card family. Neutral heading/body text,
   E/B structural-border colour, and a blue/cyan glow at the SAME opacity/size the
   purple glow used (no new prominence). Card geometry (radius, padding) untouched.
   CORRECTION found during verification: the purple TEXT rule in Additional CSS is not
   scoped to .psc-card-accent - it targets the first-child heading of ANY .psc-card, so
   plain (non-accent) cards were also showing purple. Fixed with its own broader rule below. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-card.psc-card.psc-card.psc-card > .fl-col-content > .fl-module-heading:first-child,
  html:not([data-wp-dark-mode-active]) body[class] .psc-card.psc-card.psc-card.psc-card > .fl-col-content > .fl-module-heading:first-child *
) {
  color: #16324A !important; color: oklch(30.78% 0.0552 246.7) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-card.psc-card.psc-card.psc-card > .fl-col-content > .fl-module-heading:first-child,
  html[data-wp-dark-mode-active] body[class] .psc-card.psc-card.psc-card.psc-card > .fl-col-content > .fl-module-heading:first-child *
) {
  color: #F4F7FB !important; color: oklch(97.50% 0.0062 255.5) !important;
}

/* CORRECTION (2026-09-27b): the .psc-card-accent border/glow purple is an intentional design
   exception (the accent panel's purple icon artwork needs a matching restrained purple
   frame; a blue/cyan border read wrong beside it) and must NOT be normalized. The heading
   text fix above already keeps this panel's HEADING neutral via the broader .psc-card
   rule; Phase 9 originally also overrode this panel's border-color/background-image to
   blue/cyan, which was a mistake. That override has been removed so the ORIGINAL purple
   border+glow rule already earlier in Additional CSS (#6B389F light / #7A3FB0 dark, same
   opacity/size as always) applies again, unchanged. No rule for .psc-card-accent border or
   background-image appears in this Phase 9 block on purpose. */

html[data-wp-dark-mode-active] body[class] .psc-card-comparison.psc-card-comparison.psc-card-comparison.psc-card-comparison .fl-list-item-icon {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

/* CORRECTION (2026-09-27b): FAQ's subtitle heading (h2.fl-node-p94o31ivslkh, "Frequently
   asked questions about starting therapy") carries its own BB module heading colour
   (#00CDAC, mint) separate from the page's H1. Semantically a heading, so mapped to the
   same neutral heading tier as the H1 rather than body/link/accent colour. */

html:not([data-wp-dark-mode-active]) body[class] h2.fl-node-p94o31ivslkh {
  color: #16324A !important; color: oklch(30.78% 0.0552 246.7) !important;
}

html[data-wp-dark-mode-active] body[class] h2.fl-node-p94o31ivslkh {
  color: #F4F7FB !important; color: oklch(97.50% 0.0062 255.5) !important;
}

/* 6. FAQ (page-id-173) - colour only, no accordion redesign, no icon inherited by accident. */

html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 h1 {
  color: #16324A !important; color: oklch(30.78% 0.0552 246.7) !important;
}

html[data-wp-dark-mode-active] body[class].page-id-173.page-id-173.page-id-173.page-id-173 h1 {
  color: #F4F7FB !important; color: oklch(97.50% 0.0062 255.5) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-accordion-item {
  border-color: rgba(111,168,200,0.45) !important; border-color: oklch(70.42% 0.0758 234.0 / 0.45) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-page-content .fl-accordion-item {
  border-color: rgba(53,123,150,0.45) !important; border-color: oklch(54.98% 0.0811 226.5 / 0.45) !important;
}

html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-accordion-button-icon {
  color: #00BBD4 !important; color: oklch(72.67% 0.1264 211.5) !important;
}

html[data-wp-dark-mode-active] body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-accordion-button-icon {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

/* CORRECTION (2026-09-27c): the FAQ hero row (.fl-node-t6d84ku0njic) was never migrated to
   the .psc-hero pattern - its dark background (rgb(10,10,10)), divider colour (#cccccc)
   and descriptive-paragraph colour (#f7f7f7) are literal Beaver Builder row/module
   settings in the page's own generated stylesheet (173-layout.css), not Additional CSS,
   and were never gated by light/dark mode - they were always dark. That was invisible
   before Phase 9 (H1/subtitle were also always-white), but now breaks in light mode since
   Phase 9 correctly recoloured the H1 and subtitle to dark-navy heading text, assuming a
   light surface behind them. Light mode only: give this row the SAME hero surface already
   used on migrated pages' .psc-hero, recolour the divider to the same structural border
   already used for this page's own accordion, and recolour the descriptive paragraph to
   the standard light supporting-text colour. Dark mode is left completely untouched (it
   already looks correct) - no dark-mode rule is added here on purpose. */

html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-node-t6d84ku0njic > .fl-row-content-wrap {
  background-color: #E8EFF7 !important;
  background-image: linear-gradient(135deg, #F6F9FD 0%, #DAE5F1 100%) !important;
  background-image: linear-gradient(135deg, oklch(98.10% 0.0062 255.5) 0%, oklch(91.72% 0.0202 250.4) 100%) !important;
}

html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-node-n5wilt70p98c .fl-separator {
  border-top-color: rgba(111,168,200,0.45) !important; border-top-color: oklch(70.42% 0.0758 234.0 / 0.45) !important;
}

:is(
  html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-node-cj94a8zt31rl.fl-module-rich-text.fl-rich-text,
  html:not([data-wp-dark-mode-active]) body[class].page-id-173.page-id-173.page-id-173.page-id-173 .fl-node-cj94a8zt31rl.fl-module-rich-text.fl-rich-text *
) {
  color: #4A6480 !important; color: oklch(49.40% 0.0548 250.8) !important;
}

/* 7. HEADER - light contact-button/current/hover/focus (#2a6e7e) -> link role; dark
   current-item + sub-menu borders (#3ea1b6) -> E structural border; dark bright
   hover/focus/active (#0ff1ff, retired) -> E icon accent #00C6DC. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a,
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu > li.current-menu-item > a:not(:hover):not(:focus):not(:focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav > li > a:hover,
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:hover,
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav > li > a:is(:focus, :focus-visible),
  html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:is(:focus, :focus-visible)
) {
  color: #2A5D7F !important; color: oklch(45.92% 0.0779 240.6) !important;
}

html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent):not(.contact-button) > a::after {
  background-color: #2A5D7F !important; background-color: oklch(45.92% 0.0779 240.6) !important;
}

html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header :is(a, button):is(:focus, :focus-visible) {
  outline-color: #2A5D7F !important; outline-color: oklch(45.92% 0.0779 240.6) !important;
}

html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
  border-color: #6FA8C8 !important; border-color: oklch(70.42% 0.0758 234.0) !important;
}

html:not([data-wp-dark-mode-active]) body[class] header.fl-page-header .fl-page-nav ul.sub-menu {
  border-top-color: #2A5D7F !important; border-top-color: oklch(45.92% 0.0779 240.6) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-ancestor:not(.contact-button) > a,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-parent:not(.contact-button) > a
) {
  color: #357B96 !important; color: oklch(54.98% 0.0811 226.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a::after,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.current-menu-item:not(.contact-button) > a::before
) {
  background-color: #357B96 !important; background-color: oklch(54.98% 0.0811 226.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:hover,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu a:hover,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li:not(.contact-button) > a:focus-visible
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

html[data-wp-dark-mode-active] body[class] header.fl-page-header :is(a, button):is(:focus, :focus-visible) {
  outline-color: #00C6DC !important; outline-color: oklch(75.66% 0.1304 208.9) !important;
}

html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a {
  border-color: #357B96 !important; border-color: oklch(54.98% 0.0811 226.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:hover,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:active,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav > li.contact-button > a:focus-visible
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
  border-color: #00C6DC !important; border-color: oklch(75.66% 0.1304 208.9) !important;
}

html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav ul.sub-menu {
  border-top-color: #357B96 !important; border-top-color: oklch(54.98% 0.0811 226.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .navbar-nav .sub-menu > li
) {
  border-color: #357B96 !important; border-color: oklch(54.98% 0.0811 226.5) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .fl-page-nav-collapse,
  html[data-wp-dark-mode-active] body[class] header.fl-page-header .fl-page-nav .fl-page-nav-collapse ul.navbar-nav > li
) {
  border-color: rgba(53,123,150,0.5) !important; border-color: oklch(54.98% 0.0811 226.5 / 0.5) !important;
}

/* 8. FOOTER (.fl-builder-content-340) - icons and icon-adjacent links only; the plain
   slate body/muted text colours found in the audit (#3f5a74, #506a80, etc.) were not
   flagged as green/teal and are left as-is. */

html:not([data-wp-dark-mode-active]) body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(.fl-icon i, .fl-icon i::before, .dashicons, .dashicons::before) {
  color: #00BBD4 !important; color: oklch(72.67% 0.1264 211.5) !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls .fl-icon-text :is(a, a *) {
  color: #2A5D7F !important; color: oklch(45.92% 0.0779 240.6) !important;
}

:is(
  html:not([data-wp-dark-mode-active]) body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(a:hover, a:hover *),
  html:not([data-wp-dark-mode-active]) body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(a:focus-visible, a:focus-visible *)
) {
  color: #214D6B !important; color: oklch(40.37% 0.0701 241.3) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(.fl-icon i, .fl-icon i::before, .dashicons, .dashicons::before) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls .fl-icon-text :is(a, a *) {
  color: #4FA9C9 !important; color: oklch(69.26% 0.0973 224.3) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(a:hover, a:hover *),
  html[data-wp-dark-mode-active] body[class] .fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls.fl-node-i49y3qt20hls :is(a:focus-visible, a:focus-visible *)
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content.fl-builder-content-340 :is(.fl-module-rich-text, .fl-icon-text) a {
  color: #4FA9C9 !important; color: oklch(69.26% 0.0973 224.3) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-builder-content.fl-builder-content-340 :is(.fl-module-rich-text, .fl-icon-text) a:hover,
  html[data-wp-dark-mode-active] body[class] .fl-builder-content.fl-builder-content-340 :is(.fl-module-rich-text, .fl-icon-text) a:focus-visible
) {
  color: #00C6DC !important; color: oklch(75.66% 0.1304 208.9) !important;
}

/* 9. PATTERN SHIFT NOTES - dark panel surface only (button system deferred). The homepage
   service-card block's .ps-notes.ps-notes.ps-notes rule set the panel to #0B1A36,
   noticeably bluer than the rest of the dark system; restored to the standard #07122A
   panel face. Border recoloured to E's structural hairline at the SAME .16 opacity
   already in use (unchanged visibility). Subscribe button and light mode untouched. */

:is(
  html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes.ps-notes.ps-notes.ps-notes.ps-notes.ps-notes.ps-notes,
  html[data-wp-dark-mode-active] body[class] .ps-notes-fr.ps-notes-fr.ps-notes-fr.ps-notes-fr.ps-notes-fr.ps-notes-fr.ps-notes-fr.ps-notes-fr
) {
  background-color: #0B1A30 !important; background-color: oklch(21.78% 0.0481 257.9) !important; background-image: none !important;
}

html[data-wp-dark-mode-active] body[class] .ps-notes.ps-notes.ps-notes.ps-notes.ps-notes {
  border-color: rgba(8,192,227,0.16) !important; border-color: oklch(74.54% 0.1325 217.3 / 0.16) !important;
}

/* ===== PATTERN SHIFT - PHASE 9 COLOR SYSTEM - END ===== */




/* ==========================================================================
   PATTERN SHIFT - GLOBAL FOCUS COLOR NORMALIZATION (2026-09-28)
   Sitewide accessibility focus color only. This deliberately does NOT set
   outline width, style, shape, or offset, so existing component-specific
   focus geometry remains intact. It replaces theme/plugin gold focus colors
   everywhere with the same focus colors already used by the site navigation:
   light #2A6E7E / dark #0FF1FF.
   ========================================================================== */

html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body:not(.wp-admin) :is(a[href], button, [role="button"], input, select, textarea):focus-visible {
  outline-color: #2A6E7E !important;
  outline-color: oklch(50.22% 0.0717 216.1) !important;
}

html:is([data-wp-dark-mode-active], .wp-dark-mode-active)
body:not(.wp-admin) :is(a[href], button, [role="button"], input, select, textarea):focus-visible {
  outline-color: #0FF1FF !important;
  outline-color: oklch(87.30% 0.1474 202.4) !important;
}

html body:not(.wp-admin) :is(a[href], button, [role="button"], input, select, textarea):focus:not(:focus-visible) {
  outline: none !important;
}

/* ===== END GLOBAL FOCUS COLOR NORMALIZATION ===== */


/* ==========================================================================
   PATTERN SHIFT - PUBLISHING COMPONENT PALETTE NORMALIZATION (2026-09-28)
   Shared color override for embedded post components used by Blog posts,
   Research Notes, and related publishing templates.

   PURPOSE
   - Preserve the existing component architecture and gradients.
   - Retire the older green/teal/gold publishing palette.
   - Map publishing components to the locked Pattern Shift navy/blue/cyan system.
   - Override per-post embedded <style> blocks without editing old posts one by one.

   This block changes COLORS ONLY. Existing spacing, type sizes, radii, and
   component geometry remain owned by each post's embedded stylesheet.
   ========================================================================== */

/* ---- Shared emphasized gradient surfaces ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post :is(
  .hero,
  .ps-standfirst,
  .cta,
  .rn-source,
  .rn-takeaway
) {
  background: linear-gradient(
    135deg,
    #16324A 0%,
    #214D6B 52%,
    #2A5D7F 100%
  ) !important;
}

html[data-wp-dark-mode-active] body.single .ps-seo-post :is(
  .hero,
  .ps-standfirst,
  .cta,
  .rn-source,
  .rn-takeaway
),
html.wp-dark-mode-active body.single .ps-seo-post :is(
  .hero,
  .ps-standfirst,
  .cta,
  .rn-source,
  .rn-takeaway
) {
  background: linear-gradient(
    135deg,
    #07122A 0%,
    #16324A 52%,
    #1F5875 100%
  ) !important;
}

/* ---- Labels / eyebrows on emphasized surfaces ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post :is(
  .hero .eyebrow,
  .ps-standfirst .sf-eyebrow,
  .rn-source .rn-source-k,
  .rn-takeaway .rn-takeaway-k
) {
  color: #00BBD4 !important;
}

html[data-wp-dark-mode-active] body.single .ps-seo-post :is(
  .hero .eyebrow,
  .ps-standfirst .sf-eyebrow,
  .rn-source .rn-source-k,
  .rn-takeaway .rn-takeaway-k
),
html.wp-dark-mode-active body.single .ps-seo-post :is(
  .hero .eyebrow,
  .ps-standfirst .sf-eyebrow,
  .rn-source .rn-source-k,
  .rn-takeaway .rn-takeaway-k
) {
  color: #00C6DC !important;
}

/* ---- Research Notes: retire gold identity accents ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .rn-eyebrow {
  color: #2A5D7F !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .rn-eyebrow,
html.wp-dark-mode-active body.single .ps-seo-post .rn-eyebrow {
  color: #4FA9C9 !important;
}

html:not([data-wp-dark-mode-active]) body.single .ps-seo-post :is(.rn-source, .rn-takeaway) {
  border-top-color: #4B86A7 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post :is(.rn-source, .rn-takeaway),
html.wp-dark-mode-active body.single .ps-seo-post :is(.rn-source, .rn-takeaway) {
  border-top-color: #45A8C8 !important;
}

/* ---- Text on emphasized surfaces ---- */
body.single .ps-seo-post :is(
  .hero h1,
  .cta h2,
  .rn-source .rn-source-study,
  .rn-takeaway .rn-takeaway-label
) {
  color: #F4F7FB !important;
}

body.single .ps-seo-post :is(
  .hero .standfirst,
  .hero .byline,
  .ps-standfirst p,
  .ps-standfirst .sf-text,
  .ps-standfirst .sf-byline,
  .ps-standfirst .sf-byline strong,
  .cta p,
  .rn-source .rn-source-cite,
  .rn-takeaway p
) {
  color: #B9C6D8 !important;
}

/* Source-card links: bright enough to read on the gradient without green/gold. */
body.single .ps-seo-post .rn-source a {
  color: #F4F7FB !important;
  text-decoration-color: #45A8C8 !important;
}
body.single .ps-seo-post .rn-source a:hover {
  color: #00C6DC !important;
}

/* ---- Consultation CTA button: use the established primary CTA family ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .cta a {
  background: #2A5D7F !important;
  color: #F4F7FB !important;
  border: 1px solid #4B86A7 !important;
}
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .cta a:hover {
  background: #214D6B !important;
}

html[data-wp-dark-mode-active] body.single .ps-seo-post .cta a,
html.wp-dark-mode-active body.single .ps-seo-post .cta a {
  background: #1F5875 !important;
  color: #F4F7FB !important;
  border: 1px solid #45A8C8 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .cta a:hover,
html.wp-dark-mode-active body.single .ps-seo-post .cta a:hover {
  background: #266A90 !important;
}

/* ---- Table of contents: retain light-mode treatment; normalize dark surface ---- */
html[data-wp-dark-mode-active] body.single .ps-seo-post .toc,
html.wp-dark-mode-active body.single .ps-seo-post .toc {
  background: #07122A !important;
  border-color: #357B96 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .toc h2,
html.wp-dark-mode-active body.single .ps-seo-post .toc h2 {
  color: #F4F7FB !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .toc :is(a, li),
html.wp-dark-mode-active body.single .ps-seo-post .toc :is(a, li) {
  color: #B9C6D8 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .toc a:hover,
html.wp-dark-mode-active body.single .ps-seo-post .toc a:hover {
  color: #4FA9C9 !important;
}

/* ---- Plain callout / Clinical Question ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .callout {
  background: #F4F7FB !important;
  border-left-color: #2A5D7F !important;
}
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .callout-label {
  color: #2A5D7F !important;
}

html[data-wp-dark-mode-active] body.single .ps-seo-post .callout,
html.wp-dark-mode-active body.single .ps-seo-post .callout {
  background: #07122A !important;
  border-left-color: #45A8C8 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .callout-label,
html.wp-dark-mode-active body.single .ps-seo-post .callout-label {
  color: #4FA9C9 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .callout p,
html.wp-dark-mode-active body.single .ps-seo-post .callout p {
  color: #B9C6D8 !important;
}

/* ---- Pull quote: retire gold accent, keep the same component ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .ps-quote {
  background: #F4F7FB !important;
  border-left-color: #2A5D7F !important;
}
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .ps-quote-text {
  color: #16324A !important;
}
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .ps-quote-attr {
  color: #2A5D7F !important;
}

html[data-wp-dark-mode-active] body.single .ps-seo-post .ps-quote,
html.wp-dark-mode-active body.single .ps-seo-post .ps-quote {
  background: #07122A !important;
  border-left-color: #45A8C8 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .ps-quote-text,
html.wp-dark-mode-active body.single .ps-seo-post .ps-quote-text {
  color: #F4F7FB !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .ps-quote-attr,
html.wp-dark-mode-active body.single .ps-seo-post .ps-quote-attr {
  color: #4FA9C9 !important;
}

/* ---- Legacy TAKEAWAYS component, if present in older posts ---- */
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .takeaways {
  background: #16324A !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .takeaways,
html.wp-dark-mode-active body.single .ps-seo-post .takeaways {
  background: #07122A !important;
}
html:not([data-wp-dark-mode-active]) body.single .ps-seo-post .takeaways h2 {
  color: #00BBD4 !important;
}
html[data-wp-dark-mode-active] body.single .ps-seo-post .takeaways h2,
html.wp-dark-mode-active body.single .ps-seo-post .takeaways h2 {
  color: #00C6DC !important;
}

/* ===== END PUBLISHING COMPONENT PALETTE NORMALIZATION ===== */


/* ==========================================================================
   PATTERN SHIFT - PUBLISHING FINISHING PASS (2026-09-28)
   1) Pattern Shift Notes light-mode Subscribe button normalization.
   2) Further Reading essay gold-accent retirement while preserving mint as
      that section's rare editorial accent.
   ========================================================================== */

/* ---- Pattern Shift Notes: light-mode Subscribe button, all publishing contexts ---- */
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body[class] :is(
  .ps-notes a.ps-notes-btn,
  .ps-notes-fr a.ps-notes-fr-btn
),
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body[class] :is(
  .ps-notes a.ps-notes-btn:visited,
  .ps-notes-fr a.ps-notes-fr-btn:visited
) {
  background-color: #2A5D7F !important;
  background-image: none !important;
  border: 1px solid #4B86A7 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #F4F7FB !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  filter: none !important;
}

html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body[class] :is(
  .ps-notes a.ps-notes-btn:hover,
  .ps-notes-fr a.ps-notes-fr-btn:hover
) {
  background-color: #3E7CA8 !important;
  border-color: #3E7CA8 !important;
  color: #FFFFFF !important;
  filter: none !important;
}

/* ---- Further Reading: preserve mint identity, retire residual gold accents ---- */
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body.single .ps-essay blockquote,
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body.single .ps-essay .ps-quote {
  border-left-color: #2A5D7F !important;
}

html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body.single .ps-essay .ps-quote-attr {
  color: #2A5D7F !important;
}

html[data-wp-dark-mode-active] body.single .ps-essay blockquote,
html.wp-dark-mode-active body.single .ps-essay blockquote,
html[data-wp-dark-mode-active] body.single .ps-essay .ps-quote,
html.wp-dark-mode-active body.single .ps-essay .ps-quote {
  border-left-color: #45A8C8 !important;
}

html[data-wp-dark-mode-active] body.single .ps-essay .ps-quote-attr,
html.wp-dark-mode-active body.single .ps-essay .ps-quote-attr {
  color: #4FA9C9 !important;
}

/* ===== END PUBLISHING FINISHING PASS ===== */


/* ==========================================================================
   PATTERN SHIFT - MOBILE ARTICLE READING COMFORT (2026-09-28)
   Slightly increases sustained-reading body copy on phones only.
   Covers both modern Group markup and WordPress Group inner-container markup.
   Special components keep their own typography.
   ========================================================================== */

@media (max-width: 767px) {
  body.single .ps-seo-post > p,
  body.single .ps-seo-post > .wp-block-paragraph,
  body.single .ps-seo-post > .wp-block-group__inner-container > p,
  body.single .ps-seo-post > .wp-block-group__inner-container > .wp-block-paragraph,
  body.single .ps-essay > p,
  body.single .ps-essay > .wp-block-paragraph,
  body.single .ps-essay > .wp-block-group__inner-container > p,
  body.single .ps-essay > .wp-block-group__inner-container > .wp-block-paragraph {
    font-size: 18px !important;
    line-height: 1.7 !important;
  }
}

/* ===== END MOBILE ARTICLE READING COMFORT ===== */

/* ==========================================================================
   PATTERN SHIFT - LOCATIONS BRANCH NORMALIZATION (2026-09-28)
   Explicitly scoped to the 15 currently published Locations pages.
   Purpose:
   1) Retire the old gradient treatment from Location-page CTA buttons.
   2) Convert Location-page FAQs from rounded cards to the restrained
      editorial accordion treatment used elsewhere on the site.
   3) Keep mint/cyan accent words in hero H1s, but return hero subtitles
      to neutral supporting-text colors.
   NOTE: If a new Location page is published later, add its page-id class
   to the body:is(...) scope below.
   ========================================================================== */

/* ---- 1. Location-page primary CTA buttons ---- */
html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button {
  background-color: #2A5D7F !important;
  background-image: none !important;
  border-color: #4B86A7 !important;
  box-shadow: none !important;
  filter: none !important;
}

html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button,
html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button * {
  color: #FFFFFF !important;
}

html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button:is(:hover, :focus-visible) {
  background-color: #214D6B !important;
  background-image: none !important;
  border-color: #4B86A7 !important;
}

html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button {
  background-color: #1F5875 !important;
  background-image: none !important;
  border-color: #45A8C8 !important;
  box-shadow: none !important;
  filter: none !important;
}

html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button,
html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button * {
  color: #FFFFFF !important;
}

html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-button.fl-module-button a.fl-button.fl-button:is(:hover, :focus-visible) {
  background-color: #266A90 !important;
  background-image: none !important;
  border-color: #45A8C8 !important;
}

/* ---- 2. Location-page FAQs: editorial separators, no rounded cards ---- */
body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-accordion .fl-accordion-item {
  background: transparent !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-accordion .fl-accordion-item {
  border-bottom: 1px solid rgba(111,168,200,0.45) !important;
}

html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-accordion .fl-accordion-item {
  border-bottom: 1px solid rgba(53,123,150,0.45) !important;
}

body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-accordion .fl-accordion-button {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 18px 0 !important;
}

body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-module-accordion .fl-accordion-content {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 18px !important;
}

/* ---- 3. Location hero subtitles: neutral support color.
        H1 inline accent spans are intentionally left untouched. ---- */
html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-builder-content > .fl-row:first-child h2.fl-heading,
html:not([data-wp-dark-mode-active]) body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-builder-content > .fl-row:first-child h2.fl-heading * {
  color: #4A6480 !important;
}

html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-builder-content > .fl-row:first-child h2.fl-heading,
html[data-wp-dark-mode-active] body:is(
  .page-id-672,
  .page-id-647,
  .page-id-801,
  .page-id-824,
  .page-id-834,
  .page-id-1197,
  .page-id-707,
  .page-id-873,
  .page-id-1118,
  .page-id-907,
  .page-id-911,
  .page-id-883,
  .page-id-890,
  .page-id-925,
  .page-id-935
) .fl-page-content .fl-builder-content > .fl-row:first-child h2.fl-heading * {
  color: #B9C6D8 !important;
}

/* ===== END LOCATIONS BRANCH NORMALIZATION ===== */

/* ==========================================================================
   PATTERN SHIFT - FINAL VISUAL SPOTCHECK FINISHING PASS (2026-09-28)
   Scope is deliberately narrow. No Locations focus workaround is included.
   ========================================================================== */

/* 1. HOME HERO STATE LINKS
   The hero photo stays dark in both themes, so the ordinary light-mode link colour was
   too subdued here. Use the brighter dark-link role on this photographic surface only. */
/* CORRECTION (2026-10-01): light mode's #4FA9C9 (borrowed from the dark-link
   role, see comment above) was confirmed still too subdued against the actual
   hero photo. Brightened light mode only, added a subtle underline for
   recognition on uneven photo contrast. Dark mode unchanged - inspected live
   and still reads fine against the same photo. The unconditional hover rule
   (#00C6DC, @media(hover:hover), just below) is untouched. */
html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button),
html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text.fl-rich-text a:not(.fl-button) * {
  color: #66C9E0 !important;
  color: oklch(78.47% 0.0981 214.9) !important;
  filter: none !important;
  text-decoration-line: underline !important;
  text-decoration-color: rgba(102,201,224,0.4) !important;
}

html[data-wp-dark-mode-active] body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text a:not(.fl-button),
html[data-wp-dark-mode-active] body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text a:not(.fl-button) * {
  color: #4FA9C9 !important;
  color: oklch(69.26% 0.0973 224.3) !important;
  filter: none !important;
}

@media (hover: hover) {
  html body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text a:not(.fl-button):hover,
  html body.home .fl-builder-content-84 > .fl-row:first-child .fl-rich-text a:not(.fl-button):hover * {
    color: #00C6DC !important;
    color: oklch(75.66% 0.1304 208.9) !important;
    filter: none !important;
  }
}

/* 2. HOME SLIDER, LIGHT MODE
   Preserve the dimensional gradient treatment instead of leaving the light card flat.
   Dark mode keeps the existing approved blue gradient unchanged. */
html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 .fl-node-z6milwv5j1fk .bx-viewport {
  background-color: #E8EFF7 !important;
  background-image:
    linear-gradient(145deg, #F8FAFD 0%, #E8EFF7 58%, #DCE9F1 100%),
    radial-gradient(ellipse 70% 100% at 92% 0%, rgba(111,168,200,.18), rgba(111,168,200,0) 68%) !important;
  background-image:
    linear-gradient(145deg, oklch(98.44% 0.0045 258.3) 0%, oklch(94.92% 0.0131 251.6) 58%, oklch(92.66% 0.0177 234.5) 100%),
    radial-gradient(ellipse 70% 100% at 92% 0%, oklch(70.42% 0.0758 234.0 / .18), oklch(70.42% 0.0758 234.0 / 0) 68%) !important;
  border-color: #6FA8C8 !important;
  box-shadow: none !important;
}

/* 3. SERVICES LANDING HERO, DARK MODE
   The landing page itself is page 132, so it is not covered by the child-service
   parent-pageid-132 rule. Map the legacy mint H1 accent to the approved cyan-blue role
   and keep the subtitle in supporting text. */
html[data-wp-dark-mode-active] body.page-id-132 .fl-page-content .psc-hero h1 span[style*="color"] {
  color: #45A8C8 !important;
  color: oklch(68.64% 0.1022 222.7) !important;
}

html[data-wp-dark-mode-active] body.page-id-132 .fl-page-content .psc-hero :is(h2, h2 *) {
  color: #B9C6D8 !important;
  color: oklch(82.22% 0.0291 256.5) !important;
}

/* ===== END FINAL VISUAL SPOTCHECK FINISHING PASS ===== */

/* ==========================================================================
   PATTERN SHIFT - HOMEPAGE ABOUT BUTTON HIERARCHY (2026-09-28)
   Scope: homepage button group containing "More About Me" and
   "Start With a Free Call" only.

   Goal:
   - first button = clearly secondary
   - second button = clearly primary
   - preserve the existing geometry and spacing
   - remove any residual purple
   ========================================================================== */

/* Shared geometry remains identical for the pair. */
body[class] .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button a.fl-button {
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Secondary: More About Me — light mode */
html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button {
  background-color: #F4F7FB !important;
  background-image: none !important;
  border-color: #4B86A7 !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button,
html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button * {
  color: #2A5D7F !important;
  font-weight: 400 !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:is(:hover, :focus-visible) {
  background-color: #E8EFF7 !important;
  background-image: none !important;
  border-color: #2A5D7F !important;
}

/* Primary: Start With a Free Call — light mode */
html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button {
  background-color: #2A5D7F !important;
  background-image: linear-gradient(90deg, #214D6B 0%, #2A5D7F 55%, #2A6E7E 100%) !important;
  border-color: #4B86A7 !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button,
html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button * {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible) {
  background-color: #214D6B !important;
  background-image: linear-gradient(90deg, #214D6B 0%, #266A90 60%, #2A6E7E 100%) !important;
  border-color: #4B86A7 !important;
}

/* Secondary: More About Me — dark mode */
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button {
  background-color: #07122A !important;
  background-color: oklch(18.79% 0.0515 263.3) !important;
  background-image: none !important;
  border-color: #357B96 !important;
  border-color: oklch(54.98% 0.0811 226.5) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button,
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button * {
  color: #B9C6D8 !important;
  color: oklch(82.22% 0.0291 256.5) !important;
  font-weight: 400 !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:is(:hover, :focus-visible) {
  background-color: #123C5C !important;
  background-color: oklch(34.44% 0.0724 245.4) !important;
  background-image: none !important;
  border-color: #45A8C8 !important;
  border-color: oklch(68.64% 0.1022 222.7) !important;
}

/* Primary: Start With a Free Call — dark mode */
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button {
  background-color: #1F5875 !important;
  background-color: oklch(43.70% 0.0753 234.6) !important;
  background-image: linear-gradient(90deg, #1F5875 0%, #266A90 58%, #2A6E7E 100%) !important;
  border-color: #45A8C8 !important;
  border-color: oklch(68.64% 0.1022 222.7) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button,
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button *,
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button,
html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button * {
  color: #FFFFFF !important;
  color: oklch(100% 0 0) !important;
  font-weight: 700 !important;
}

html[data-wp-dark-mode-active] body[class] .fl-builder-content-84
.psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:is(:hover, :focus-visible) {
  background-color: #266A90 !important;
  background-color: oklch(49.94% 0.0903 237.2) !important;
  background-image: linear-gradient(90deg, #266A90 0%, #2A6E7E 62%, #357B96 100%) !important;
  border-color: #45A8C8 !important;
  border-color: oklch(68.64% 0.1022 222.7) !important;
}

/* ===== END HOMEPAGE ABOUT BUTTON HIERARCHY ===== */
/* ==========================================================================
   PATTERN SHIFT - BUTTON HIERARCHY LOCK (2026-09-28)
   Scope: button colors only on the already-migrated Pattern Shift pages.

   Purpose:
   - Preserve Palette B / Palette E everywhere else.
   - Keep large panels, slider cards, typography, links, borders, icons, and
     page backgrounds completely unchanged.
   - Primary consultation CTAs = clearly filled blue.
   - Secondary / exploratory buttons = quieter siblings.
   - Dark-mode buttons stay on the BLUE side of Palette E; no teal or purple
     fill migration.
   ========================================================================== */


/* --------------------------------------------------------------------------
   A. SECONDARY / EXPLORATORY BUTTON BASE
   Applies only inside already-migrated pages identified by .psc-hero or the
   homepage .psc_hero_gradient. Known primary CTA roles are re-applied below.
   Geometry is intentionally untouched.
   -------------------------------------------------------------------------- */

/* Light mode: quiet pale-blue secondary */
html:not([data-wp-dark-mode-active]) body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button {
  background-color: #F4F7FB !important;
  background-image: none !important;
  border-color: #4B86A7 !important;
  color: #2A5D7F !important;
  box-shadow: none !important;
  filter: none !important;
}

html:not([data-wp-dark-mode-active]) body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button * {
  color: #2A5D7F !important;
}

html:not([data-wp-dark-mode-active]) body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button:is(:hover, :focus-visible) {
  background-color: #E8EFF7 !important;
  background-image: none !important;
  border-color: #2A5D7F !important;
  color: #16324A !important;
}

/* Dark mode: navy secondary, not teal */
html[data-wp-dark-mode-active] body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button {
  background-color: #0B1A36 !important;
  background-image: none !important;
  border-color: #2B5474 !important;
  color: #C5D2E0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html[data-wp-dark-mode-active] body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button * {
  color: #C5D2E0 !important;
}

html[data-wp-dark-mode-active] body[class]
.fl-page-content:has(.psc-hero, .psc_hero_gradient)
:is(.fl-module-button, .fl-module-button-group) a.fl-button:is(:hover, :focus-visible) {
  filter: brightness(1.4) !important;
}


/* --------------------------------------------------------------------------
   C. HOMEPAGE SECONDARY BUTTONS
   Explicit node-level lock so earlier experimental homepage button rules cannot
   pull these back toward teal or make them visually compete with the primary.
   -------------------------------------------------------------------------- */

:is(
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button
) {
  background-color: #0B1A36 !important;
  background-image: none !important;
  border-color: #2B5474 !important;
  color: #C5D2E0 !important;
  box-shadow: none !important;
  filter: none !important;
}

:is(
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button *,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button *,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button *
) {
  color: #C5D2E0 !important;
  font-weight: 500 !important;
}

:is(
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button:is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button:is(:hover, :focus-visible),
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:is(:hover, :focus-visible)
) {
  filter: brightness(1.4) !important;
}


/* ===== END BUTTON HIERARCHY LOCK ===== */


/* ===== PATTERN SHIFT - CTA INTERACTION STATES (2026-09-29) - START =====
   Narrow correction: :hover, :focus-visible and :active only, for the already-
   settled primary/secondary CTA button system. Base colors, gradient direction,
   hierarchy, geometry, Palette E, panels and everything else untouched.
   No motion (no transform/translate/scale). No new shadow. Ring color already
   comes from the sitewide GLOBAL FOCUS COLOR NORMALIZATION rule (untouched) -
   this block only guarantees consistent ring geometry on every CTA target. */

/* Primary :active - darken slightly, same gradient/border, no motion. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body[class] .fl-node-n2rgvxqdku76 a.fl-button:active
) {
  filter: brightness(0.92) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:active,
  html[data-wp-dark-mode-active] body[class] .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button:active,
  html[data-wp-dark-mode-active] body[class] .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button:active,
  html[data-wp-dark-mode-active] body[class] .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:active,
  html[data-wp-dark-mode-active] body[class] .fl-node-n2rgvxqdku76 a.fl-button:active
) {
  filter: brightness(0.88) !important;
}

/* Secondary :active - darken slightly. */

:is(
  html:not([data-wp-dark-mode-active]) body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) :is(.fl-module-button, .fl-module-button-group) a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button:active,
  html:not([data-wp-dark-mode-active]) body.home .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:active
) {
  filter: brightness(0.9) !important;
}

:is(
  html[data-wp-dark-mode-active] body[class] .fl-page-content:has(.psc-hero, .psc_hero_gradient) :is(.fl-module-button, .fl-module-button-group) a.fl-button:active,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button:active,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button:active,
  html[data-wp-dark-mode-active] body.home .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:active
) {
  filter: brightness(0.8) !important;
}

/* Focus-visible ring geometry only - color already comes from the sitewide
   GLOBAL FOCUS COLOR NORMALIZATION rule. Mode-independent, so one ungated rule
   covers every CTA target regardless of the .psc-btn exclusion on the older
   general geometry rule. */

:is(
  .psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn.psc-cta-primary-btn a.fl-button:focus-visible,
  .psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn.psc-btn a.fl-button:focus-visible,
  .psc-home-clinical-buttons .fl-button-group-button:nth-child(2) a.fl-button:focus-visible,
  .psc-home-about-buttons .fl-button-group-button:nth-child(2) a.fl-button:focus-visible,
  .fl-node-n2rgvxqdku76 a.fl-button:focus-visible,
  .fl-page-content:has(.psc-hero, .psc_hero_gradient) :is(.fl-module-button, .fl-module-button-group) a.fl-button:focus-visible,
  .fl-builder-content-84 .fl-node-qoang2zwdf57 a.fl-button:focus-visible,
  .fl-builder-content-84 .psc-home-clinical-buttons .fl-button-group-button:first-child a.fl-button:focus-visible,
  .fl-builder-content-84 .psc-home-about-buttons .fl-button-group-button:first-child a.fl-button:focus-visible
) {
  outline-style: solid !important;
  outline-width: 2px !important;
  outline-offset: 2px !important;
}

/* ===== PATTERN SHIFT - CTA INTERACTION STATES (2026-09-29) - END ===== */


/* ===== PATTERN SHIFT - HOMEPAGE STEP NUMERALS (2026-10-01) - START =====
   Replaces the purple STEP 1/2/3 badge images with plain D DIN numerals.
   The <img> elements are hidden (display:none), not removed - the Beaver
   Builder Photo modules are untouched. ::before targets the wrapping
   .fl-photo-content div (::before cannot render on a replaced <img> element).
   No circle, badge, background, shadow, gradient, animation or lift. */

.fl-node-ueihn5w6bpfj img,
  .fl-node-an0bm53q79cz img,
  .fl-node-h74fjvqlgczb img {
  display: none !important;
}

:is(
  .fl-node-ueihn5w6bpfj .fl-photo-content,
  .fl-node-an0bm53q79cz .fl-photo-content,
  .fl-node-h74fjvqlgczb .fl-photo-content
)::before {
  font-family: "D DIN", Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 7vw, 50px) !important;
  line-height: 1 !important;
  display: inline-block !important;
  letter-spacing: 0.02em !important;
}

.fl-node-ueihn5w6bpfj .fl-photo-content::before {
  content: "01" !important;
}

.fl-node-an0bm53q79cz .fl-photo-content::before {
  content: "02" !important;
}

.fl-node-h74fjvqlgczb .fl-photo-content::before {
  content: "03" !important;
}

html:not([data-wp-dark-mode-active]) body[class] .fl-node-ueihn5w6bpfj .fl-photo-content::before,
html:not([data-wp-dark-mode-active]) body[class] .fl-node-an0bm53q79cz .fl-photo-content::before,
html:not([data-wp-dark-mode-active]) body[class] .fl-node-h74fjvqlgczb .fl-photo-content::before {
  color: #2486A8 !important; color: oklch(58.06% 0.1004 226.4) !important;
}

html[data-wp-dark-mode-active] body[class] .fl-node-ueihn5w6bpfj .fl-photo-content::before,
html[data-wp-dark-mode-active] body[class] .fl-node-an0bm53q79cz .fl-photo-content::before,
html[data-wp-dark-mode-active] body[class] .fl-node-h74fjvqlgczb .fl-photo-content::before {
  color: #08C0E3 !important; color: oklch(74.54% 0.1325 217.3) !important;
}

/* ===== PATTERN SHIFT - HOMEPAGE STEP NUMERALS - END ===== */

/* ===== PATTERN SHIFT - MOBILE ORDINARY/FAQ/CHECKLIST BODY COPY (2026-10-02, BROADENED SITEWIDE 2026-10-04) - START =====
   The BB theme's own base stylesheet drops body font-size from 16px to 14px at
   max-width:991px AND 767px - every role below just inherits that, with no explicit
   size of its own. Mobile only (max-width:767px); desktop and the 768-991px tablet
   range are untouched.
   Originally scoped to body.parent-pageid-132 (the six Services subpages). The
   2026-10-04 sitewide audit found the identical root cause, ungated, hitting the FAQ
   page (50 accordion answers), Fees, About, every Locations page, and every Compliance
   page - none of which carry that class. Broadened to apply sitewide; this is the same
   rule; nothing here is a new visual direction.
   .psc-panel removed from the ordinary-prose exclusion below: on the service pages its
   visible text is a Beaver Builder icon-list module that never matched `.fl-rich-text p`
   anyway (confirmed live, no-op there), while on the About page it IS ordinary
   `.fl-rich-text p` prose that was wrongly protected. .psc-card, .psc-card-accent,
   .psc-cta, .psc-hero, .psc-card-comparison stay excluded - each has its own dedicated
   treatment elsewhere. Card copy (.psc-card, .psc-card-accent) was inspected and is
   already correct at mobile (16px) - deliberately not touched here. */

@media (max-width: 767px) {
  /* 1. Ordinary prose - excludes text already inside a card/CTA/hero/comparison component */
  body[class] .fl-page-content .fl-rich-text p:not(:is(.psc-card, .psc-card-accent, .psc-cta, .psc-hero, .psc-card-comparison) *) {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  /* 2. FAQ / accordion answer copy */
  body[class] .fl-page-content .fl-accordion-content {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  /* 3. Checklist / comparison list text */
  body[class] .fl-page-content .psc-card-comparison li {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  /* 3b. Other substantive checklist/list copy: plain bullet lists inside ordinary
     rich-text content (e.g. Locations "who this is for" lists - confirmed live on
     /locations/texas/, 14px, mixed in the same page with a short city-name link list
     that also matches this selector and gets the same harmless size bump) */
  body[class] .fl-page-content .fl-rich-text li:not(:is(.psc-card, .psc-card-accent, .psc-cta, .psc-hero, .psc-card-comparison) *) {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  /* 3c. Icon-list module checklist content (e.g. About's "I see your passion..."
     list) - confirmed live at 14px, a different Beaver Builder module
     (.fl-module-list) from the plain bullet lists above, so it needs its own
     selector. Confirmed already 16px via other means on the service pages (no-op
     there), so this only changes About. */
  body[class] .fl-page-content .fl-list-item-content-text {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  /* 4. Services landing (/services/ itself - not a Services *sub*page, so nothing
     above reaches it) path-card teaser copy */
  body.page-id-132 .fl-page-content .psc-path-card .fl-rich-text p {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  /* 5. Homepage service-preview teaser box copy */
  body.home .fl-page-content .fl-module-box p {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  /* 6. Article author-bio blurb (PublishPress Authors plugin). Deliberately not
     `.fl-module-fl-post-content li`, which also matches the article's own in-content
     jump-link list (navigation, not reading copy) - confirmed live. */
  body[class] .pp-author-boxes-description {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  /* 7. Pattern Shift Notes signup intro blurb - confirmed 15px on mobile AND desktop
     (an intentional component size, not a mobile regression), so only the mobile
     value is raised here. The Subscribe button was checked live (15px) and is left
     untouched - not genuinely undersized. */
  body[class] .fl-builder-content .ps-notes p:not(.ps-notes-h),
  body[class] .fl-builder-content .ps-notes-fr p:not(.ps-notes-fr-h) {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
}

/* ===== PATTERN SHIFT - MOBILE ORDINARY/FAQ/CHECKLIST BODY COPY - END ===== */


/* ===== PATTERN SHIFT - MOBILE SERVICE-CARD BODY COPY (2026-10-03) - START =====
   Follow-up to the 2026-10-02 mobile typography fix: that fix correctly left plain
   .psc-card copy alone (already 16px at mobile), but missed this specific card/panel
   pattern, whose body text is 14px !important from an EXISTING, UNGATED Additional CSS
   rule that also applies (identically) at desktop - not a mobile-only regression, so only
   the mobile value is raised here; desktop keeps its established 14px "fine card copy" look.
   Only font-size/line-height are touched - color and font-weight are untouched, so the
   existing light/dark color rules for this same selector keep applying unmodified.
   Eyebrow labels (FIRST/SECOND/THIRD/ONGOING) are .fl-module-heading, not
   .fl-module-rich-text, and are unaffected by this rule. */

@media (max-width: 767px) {
  body.parent-pageid-132 .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text,
  body.parent-pageid-132 .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text p,
  body.parent-pageid-132 .fl-page-content .psc-card > .fl-col-content .fl-module-rich-text * {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }
}

/* ===== PATTERN SHIFT - MOBILE SERVICE-CARD BODY COPY - END ===== */


/* ===== PATTERN SHIFT - MOBILE INLINE-SPAN INHERITANCE FIX (2026-10-04) - START =====
   Follow-up to the same day's sitewide mobile typography fix: that fix correctly
   sets font-size on .fl-rich-text p, but a lot of this site's older content wraps
   its actual text in a stale Beaver-Builder-authored <span style="font-size:...">
   baked into the HTML. The inline style on that span wins for the visible glyphs
   regardless of what the ancestor <p> computes to, so the mobile fix silently had
   no visible effect wherever this pattern exists (confirmed via a full 52-URL
   scan: About, Meet Jason, all Locations pages, 4 service pages' body copy AND
   3 of their .psc-cta closing sentences, and Contact).
   Fix: make the inline-styled element INHERIT its parent paragraph's already-
   correct font-size/line-height, rather than hardcoding a value - this correctly
   resolves to 17px in ordinary prose, 18px inside a .psc-cta panel that has its
   own rule, etc., with no per-component exclusion list needed.
   Scoped to .fl-page-content so header/footer (nav columns, copyright) are
   structurally excluded - confirmed live untouched. Excludes elements associated
   with <em>: every em-wrapped inline-sized span sitewide (10 total, all on
   Compliance pages - "Updated:"/"Last reviewed:" timestamps and "NOTE: this is a
   business mailing address" disclaimers) is intentionally smaller italic text,
   confirmed by checking all of them individually - zero genuine prose anywhere
   combines an inline font-size span with <em>. */

@media (max-width: 767px) {
  .fl-page-content .fl-rich-text p [style*="font-size"]:not(em):not(em *):not(:has(em)) {
    font-size: inherit !important;
    line-height: inherit !important;
  }
}

/* ===== PATTERN SHIFT - MOBILE INLINE-SPAN INHERITANCE FIX - END ===== */

/* ==========================================================================
   IMPLEMENTED 2026-10-09
   PATTERN SHIFT - ARTICLE READABILITY LAYER (production)
   Implemented 2026-10-09. Appended after existing sitewide CSS.
   Includes the approved 2026-10-09 dark link OKLCH correction.

   SCOPE
   - body.single articles only: .ps-seo-post (Blog, Research Notes) and
     .ps-essay (Further Reading). Navigation, footer, buttons, service pages and
     Beaver Builder modules are out of reach by construction.
   - Existing rules are NOT edited, consolidated or removed. Where this block must
     override an existing declaration, it does so with higher specificity.

   APPROVED DECISIONS IMPLEMENTED
   - Desktop prose (all 3 formats): Raleway 400, 17px, line-height 1.62,
     17px paragraph spacing, 820px centred reading column.
   - Mobile prose (all 3 formats): Raleway 400, 18px, line-height 1.7 (existing
     Mobile Article Reading Comfort rule, untouched), paragraph spacing 1em (18px).
   - Further Reading body font retired: it follows the theme body font (Raleway),
     exactly as Blog and Research Notes already do. Label, reference and outro
     sizes, weights and italics are unchanged.
   - Underlined, palette-matched links in light and dark mode (site link palette:
     light #2A5D7F / hover #214D6B; dark #4FA9C9 / hover #00C6DC).
   - Callouts, pull-quotes, references and outro sit in the 820px column.
     FAQ accordions, standfirst, TOC, CTA, source cards and takeaway stay wide.
   - Further Reading subscribe panel capped at 760px, matching the Blog panel.
   - Mobile: Research Notes / Further Reading eyebrow and byline return to their
     intended small size (12px / 13px) instead of the 18px the existing mobile
     rule gives every direct-child paragraph.

   ROLLBACK: delete this whole block (between the PROPOSED header and the END
   marker) and clear the cache. No other rule depends on it.
   ========================================================================== */


/* 1. READING MEASURE (desktop). Prose, headings, header paragraphs and quiet
      end-matter share one 820px centred column. FAQ accordions and other wide editorial
      panels retain their original width. Callouts and pull-quotes track prose. */
@media (min-width: 768px) {
  body.single :is(.ps-seo-post, .ps-essay)
  :is(p, h2, h3, ul, ol, blockquote, hr, .ese-epigraph, .callout, .ps-quote,
      .ps-refs, .ese-refs, .ese-outro):not(
    :is(.ps-standfirst, .toc, .cta, .ps-notes, .ps-notes-fr, .hero, .rn-source,
        .rn-takeaway, .takeaways) *,
    :is(.ps-refs, .ese-refs, .ese-outro, .ese-epigraph, .callout, .ps-quote, .faq,
        blockquote, ul, ol) *
  ) {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 2. DESKTOP PROSE TYPOGRAPHY: 17px / 1.62 / 17px. Ordinary prose only; the
        eyebrow, standfirst and byline paragraphs keep their own sizes. */
  body.single :is(.ps-seo-post, .ps-essay) > .wp-block-group__inner-container > p:not(.rn-eyebrow, .rn-standfirst, .rn-byline, .ese-eyebrow, .ese-standfirst, .ese-byline),
  body.single :is(.ps-seo-post, .ps-essay) > p:not(.rn-eyebrow, .rn-standfirst, .rn-byline, .ese-eyebrow, .ese-standfirst, .ese-byline) {
    font-size: 17px;
    line-height: 1.62;
    margin-bottom: 17px;
  }
}


/* 3. MOBILE PROSE SPACING: 1em (= 18px, from the existing 18px / 1.7 mobile rule).
      Ordinary prose only, so no label or panel spacing moves. */
@media (max-width: 767px) {
  body.single :is(.ps-seo-post, .ps-essay) > .wp-block-group__inner-container > p:not(.rn-eyebrow, .rn-standfirst, .rn-byline, .ese-eyebrow, .ese-standfirst, .ese-byline),
  body.single :is(.ps-seo-post, .ps-essay) > p:not(.rn-eyebrow, .rn-standfirst, .rn-byline, .ese-eyebrow, .ese-standfirst, .ese-byline) {
    margin-bottom: 1em;
  }

  /* 4. MOBILE EDITORIAL LABELS: undo the existing mobile rule's 18px on the
        small eyebrow and byline. The !important is required because that rule
        uses !important; these selectors are more specific, so they win.
        Research Notes: line-height 1.45 (its own inherited value).
        Further Reading: line-height is already 1.7 (its own value), so only the
        size is restored. The standfirst intentionally stays at the 18px mobile
        reading size. Desktop is unaffected (rules live inside max-width: 767px). */
  body.single .ps-seo-post > .wp-block-group__inner-container > p.rn-eyebrow,
  body.single .ps-seo-post > p.rn-eyebrow {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
  body.single .ps-seo-post > .wp-block-group__inner-container > p.rn-byline,
  body.single .ps-seo-post > p.rn-byline {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  body.single .ps-essay > .wp-block-group__inner-container > p.ese-eyebrow,
  body.single .ps-essay > p.ese-eyebrow {
    font-size: 12px !important;
  }
  body.single .ps-essay > .wp-block-group__inner-container > p.ese-byline,
  body.single .ps-essay > p.ese-byline {
    font-size: 13px !important;
  }
}


/* 5. FURTHER READING BODY FONT, all widths. Paragraph-derived text follows the
      theme body font (Raleway), as Blog and Research Notes already do. Beats the
      embedded ".ps-essay p { font-family: var(--pse-sans) }" rule and the other
      embedded Further Reading font rules (their specificity is at most (0,2,2)).
      The subscribe panel and heading fonts are untouched. */
body.single .wp-block-group.ps-essay :is(p, li, .callout-label, .ps-quote-attr, .ese-att):not(.ps-notes-fr *) {
  font-family: inherit;
}


/* 6. FURTHER READING SUBSCRIBE PANEL: 820px, the same column as the prose and every
      other article component (was 760px until 2026-10-10; see Addition 4). Centred;
      button and text unchanged. */
body.single .ps-essay .ps-notes-fr {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* 7. ORDINARY LINKS, light mode. No !important needed. */
body.single :is(.ps-seo-post, .ps-essay) :is(p, li) a:not(
  .fl-button, [class*="-btn"],
  :is(.ps-notes, .ps-notes-fr, .toc, .cta, .rn-source, .rn-takeaway, .ps-standfirst,
      .ese-standfirst, .hero, .takeaways) a
) {
  color: #2A5D7F;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .18em;
  text-decoration-color: rgba(42, 93, 127, .45);
}
body.single :is(.ps-seo-post, .ps-essay) :is(p, li) a:not(
  .fl-button, [class*="-btn"],
  :is(.ps-notes, .ps-notes-fr, .toc, .cta, .rn-source, .rn-takeaway, .ps-standfirst,
      .ese-standfirst, .hero, .takeaways) a
):is(:hover, :focus-visible) {
  color: #214D6B;
  text-decoration-color: currentColor;
}


/* 8. ORDINARY LINKS, dark mode. !important IS required: WP Dark Mode forces link
      colour with !important (and through a JavaScript-generated twin rule), so a
      variable override is not reliable. CTA, subscribe, TOC, source-card, takeaway
      and standfirst links are excluded and keep their existing styling. */
:is(html[data-wp-dark-mode-active], html.wp-dark-mode-active)
body.single :is(.ps-seo-post, .ps-essay) :is(p, li) a:not(
  .fl-button, [class*="-btn"],
  :is(.ps-notes, .ps-notes-fr, .toc, .cta, .rn-source, .rn-takeaway, .ps-standfirst,
      .ese-standfirst, .hero, .takeaways) a
) {
  color: #4FA9C9 !important;
  color: oklch(69.26% 0.0973 224.3) !important;
  text-decoration-color: rgba(79, 169, 201, .6);
}
:is(html[data-wp-dark-mode-active], html.wp-dark-mode-active)
body.single :is(.ps-seo-post, .ps-essay) :is(p, li) a:not(
  .fl-button, [class*="-btn"],
  :is(.ps-notes, .ps-notes-fr, .toc, .cta, .rn-source, .rn-takeaway, .ps-standfirst,
      .ese-standfirst, .hero, .takeaways) a
):is(:hover, :focus-visible) {
  color: #00C6DC !important;
  color: oklch(75.66% 0.1304 208.9) !important;
  text-decoration-color: currentColor;
}

/* ===== END PATTERN SHIFT - ARTICLE READABILITY LAYER ===== */


/* ==========================================================================
   ADDITION 2 - APPROVED FOR INSTALLATION (2026-10-10)
   PATTERN SHIFT - ARTICLE READABILITY LAYER, ADDITION 2 (remaining defects)

   APPEND AFTER the existing "ARTICLE READABILITY LAYER" block (live revision 75f99db459,
   verified unchanged on 2026-10-10). Nothing above it is edited, moved or removed.
   Every rule here is ADDITIVE and scoped to body.single articles (.ps-seo-post / .ps-essay).
   Sections 9-13 were each tested client-side in a fresh Chrome profile on posts 1221,
   1455 (Blog), 1397, 1479 (Research Notes) and 1250 (Further Reading); see the report.

   9.  Ordinary lists -> prose typography (Raleway 400; 17/1.62 desktop, 18/1.7 mobile).
   10. Research Notes source-card links -> underlined, stacked links 24px apart.
   11. Focus ring colour on the dark gradient panels in LIGHT mode (was 1.2-2.3:1).
   12. Light-mode text contrast: references, Further Reading byline/outro/eyebrow,
       Research Notes takeaway paragraph.
   13. Blog standfirst text uses the full interior of its panel (except post 1413).

   ROLLBACK: delete this whole block (between this header and the END marker), clear cache.
   No other rule depends on it.
   ========================================================================== */


/* 9. ORDINARY LISTS. Reaches only lists that are DIRECT children of the article body: the
      script's ul.ps-list / ul.rn-list / ul.ese-list and any native list. The TOC (inside
      nav.toc), FAQ, takeaways, source cards and subscribe panels are never direct children,
      so their smaller interface text is untouched (verified: 0 other elements changed).
      Bullet dots keep their centring on the first text line (offset within +/-0.3px). */
@media (min-width: 768px) {
  body.single :is(.ps-seo-post, .ps-essay) > .wp-block-group__inner-container > :is(ul, ol) li,
  body.single :is(.ps-seo-post, .ps-essay) > :is(ul, ol) li {
    font-size: 17px;
    line-height: 1.62;
    font-weight: 400;
  }
  body.single .ps-seo-post > .wp-block-group__inner-container > :is(ul.ps-list, ul.rn-list) > li::before,
  body.single .ps-seo-post > :is(ul.ps-list, ul.rn-list) > li::before {
    top: 10px;
  }
}
@media (max-width: 767px) {
  body.single :is(.ps-seo-post, .ps-essay) > .wp-block-group__inner-container > :is(ul, ol) li,
  body.single :is(.ps-seo-post, .ps-essay) > :is(ul, ol) li {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
  }
  body.single .ps-seo-post > .wp-block-group__inner-container > :is(ul.ps-list, ul.rn-list) > li::before,
  body.single .ps-seo-post > :is(ul.ps-list, ul.rn-list) > li::before {
    top: 11px;
  }
  body.single .ps-essay > .wp-block-group__inner-container > ul.ese-list > li::before,
  body.single .ps-essay > ul.ese-list > li::before {
    top: 12px;
  }
}


/* 10. RESEARCH NOTES SOURCE LINKS. The embedded rule "text-decoration: none" is why these read as
       plain bold white text (identical colour to the study title). The underline COLOUR was already
       set by the existing palette rule (#45A8C8); only the line itself was missing. Colours,
       gradient, widths and type sizes are unchanged. */
body.single .ps-seo-post .rn-source a {
  text-decoration-line: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .2em;
}
body.single .ps-seo-post .rn-source a:hover {
  text-decoration-thickness: 2.5px;
}
/* two or more [Link] lines in one card: centres 24px apart (WCAG 2.5.8 target spacing) */
body.single .ps-seo-post .rn-source .rn-source-link + .rn-source-link {
  margin-top: 8px;
}


/* 11. FOCUS RING ON DARK GRADIENT PANELS, LIGHT MODE ONLY. The sitewide light focus colour (#2A6E7E)
       is correct on white but is 1.2-2.3:1 against the navy panels. Width, style and offset stay as
       they are; only the colour changes. Dark mode already uses #0FF1FF (8-11:1) and is untouched. */
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body.single .ps-seo-post :is(.cta, .rn-source, .rn-takeaway, .ps-standfirst) :is(a[href], button):focus-visible {
  outline-color: #FFFFFF !important;
}


/* 12. TEXT CONTRAST, LIGHT MODE ONLY (dark mode already passes everywhere). #6c828a is 4.04:1 on white
       (needs 4.5); #00a88e at 12px bold is 3.0:1; #B9C6D8 is 4.1-4.4:1 at the light end of the takeaway
       gradient. Replacement values: #5A6F78 = 5.28:1, #00806A = 4.89:1, #D5DEEA = 5.2-5.6:1. */
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active) body.single .ps-seo-post .ps-refs p {
  color: #5A6F78 !important;
}
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active) body.single .ps-essay :is(.ese-byline, .ese-outro p) {
  color: #5A6F78;
}
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active) body.single .ps-essay .ese-eyebrow {
  color: #00806A;
}
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active) body.single .ps-seo-post .rn-takeaway p:not(.rn-takeaway-k, .rn-takeaway-label) {
  color: #D5DEEA !important;
}


/* 13. STANDFIRST TEXT (Blog and Research Notes): full interior of the existing panel (padding and
       responsive behaviour unchanged; no text-wrap balancing, no forced breaks). Addition 4 caps the
       panel at 820px, so the text interior is at most 740px; on narrower screens the panel and the
       text shrink with the viewport as before. */
body.single .ps-seo-post .ps-standfirst .sf-text {
  max-width: none;
}

/* ===== END PATTERN SHIFT - ARTICLE READABILITY LAYER, ADDITION 2 ===== */


/* ==========================================================================
   ADDITION 3 - BLOG STANDFIRST LIGHT MODE CONTRAST (2026-10-10)
   The approved wider standfirst text can reach a lighter part of its gradient.
   Claude measured contrast as low as 4.35:1 on existing Blog posts.
   Scope: standfirst body text only, light mode only; preserves all widths.
   ========================================================================== */
html:not([data-wp-dark-mode-active]):not(.wp-dark-mode-active)
body.single .ps-seo-post .ps-standfirst .sf-text {
  color: #D5DEEA !important;
}
/* ===== END PATTERN SHIFT - ARTICLE READABILITY LAYER, ADDITION 3 ===== */

/* ==========================================================================
   ADDITION 4 - ARTICLE COMPONENT WIDTH: ONE 820px COLUMN (2026-10-10, revised)
   Final design decision: every major article component shares the 820px column
   of the prose, on Blog, Research Notes and Further Reading posts: standfirst,
   table of contents, FAQ (rows and answers), CTA, Takeaway, section dividers,
   References (via the readability layer), subscription panels, the author box and the single-post footer area
   (Posted in line, previous/next navigation, separator lines).
   This replaces the earlier 940px panel widths. Components stay centred; colour,
   type, padding, borders and responsive behaviour are untouched. Below ~860px
   viewport width the post container is already narrower than 820px, so mobile and
   tablet are unchanged. Everything is scoped to single posts (body.single), so
   the landing pages and every other page are unaffected.
   The post 1413 standfirst 760px exception was removed earlier (Addition 2).
   ========================================================================== */

/* 1. Panels that are direct children of the post's inner container (never nested
      copies). .rn-source is only needed until the Research Notes post 1397 loses its
      old opening card; remove it then. */
body.single .ps-seo-post > .wp-block-group__inner-container >
:is(.ps-standfirst, .toc, .faq, .cta, .rn-source, .rn-takeaway, .ps-sec-border) {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 2. Author box (PublishPress Authors, outside the post group), single posts only. */
body.single .pp-multiple-authors-boxes-wrapper {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* 3. Subscription panel in Blog / Research Notes posts: 820px. The sitewide Phase 5
      .ps-notes rule (also used on the landing pages) forces 760px !important, so this
      needs !important and extra specificity. Single posts only. The Further Reading
      panel (.ps-notes-fr) is set to 820px directly in section 6 above. */
html body.single[class] .fl-page-content .ps-notes {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4. FAQ answers now span the same 820px as the question rows (no separate cap).
      text-wrap: pretty on FAQ answers and on the standfirst text avoids one-word last lines
      (inside the 820px panel the standfirst interior is 740px). It is a progressive
      enhancement, ignored where unsupported; no forced line breaks. */
body.single .ps-seo-post :is(.faq .ans p, .ps-standfirst .sf-text) {
  text-wrap: pretty;
}

/* 5. Single-post footer area (Beaver Themer post layout): the "Posted in" line, the
      previous/next post navigation and the separator lines between them. They are
      sibling modules that follow the post-content module in the same column. The
      860px module width keeps the 20px side margins of .fl-module-content, so the
      content edge is exactly 820px and the phone gutters are unchanged. Scoped to
      single posts: archives, pages and the site navigation are untouched. width: 100% is needed
      because the column is a flex container (auto side margins alone would shrink the modules). */
body.single-post .fl-module-fl-post-content ~ :is(.fl-module-separator, .fl-module-html, .fl-module-fl-post-navigation) {
  width: 100%;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
/* ===== END PATTERN SHIFT - ARTICLE COMPONENT WIDTH 820px, ADDITION 4 ===== */


body.postid-1221
.fl-node-yv9m0gsipxno > .fl-row-content-wrap::after {
  background: rgba(10, 13, 24, 0.30) !important;
}

body.postid-2006
.fl-node-yv9m0gsipxno > .fl-row-content-wrap::after {
  background: rgba(10, 13, 24, 0.30) !important;
}

/* ==========================================================================
   FAQ / ACCORDION ANSWER LINKS (2026-10-11)
   The Beaver Builder accordion stylesheet sets `.fl-accordion-item a { color: inherit;
   text-decoration: none; }`, so a link inside an answer looked like body text until hover.
   This block fixes the RESTING state of links inside accordion ANSWERS only: the site's
   ordinary link colour plus a permanent underline (same values as the article links).
   Hover and keyboard-focus colours and the focus ring are NOT touched: the existing
   "CONTENT LINK INTERACTION" rules still win (they have higher specificity; the dark one is
   !important). Question buttons are not affected (they are not inside .fl-accordion-content).
   ========================================================================== */
html:not([data-wp-dark-mode-active]) body[class] .fl-page-content .fl-accordion-content a:not(.fl-button) {
  color: #2A5D7F;
  color: oklch(45.92% 0.0779 240.6);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .18em;
  text-decoration-color: rgba(42, 93, 127, .45);
}
html[data-wp-dark-mode-active] body[class] .fl-page-content .fl-accordion-content a:not(.fl-button) {
  color: #4FA9C9 !important;
  color: oklch(69.26% 0.0973 224.3) !important;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .18em;
  text-decoration-color: rgba(79, 169, 201, .6);
}
/* ===== END FAQ / ACCORDION ANSWER LINKS ===== */

/* ===== Pattern Shift BLOG TOC typography override - START (2026-10-15) =====
   Existing posts embed .ps-seo-post .toc li {font-size:14px} and
   .ps-seo-post .toc h2 {font-size:13px !important} inline. These win by
   specificity (body.single adds 1 class + 1 element) regardless of order.
   Remove this whole block once the publisher template carries these values. */
body.single .ps-seo-post .toc li {
  font-size: 16px;
  line-height: 1.5;
}
body.single .ps-seo-post .toc h2 {
  font-size: 15px !important;
}
/* ===== Pattern Shift BLOG TOC typography override - END ===== */

/* ===== Pattern Shift SITEWIDE BB BODY TYPOGRAPHY - BEGIN (2026-10-15, rev 3, softer #C8D5DE) =====
   Replaces the MEET JASON and NEURODIVERGENT SERVICE page-specific blocks.
   Ordinary Beaver Builder prose (rich-text + FAQ accordion answers), p and li.
   Desktop (>=768px): at least 17px / 1.45. Dark mode: at least #C8D5DE, all widths.
   Never shrinks or dims: font-size:max(17px,1em) keeps larger text (e.g. 18px FAQ),
   and the relative-colour max(l, 0.8658) keeps brighter text (e.g. #EBECEA intros).
   Skips blog posts (.single), Home, How I Work (127), Fees (168), Contact (179) and
   card / CTA / hero / panel / steps components. Light-mode colours untouched. */
@media (min-width: 768px) {
  body.page:not(.single, .home, .page-id-127, .page-id-168, .page-id-179) .fl-page-content :is(.fl-rich-text, .fl-accordion-content) :is(p, li):not(:is(.psc-card, .psc-card-accent, .psc-cta, .psc-hero, .psc-card-comparison, .psc-panel, .psc-path-card, .psc-steps) *) {
    font-size: max(17px, 1em);
    line-height: 1.45;
  }
}
html[data-wp-dark-mode-active] body.page:not(.single, .home, .page-id-127, .page-id-168, .page-id-179) .fl-page-content :is(.fl-rich-text, .fl-accordion-content) :is(p, li):not(:is(.psc-card, .psc-card-accent, .psc-cta, .psc-hero, .psc-card-comparison, .psc-panel, .psc-path-card, .psc-steps) *) {
  color: #C8D5DE; /* fallback for browsers without relative colour syntax */
  color: oklch(from currentcolor max(l, 0.8658) calc(0.0188 + (c - 0.0188) * clamp(0, (l - 0.8658) * 1000, 1)) calc(237.8 + (h - 237.8) * clamp(0, (l - 0.8658) * 1000, 1)));
}
/* ===== Pattern Shift SITEWIDE BB BODY TYPOGRAPHY - END ===== */


/* ===== Pattern Shift SITEWIDE BB CARD TEXT COLOUR (dark mode) - BEGIN (2026-10-15, rev 3, softer #C8D5DE) =====
   Colour only: card font sizes, layouts, headings and icons are untouched.
   Service-page cards need !important to beat the existing
   "html.wp-dark-mode-active ... .psc-card > .fl-col-content .fl-module-rich-text p" rule
   (oklch(0.68 0.03 249) !important). Homepage service-preview cards need !important to beat
   the existing node-ID rule (oklch(0.8716 ...) !important). Card bg #07122A: 12.4:1. */
html[data-wp-dark-mode-active] body.page:not(.single, .home, .page-id-127, .page-id-168, .page-id-179) .fl-page-content .psc-card:not(.psc-panel) > .fl-col-content .fl-module-rich-text :is(p, li, p :is(strong, em, b, i, span)) {
  color: #C8D5DE !important;
  color: oklch(0.8658 0.0188 237.8) !important;
}
/* Services-landing path cards and About panels */
html[data-wp-dark-mode-active] body.page:not(.single, .home, .page-id-127, .page-id-168, .page-id-179) .fl-page-content :is(.psc-path-card, .psc-panel:not(.psc-card)) .fl-rich-text p {
  color: #C8D5DE;
  color: oklch(0.8658 0.0188 237.8);
}
/* Homepage service-preview cards (the 12 teaser paragraphs) */
html[data-wp-dark-mode-active] body.home .fl-page-content .fl-module-box .fl-rich-text p {
  color: #C8D5DE !important;
  color: oklch(0.8658 0.0188 237.8) !important;
}
/* ===== Pattern Shift SITEWIDE BB CARD TEXT COLOUR (dark mode) - END ===== */

/* ===== PATTERN SHIFT - WHO I HELP CTA COMPACT (psc-cta-compact) - START =====
   Page-specific modifier for the Getting Started CTA on Who I Help (page 127).
   Applies ONLY where a column carries BOTH .psc-cta-primary and .psc-cta-compact; no other page uses psc-cta-compact.
   Vertical padding only (horizontal padding, colours, border, type and button are untouched); height is content-driven.
   Specificity: column rule (0,7,1) beats the shared (0,6,1) triple-class rule; row rule (0,6,1) beats the shared (0,5,1) rule. */
body[class] .fl-page-content .fl-row.fl-row:has(.psc-cta-compact) > .fl-row-content-wrap { padding-top: 24px !important; padding-bottom: 24px !important; }
body[class] .fl-page-content .psc-cta-primary.psc-cta-compact.psc-cta-compact.psc-cta-compact > .fl-col-content { padding-top: 40px !important; padding-bottom: 40px !important; }
@media (max-width: 767px) {
  body[class] .fl-page-content .psc-cta-primary.psc-cta-compact.psc-cta-compact.psc-cta-compact > .fl-col-content { padding-top: 28px !important; padding-bottom: 28px !important; }
}
/* ===== PATTERN SHIFT - WHO I HELP CTA COMPACT (psc-cta-compact) - END ===== */