/* verospine-testimonials-fix */
/* VeroSpine brand v1.9.0 */

/* Horizontal scroll without killing fixed/sticky */
html { max-width: 100%; }
body { max-width: 100%; overflow-x: clip; }
.wp-site-blocks { overflow-x: clip; max-width: 100%; }
.wp-block-cover { overflow: hidden !important; max-width: 100% !important; }

/* FIXED header (reliable stick) */
header.wp-block-template-part,
.wp-site-blocks > header {
  margin: 0 !important;
  padding: 0 !important;
}
.vs-sticky-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 100000 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  --wp--style--block-gap: 0 !important;
  background: #fff;
  box-shadow: 0 2px 12px rgba(26,19,41,0.14);
}
.vs-sticky-header > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
/* Offset page content under fixed header */
body .wp-site-blocks > header + * {
  margin-top: 123px !important;
}
body.admin-bar .vs-sticky-header { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar .vs-sticky-header { top: 46px !important; }
}

/* One-line header */
.vs-header-bar .vs-header-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
  gap: 12px;
}
.vs-header-bar .vs-nav-cluster {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 14px;
  margin-left: auto;
}
.vs-header-bar .wp-block-site-title { display: none !important; }
.vs-logo img, .vs-logo .custom-logo { max-height: 58px !important; width: auto !important; }

/* Nav ALWAYS black */
.vs-header-bar,
.vs-header-bar .wp-block-navigation,
.vs-header-bar .wp-block-navigation a,
.vs-header-bar .wp-block-navigation .wp-block-navigation-item__content,
.vs-header-bar .wp-block-navigation span,
.vs-header-bar .wp-block-navigation button,
.vs-header-bar .has-white-color,
.vs-header-bar .has-black-color {
  color: #1a1329 !important;
}
.vs-header-bar .wp-block-navigation a:hover { color: #4b2e83 !important; }
.vs-header-bar .wp-block-button__link {
  color: #fff !important;
  background-color: #4b2e83 !important;
}
.vs-header-bar .wp-block-navigation__submenu-container { background: #fff !important; }
.vs-header-bar .wp-block-navigation__submenu-container a { color: #1a1329 !important; }

/* Top purple bar white text */
.vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] a,
.vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] p,
.vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] strong {
  color: #fff !important;
}

/* Hero blur */
body .wp-site-blocks > header + .wp-block-cover .wp-block-cover__image-background,
body .wp-site-blocks > .wp-block-cover:first-of-type .wp-block-cover__image-background {
  filter: blur(1.21px) brightness(0.88) !important;
  transform: none !important;
}
body .wp-site-blocks > header + .wp-block-cover .wp-block-cover__background {
  background-color: #1a1329 !important;
  opacity: 0.42 !important;
}

/* Blog / testimonials / footer contrast */
.news-section .news-info { background:#fff !important; color:#1a1329 !important; }
.news-section .news-info a, .news-section .news-info .wp-block-post-title a { color:#1a1329 !important; }
/* Section titles only â€” NOT author names inside white cards */
.testimonials-section > .wp-block-heading,
.testimonials-section > h2:first-of-type,
.testimonials-section > p:first-of-type {
  color: #fff !important;
}
.testimonials-section .testimonials-slider-block,
.testimonials-section .testimonials-slider-block.swiper-slide {
  background: #fff !important;
  color: #1a1329 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 22px 20px !important;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
}
.testimonials-section .testimonials-slider-block p,
.testimonials-section .testimonials-slider-block .wp-block-paragraph {
  color: #1a1329 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 0 12px !important;
}
.testimonials-section .testimonials-slider-block h2,
.testimonials-section .testimonials-slider-block .testimonial-author-name,
.testimonials-section .testimonials-slider-block .wp-block-heading {
  color: #4b2e83 !important;
  font-size: 1.05rem !important;
  margin: 8px 0 4px !important;
}
.testimonials-section .testimonials-slider-block p:last-child {
  color: #5d6472 !important;
  font-size: 0.85rem !important;
  margin: 0 !important;
}
/* Kill swiper tall-blank: use a simple responsive grid instead */
.testimonials-section .testimonial-swiper-slider.mySwiper,
.testimonials-section .testimonial-swiper-slider {
  overflow: visible !important;
  max-width: 100%;
}
.testimonials-section .testimonials-slider.swiper-wrapper,
.testimonials-section .testimonials-slider {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
}
.testimonials-section .testimonials-slider .swiper-slide {
  width: auto !important;
  margin: 0 !important;
  height: auto !important;
}
@media (max-width: 1023px) {
  .testimonials-section .testimonials-slider.swiper-wrapper,
  .testimonials-section .testimonials-slider {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .testimonials-section .testimonials-slider.swiper-wrapper,
  .testimonials-section .testimonials-slider {
    grid-template-columns: 1fr;
  }
}
footer a, .wp-site-blocks > footer a { color:#fff !important; }
footer .wp-block-button__link { color:#fff !important; background:#4b2e83 !important; }

/* Testimonials page cards */
.vs-review-card {
  background: #f7f5fb;
  border-left: 4px solid #4b2e83;
  padding: 20px 24px;
  margin: 0 0 18px;
  border-radius: 8px;
}
.vs-review-card p { color: #1a1329 !important; margin: 0 0 10px; }
.vs-review-card .vs-review-meta { color: #4b2e83 !important; font-weight: 700; margin: 0; }
/* Hub cards */
.vs-hub-card { overflow: hidden; height: 100%; }
.vs-hub-card img { width: 100%; height: 190px; object-fit: cover; display: block; }
.vs-hub-card h3 { font-size: 1.15rem; margin: 14px 0 8px; }
.vs-hub-card h3 a { color: #4b2e83 !important; text-decoration: none; }
.vs-hub-card h3 a:hover { text-decoration: underline; }
.vs-hub-card p a { color: #4b2e83 !important; }

/* Hero blur bump */
body .wp-site-blocks > header + .wp-block-cover .wp-block-cover__image-background,
body .wp-site-blocks > .wp-block-cover:first-of-type .wp-block-cover__image-background,
.wp-block-cover.alignfull .wp-block-cover__image-background {
  filter: blur(1.21px) brightness(0.88) !important;
  transform: none !important;
}
/* verospine-page-images: one modest photo in page body, not full-bleed */
body.page .entry-content .wp-block-post-content .wp-block-image,
body.page main .wp-block-image,
body.page .wp-block-post-content > .wp-block-image {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
body.page main .wp-block-image img,
body.page .wp-block-post-content .wp-block-image img {
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: cover;
  border-radius: 8px;
}



/* Compact homepage review columns */
.testimonials-section .vs-review-grid {
  gap: 18px !important;
}
.testimonials-section .vs-review-grid .wp-block-column {
  margin: 0 !important;
}
.testimonials-section .testimonials-slider-block {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Page intro headings: centered, regular weight, modest size */
body.page:not(.page-faq):not(.parent-pageid-396) main .wp-block-post-content > .wp-block-heading:first-child,
body.page main .wp-block-post-content > h1:first-child,
body.page main .wp-block-post-content > h2:first-child,
body.page main .entry-content > .wp-block-heading:first-child,
body.page main .entry-content > h1:first-child,
body.page main .entry-content > h2:first-child,
body.page .wp-block-post-content > .wp-block-heading:first-of-type,
body.page .wp-block-post-content > h2.wp-block-heading:first-of-type {
  text-align: center !important;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  max-width: 40rem;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.25rem !important;
}



/* FAQ topic pages: readable Q&A for SEO */
body.page-parent-396 .wp-block-post-content > .wp-block-heading,
.page-faq .wp-block-post-content > .wp-block-heading,
body[class*="faq"] main .wp-block-post-content h2.wp-block-heading {
  text-align: center !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.5rem !important;
  max-width: none !important;
}

/* === v1.10 : polished body font (replaces Source Code Pro) === */
body, body p, body li, body a, body input, body select, body textarea, body button,
.wp-block-button__link, .wp-element-button, .has-source-code-pro-font-family,
.wp-block-navigation, .wp-block-navigation-item__content {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-family: 'Poppins', 'Inter', sans-serif !important; }
body { letter-spacing: 0; }
body p { line-height: 1.7; }

/* === v1.10 : dropdown highlight light purple (was theme accent blue) === */
@media screen and (min-width: 600px){
  header .wp-block-navigation-submenu li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu,
  header .wp-block-navigation-submenu li.wp-block-navigation-item.wp-block-navigation-link {
    background-color: #ece4f7 !important;
    color: #4b2e83 !important;
  }
  header .wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container li a span,
  header .wp-block-navigation__submenu-container li a,
  header .wp-block-navigation__submenu-container li a span {
    color: #4b2e83 !important;
  }
  header .wp-block-navigation-submenu li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu:hover,
  header .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
  header .wp-block-navigation-submenu li.wp-block-navigation-item.wp-block-navigation-link:hover {
    background: #d6c6ee !important;
    color: #2e1a55 !important;
  }
  header .wp-block-navigation__submenu-container li:hover a,
  header .wp-block-navigation__submenu-container li:hover a span,
  header ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu:hover span {
    color: #2e1a55 !important;
  }
  header li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu:hover,
  header li.wp-block-navigation-item.wp-block-navigation-link a:hover {
    background-color: #ece4f7 !important;
    color: #4b2e83 !important;
  }
  header li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu:hover > a,
  header li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu:hover > a span,
  header li.wp-block-navigation-item.has-child.open-on-hover-click.wp-block-navigation-submenu:hover > button { color: #4b2e83 !important; }
}

/* === v1.10 : Our Partners page layout === */
.vs-partner { margin-top: 0 !important; margin-bottom: 0 !important; }
.vs-partner + .vs-partner { margin-top: 0 !important; }
.vs-partner h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 8px; }
.vs-partner h3 { font-size: clamp(17px, 1.6vw, 21px); font-weight: 600; margin-top: 0; opacity: .92; }
.vs-partner-light h2, .vs-partner-light h3 { color: #4b2e83; }
.vs-partner-dark h2, .vs-partner-dark h3, .vs-partner-dark p, .vs-partner-dark li, .vs-partner-intro h2, .vs-partner-intro p { color: #fff !important; }
.vs-partner-dark a:not(.wp-block-button__link) { color: #fff; }
.vs-partner-band { padding-top: 44px !important; padding-bottom: 44px !important; }
.vs-partner-band h2 { color: #4b2e83 !important; font-size: clamp(24px, 2.6vw, 34px); max-width: 900px; margin: 0 auto; }
.vs-partner-intro p { max-width: 860px; margin-left: auto; margin-right: auto; }
.vs-partner-logo { margin: 0 auto !important; }
.vs-partner-logo img { width: 100%; max-width: 540px; height: auto; border-radius: 14px; box-shadow: 0 12px 34px rgba(30, 15, 60, .18); background: #fff; }
.vs-partner .wp-block-button__link { padding: 14px 30px; font-weight: 600; text-transform: none; }
.vs-partner .wp-block-button__link:hover { filter: brightness(1.1); }
.vs-partner ul { padding-left: 1.2em; }
.vs-partner li { margin-bottom: 8px; }
@media (max-width: 781px) {
  .vs-partner .wp-block-column:has(.vs-partner-logo) { order: -1; }
  .vs-partner .wp-block-columns .wp-block-column { flex-basis: 100% !important; }
}

.vs-partner .wp-block-button__link { text-decoration: none !important; }

/* === v1.10.2 : Contact Form 7 (Contact page) === */
.vs-contact-form { max-width: 720px; margin: 18px auto 36px 0 !important; padding: 0 !important; }
.vs-contact-form > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.wpcf7 .wpcf7-form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.wpcf7 .wpcf7-form > p, .wpcf7 .vs-cf7-field p, .wpcf7 .vs-cf7-submit p { margin: 0; }
.wpcf7 .vs-cf7-field br { display: none; }
.wpcf7 .vs-cf7-field label { display: block; margin: 0 0 6px; color: #1f1a2b; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; line-height: 1.4; }
.wpcf7 .vs-req { color: #4b2e83; }
.wpcf7 .vs-optional { color: #6b6478; font-weight: 400; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-email,
.wpcf7 input.wpcf7-tel,
.wpcf7 textarea.wpcf7-textarea {
  display: block; width: 100%; max-width: 100%; box-sizing: border-box;
  padding: 11px 14px; margin: 0;
  border: 1px solid #d6d1de; border-radius: 6px; background: #fff;
  color: #1f1a2b; font-family: Inter, sans-serif; font-size: 16px; line-height: 1.5;
  box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.wpcf7 textarea.wpcf7-textarea { min-height: 140px; resize: vertical; }
.wpcf7 input.wpcf7-text:focus,
.wpcf7 input.wpcf7-email:focus,
.wpcf7 input.wpcf7-tel:focus,
.wpcf7 textarea.wpcf7-textarea:focus { outline: none; border-color: #4b2e83; box-shadow: 0 0 0 3px rgba(75, 46, 131, .18); }
.wpcf7 .wpcf7-not-valid { border-color: #b3261e !important; }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 6px; color: #b3261e; font-size: 14px; }
.wpcf7 .vs-cf7-privacy { margin: 0; color: #5a5366; font-size: 14px; line-height: 1.5; }
.wpcf7 input.wpcf7-submit {
  display: inline-block; width: auto; padding: 13px 30px; margin: 0;
  border: 0; border-radius: 6px; background: #4b2e83; color: #fff;
  font-family: Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.2;
  cursor: pointer; transition: background-color .15s ease;
}
.wpcf7 input.wpcf7-submit:hover, .wpcf7 input.wpcf7-submit:focus-visible { background: #2e1a55; color: #fff; }
.wpcf7 input.wpcf7-submit:focus-visible { outline: 3px solid rgba(75, 46, 131, .35); outline-offset: 2px; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7 form .wpcf7-response-output { margin: 4px 0 0; padding: 10px 14px; border-radius: 6px; font-size: 15px; }
/* Honeypot: keep visually hidden (backup for the plugin's inline style) */
.wpcf7 .cf7apps-honeypot-wrap, .wpcf7 .honeypot-462-wrap {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.wpcf7 .wpcf7-form > p:has(> .cf7apps-honeypot-wrap) { position: absolute; margin: 0; }

/* ===== Page title heroes (v1.10.3): featured-image background on page.html cover (.vs-page-hero), matching live Jane headers ===== */
.wp-block-cover.vs-page-hero {
  min-height: 480px !important;
  padding: 48px 24px !important;
}
.wp-block-cover.vs-page-hero .wp-block-cover__image-background {
  filter: none !important;
  transform: none !important;
  object-fit: cover;
  object-position: center;
}
.wp-block-cover.vs-page-hero .wp-block-cover__background {
  background-color: #000 !important;
  opacity: 0.45 !important;
}
.wp-block-cover.vs-page-hero .wp-block-post-title,
.wp-block-cover.vs-page-hero h1 {
  color: #fff !important;
  font-family: "Poppins", sans-serif;
  font-weight: 600 !important;
  font-size: clamp(2rem, 4.2vw, 3.25rem) !important;
  line-height: 1.15;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
  margin: 0;
}
/* Pages without a live hero photo (FAQ pages, legacy duplicates): keep the original compact accent title bar */
.wp-block-cover.vs-page-hero:not(:has(img.wp-block-cover__image-background[src*="/uploads/2026/09/hero-"])) {
  min-height: 100px !important;
  padding: 0 !important;
}
.wp-block-cover.vs-page-hero:not(:has(img.wp-block-cover__image-background[src*="/uploads/2026/09/hero-"])) .wp-block-cover__image-background {
  display: none !important;
}
.wp-block-cover.vs-page-hero:not(:has(img.wp-block-cover__image-background[src*="/uploads/2026/09/hero-"])) .wp-block-cover__background {
  background-color: #4b2e83 !important;
  opacity: 1 !important;
}
.wp-block-cover.vs-page-hero:not(:has(img.wp-block-cover__image-background[src*="/uploads/2026/09/hero-"])) .wp-block-post-title,
.wp-block-cover.vs-page-hero:not(:has(img.wp-block-cover__image-background[src*="/uploads/2026/09/hero-"])) h1 {
  font-size: var(--wp--preset--font-size--content-heading) !important;
  font-weight: 500 !important;
  text-shadow: none;
}
@media (max-width: 781px) {
  .wp-block-cover.vs-page-hero { min-height: 320px !important; }
}

/* === Homepage video hero === */
/* front-page.html core/cover (.vs-home-video-hero) with the Imagine logo video background.
   Poster doubles as the cover background so something shows instantly, on phones (video not loaded),
   and for reduced-motion users. */
.wp-block-cover.vs-home-video-hero {
  background: #1d1233 url("/wp-content/uploads/2026/09/hero-logo-video-poster.webp?v=1080-2") center / cover no-repeat;
}
.wp-block-cover.vs-home-video-hero > .wp-block-cover__video-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: none !important;
  pointer-events: none;
}
/* Purple-tinted overlay, a little deeper in the centre where the glowing logo sits behind the headline */
body .wp-site-blocks > header + .wp-block-cover.vs-home-video-hero .wp-block-cover__background,
.wp-block-cover.vs-home-video-hero > .wp-block-cover__background {
  background-color: transparent !important;
  background-image: radial-gradient(ellipse 65% 75% at 50% 50%, rgba(29, 18, 51, 0.74) 0%, rgba(29, 18, 51, 0.6) 60%, rgba(29, 18, 51, 0.5) 100%) !important;
  opacity: 1 !important;
}
.wp-block-cover.vs-home-video-hero .wp-block-cover__inner-container h1,
.wp-block-cover.vs-home-video-hero .wp-block-cover__inner-container p {
  text-shadow: 0 2px 14px rgba(15, 8, 30, 0.55);
}
@media (max-width: 600px) {
  .wp-block-cover.vs-home-video-hero > .wp-block-cover__video-background { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover.vs-home-video-hero > .wp-block-cover__video-background { display: none; }
}
/* === /Homepage video hero === */
/* === Footer designer credit (Ironcraft Studio) === */
footer p .vs-credit { white-space: nowrap; }
footer p .vs-credit a,
.wp-site-blocks > footer p .vs-credit a {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: inherit;
}
footer p .vs-credit a:hover,
footer p .vs-credit a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
@media (max-width: 600px) {
  footer p .vs-credit-sep { display: none; }
  footer p .vs-credit { display: block; margin-top: 4px; }
}
/* === /Footer designer credit === */

/* === v1.11.4 : Contact page layout (form + review graphic, info row) === */
body.page .vs-contact-intro { max-width: 46rem; margin: 0 auto 8px !important; color: #3d3650; }
body.page .wp-block-columns.vs-contact-main { gap: 48px; margin-top: 36px !important; align-items: flex-start; }
body.page .vs-contact-main .vs-contact-h,
body.page .vs-contact-info h3.wp-block-heading {
  color: #4b2e83 !important;
  font-family: 'Poppins', 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-align: center !important;
}
body.page .vs-contact-main .vs-contact-h { font-size: clamp(1.4rem, 2vw, 1.75rem) !important; margin: 0 0 14px !important; }
body.page .vs-contact-main .vs-contact-form { margin: 0 !important; max-width: none; }
body.page .vs-contact-review .wp-block-image.vs-contact-review-img { max-width: 440px; margin: 6px auto 18px !important; }
body.page .vs-contact-review .wp-block-image.vs-contact-review-img img {
  max-height: none !important;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(30, 15, 60, .16);
}
body.page .wp-block-columns.vs-contact-info { gap: 24px; margin-top: 56px !important; margin-bottom: 48px !important; }
body.page .vs-contact-info > .wp-block-column { background: #f6f3fb; border: 1px solid #e6def2; border-radius: 12px; padding: 24px 26px; }
body.page .vs-contact-info h3.wp-block-heading { font-size: 1.2rem !important; margin: 0 0 12px !important; }
body.page .vs-contact-info p { margin: 0 0 12px; }
body.page .vs-contact-info .wp-block-buttons { margin-top: 14px; }
body.page ul.vs-hours { list-style: none; padding-left: 0 !important; margin: 0; }
body.page ul.vs-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; margin: 0; border-bottom: 1px solid #e2d9ee; font-size: 15px; }
body.page ul.vs-hours li:last-child { border-bottom: 0; }
body.page ul.vs-hours li strong { color: #1f1a2b; font-weight: 600; }
@media (max-width: 781px) {
  body.page .wp-block-columns.vs-contact-main { gap: 28px; }
  body.page .vs-contact-review .wp-block-image.vs-contact-review-img { max-width: 400px; }
  body.page .wp-block-columns.vs-contact-info { margin-top: 36px !important; }
}
body.page .vs-contact-intro a[href^="tel:"], body.page .vs-contact-info a[href^="tel:"] { white-space: nowrap; }
/* === /v1.11.4 Contact page layout === */

/* === v1.11.5 : Mobile/tablet header + hamburger overlay menu (<=1023px; the one-line desktop header only fits from 1024px) === */
@media (max-width: 1023px) {
  /* Compact purple top bar: phone + email on one centered line */
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] { padding-top: 5px !important; padding-bottom: 5px !important; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] > .wp-block-columns { max-width: 100% !important; margin: 0 !important; gap: 0 !important; padding: 0 12px; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] > .wp-block-columns > .wp-block-column:first-child { display: none !important; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] > .wp-block-columns > .wp-block-column:last-child { flex-basis: 100% !important; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] p.has-text-align-right { font-size: 0 !important; line-height: 20px !important; margin: 0 !important; text-align: center !important; white-space: nowrap; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] p.has-text-align-right a { font-size: 13px !important; font-weight: 600; text-decoration: none; display: inline-block; line-height: 20px !important; vertical-align: top; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] p.has-text-align-right a[href^="tel:"] { margin-right: 18px; }
  .vs-sticky-header > .wp-block-group.has-background[style*="4b2e83"] p.has-text-align-right a[href*="janeapp"] { display: none !important; }

  /* Main row: logo left, Book + hamburger right */
  .vs-header-bar.header-main-box { padding-top: 8px !important; padding-bottom: 8px !important; border-bottom: 0 !important; }
  .vs-header-bar > .vs-header-row { max-width: calc(100% - 32px) !important; width: auto !important; margin-left: 16px !important; margin-right: 16px !important; gap: 10px !important; }
  .vs-header-bar .vs-logo img, .vs-header-bar .vs-logo .custom-logo { max-height: 44px !important; }
  .vs-header-bar .vs-logo, .vs-header-bar .vs-logo a { display: block; line-height: 0 !important; margin: 0 !important; }
  .vs-header-bar .vs-nav-cluster { gap: 10px !important; flex-shrink: 0; }
  .vs-header-bar .vs-nav-cluster > .wp-block-navigation { order: 2; margin: 0 !important; }
  .vs-header-bar .vs-nav-cluster > .vs-book-btn { order: 1; margin: 0 !important; flex-wrap: nowrap; }
  .vs-header-bar .vs-book-btn .wp-block-button__link {
    white-space: nowrap !important;
    padding: 0 16px !important;
    height: 42px; display: inline-flex !important; align-items: center;
    border-radius: 8px !important;
    font-size: 0 !important; /* long label stays for screen readers; short visual label below */
    background-color: #4b2e83 !important; color: #fff !important;
  }
  .vs-header-bar .vs-book-btn .wp-block-button { display: flex !important; margin: 0 !important; line-height: 0; }
  .vs-header-bar .vs-book-btn .wp-block-button__link { margin: 0 !important; line-height: 1 !important; }
  .vs-header-bar .vs-book-btn .wp-block-button__link::after { content: "BOOK"; content: "BOOK" / ""; font-size: 14px; font-weight: 700; letter-spacing: .05em; }

  /* Hamburger toggle (core navigation overlay, extended from 600px up to 1023px) */
  .vs-header-bar .wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: flex !important; align-items: center; justify-content: center;
    width: 42px; height: 42px; padding: 0 !important; margin: 0;
    border-radius: 8px; background: #f1ecf9 !important; color: #4b2e83 !important;
  }
  .vs-header-bar .wp-block-navigation .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; fill: currentColor; }
  .vs-header-bar .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }

  /* Overlay panel */
  .vs-header-bar .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important; flex-direction: column;
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100% !important; height: 100vh; height: 100dvh;
    background: #fff !important; color: #1a1329 !important;
    padding: 18px 22px 40px !important; overflow-y: auto !important; z-index: 100001 !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    display: flex !important; align-items: center; justify-content: center;
    position: absolute; top: 14px; right: 16px; width: 42px; height: 42px; padding: 0 !important;
    border-radius: 8px; background: #f1ecf9 !important; color: #4b2e83 !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; fill: currentColor; }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 58px !important; align-items: stretch !important; width: 100%;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container {
    gap: 0 !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important;
    border-top: 1px solid #ece6f5;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-item {
    width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
    border-bottom: 1px solid #ece6f5 !important; flex-direction: column; align-items: stretch !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open li.wp-block-navigation-item > .wp-block-navigation-item__content {
    display: block; width: 100%; padding: 14px 4px !important; text-align: center !important;
    font-family: 'Poppins', 'Inter', sans-serif !important; font-size: 18px !important; font-weight: 600 !important; color: #1a1329 !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static !important; display: flex !important; flex-direction: column;
    opacity: 1 !important; visibility: visible !important; height: auto !important; width: 100% !important; min-width: 0 !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    padding: 0 0 12px 10px !important; margin: 0 !important; transform: none !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li.wp-block-navigation-item { border-bottom: 0 !important; }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li::before { display: none !important; }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li.wp-block-navigation-item > .wp-block-navigation-item__content {
    display: block; padding: 8px 8px 8px 14px !important; border-left: 2px solid #d9cdee;
    font-family: 'Inter', sans-serif !important; font-size: 15px !important; font-weight: 500 !important; color: #3d3650 !important; text-align: center !important;
  }
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .vs-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { color: #4b2e83 !important; background: #f6f3fb !important; }

  /* Offset content under the shorter fixed header (30px top bar + 60px main row) */
  body .wp-site-blocks > header + * { margin-top: 90px !important; }
}
/* === /v1.11.5 Mobile header === */
/* === v1.11.7 content formatting ===
   Section rhythm, brand-purple headings, grouped lists, FAQ callout, book button.
   Does not restyle the homepage, contact page, partners, or card hubs. */
body.page:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-12):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396) .wp-block-post-content > h2.wp-block-heading,
body.page:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-12):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396) .wp-block-post-content > h3.wp-block-heading,
body.single-post .wp-block-post-content > h2.wp-block-heading,
body.single-post .wp-block-post-content > h3.wp-block-heading {
  font-family: "Poppins", "Inter", sans-serif !important;
  color: #4b2e83 !important;
}
body.page:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-12):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading,
body.single-post .wp-block-post-content > h2.wp-block-heading {
  margin-top: 2.35rem !important;
  margin-bottom: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  line-height: 1.3 !important;
}
body.page:not(.page-id-7):not(.page-id-40):not(.parent-pageid-396):not(.page-faq) .wp-block-post-content > h2.wp-block-heading:first-child {
  margin-top: 0 !important;
  font-weight: 500 !important;
}
body.page:not(.page-id-7):not(.page-id-8):not(.page-id-15):not(.page-id-28):not(.page-id-40) .wp-block-post-content > ul.wp-block-list,
body.single-post .wp-block-post-content > ul.wp-block-list {
  margin: 0.35rem 0 1.35rem !important;
  padding-left: 1.35rem !important;
  list-style: disc;
}
body.page:not(.page-id-7):not(.page-id-8):not(.page-id-15):not(.page-id-28):not(.page-id-40) .wp-block-post-content > ul.wp-block-list > li,
body.single-post .wp-block-post-content > ul.wp-block-list > li {
  margin: 0.28rem 0 !important;
  line-height: 1.55;
}
body.page:not(.page-id-7):not(.page-id-40) .wp-block-post-content > p:has(a[href*="/faq/"]),
body.single-post .wp-block-post-content > p:has(a[href*="/faq/"]) {
  background: #f6f3fb;
  border-left: 4px solid #4b2e83;
  padding: 14px 16px;
  border-radius: 0 10px 10px 0;
  margin-top: 1.75rem !important;
}
body.page .wp-block-post-content > .wp-block-buttons:has(a[href*="janeapp"]),
body.single-post .wp-block-post-content > .wp-block-buttons:has(a[href*="janeapp"]) {
  margin-top: 1.6rem !important;
  margin-bottom: 0.4rem !important;
  justify-content: center;
}
body .wp-block-post-content a.wp-block-button__link[href*="janeapp"] {
  background-color: #4b2e83 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-family: "Poppins", "Inter", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  padding: 12px 22px !important;
}
body.page:not(.page-id-7):not(.page-id-40) .wp-block-post-content > .wp-block-image {
  margin-top: 1.35rem !important;
  margin-bottom: 1.35rem !important;
}
/* === /v1.11.7 content formatting === */

/* v1.11.8 : content max width 1080px */
@media (min-width: 1100px) {
  body .wp-site-blocks main .entry-content,
  body .wp-site-blocks main .wp-block-post-content,
  body.single .wp-site-blocks main .wp-block-template-part,
  body.page .wp-site-blocks main .wp-block-template-part {
    max-width: 1080px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
  }
}

/* v1.11.9 : all buttons rounded */
.wp-block-button__link,
.wp-element-button,
button,
input[type="submit"],
.wpcf7-submit {
  border-radius: 8px !important;
}

/* v1.11.10 : header Book button lines up with nav text */
.vs-header-bar .vs-nav-cluster > .vs-book-btn,
.vs-header-bar .vs-nav-cluster > .wp-block-navigation {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.vs-header-bar .vs-book-btn .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1 !important;
}

/* v1.11.11 : nudge header Book button up to the nav text */
@media (min-width: 1024px) {
  .vs-header-bar .vs-nav-cluster > .vs-book-btn {
    position: relative !important;
    top: -6px !important;
  }
}

/* === v1.11.12 Dr B: no theme-blue buttons; grey About band; hub cards; FAQ accordion === */
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
input[type="submit"],
.wpcf7 input.wpcf7-submit {
  background-color: #4b2e83 !important;
  color: #ffffff !important;
  border-color: #4b2e83 !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
  background-color: #2e1a55 !important;
  color: #ffffff !important;
  border-color: #2e1a55 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: #4b2e83 !important;
  border: 2px solid #4b2e83 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #4b2e83 !important;
  color: #ffffff !important;
}
.vs-home-video-hero .vs-meet-btn .wp-block-button__link,
.vs-home-video-hero .wp-block-button.is-style-outline .wp-block-button__link {
  color: #ffffff !important;
  border-color: #ffffff !important;
  background-color: transparent !important;
}
.vs-home-video-hero .vs-meet-btn .wp-block-button__link:hover {
  background-color: #ffffff !important;
  color: #4b2e83 !important;
  border-color: #ffffff !important;
}
.wp-block-button__link[style*="background-color:#ffffff"],
.wp-block-button__link[style*="background-color:#fff"] {
  background-color: #ffffff !important;
  color: #4b2e83 !important;
  border-color: #ffffff !important;
}
/* v1.11.20 : About Us panel gray (brand), FOX award in tall photo slot */
.about-us-section {
  background-color: #f2f2f2 !important;
  color: #3f3f46 !important;
}
.about-us-section h1,
.about-us-section h2,
.about-us-section h3,
.about-us-section p,
.about-us-section li,
.about-us-section .has-accent-color,
.about-us-section .has-background-color {
  color: #3f3f46 !important;
}
.about-us-section .about-img03 img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 339 / 374 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
}
.vs-hub-card {
  height: 100%;
  background: #f4f4f5 !important;
  border: 1px solid #e4e4e7 !important;
}
.vs-hub-card h3,
.vs-hub-card h3 a {
  color: #1a1329 !important;
  text-decoration: none;
}
.vs-hub-card h3 a:hover { color: #4b2e83 !important; }
.vs-hub-card p { color: #3f3f46 !important; }
.vs-hub-card p a { color: #4b2e83 !important; }
.wp-block-details {
  border-bottom: 1px solid #e4e4e7;
  padding: 12px 0;
  margin: 0;
}
.wp-block-details summary {
  cursor: pointer;
  font-weight: 650;
  color: #1a1329;
}
.wp-block-details summary:hover { color: #4b2e83; }
.wp-block-details:not([open]) > :not(summary) { display: none; }

/* === v1.11.14 section cards + 860px column ===
   Condition, service, and Meet the Doctor pages: each H2 plus the blocks
   until the next H2 reads as one white card via sibling borders (no content edits).
   About is narrowed only. Header, page hero, footer, home, contact, and partners are untouched. */
body.page.vs-narrow .wp-site-blocks main .entry-content,
body.page.vs-narrow .wp-site-blocks main .wp-block-post-content,
body.page.vs-narrow .wp-site-blocks main .wp-block-template-part {
  max-width: 860px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
body.page.vs-narrow .wp-site-blocks main .wp-block-post-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
}
body.vs-section-cards main#primary.has-background {
  background-color: #f3f0f7 !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > .wp-block-separator {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading {
  background: #ffffff;
  color: #4b2e83 !important;
  border: 1px solid #e4e0ea;
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  box-shadow: none;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding: 18px 22px 6px !important;
  text-align: center !important;
  font-family: "Poppins", "Inter", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading:first-child {
  margin-top: 0 !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ :not(h2):not(.wp-block-separator) {
  background: #ffffff;
  border-left: 1px solid #e4e0ea;
  border-right: 1px solid #e4e0ea;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-shadow: none;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ p {
  padding: 4px 22px !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ h3.wp-block-heading {
  color: #4b2e83 !important;
  font-family: "Poppins", "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.08rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  padding: 2px 22px 8px !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ ul.wp-block-list,
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ ol.wp-block-list {
  padding: 6px 22px 8px 40px !important;
  list-style: disc;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ .wp-block-image {
  padding: 8px 22px 12px !important;
  text-align: center;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ .wp-block-image img {
  width: auto !important;
  max-width: min(520px, 100%) !important;
  height: auto !important;
  margin-left: auto;
  margin-right: auto;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ .wp-block-buttons {
  padding: 12px 22px 8px !important;
  justify-content: center;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading ~ .wp-block-details {
  padding: 6px 16px !important;
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > :not(.wp-block-separator):has(+ h2),
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > :not(.wp-block-separator):has(+ .wp-block-separator + h2),
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > :not(.wp-block-separator):last-child,
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > :not(.wp-block-separator):has(+ .wp-block-separator:last-child) {
  border-bottom: 1px solid #e4e0ea;
  border-radius: 0 0 16px 16px;
  padding-bottom: 20px !important;
  box-shadow: 0 12px 28px rgba(30, 15, 60, 0.07);
}
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading:has(+ h2),
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading:has(+ .wp-block-separator + h2),
body.page.vs-section-cards:not(.page-id-7):not(.page-id-8):not(.page-id-9):not(.page-id-11):not(.page-id-13):not(.page-id-15):not(.page-id-28):not(.page-id-40):not(.page-id-396):not(.parent-pageid-396) .wp-block-post-content > h2.wp-block-heading:last-child {
  border-bottom: 1px solid #e4e0ea;
  border-radius: 16px;
  padding-bottom: 18px !important;
  box-shadow: 0 12px 28px rgba(30, 15, 60, 0.07);
}
body.vs-section-cards .wp-block-details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #4b2e83 !important;
  font-weight: 650;
  line-height: 1.4;
  background: #f7f4fb;
  border: 1px solid #ddd4ec;
  border-radius: 10px;
  padding: 12px 14px;
}
body.vs-section-cards .wp-block-details summary::-webkit-details-marker { display: none; }
body.vs-section-cards .wp-block-details summary::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #4b2e83;
  border-bottom: 2px solid #4b2e83;
  transform: rotate(45deg);
  flex: 0 0 auto;
  margin-top: -4px;
}
body.vs-section-cards .wp-block-details summary:hover,
body.vs-section-cards .wp-block-details summary:focus-visible {
  background: #efe8f8;
  border-color: #4b2e83;
  color: #2e1a55 !important;
  outline: none;
}
body.vs-section-cards .wp-block-details[open] summary {
  border-radius: 10px 10px 0 0;
  background: #efe8f8;
}
body.vs-section-cards .wp-block-details[open] summary::after {
  transform: rotate(-135deg);
  margin-top: 4px;
}
body.vs-section-cards .wp-block-details[open] > :not(summary) {
  margin: 0 !important;
  padding: 2px 14px 12px !important;
  background: #f7f4fb;
  border: 1px solid #ddd4ec;
  border-top: 0;
  border-radius: 0 0 10px 10px;
}
@media (max-width: 600px) {
  body.page.vs-section-cards .wp-block-post-content > h2.wp-block-heading { padding-left: 16px !important; padding-right: 16px !important; }
  body.page.vs-section-cards .wp-block-post-content > h2.wp-block-heading ~ p,
  body.page.vs-section-cards .wp-block-post-content > h2.wp-block-heading ~ h3.wp-block-heading,
  body.page.vs-section-cards .wp-block-post-content > h2.wp-block-heading ~ .wp-block-buttons,
  body.page.vs-section-cards .wp-block-post-content > h2.wp-block-heading ~ .wp-block-image { padding-left: 16px !important; padding-right: 16px !important; }
}

/* v1.11.15 : centered section headings, cards contain text */
body.vs-section-cards main .entry-content > .wp-block-heading,
body.vs-section-cards main .wp-block-post-content > .wp-block-heading,
body.vs-section-cards main .entry-content h2,
body.vs-section-cards main .wp-block-post-content h2 {
  text-align: center !important;
}
body.vs-section-cards main .entry-content,
body.vs-section-cards main .wp-block-post-content {
  overflow-wrap: break-word;
  min-width: 0;
}
body.vs-section-cards main .entry-content p,
body.vs-section-cards main .wp-block-post-content p,
body.vs-section-cards main .entry-content li,
body.vs-section-cards main .wp-block-post-content li {
  overflow-wrap: anywhere;
  max-width: 100%;
}

/* v1.11.16 : center every heading on every page */
h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title, .entry-content h2, .entry-content h3 {
  text-align: center !important;
}

/* v1.11.18 : blog buttons brand purple (were theme accent #3E84DC) */
.wp-block-post-excerpt__more-link,
.wp-block-query-pagination a.wp-block-query-pagination-previous,
.wp-block-query-pagination a.wp-block-query-pagination-next,
.wp-block-query-pagination span.page-numbers.current,
.post-navigation-link-previous a,
.post-navigation-link-next a,
.wp-block-search__button,
.wp-block-search__button.has-accent-background-color {
  background-color: #4b2e83 !important;
  color: #ffffff !important;
  border-color: #4b2e83 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}
.wp-block-post-excerpt__more-link:hover,
.wp-block-query-pagination a.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination a.wp-block-query-pagination-next:hover,
.post-navigation-link-previous a:hover,
.post-navigation-link-next a:hover,
.wp-block-search__button:hover {
  background-color: #2e1a55 !important;
  color: #ffffff !important;
}
.wp-block-query-pagination a.page-numbers {
  background: transparent !important;
  color: #4b2e83 !important;
  border: 1px solid #4b2e83 !important;
  border-radius: 8px !important;
}
.wp-block-query-pagination a.page-numbers:hover {
  background: #4b2e83 !important;
  color: #ffffff !important;
}

/* === v1.11.22 : shorter Cover heroes so next section peeks above the fold === */
.wp-block-cover.vs-home-video-hero { min-height: clamp(420px, 60vh, 520px) !important; }
.wp-block-cover.vs-page-hero { min-height: clamp(320px, 45vh, 420px) !important; }
@media (max-width: 781px) {
.wp-block-cover.vs-home-video-hero { min-height: clamp(380px, 62vh, 480px) !important; }
.wp-block-cover.vs-page-hero { min-height: clamp(260px, 40vh, 340px) !important; }
}
