/*
Theme Name: Whole Body Wellness
Theme URI: https://wholebodywellness.net/
Author: 10thPower LLC
Description: Custom block theme for Whole Body Wellness.
Version: 0.9.64
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: whole-body-wellness
*/

@import url("https://fonts.googleapis.com/css2?family=Great+Vibes&family=Poppins:wght@300;400;500;600&display=swap");

:root {
  --wbw-shadow: 0 18px 50px rgba(66, 25, 66, 0.10);
  --wbw-radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* Our Circle */
.wbw-circle-page {
  background: #fff;
  color: #403b41;
  overflow: hidden;
}

.wbw-circle-page a {
  text-underline-offset: 0.22em;
}

.wbw-circle-hero {
  background: linear-gradient(115deg, #8a0087 0%, #c45abb 100%);
  color: #fff;
  padding: clamp(3.5rem, 7vw, 5.5rem) 1.5rem;
  text-align: center;
}

.wbw-circle-hero__inner,
.wbw-circle-sections {
  margin-inline: auto;
  max-width: 1180px;
}

.wbw-circle-eyebrow,
.wbw-circle-section__title,
.wbw-circle-card__type,
.wbw-circle-feature__eyebrow {
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}

.wbw-circle-eyebrow {
  color: #a9d489;
  margin: 0 0 1.15rem;
}

.wbw-circle-hero h1 {
  color: #fff;
  font-size: clamp(2.7rem, 6vw, 5.25rem);
  margin: 0;
}

.wbw-circle-hero__intro {
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.8;
  margin: 1.7rem auto 0;
  max-width: 900px;
}

.wbw-circle-sections {
  padding: clamp(3.5rem, 6vw, 5rem) 1.5rem;
}

.wbw-circle-section + .wbw-circle-section {
  margin-top: clamp(3rem, 5vw, 4.5rem);
}

.wbw-circle-section__title {
  align-items: center;
  color: #82017f;
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin: 0 0 2.5rem;
  text-align: center;
}

.wbw-circle-section__title::before,
.wbw-circle-section__title::after {
  background: #eee5f0;
  content: "";
  flex: 1;
  height: 1px;
}

.wbw-circle-grid {
  display: grid;
  gap: 1.5rem;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  max-width: 780px;
}

.wbw-circle-grid--single {
  grid-template-columns: minmax(0, 440px);
  justify-content: start;
}

.wbw-circle-card {
  align-content: start;
  background: #fdfbfe;
  border: 1px solid #e6dfe8;
  border-radius: 18px;
  display: grid;
  justify-items: center;
  min-height: 310px;
  padding: 1.8rem 1.5rem;
  text-align: center;
}

.wbw-circle-card__mark {
  align-items: center;
  background: #f4e8f7;
  border: 3px solid #e5d0ea;
  border-radius: 999px;
  color: #8a0087;
  display: flex;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.7rem;
  height: 64px;
  justify-content: center;
  margin-bottom: 1.1rem;
  width: 64px;
}

.wbw-circle-card h3 {
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  margin: 0 0 0.4rem;
}

.wbw-circle-card__type {
  color: #8a0087;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  margin: 0 0 1rem;
}

.wbw-circle-card__description {
  color: #777177;
  line-height: 1.65;
  margin: 0;
}

.wbw-circle-card__link {
  color: #486d2c;
  font-weight: 700;
  margin-top: 1.25rem;
}

.wbw-circle-collaborate {
  background: #f6fbf1;
  border: 1px solid #cfe4bd;
  border-radius: 18px;
  margin: 0 auto clamp(3.5rem, 6vw, 5rem);
  max-width: 960px;
  padding: clamp(2.7rem, 6vw, 4.5rem) 1.5rem;
  text-align: center;
}

.wbw-circle-collaborate h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin: 0 0 1rem;
}

.wbw-circle-collaborate p {
  color: #625d63;
  font-size: 1.08rem;
  margin: 0 auto 1.6rem;
  max-width: 760px;
}

.wbw-circle-button {
  background: #8a0087;
  border-radius: 999px;
  color: #fff !important;
  display: inline-block;
  font-weight: 700;
  padding: 0.9rem 2rem;
  text-decoration: none;
}

.wbw-circle-feature {
  background: #fff;
  border: 1px solid #e5e0e6;
  border-radius: 18px;
  border-top: 8px solid #8a0087;
  box-shadow: 0 14px 36px rgba(80, 34, 78, 0.08);
  margin-inline: auto;
  max-width: 900px;
  padding: clamp(2.5rem, 6vw, 4.5rem);
}

.wbw-circle-feature__eyebrow {
  color: #9dcc88;
  margin: 0 0 0.7rem;
}

.wbw-circle-feature h2 {
  color: #82017f;
  font-size: clamp(2.5rem, 5vw, 4rem);
  margin: 0;
}

.wbw-circle-feature__byline {
  color: #817b81;
  font-size: 1.15rem;
  margin: 0.25rem 0 1.5rem;
}

.wbw-circle-feature__description {
  font-size: clamp(1rem, 2vw, 1.18rem);
  line-height: 1.8;
  margin: 0;
}

.wbw-circle-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin: 1.7rem 0;
}

.wbw-circle-tag {
  background: #f4e8f7;
  border-radius: 999px;
  color: #82017f;
  font-weight: 700;
  padding: 0.45rem 1rem;
}

.wbw-circle-feature__link {
  color: #82017f;
  display: inline-block;
  font-size: 1.08rem;
  font-weight: 700;
}

.wbw-circle-feature__location {
  border-top: 1px dotted #ddd5de;
  color: #999398;
  margin: 1.4rem 0 0;
  padding-top: 1rem;
}

@media (max-width: 720px) {
  .wbw-circle-grid,
  .wbw-circle-grid--single {
    grid-template-columns: minmax(0, 1fr);
  }

  .wbw-circle-card {
    min-height: 310px;
    padding: 1.8rem 1.35rem;
  }

  .wbw-circle-section__title {
    display: block;
    font-size: 0.8rem;
    line-height: 1.6;
  }

  .wbw-circle-section__title::before,
  .wbw-circle-section__title::after {
    display: none;
  }

  .wbw-circle-feature {
    padding: 2.4rem 1.35rem;
  }
}

.wbw-single-post {
  max-width: 960px;
}

.wbw-single-post__meta {
  color: #635d64;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 1.5rem;
}

.wbw-single-post__meta a,
.wbw-single-post__tags a {
  color: #7d1d75;
}

.wbw-single-post__media {
  margin: 0 0 2rem;
}

.wbw-single-post__media img {
  border-radius: 18px;
  box-shadow: var(--wbw-shadow);
  display: block;
  height: auto;
  width: 100%;
}

.wbw-single-post__content {
  font-size: 1.05rem;
  line-height: 1.8;
}

.wbw-single-post__content > * {
  max-width: none;
}

.wbw-single-post__content h2,
.wbw-single-post__content h3 {
  margin-top: 1.75em;
}

.wbw-single-post__content img {
  height: auto;
  max-width: 100%;
}

.wbw-single-post__tags {
  border-top: 1px solid rgba(125, 29, 117, 0.18);
  margin-top: 2.5rem;
  padding-top: 1.25rem;
}

@media (max-width: 600px) {
  .wbw-single-post__content {
    font-size: 1rem;
    line-height: 1.72;
  }

  .wbw-single-post__media img {
    border-radius: 12px;
  }
}

.wbw-home-v2 {
  --wbw-v2-purple: #7d1d75;
  --wbw-v2-purple-dark: #5d1058;
  --wbw-v2-green: #9dcc88;
  --wbw-v2-ink: #2a222c;
  color: var(--wbw-v2-ink);
}

.wbw-home-v2 > * + * {
  margin-block-start: 0;
}

.wbw-conversion-hero {
  align-items: center;
  background: radial-gradient(circle at 78% 22%, rgba(255,255,255,.18), transparent 30%), linear-gradient(125deg, #65135f 0%, #8c3186 58%, #a860a2 100%);
  color: #fff;
  display: flex;
  min-height: min(660px, calc(100vh - 112px));
  padding: clamp(4rem, 8vw, 7.5rem) 1.5rem;
}

.wbw-conversion-hero__inner { margin: 0 auto; max-width: 1180px; width: 100%; }
.wbw-conversion-hero__inner > * { max-width: 760px; }
.wbw-conversion-hero h1 { color: #fff; font-size: clamp(3rem, 6.5vw, 6.1rem); letter-spacing: -.045em; line-height: .98; margin: .55rem 0 1.5rem; }
.wbw-conversion-hero__lead { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.6; }
.wbw-conversion-hero .wbw-eyebrow, .wbw-conversion-final .wbw-eyebrow { color: #fff; }

.wbw-conversion-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.wbw-conversion-button { background: var(--wbw-v2-purple); border: 2px solid var(--wbw-v2-purple); border-radius: 999px; box-shadow: 0 14px 32px rgba(51,8,49,.22); color: #fff !important; display: inline-flex; font-weight: 600; justify-content: center; padding: .95rem 1.45rem; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.wbw-conversion-hero .wbw-conversion-button { background: #fff; border-color: #fff; color: var(--wbw-v2-purple-dark) !important; }
.wbw-conversion-button:hover { box-shadow: 0 18px 38px rgba(51,8,49,.28); transform: translateY(-2px); }
.wbw-conversion-button--outline { background: transparent !important; border-color: currentColor; color: inherit !important; }

.wbw-conversion-section { padding: clamp(3.5rem, 6vw, 6rem) 1.5rem; }
.wbw-conversion-narrow { margin: 0 auto; max-width: 850px; }
.wbw-conversion-wide { margin: 0 auto; max-width: 1180px; }
.wbw-conversion-section h2, .wbw-conversion-final h2 { font-size: clamp(2.35rem, 4.5vw, 4.4rem); letter-spacing: -.035em; line-height: 1.06; margin: .5rem 0 1.5rem; }
.wbw-conversion-section p { font-size: 1.08rem; line-height: 1.75; }
.wbw-conversion-intro { font-size: 1.22rem !important; }

.wbw-conversion-symptoms { background: #fbf8fb; text-align: center; }
.wbw-symptom-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0,1fr)); margin: 2rem 0; text-align: left; }
.wbw-symptom-grid span { background: #fff; border-left: 4px solid var(--wbw-v2-green); border-radius: 10px; box-shadow: 0 8px 25px rgba(65,32,63,.06); padding: 1rem 1.15rem; }
.wbw-conversion-closing { font-size: 1.25rem !important; margin: 2rem auto 0; max-width: 700px; }

.wbw-patterns-section { background: #fff; text-align: center; }
.wbw-scan-plan { background: #efe6ef; }
.wbw-scan-plan__inner { align-items: start; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: .8fr 1.2fr; margin: 0 auto; max-width: 1100px; }
.wbw-scan-plan__lead { color: var(--wbw-v2-purple); font-size: 1.35rem !important; font-weight: 600; }

.wbw-support-section { background: #fff; text-align: center; }
.wbw-support-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 2.5rem; text-align: left; }
.wbw-support-grid article { border: 1px solid rgba(125,29,117,.13); border-radius: 20px; box-shadow: var(--wbw-shadow); padding: 2rem; }
.wbw-support-grid article > span { color: var(--wbw-v2-purple); font-weight: 600; }
.wbw-support-grid h3 { font-size: 1.55rem; margin: .85rem 0; }
.wbw-support-grid a { color: var(--wbw-v2-purple); font-weight: 600; }

.wbw-difference-section { background: var(--wbw-v2-purple); color: #fff; text-align: center; }
.wbw-difference-section h2, .wbw-difference-section .wbw-eyebrow { color: #fff; }
.wbw-difference-statement { font-size: 1.35rem !important; margin-top: 2rem; }

.wbw-process-section { background: #f7f2f7; text-align: center; }
.wbw-process-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 2.5rem; text-align: left; }
.wbw-process-grid article { background: #fff; border-radius: 18px; padding: 2rem; }
.wbw-process-grid article > strong { align-items: center; background: var(--wbw-v2-purple); border-radius: 50%; color: #fff; display: flex; height: 2.8rem; justify-content: center; width: 2.8rem; }
.wbw-process-grid h3 { margin: 1.2rem 0 .5rem; }

.wbw-authority-section { background: #fff; }
.wbw-authority-section__inner { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: .8fr 1.2fr; margin: 0 auto; max-width: 1080px; }
.wbw-authority-section img { aspect-ratio: 1/1; border-radius: 50% 50% 44% 56%; box-shadow: var(--wbw-shadow); object-fit: cover; width: 100%; }

.wbw-conversion-final { background: linear-gradient(125deg, #65135f, #943a8d); color: #fff; padding: clamp(4.5rem,8vw,7rem) 1.5rem; text-align: center; }
.wbw-conversion-final__inner { margin: 0 auto; max-width: 880px; }
.wbw-conversion-final h2 { color: #fff; }
.wbw-conversion-final .wbw-conversion-actions { justify-content: center; }
.wbw-conversion-final .wbw-conversion-button { background: #fff; border-color: #fff; color: var(--wbw-v2-purple-dark) !important; }
.wbw-conversion-final .wbw-conversion-button--outline { color: #fff !important; }
.wbw-conversion-help { margin-top: 2rem; }
.wbw-conversion-help a { color: #fff; font-weight: 600; }
.wbw-complementary-note { font-size: .84rem; line-height: 1.55; margin: 2.5rem auto 0; max-width: 760px; opacity: .82; }

@media (max-width: 781px) {
  .wbw-conversion-hero { min-height: auto; }
  .wbw-symptom-grid, .wbw-support-grid, .wbw-process-grid, .wbw-scan-plan__inner, .wbw-authority-section__inner { grid-template-columns: 1fr; }
  .wbw-authority-section img { max-width: 420px; }
}

@media (max-width: 520px) {
  .wbw-conversion-actions { align-items: stretch; flex-direction: column; }
  .wbw-conversion-button { width: 100%; }
  .wbw-symptom-grid { grid-template-columns: 1fr; }
}

.wbw-trust-bar {
  background: #fff;
  border-bottom: 1px solid rgba(130, 1, 127, 0.12);
  border-top: 1px solid rgba(130, 1, 127, 0.12);
}

.wbw-trust-bar__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1180px;
  padding: 1.15rem 1.25rem;
}

.wbw-trust-bar__inner span {
  border-right: 1px solid rgba(130, 1, 127, 0.12);
  display: grid;
  gap: 0.15rem;
  padding: 0.2rem 1.25rem;
  text-align: center;
}

.wbw-trust-bar__inner span:last-child { border-right: 0; }
.wbw-trust-bar strong { color: #5f145c; font-family: Poppins, sans-serif; font-size: 0.9rem; letter-spacing: 0.06em; text-transform: uppercase; }
.wbw-trust-bar small { color: #6b626c; font-size: 0.84rem; }

.wbw-meet-sigma { background: #fff; padding: clamp(4rem, 7vw, 7rem) 1.25rem; }
.wbw-meet-sigma__inner { align-items: center; display: grid; gap: clamp(2.5rem, 6vw, 6rem); grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr); margin: 0 auto; max-width: 1080px; }
.wbw-meet-sigma__portrait { position: relative; }
.wbw-meet-sigma__portrait::before { background: linear-gradient(145deg, #9dcc88, #a860a4); border-radius: 48% 52% 45% 55%; content: ""; inset: -18px 18px 18px -18px; opacity: 0.24; position: absolute; }
.wbw-meet-sigma__portrait img { aspect-ratio: 1; border-radius: 48% 52% 45% 55%; box-shadow: var(--wbw-shadow); display: block; object-fit: cover; position: relative; width: 100%; }
.wbw-meet-sigma__copy h2 { color: #750071; font-size: clamp(2.5rem, 5vw, 4.25rem); margin: 0.3rem 0 0.7rem; }
.wbw-meet-sigma__lead { color: #6c3f69; font-family: Poppins, sans-serif; font-weight: 600; }
.wbw-meet-sigma__copy p:not(.wbw-eyebrow) { font-size: 1.08rem; line-height: 1.8; }
.wbw-text-link { color: #82017f; display: inline-flex; font-family: Poppins, sans-serif; font-weight: 600; gap: 0.5rem; text-decoration: none; }
.wbw-text-link:hover, .wbw-text-link:focus-visible { text-decoration: underline; }

.wbw-why-us { background: #f7f2f8; padding: clamp(4rem, 7vw, 7rem) 1.25rem; text-align: center; }
.wbw-why-us__inner { margin: 0 auto; max-width: 1180px; }
.wbw-why-us__inner > h2 { font-size: clamp(2.25rem, 4.5vw, 4rem); margin: 0.4rem auto 2.5rem; max-width: 760px; }
.wbw-why-us__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wbw-why-us__grid article { background: #fff; border: 1px solid rgba(130, 1, 127, 0.12); border-radius: 24px; box-shadow: 0 16px 40px rgba(66, 25, 66, 0.08); padding: 2.2rem 1.8rem; text-align: left; }
.wbw-why-us__grid article > span { color: #9dcc88; font-family: Poppins, sans-serif; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.15em; }
.wbw-why-us__grid h3 { color: #750071; font-size: 1.6rem; margin: 0.7rem 0; }
.wbw-why-us__grid p { line-height: 1.75; margin-bottom: 0; }

.wbw-home-faq { background: #fff; padding: clamp(4rem, 7vw, 7rem) 1.25rem; }
.wbw-home-faq__inner { display: grid; gap: clamp(2.5rem, 6vw, 6rem); grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); margin: 0 auto; max-width: 1180px; }
.wbw-home-faq__intro h2 { color: #750071; font-size: clamp(2.25rem, 4.5vw, 3.75rem); margin: 0.35rem 0 1rem; }
.wbw-home-faq__intro > p:not(.wbw-eyebrow) { line-height: 1.75; }
.wbw-home-faq__items { display: grid; gap: 0.8rem; }
.wbw-home-faq details { background: #f9f7fa; border: 1px solid rgba(130, 1, 127, 0.12); border-radius: 16px; padding: 1rem 1.2rem; }
.wbw-home-faq summary { color: #3f263e; cursor: pointer; font-family: Poppins, sans-serif; font-weight: 600; }
.wbw-home-faq details p { line-height: 1.7; margin-bottom: 0.25rem; }

.wp-site-blocks > header + main,
.wp-site-blocks > main + footer,
.wp-site-blocks > main > .wbw-section,
.wp-site-blocks > main > .wbw-section--compact,
.wbw-reviews-section + .wbw-section--compact {
  margin-block-start: 0;
}

.wbw-site-header {
  border-bottom: 1px solid rgba(130, 1, 127, 0.12);
  padding-block: 0 !important;
  position: relative;
  z-index: 20;
}

.wbw-header-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 70px;
  padding-block: 0 !important;
}

.wbw-brand-lockup {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: .8rem;
}

.wbw-brand-lockup .wbw-logo {
  margin: 0;
}

.wbw-brand-lockup .wbw-logo img {
  display: block;
  height: 54px;
  object-fit: contain;
  object-position: left center;
  width: 74px;
}

.wbw-brand-name {
  font-family: "Great Vibes", cursive;
  font-size: clamp(1.8rem, 2.3vw, 2.45rem);
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}

.wbw-brand-name a {
  color: var(--wp--preset--color--deep-purple);
  text-decoration: none;
}

.wbw-site-header .wc-block-customer-account__link,
.wbw-site-header .wp-block-woocommerce-mini-cart {
  display: none !important;
}

.wbw-site-header .wp-block-navigation__submenu-container {
  border: 1px solid rgba(130, 1, 127, .14) !important;
  box-shadow: 0 14px 32px rgba(66, 25, 66, .13);
  min-width: 250px !important;
  padding: .4rem;
}

.wbw-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: .6rem .75rem;
}

.wbw-site-header .wbw-nav-book > .wp-block-navigation-item__content {
  background: #82017f;
  border-radius: 999px;
  color: #fff;
  font-weight: 600;
  padding: .65rem 1.15rem;
}
.wbw-site-header .wbw-nav-book > .wp-block-navigation-item__content:hover,
.wbw-site-header .wbw-nav-book > .wp-block-navigation-item__content:focus {
  background: #6b0168;
  color: #fff;
}

@media (min-width: 782px) {
  .wbw-site-header .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
  .wbw-site-header .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
    height: auto;
    min-width: 250px !important;
    opacity: 1;
    overflow: visible;
    visibility: visible;
    width: auto;
  }

  .wbw-site-header .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100% !important;
    right: auto !important;
    top: -1px !important;
  }
}

.wbw-section { padding: clamp(2.75rem, 4.5vw, 4.75rem) 1.25rem; }
.wbw-section--compact { padding: clamp(2rem, 3.5vw, 3.5rem) 1.25rem; }
.wbw-reading { max-width: 760px; }

.wbw-page-title .has-hero-font-size {
  font-size: clamp(2.4rem, 3.4vw, 3.25rem) !important;
  line-height: 1.05;
}

@media (max-width: 600px) {
  .wbw-page-title .has-hero-font-size {
    font-size: clamp(2.15rem, 10vw, 2.5rem) !important;
  }
}

.wbw-service-page {
  background: #fff;
  color: #2f2830;
}
.wbw-page-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}
.wbw-page-hero {
  margin: 0;
  padding: 54px 0 58px;
  background: linear-gradient(115deg, #8f0088, #a44ca0);
  box-shadow: 0 12px 28px rgba(70, 18, 67, .16);
  color: #fff;
}
.wbw-page-hero .wbw-eyebrow {
  color: #fff;
  margin: 0 0 14px;
}
.wbw-page-hero h1 {
  margin: 0;
  color: #fff;
  font-family: Georgia, serif;
  font-size: clamp(44px, 6vw, 72px);
  font-weight: 400;
  line-height: 1.06;
}
.wbw-content-section {
  margin: 0;
  padding: clamp(48px, 6vw, 72px) 0;
}
.wbw-content-section h2 {
  margin-top: 0;
  font-size: clamp(31px, 4vw, 45px);
  line-height: 1.18;
}
.wbw-content-section h3 { line-height: 1.3; }
.wbw-content-section p,
.wbw-content-section li {
  font-size: 16px;
  line-height: 1.75;
}
.wbw-content-section .wbw-reading {
  margin-inline: auto;
  max-width: 820px;
}
.wbw-soft-section { background: #f8f5f8; }
.wbw-subpage-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding-block: 22px;
}
.wbw-subpage-nav a {
  border: 1px solid rgba(130, 1, 127, .18);
  border-radius: 999px;
  color: #72006e;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 15px;
  text-decoration: none;
}
.wbw-subpage-nav a:hover { background: #82017f; color: #fff; }
.wbw-page-hero-intro {
  color: rgba(255, 255, 255, .9);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.6;
  margin: 20px 0 0;
  max-width: 760px;
}
.wbw-jump-nav {
  align-items: center;
  background: #fff;
  position: relative;
  z-index: 2;
}
.wbw-jump-nav > span {
  color: #342936;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.wbw-anchor-section { scroll-margin-top: 96px; }
.wbw-inline-notice {
  background: #f0f7ed;
  border-left: 4px solid #88b873;
  border-radius: 0 10px 10px 0;
  color: #3f3741;
  line-height: 1.65;
  margin: 26px 0;
  padding: 18px 21px;
}
.wbw-bio-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wbw-bio-detail-grid {
  align-items: start;
  display: grid;
  gap: clamp(28px, 5vw, 70px);
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}
.wbw-content-card,
.wbw-pricing-card {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .13);
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(47, 27, 46, .1);
  padding: 28px;
}
.wbw-content-card h3,
.wbw-pricing-card h3 { color: #72006e; margin-top: 0; }
.wbw-content-card ul { margin-bottom: 0; padding-left: 1.25em; }
.wbw-pricing-grid {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
}
.wbw-bio-pricing-grid .wbw-pricing-card {
  display: flex;
  flex-direction: column;
}
.wbw-bio-pricing-grid .wbw-button { align-self: flex-start; margin-top: auto; }
.wbw-price span {
  color: #665c67;
  font-family: inherit;
  font-size: 16px;
}
.wbw-price-note {
  color: #665c67;
  font-style: italic;
}
.wbw-about-grid,
.wbw-content-grid {
  align-items: center;
  display: grid;
  gap: clamp(36px, 7vw, 84px);
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.5fr);
}
.wbw-content-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wbw-about-portrait {
  margin: 0;
  position: relative;
}
.wbw-about-portrait::before {
  background: #a5cf91;
  border-radius: 50%;
  content: "";
  inset: -18px;
  opacity: .45;
  position: absolute;
}
.wbw-about-portrait img {
  aspect-ratio: 1;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  position: relative;
  width: 100%;
}
.wbw-content-section blockquote {
  border-left: 4px solid #9d4297;
  color: #514650;
  font-family: Georgia, serif;
  font-size: clamp(21px, 3vw, 28px);
  line-height: 1.55;
  margin: 28px 0 0;
  padding-left: 28px;
}
.wbw-button,
a.wbw-button {
  background: #92008c;
  border: 2px solid #92008c;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  padding: 13px 23px;
  text-decoration: none;
}
.wbw-button--outline,
a.wbw-button--outline { background: transparent; color: #82017f; }
.wbw-button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.wbw-info-grid,
.wbw-price-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
}
.wbw-info-card,
.wbw-price-grid .wbw-price-card {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .13);
  border-radius: 15px;
  box-shadow: 0 12px 32px rgba(50, 27, 50, .08);
  padding: 28px;
}
.wbw-info-card h3,
.wbw-price-grid .wbw-price-card h3 { margin-top: 0; }
.wbw-price-grid .wbw-price-card {
  overflow: hidden;
  padding: 0 26px 28px;
}
.wbw-price-grid .wbw-price-card h3 {
  background: #82017f;
  color: #fff;
  margin: 0 -26px 24px;
  min-height: 86px;
  padding: 24px 20px;
  text-align: center;
}
.wbw-price {
  color: #82017f;
  font-family: Georgia, serif;
  font-size: 34px !important;
  text-align: center;
}
.wbw-faq-list { display: grid; gap: 12px; margin-top: 30px; }
.wbw-faq-list details {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .14);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(48, 30, 47, .05);
  padding: 0 22px;
}
.wbw-faq-list summary {
  color: #5d165b;
  cursor: pointer;
  font-weight: 700;
  padding: 18px 0;
}
.wbw-process-list { display: grid; gap: 26px; }
.wbw-process-list article {
  align-items: flex-start;
  display: grid;
  gap: 22px;
  grid-template-columns: 54px 1fr;
}
.wbw-process-list article > span {
  align-items: center;
  background: #a5cf91;
  border-radius: 50%;
  color: #291f2a;
  display: flex;
  font: 700 23px Georgia, serif;
  height: 54px;
  justify-content: center;
}
.wbw-process-list h3 { margin-top: 7px; }
.wbw-process-list small { color: #70616f; font-size: .76em; }
.wbw-two-column-list {
  display: grid;
  gap: 34px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wbw-service-directory {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 40px;
}
.wbw-service-directory > a {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .13);
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(47, 27, 46, .1);
  color: inherit;
  display: grid;
  overflow: hidden;
  text-decoration: none;
}
.wbw-service-directory img {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}
.wbw-service-directory > a > div { padding: 26px; }
.wbw-service-directory h3 { color: #750071; font-size: 27px; margin: 0; }
.wbw-service-directory strong { color: #82017f; }
.wbw-cta-section {
  background: #a5cf91;
  text-align: center;
}
.wbw-cta-section p { margin-inline: auto; max-width: 720px; }
.wbw-disclaimer { background: #2a222c; color: #fff; }
.wbw-disclaimer h2 { color: #fff; }

@media (max-width: 800px) {
  .wbw-about-grid,
  .wbw-content-grid,
  .wbw-info-grid,
  .wbw-price-grid,
  .wbw-pricing-grid,
  .wbw-bio-benefit-grid,
  .wbw-bio-detail-grid,
  .wbw-service-directory,
  .wbw-two-column-list { grid-template-columns: 1fr; }
  .wbw-about-portrait { margin-inline: auto; max-width: 320px; }
  .wbw-page-shell { width: min(100% - 30px, 1180px); }
  .wbw-page-hero { padding: 40px 0 43px; }
  .wbw-subpage-nav { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .wbw-subpage-nav a { flex: 0 0 auto; }
  .wbw-jump-nav > span { flex: 0 0 auto; }
}

.wbw-purifying {
  position: relative;
  overflow: hidden;
  padding: 105px 24px 55px;
  background-color: #fff;
  background-image: url("assets/images/purifying-floral-background.jpg");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 0 !important;
}

.wbw-purifying__card {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 820px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: auto;
  margin-left: auto;
  padding: 43px 38px;
  overflow: visible;
  color: #fff;
  background: #6a0067;
  border: 1px solid #6a0067;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(58, 35, 59, 0.07);
  text-align: center;
}

.wbw-purifying__card::after {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: calc(100% - 2px);
  display: block;
  width: 250px;
  height: 270px;
  background-image: url("assets/images/purifying-card-flower.png");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  transform: translateY(-50%);
}

.wbw-purifying__card h2 {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 30px !important;
  font-weight: 400;
  line-height: 48px;
  margin: 0;
  text-transform: uppercase;
}

.wbw-purifying__card .wbw-reading {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 20px !important;
  font-weight: 300;
  line-height: 28.05px;
  margin: 23px auto 0;
}

@media (max-width: 768px) {
  .wbw-purifying {
    padding: 70px 18px 55px;
    background-size: auto 100%;
  }

  .wbw-purifying__card {
    width: calc(100% - 36px) !important;
    padding: 26px 22px;
  }

  .wbw-purifying__card::after {
    left: calc(100% - 2px);
    width: 125px;
    height: 145px;
  }

  .wbw-purifying__card h2 {
    font-size: 24px !important;
    line-height: 34px;
  }

  .wbw-purifying__card .wbw-reading {
    font-size: 17px !important;
    line-height: 26px;
  }
}

.wbw-services-legacy {
  display: none;
}

.wbw-services-showcase {
  width: 100%;
  margin: 0;
  background: #fff;
}

.wbw-services-showcase__header {
  min-height: 178px;
  padding: 35px 24px 30px;
  background-color: #fff;
  background-image:
    url("assets/images/services-floral-left.png"),
    url("assets/images/services-floral-right.png");
  background-position: left top, right top;
  background-repeat: no-repeat;
  background-size: auto 178px;
  text-align: center;
}

.wbw-services-showcase__header h2 {
  color: #000;
  font-family: Poppins, sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 48px;
  margin: 0;
  text-transform: uppercase;
}

.wbw-services-showcase__header p {
  color: #909090;
  font-family: Poppins, sans-serif;
  font-size: 19px;
  font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 28px;
  margin: 23px auto 0;
}

.wbw-services-showcase__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.wbw-service-tile {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 800 / 539;
  color: #fff;
  text-decoration: none;
}

.wbw-service-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.wbw-service-tile__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  transition: background-color 0.35s ease;
}

.wbw-service-tile__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  text-align: center;
}

.wbw-service-tile__content strong {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 30px;
  text-transform: uppercase;
}

.wbw-service-tile__content small {
  color: rgba(255, 255, 255, 0.94);
  display: block;
  font-family: Poppins, sans-serif;
  font-size: clamp(0.78rem, 1.05vw, 0.95rem);
  font-weight: 300;
  line-height: 1.5;
  margin-top: 0.7rem;
  max-width: 270px;
}

.wbw-service-tile__content i {
  display: block;
  width: 240px;
  max-width: 72%;
  height: 2px;
  margin-top: 22px;
  background: rgba(255, 255, 255, 0.72);
  transition: width 0.35s ease, background-color 0.35s ease;
}

.wbw-service-tile:hover img,
.wbw-service-tile:focus-visible img {
  transform: scale(1.045);
}

.wbw-service-tile:hover .wbw-service-tile__overlay,
.wbw-service-tile:focus-visible .wbw-service-tile__overlay {
  background: rgba(106, 0, 103, 0.55);
}

.wbw-service-tile:hover .wbw-service-tile__content i,
.wbw-service-tile:focus-visible .wbw-service-tile__content i {
  width: 275px;
  background: #fff;
}

.wbw-service-tile:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}

@media (max-width: 1100px) {
  .wbw-services-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .wbw-services-showcase__header {
    min-height: 160px;
    padding: 30px 20px 26px;
    background-size: auto 125px;
  }

  .wbw-services-showcase__header p {
    font-size: 16px;
    margin-top: 14px;
  }

  .wbw-services-showcase__grid {
    grid-template-columns: 1fr;
  }

  .wbw-service-tile__content strong {
    font-size: 19px;
  }
}

/* Branded homepage treatment: Sigma's approved copy in the established WBW visual system. */
.wbw-home-branded .wbw-conversion-hero {
  background: url("assets/images/homepage-hero-warm-v2.jpg") center center / cover no-repeat;
  min-height: min(650px, calc(100vh - 112px));
  display: flex;
  align-items: center;
  padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1rem, 6vw, 5rem);
}

.wbw-home-branded .wbw-conversion-hero::after {
  display: none;
}

.wbw-home-branded .wbw-conversion-hero__inner {
  max-width: 650px;
  min-height: 0;
  width: min(650px, 100%);
  display: block;
  margin: 0;
  padding: clamp(1.65rem, 3vw, 2.25rem);
  background: rgba(255, 249, 240, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 20px;
  box-shadow: 0 22px 55px rgba(43, 34, 47, 0.2);
  backdrop-filter: blur(7px);
}

.wbw-home-branded .wbw-conversion-hero__inner > * {
  max-width: none;
}

.wbw-home-branded .wbw-conversion-hero h1 {
  max-width: 12ch;
  color: var(--wp--preset--color--ink);
  font-size: clamp(2.5rem, 3.8vw, 3.45rem);
  line-height: 1.02;
  margin: .4rem 0 .9rem;
}

.wbw-home-branded .wbw-conversion-hero p:not(.wbw-eyebrow) {
  max-width: 580px;
  color: #4f474f;
  font-size: clamp(1rem, 1.4vw, 1.12rem) !important;
  line-height: 1.5;
  margin: 0 0 .65rem;
}

.wbw-home-branded .wbw-conversion-hero .wbw-conversion-actions {
  align-items: center;
  flex-direction: row;
  margin-top: 1rem;
}

.wbw-home-branded .wbw-conversion-hero .wbw-conversion-button {
  width: auto;
  background: var(--wbw-v2-purple, #82017f);
  border-color: var(--wbw-v2-purple, #82017f);
  color: #fff !important;
}

.wbw-home-branded .wbw-conversion-hero .wbw-conversion-button--outline {
  background: rgba(255, 255, 255, .82) !important;
  border-color: var(--wbw-v2-purple, #82017f);
  color: var(--wbw-v2-purple, #82017f) !important;
}

.wbw-home-branded .wbw-conversion-hero .wbw-eyebrow {
  color: var(--wbw-v2-purple-dark, #5d0d5a);
}

.wbw-home-branded .wbw-conversion-symptoms {
  color: #fff;
  text-align: center;
  background: linear-gradient(120deg, #7b137f, #a860a9);
}

.wbw-home-branded .wbw-conversion-symptoms .wbw-eyebrow,
.wbw-home-branded .wbw-conversion-symptoms h2,
.wbw-home-branded .wbw-conversion-symptoms p {
  color: #fff;
}

.wbw-home-branded .wbw-conversion-symptoms .wbw-mission__ornament {
  margin-bottom: 1.15rem;
}

.wbw-home-branded .wbw-symptom-grid span {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  box-shadow: none;
}

.wbw-home-branded .wbw-patterns-section,
.wbw-home-branded .wbw-difference-section {
  text-align: center;
  background: #fbfaf8;
}

.wbw-home-branded .wbw-difference-section {
  color: #fff;
  background: linear-gradient(135deg, #6f006c 0%, #8b2589 58%, #a860a7 100%);
}

.wbw-home-branded .wbw-difference-section h2,
.wbw-home-branded .wbw-difference-section p,
.wbw-home-branded .wbw-difference-section .wbw-eyebrow {
  color: #fff;
}

.wbw-home-branded .wbw-scan-plan {
  padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 5vw, 3rem);
}

.wbw-home-branded .wbw-scan-plan__inner {
  max-width: 1100px;
  color: #fff;
  background: rgba(64, 34, 67, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 24px 58px rgba(30, 21, 33, 0.28);
  backdrop-filter: blur(4px);
}

.wbw-home-branded .wbw-scan-plan h2,
.wbw-home-branded .wbw-scan-plan p,
.wbw-home-branded .wbw-scan-plan .wbw-eyebrow {
  color: #fff;
}

.wbw-home-branded .wbw-scan-plan__microcopy {
  display: block;
  margin-top: .75rem;
  color: rgba(255, 255, 255, .82);
  font-size: .9rem;
  line-height: 1.45;
}

.wbw-home-branded .wbw-services-showcase {
  padding-top: clamp(3.5rem, 7vw, 6rem);
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.wbw-home-branded .wbw-services-showcase__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wbw-energy-price-grid {
  grid-template-columns: minmax(0, 450px);
  justify-content: center;
}
.wbw-energy-price-grid .wbw-price-card { text-align: center; }

.wbw-home-branded .wbw-services-showcase .wbw-service-tile {
  width: 100%;
  min-width: 0;
  min-height: 380px;
  aspect-ratio: auto;
  padding: 0;
  border: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(44, 33, 46, 0.18);
}

.wbw-home-branded .wbw-process-section {
  text-align: center;
  background: var(--wp--preset--color--soft-green);
}

.wbw-home-branded .wbw-process-grid article {
  background: #fff;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(43, 34, 47, 0.12);
}

.wbw-home-branded .wbw-process-grid article > strong {
  background: #f3e6f2;
  border: 1px solid rgba(130, 1, 127, 0.16);
  box-shadow: 0 8px 20px rgba(66, 25, 66, 0.08);
  color: var(--wp--preset--color--purple);
}

.wbw-home-branded .wbw-authority-section {
  padding: 0;
}

.wbw-home-branded .wbw-conversion-final {
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--soft-green);
}

.wbw-home-branded .wbw-conversion-final h2,
.wbw-home-branded .wbw-conversion-final p,
.wbw-home-branded .wbw-conversion-final .wbw-eyebrow {
  color: var(--wp--preset--color--ink);
}

.wbw-home-branded .wbw-conversion-final__inner {
  max-width: 940px;
}

/* About Sigma: conversion-focused story page. */
.wbw-about-story__hero {
  background: linear-gradient(135deg, #6f006c 0%, #9a4397 100%);
}

.wbw-about-story__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.wbw-about-story__copy h2,
.wbw-about-story__reading h2,
.wbw-about-story__credentials h2 {
  font-size: clamp(2.2rem, 4vw, 4.25rem);
  line-height: 1.05;
  margin: .4rem 0 1.75rem;
}

.wbw-about-story__copy p,
.wbw-about-story__reading p {
  font-size: 1.08rem;
  line-height: 1.78;
}

.wbw-about-story__portrait {
  margin: 0;
  border-radius: 48% 48% 18px 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(44, 33, 46, .2);
}

.wbw-about-story__portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
}

.wbw-about-story__reading {
  max-width: 900px;
}

.wbw-about-story__story,
.wbw-about-story__our-approach {
  background: #fbfaf8;
}

.wbw-about-story__philosophy-opening {
  padding-top: clamp(3.25rem, 6vw, 5rem);
  padding-bottom: clamp(3.25rem, 6vw, 5rem);
}

.wbw-about-story__story .wbw-about-story__reading,
.wbw-about-story__our-approach .wbw-about-story__reading {
  max-width: 820px;
}

.wbw-about-story__approach {
  text-align: center;
  background: #fff;
}

.wbw-about-story__approach h2 {
  font-size: clamp(2.2rem, 4vw, 4.25rem);
  line-height: 1.05;
  margin: .4rem 0 1rem;
}

.wbw-about-story__approach-intro {
  max-width: 720px;
  margin: 0 auto;
  font-size: 1.08rem;
  line-height: 1.7;
}

.wbw-about-story__approach-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.25rem;
}

.wbw-about-story__approach-grid article {
  display: flex;
  min-height: 132px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .7rem;
  padding: 1.35rem 1rem;
  border: 1px solid rgba(130, 1, 127, .14);
  border-radius: 18px;
  background: #fbfaf8;
  box-shadow: 0 12px 28px rgba(44, 33, 46, .08);
}

.wbw-about-story__approach-icon,
.wbw-about-story__credential-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #82017f;
  font-size: 1.45rem;
  line-height: 1;
}

.wbw-about-story__approach-grid strong {
  color: var(--wp--preset--color--purple);
  font-family: Georgia, serif;
  font-size: 1.15rem;
}

.wbw-about-story__why {
  color: #fff;
  background: linear-gradient(135deg, #6f006c 0%, #9a4397 100%);
}

.wbw-about-story__why h2,
.wbw-about-story__why p,
.wbw-about-story__why .wbw-eyebrow {
  color: #fff;
}

.wbw-about-story__credentials {
  text-align: center;
  background: var(--wp--preset--color--soft-green);
}

.wbw-about-story__credential-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2.5rem;
}

.wbw-about-story__credential-grid article {
  display: flex;
  min-width: 0;
  min-height: 150px;
  padding: 1.6rem;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(44, 33, 46, .1);
}

.wbw-about-story__credential-icon {
  margin-bottom: .8rem;
  color: var(--wp--preset--color--purple);
  background: var(--wp--preset--color--soft-green);
}

.wbw-about-story__credential-grid strong {
  color: var(--wp--preset--color--purple);
  font-family: Georgia, serif;
  font-size: 1.35rem;
}

.wbw-about-story__credential-grid span {
  margin-top: .65rem;
  line-height: 1.55;
}

.wbw-about-story__mission {
  text-align: center;
  color: #fff;
  background: linear-gradient(135deg, #6f006c 0%, #9a4397 100%);
}

.wbw-about-story__mission h2,
.wbw-about-story__mission p,
.wbw-about-story__mission .wbw-eyebrow {
  color: #fff;
}

.wbw-about-story__mission blockquote {
  margin: 2.5rem auto 0;
  padding: 1.5rem 2rem;
  color: #fff;
  border-left: 4px solid var(--wp--preset--color--soft-green);
  font-family: Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  font-style: italic;
  line-height: 1.25;
}

.wbw-about-story__cta {
  text-align: center;
  background: var(--wp--preset--color--soft-green);
}

.wbw-about-story__cta .wbw-conversion-actions {
  justify-content: center;
}

.wbw-about-story__cta > .wbw-page-shell > p:not(.wbw-eyebrow) {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 800px) {
  .wbw-about-story__intro-grid,
  .wbw-about-story__credential-grid {
    grid-template-columns: 1fr;
  }

  .wbw-about-story__approach-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wbw-about-story__portrait {
    width: min(100%, 460px);
    margin: 0 auto;
    order: -1;
  }

  .wbw-about-story__credential-grid article {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .wbw-about-story__approach-grid {
    grid-template-columns: 1fr;
  }

  .wbw-about-story__approach-grid article {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .wbw-home-branded .wbw-services-showcase__grid {
    grid-template-columns: 1fr;
  }

  .wbw-home-branded .wbw-services-showcase .wbw-service-tile {
    min-height: 330px;
  }
}

@media (max-width: 680px) {
  .wbw-home-branded .wbw-conversion-hero {
    min-height: auto;
    padding: 2rem 1rem;
  }

  .wbw-home-branded .wbw-conversion-hero__inner {
    padding: 1.5rem;
  }

  .wbw-home-branded .wbw-conversion-hero h1 {
    font-size: clamp(2.25rem, 12vw, 3.25rem);
  }

  .wbw-home-branded .wbw-conversion-hero .wbw-conversion-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .wbw-home-branded .wbw-conversion-hero .wbw-conversion-button {
    width: 100%;
  }
}

.wbw-mission {
  background: #6a0067;
  color: #fff;
  padding-top: 56px;
  padding-bottom: 64px;
}

.wbw-mission > .wp-block-group.alignwide {
  max-width: 760px;
}

.wbw-mission .wp-block-group {
  gap: 0;
}

.wbw-mission__ornament {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 104px;
  color: #e3e3e3;
}

.wbw-mission__ornament svg {
  display: block;
  width: 49px;
  height: 49px;
}

.wbw-mission__ornament--ready path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.wbw-mission__ornament--ready.is-visible path {
  animation: wbw-mission-line-draw 1.8s ease-in-out forwards;
}

.wbw-mission__ornament--ready.is-visible path:nth-child(2) { animation-delay: 0.12s; }
.wbw-mission__ornament--ready.is-visible path:nth-child(3) { animation-delay: 0.24s; }
.wbw-mission__ornament--ready.is-visible path:nth-child(4) { animation-delay: 0.36s; }

@keyframes wbw-mission-line-draw {
  to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .wbw-mission__ornament path {
    animation: none;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }
}

/* Colon Hydrotherapy premium service page. */
.wbw-colon-sales h2 {
  font-size: clamp(2.25rem, 4vw, 4.5rem);
  line-height: 1.05;
  margin: .45rem 0 1.4rem;
}

.wbw-colon-hero {
  padding: clamp(3.5rem, 7vw, 6rem) 1.5rem;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #72006f 0%, #a860a4 100%);
}

.wbw-colon-hero .wbw-page-shell {
  max-width: 1000px;
}

.wbw-colon-hero h1 {
  max-width: 980px;
  margin: .55rem auto 1.2rem;
  color: #fff;
  font-size: clamp(3rem, 6.4vw, 6rem);
  line-height: .98;
}

.wbw-colon-hero p:not(.wbw-eyebrow) {
  max-width: 760px;
  margin: 0 auto 2rem;
  font-size: 1.12rem;
  line-height: 1.7;
}

.wbw-colon-hero .wbw-eyebrow {
  color: #fff;
}

.wbw-colon-hero .wbw-button--light {
  color: #82017f !important;
  background: #fff !important;
  border-color: #fff !important;
}

.wbw-colon-intro,
.wbw-colon-series,
.wbw-colon-open-system {
  text-align: center;
}

.wbw-colon-safety {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .2);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(63, 55, 65, .1);
  margin-top: 2.5rem;
  padding: clamp(1.75rem, 4vw, 3rem);
  text-align: left;
}

.wbw-colon-safety .wbw-eyebrow,
.wbw-colon-safety h3 { text-align: center; }
.wbw-colon-safety h3 { color: #82017f; margin: .35rem 0 1rem; }
.wbw-colon-safety__intro { margin: 0 auto 1.75rem; max-width: 860px; text-align: center; }
.wbw-colon-safety__grid {
  display: grid;
  gap: .75rem 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.wbw-colon-safety__grid li {
  align-items: center;
  background: #faf6fa;
  border: 1px solid rgba(168, 96, 164, .22);
  border-radius: 12px;
  display: flex;
  gap: .7rem;
  min-width: 0;
  padding: .75rem .9rem;
}
.wbw-colon-safety__icon {
  align-items: center;
  background: #82017f;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 1.5rem;
  font-weight: 700;
  height: 1.5rem;
  justify-content: center;
}
.wbw-colon-safety__note {
  background: #f0f7ed;
  border-left: 4px solid #9dcc88;
  border-radius: 0 12px 12px 0;
  margin: 1.75rem 0 0;
  padding: 1rem 1.15rem;
}
.wbw-colon-safety__note a { color: #82017f; font-weight: 600; }

.wbw-colon-section-intro {
  max-width: 780px;
  margin: 0 auto 2.5rem;
  text-align: center;
  font-size: 1.08rem;
  line-height: 1.7;
}

.wbw-colon-reasons,
.wbw-colon-pricing,
.wbw-colon-included,
.wbw-colon-trust,
.wbw-colon-faq {
  text-align: center;
}

.wbw-colon-sales > .wbw-content-section {
  padding-top: clamp(3.25rem, 6vw, 5rem);
  padding-bottom: clamp(3.25rem, 6vw, 5rem);
}

.wbw-colon-reason-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.3rem;
}

.wbw-colon-reason-grid article {
  display: flex;
  min-height: 150px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .7rem;
  padding: 1.5rem 1.25rem;
  border: 1px solid rgba(130, 1, 127, .12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(44, 33, 46, .07);
  grid-column: span 3;
}

.wbw-colon-reason-grid article:nth-child(5) { grid-column: 2 / span 3; }
.wbw-colon-reason-grid article:nth-child(6) { grid-column: 5 / span 3; }
.wbw-colon-reason-grid article:nth-child(7) { grid-column: 8 / span 3; }

.wbw-colon-reason-grid strong {
  display: flex;
  min-height: 2.8em;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
}

.wbw-colon-reason-grid span,
.wbw-colon-included-grid span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #82017f;
  font-weight: 700;
}

.wbw-colon-price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}

.wbw-colon-price-card {
  overflow: hidden;
  padding: 2rem;
  border: 1px solid rgba(130, 1, 127, .14);
  border-radius: 22px;
  text-align: left;
  background: #fff;
  box-shadow: 0 18px 42px rgba(44, 33, 46, .11);
}

.wbw-colon-price-card h3 {
  margin: 0 0 .65rem;
  color: #82017f;
  font-family: Georgia, serif;
  font-size: 1.8rem;
  line-height: 1.15;
}

.wbw-colon-duration {
  margin: 0 0 1rem;
  font-weight: 600;
}

.wbw-colon-duration span {
  display: block;
  margin-top: .25rem;
  color: #615865;
  font-size: .9rem;
  font-weight: 400;
}

.wbw-colon-price-row {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: .65rem;
  align-items: center;
  margin: 0 -2rem;
  padding: 1rem 2rem;
  border-top: 1px solid #eee5ed;
  font-size: .92rem;
}

.wbw-colon-price-row span {
  text-align: right;
}

.wbw-colon-price-row b {
  display: block;
  color: #82017f;
  font-family: Georgia, serif;
  font-size: 1.35rem;
}

.wbw-colon-price-row--recommended {
  position: relative;
  padding-top: 2.65rem;
  background: #f7eff7;
}

.wbw-colon-price-row--recommended em {
  position: absolute;
  top: .55rem;
  left: 2rem;
  color: #82017f;
  font-size: .78rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wbw-colon-price-card .wbw-button {
  display: block;
  margin-top: 1.4rem;
  text-align: center;
}

.wbw-colon-help {
  max-width: 880px;
  margin: 2rem auto 0;
  padding: 1.2rem 1.5rem;
  border-radius: 15px;
  color: #342b36;
  text-align: center;
  background: var(--wp--preset--color--soft-green);
}

.wbw-colon-emphasis {
  color: #82017f;
  font-family: Georgia, serif;
  font-size: 1.5rem !important;
  font-weight: 700;
}

.wbw-colon-included-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 1rem;
  margin-top: 2.25rem;
}

.wbw-colon-included-grid article {
  display: flex;
  height: 100%;
  min-height: 250px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .75rem;
  padding: 1.5rem 1.15rem;
  border-radius: 18px;
  background: #fbfaf8;
  box-shadow: 0 10px 25px rgba(44, 33, 46, .07);
}

.wbw-colon-included-grid strong,
.wbw-colon-trust-grid strong {
  color: #82017f;
  font-family: Georgia, serif;
  font-size: 1.15rem;
}

.wbw-colon-included-grid p,
.wbw-colon-trust-grid p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.55;
}

.wbw-colon-trust-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 1rem;
  margin-top: 2.4rem;
}

.wbw-colon-trust-grid article {
  display: flex;
  height: 100%;
  min-height: 250px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .75rem;
  padding: 1.5rem 1.15rem;
  border: 1px solid rgba(130, 1, 127, .12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(44, 33, 46, .08);
}

.wbw-colon-trust-grid span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #82017f;
  font-weight: 700;
}

.wbw-colon-cta {
  text-align: center;
  background: var(--wp--preset--color--soft-green);
}

.wbw-colon-cta p {
  max-width: 720px;
  margin: 0 auto 1.5rem;
}

.wbw-colon-cta .wbw-button {
  white-space: normal;
}

.wbw-colon-disclaimer {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  font-size: .9rem;
}

.wbw-colon-care {
  background: #fff;
}

.wbw-colon-care__layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr);
  align-items: stretch;
  gap: clamp(2rem, 5vw, 5rem);
}

.wbw-colon-care__content {
  align-self: center;
}

.wbw-colon-care .wbw-eyebrow {
  color: #7d1d75;
  letter-spacing: .14em;
}

.wbw-colon-care__intro {
  max-width: 680px;
  margin: 0 0 2rem;
  color: #655f66;
  font-size: 1.05rem;
  line-height: 1.75;
}

.wbw-colon-care__list {
  display: grid;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wbw-colon-care__list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  gap: .85rem;
}

.wbw-colon-care__list li > span {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #8bc34a;
  font-weight: 800;
  line-height: 1;
}

.wbw-colon-care__list strong {
  display: block;
  margin-bottom: .2rem;
  color: #2c212e;
  font-size: 1.05rem;
}

.wbw-colon-care__list p {
  margin: 0;
  color: #655f66;
  line-height: 1.6;
}

.wbw-colon-care__photo {
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 18px 42px rgba(44, 33, 46, .12);
}

.wbw-colon-care__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
}

@media (max-width: 900px) {
  .wbw-colon-care__layout {
    grid-template-columns: 1fr;
  }

  .wbw-colon-care__photo {
    min-height: 480px;
  }

  .wbw-colon-reason-grid,
  .wbw-colon-included-grid,
  .wbw-colon-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wbw-colon-reason-grid article,
  .wbw-colon-reason-grid article:nth-child(5),
  .wbw-colon-reason-grid article:nth-child(6),
  .wbw-colon-reason-grid article:nth-child(7) {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .wbw-colon-hero {
    padding: 3.5rem 1.25rem;
  }

  .wbw-colon-price-grid {
    grid-template-columns: 1fr;
  }

  .wbw-colon-price-card {
    padding: 1.4rem;
  }

  .wbw-colon-price-row {
    grid-template-columns: 1fr 1fr;
    margin: 0 -1.4rem;
    padding: 1rem 1.4rem;
  }

  .wbw-colon-price-row strong,
  .wbw-colon-price-row--recommended em {
    grid-column: 1 / -1;
  }

  .wbw-colon-price-row span {
    text-align: left;
  }

  .wbw-colon-price-row--recommended {
    padding-top: 3.1rem;
  }

  .wbw-colon-price-row--recommended em {
    left: 1.4rem;
  }
}

@media (max-width: 480px) {
  .wbw-colon-care__photo {
    min-height: 400px;
  }

  .wbw-colon-reason-grid,
  .wbw-colon-included-grid,
  .wbw-colon-trust-grid {
    grid-template-columns: 1fr;
  }

  .wbw-colon-reason-grid article,
  .wbw-colon-included-grid article,
  .wbw-colon-trust-grid article {
    min-height: 0;
  }
}

/* Bio-Energetic Scanning narrative layout */
.wbw-bio-story {
  --bio-purple: var(--wp--preset--color--deep-purple, #82017f);
  --bio-green: var(--wp--preset--color--soft-green, #9dcc88);
  --bio-ink: #2b2330;
  color: var(--bio-ink);
}

.wbw-bio-story__hero,
.wbw-bio-story__cta {
  background: linear-gradient(135deg, #82017f 0%, #a860a4 52%, #668d57 100%);
  color: #fff;
  text-align: center;
}

.wbw-bio-story__hero { padding: clamp(3.5rem, 7vw, 5.5rem) 1.25rem; }
.wbw-bio-story__cta { padding: clamp(3.25rem, 6vw, 5rem) 1.25rem; }
.wbw-bio-story__hero .wbw-page-shell,
.wbw-bio-story__cta .wbw-page-shell { max-width: 900px; }
.wbw-bio-story__hero h1 {
  color: #fff;
  font-size: clamp(3rem, 6.2vw, 5.4rem);
  line-height: .98;
  margin: .75rem auto 1.5rem;
}
.wbw-bio-story__lead {
  font-size: clamp(1.08rem, 2vw, 1.3rem);
  line-height: 1.7;
  margin: 0 auto 1rem;
  max-width: 780px;
}
.wbw-bio-story__meta {
  font-family: var(--wp--preset--font-family--sans);
  font-size: .88rem;
  letter-spacing: .035em;
  margin-bottom: 1.8rem;
  opacity: .88;
}
.wbw-button--light {
  background: #fff !important;
  color: var(--bio-purple) !important;
}
.wbw-bio-story__hook,
.wbw-bio-story__section,
.wbw-bio-story__testimonial { padding: clamp(3.25rem, 6vw, 5rem) 1.25rem; }
.wbw-bio-story__hook { text-align: center; }
.wbw-bio-story__hook .wbw-reading { max-width: 820px; }
.wbw-bio-story__hook h2,
.wbw-bio-story__heading h2 {
  color: var(--bio-purple);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.1;
}
.wbw-bio-story__hook p { font-size: 1.08rem; }
.wbw-bio-story__emphasis {
  color: var(--bio-purple);
  font-weight: 700;
  margin-top: 1.75rem;
}
.wbw-bio-tag {
  background: #f1e3f1;
  border-radius: 999px;
  color: var(--bio-purple);
  display: inline-block;
  font-family: var(--wp--preset--font-family--sans);
  font-size: .74rem !important;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0;
  padding: .38rem .85rem;
  text-transform: uppercase;
}
.wbw-bio-story__soft { background: #f7f2f8; }
.wbw-bio-story__heading {
  margin: 0 auto clamp(2.25rem, 5vw, 3.5rem);
  max-width: 800px;
  text-align: center;
}
.wbw-bio-story__heading h2 { margin: 1rem 0 .85rem; }
.wbw-bio-story__heading > p:last-child { color: #655b67; font-size: 1.05rem; }
.wbw-bio-story__split {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
}
.wbw-bio-feature-card,
.wbw-bio-steps article,
.wbw-bio-reveal-grid article,
.wbw-bio-fit-card,
.wbw-bio-protocol-grid article,
.wbw-bio-story__testimonial blockquote {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .14);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(71, 35, 69, .09);
}
.wbw-bio-feature-card { padding: clamp(1.6rem, 4vw, 2.5rem); }
.wbw-bio-feature-card__icon {
  color: var(--bio-purple);
  display: block;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
}
.wbw-bio-feature-card h3 { color: var(--bio-purple); text-align: center; }
.wbw-bio-feature-card li { margin-bottom: .6rem; }
.wbw-bio-story .wbw-inline-notice { margin-top: 2rem; }
.wbw-bio-steps {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.wbw-bio-steps article { padding: 1.65rem 1.25rem; text-align: center; }
.wbw-bio-steps article > span {
  align-items: center;
  background: var(--bio-purple);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-family: var(--wp--preset--font-family--sans);
  font-weight: 800;
  height: 2.7rem;
  justify-content: center;
  width: 2.7rem;
}
.wbw-bio-steps h3,
.wbw-bio-protocol-grid h3 {
  color: var(--bio-purple);
  font-family: var(--wp--preset--font-family--sans);
  font-size: .95rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.wbw-bio-steps p,
.wbw-bio-reveal-grid p,
.wbw-bio-protocol-grid p { color: #655b67; font-size: .92rem; }
.wbw-bio-story__reveal {
  background: linear-gradient(135deg, #f8f1f8 0%, #eff7eb 100%);
}
.wbw-bio-reveal-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.wbw-bio-reveal-grid article { padding: 1.35rem; text-align: center; }
.wbw-bio-reveal-grid h3 { color: var(--bio-purple); font-size: 1.1rem; margin: 0 0 .45rem; }
.wbw-bio-reveal-grid p { margin: 0; }
.wbw-bio-disclaimer {
  color: #655b67;
  font-size: .82rem;
  font-style: italic;
  margin: 2rem auto 0;
  max-width: 800px;
  text-align: center;
}
.wbw-bio-fit-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wbw-bio-fit-card { padding: clamp(1.6rem, 4vw, 2.4rem); }
.wbw-bio-fit-card h3 { font-family: var(--wp--preset--font-family--sans); font-size: 1.15rem; }
.wbw-bio-fit-card--yes h3 { color: #487a3c; }
.wbw-bio-fit-card--note h3 { color: var(--bio-purple); }
.wbw-bio-fit-card li { margin-bottom: .75rem; }
.wbw-bio-protocol-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.wbw-bio-protocol-grid article { padding: 1.6rem; }
.wbw-bio-price-note {
  color: #655b67;
  font-family: var(--wp--preset--font-family--sans);
  margin: 2rem auto 0;
  text-align: center;
}
.wbw-bio-faq-shell { max-width: 850px; }
.wbw-bio-story__testimonial { background: #f7f2f8; text-align: center; }
.wbw-bio-story__testimonial h2 { color: var(--bio-purple); }
.wbw-bio-story__testimonial blockquote {
  margin: 2rem auto 0;
  max-width: 760px;
  padding: clamp(1.75rem, 5vw, 3rem);
}
.wbw-bio-story__testimonial blockquote p { font-size: 1.08rem; font-style: italic; line-height: 1.8; }
.wbw-bio-story__testimonial cite {
  color: var(--bio-purple);
  display: block;
  font-family: var(--wp--preset--font-family--sans);
  font-style: normal;
  font-weight: 700;
  margin-top: 1rem;
}
.wbw-bio-story__cta h2 {
  color: #fff;
  font-size: clamp(2.35rem, 5vw, 4rem);
  line-height: 1.05;
}
.wbw-bio-story__cta > .wbw-page-shell > p:not(.wbw-bio-story__meta) { font-size: 1.15rem; }

@media (max-width: 900px) {
  .wbw-bio-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .wbw-bio-story__hero { padding-block: 3.5rem; }
  .wbw-bio-story__split,
  .wbw-bio-fit-grid,
  .wbw-bio-protocol-grid { grid-template-columns: 1fr; }
  .wbw-bio-reveal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .wbw-bio-steps,
  .wbw-bio-reveal-grid { grid-template-columns: 1fr; }
}

/* Final Acupuncture and Bio-Energetic sales-page structures */
.wbw-acu-hero {
  background: linear-gradient(115deg, #82017f, #a860a4);
  color: #fff;
  padding: clamp(3.5rem, 6vw, 5.5rem) 1.25rem;
  text-align: center;
}
.wbw-acu-hero .wbw-page-shell { max-width: 900px; }
.wbw-acu-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 1;
  margin: .8rem 0 1.25rem;
}
.wbw-acu-hero p:not(.wbw-eyebrow) { font-size: 1.15rem; margin-inline: auto; max-width: 720px; }
.wbw-acu-hero .wbw-eyebrow { color: #fff; }
.wbw-acu-hero .wbw-button--light,
.wbw-acu-hero a.wbw-button--light {
  background: #fff !important;
  border-color: #fff !important;
  color: #82017f !important;
}
.wbw-sales-heading { margin: 0 auto 2.5rem; max-width: 820px; text-align: center; }
.wbw-sales-heading h2 { color: #82017f; }
.wbw-condition-grid,
.wbw-value-points,
.wbw-acu-package-grid,
.wbw-testimonial-grid {
  display: grid;
  gap: 1.25rem;
}
.wbw-condition-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wbw-condition-grid article,
.wbw-choice-grid article,
.wbw-value-points article,
.wbw-service-testimonials blockquote,
.wbw-bio-option-card {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .14);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(71, 35, 69, .09);
  padding: 1.5rem;
}
.wbw-condition-grid h3,
.wbw-value-points h3 { color: #82017f; font-size: 1.12rem; margin: 0 0 .45rem; }
.wbw-condition-grid p,
.wbw-value-points p { color: #655b67; margin: 0; }
.wbw-centered-action { margin-top: 2.5rem; text-align: center; }
.wbw-choice-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wbw-choice-grid h3 { color: #82017f; }
.wbw-card-kicker { color: #5e8b50; font-weight: 700; }
.wbw-value-section { max-width: 980px; text-align: center; }
.wbw-value-points { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
.wbw-acu-single-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 3rem; }
.wbw-acu-single-grid .wbw-price-card {
  min-height: 0;
  padding-bottom: 1rem;
}
.wbw-acu-single-grid .wbw-price-card h3 {
  margin-bottom: .75rem;
  min-height: 60px;
  padding: .85rem 1.25rem;
}
.wbw-acu-single-grid .wbw-price {
  margin: .55rem 0 .25rem;
}
.wbw-subheading-center { color: #82017f; font-size: 1.8rem; text-align: center; }
.wbw-acu-package-grid { align-items: stretch; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; }
.wbw-acu-package-grid .wbw-package-card { height: 100%; }
.wbw-service-testimonials { background: #f7f2f8; padding: clamp(4rem, 7vw, 6rem) 1.25rem; }
.wbw-testimonial-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wbw-service-testimonials blockquote,
.wbw-bio-story__testimonial .wbw-testimonial-grid blockquote { margin: 0; }
.wbw-testimonial-grid blockquote p { font-size: 1.05rem; font-style: italic; line-height: 1.75; }
.wbw-testimonial-grid cite { color: #82017f; font-family: Poppins, sans-serif; font-style: normal; font-weight: 700; }
.wbw-video-feature { margin: 0 auto; max-width: 880px; }
.wbw-video-feature iframe,
.wbw-video-resource-grid iframe {
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(71, 35, 69, .13);
  display: block;
  width: 100%;
}
.wbw-bio-option-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 auto; max-width: 960px; }
.wbw-bio-option-card { display: flex; flex-direction: column; }
.wbw-bio-option-card.is-featured { border: 2px solid #82017f; transform: translateY(-8px); }
.wbw-bio-option-card h3 { color: #82017f; font-size: 1.65rem; }
.wbw-bio-option-card h4 { color: #82017f; font-size: 1rem; margin: 1rem 0 .35rem; text-transform: uppercase; letter-spacing: .08em; }
.wbw-bio-option-card ul { padding-left: 1.25rem; }
.wbw-bio-option-card li { margin-bottom: .45rem; }
.wbw-bio-option-card .wbw-button { margin-top: auto; text-align: center; }
.wbw-bio-price { color: #82017f; font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; line-height: 1; margin: .4rem 0; }
.wbw-bio-duration { color: #5e8b50; font-size: .9rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wbw-bio-philosophy { margin: 1.5rem auto 0; max-width: 820px; }
.wbw-bio-experience { background: #f7f2f8; }
.wbw-video-resource-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wbw-video-resource-grid article { background: #fff; border-radius: 18px; padding: 1rem; }
.wbw-video-resource-grid h3 { color: #82017f; font-size: 1rem; margin-bottom: 0; text-align: center; }
.wbw-dual-actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.wbw-button--outline-light { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; }

@media (max-width: 900px) {
  .wbw-condition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wbw-acu-package-grid,
  .wbw-video-resource-grid { grid-template-columns: 1fr; }
  .wbw-acu-package-grid .wbw-package-card.is-featured,
  .wbw-bio-option-card.is-featured { transform: none; }
}

@media (max-width: 680px) {
  .wbw-choice-grid,
  .wbw-value-points,
  .wbw-acu-single-grid,
  .wbw-testimonial-grid,
  .wbw-bio-option-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .wbw-condition-grid { grid-template-columns: 1fr; }
}

.wbw-mission__ornament::after {
  width: 260px;
  height: 1px;
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.08);
  content: "";
}

.wbw-mission h2 {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 30px !important;
  font-weight: 400;
  line-height: 48px;
  margin: 0;
  text-transform: uppercase;
}

.wbw-mission .wbw-reading {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 20px !important;
  font-weight: 300;
  line-height: 28.05px;
  margin: 23px auto 0;
}

@media (max-width: 782px) {
  .wbw-mission {
    padding: 44px 20px 48px;
  }

  .wbw-mission .wbw-reading {
    font-size: 18px !important;
  }
}

.wbw-section > .wp-block-group.alignwide,
.wbw-section--compact > .wp-block-group.alignwide {
  max-width: 1180px !important;
  width: 100%;
}

.wbw-section > .wp-block-group.alignwide > .wp-block-columns,
.wbw-section--compact > .wp-block-group.alignwide > .wp-block-columns {
  max-width: 1180px !important;
  width: 100%;
}

.wbw-eyebrow {
  color: var(--wp--preset--color--deep-purple);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.wbw-hero {
  background:
    radial-gradient(circle at 75% 30%, rgba(157, 204, 136, 0.32), transparent 34%),
    radial-gradient(circle at 18% 85%, rgba(168, 96, 164, 0.38), transparent 38%),
    linear-gradient(125deg, #4e164d 0%, #7d1d75 50%, #a860a4 100%);
  min-height: 620px;
  overflow: hidden;
  position: relative;
}

.wbw-hero::after {
  background-image: radial-gradient(rgba(255,255,255,.22) 1px, transparent 1px);
  background-size: 22px 22px;
  content: "";
  inset: 0;
  opacity: .14;
  pointer-events: none;
  position: absolute;
}

.wbw-hero__inner {
  align-items: center;
  display: flex;
  min-height: 620px;
  position: relative;
  z-index: 1;
}

.wbw-hero__inner > .wp-block-group {
  align-self: center;
  backdrop-filter: blur(9px) saturate(1.12);
  background: rgba(255, 255, 255, .66);
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(45, 28, 39, .16);
  height: auto !important;
  max-width: 610px;
  min-height: 0 !important;
  margin-left: 32px;
  padding: 42px 42px 44px;
  width: 610px;
}

.wbw-hero__inner > .wp-block-group > * {
  margin-block-end: 0;
  margin-block-start: 0;
}

.wbw-hero h1.has-hero-font-size {
  font-family: Poppins, sans-serif;
  font-size: 46px !important;
  font-weight: 500;
  line-height: 1.16;
  max-width: 524px;
  margin-bottom: 20px;
}
.wbw-hero p:not(.wbw-eyebrow) {
  color: #5e555e;
  font-size: 17px !important;
  line-height: 1.75;
  max-width: 550px;
  margin-bottom: 28px;
}
.wbw-hero .wp-block-button__link {
  min-height: 52px;
  padding-left: 25px;
  padding-right: 25px;
}

.wbw-card,
.wbw-service-card,
.wbw-price-card,
.wbw-faq details {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, 0.10);
  border-radius: var(--wbw-radius);
  box-shadow: var(--wbw-shadow);
}

.wbw-service-card,
.wbw-card,
.wbw-price-card { height: 100%; padding: clamp(1.5rem, 3vw, 2.25rem); }

.wbw-service-card {
  transition: transform .2s ease, box-shadow .2s ease;
}

.wbw-service-card:hover {
  box-shadow: 0 24px 60px rgba(66, 25, 66, .15);
  transform: translateY(-4px);
}

.wbw-service-card a { color: inherit; text-decoration: none; }
.wbw-icon { color: var(--wp--preset--color--deep-purple); font-size: 2rem; }

.wbw-band {
  background: linear-gradient(135deg, #82017f 0%, #a860a4 100%);
  box-shadow: 0 12px 24px rgba(66, 25, 66, .18);
  color: #fff;
  padding-block: clamp(1.5rem, 2.2vw, 2rem);
  position: relative;
  z-index: 2;
}

.wbw-band a { color: #fff; }

.wbw-page-title h1 {
  color: #fff;
  margin-bottom: 0;
  margin-top: 0;
}

.wbw-page-content {
  background: #fff;
}

.wbw-acupuncture-help {
  background: #f9f7fa;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.wbw-acupuncture-help::before {
  background: url("assets/images/acupuncture-help-background.jpg") center 38% / cover no-repeat;
  content: "";
  inset: 0;
  position: absolute;
  transform: rotate(90deg) scale(2.45);
  z-index: -2;
}

.wbw-acupuncture-help::after {
  background: linear-gradient(rgba(249, 247, 250, .82), rgba(249, 247, 250, .9));
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.wbw-acupuncture-help .wbw-card {
  backdrop-filter: blur(5px);
  background: rgba(255, 255, 255, .88);
}

@media (max-width: 767px) {
  .wbw-acupuncture-help::before {
    transform: rotate(90deg) scale(2.15);
  }
}

.wbw-reviews-section {
  background:
    linear-gradient(rgba(48, 29, 42, .48), rgba(48, 29, 42, .58)),
    url("assets/images/testimonial-carousel-warm-v2.png") 50% 52%/cover no-repeat;
  padding-bottom: 100px;
  padding-top: 90px;
}
.wbw-reviews-section > .wp-block-group.alignwide {
  width: min(1320px, calc(100vw - 80px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.wbw-reviews-section .wbw-eyebrow {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: none;
}
.wbw-reviews-section h2 {
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 40px !important;
  font-weight: 400;
  line-height: 50px;
  margin-top: 12px;
}
.wbw-reviews {
  width: 100% !important;
  max-width: none !important;
  margin-top: 24px !important;
  overflow: hidden;
  position: relative;
}
.wbw-reviews__viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}
.wbw-reviews__viewport::-webkit-scrollbar { display: none; }
.wbw-reviews__track { display: flex; gap: 24px; padding: 10px 12px 30px; }
.wbw-review-card {
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(130, 1, 127, .1);
  border-radius: 14px;
  box-shadow: var(--wbw-shadow);
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 72px) / 4);
  height: 370px;
  min-height: 370px;
  max-height: 370px;
  min-width: 0;
  overflow: hidden;
  padding: 28px 24px 26px;
  scroll-snap-align: start;
  transition: box-shadow .3s ease, transform .3s ease;
}
.wbw-review-card:hover {
  box-shadow: 0 20px 46px rgba(34, 20, 29, .28);
  transform: translateY(-4px);
}
.wbw-review-card__inner {
  position: relative;
  width: 100%;
  height: 238px;
  min-height: 238px;
  margin: 0 0 12px;
  outline: none;
  perspective: 1100px;
}
.wbw-review-card__face {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 238px;
  min-height: 238px;
  padding: 0;
  transform-style: preserve-3d;
  transform-origin: left center;
  transition: transform .36s ease, opacity .26s ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.wbw-review-card__front {
  justify-content: space-between;
  opacity: 1;
  transform: rotateY(0deg);
}
.wbw-review-card__back {
  inset: 0;
  opacity: 0;
  overflow: hidden auto;
  padding-right: 7px;
  position: absolute;
  transform: rotateY(-92deg);
}
.wbw-review-card:hover .wbw-review-card__front,
.wbw-review-card__inner:focus .wbw-review-card__front,
.wbw-review-card.is-flipped .wbw-review-card__front {
  opacity: 0;
  transform: rotateY(92deg);
}
.wbw-review-card:hover .wbw-review-card__back,
.wbw-review-card__inner:focus .wbw-review-card__back,
.wbw-review-card.is-flipped .wbw-review-card__back {
  opacity: 1;
  transform: rotateY(0deg);
}
.wbw-review-card.wbw-review-card--no-flip:hover .wbw-review-card__front,
.wbw-review-card.wbw-review-card--no-flip .wbw-review-card__front {
  opacity: 1;
  transform: rotateY(0deg);
}
.wbw-review-card.wbw-review-card--no-flip:hover .wbw-review-card__back,
.wbw-review-card.wbw-review-card--no-flip .wbw-review-card__back {
  opacity: 0;
  transform: rotateY(-92deg);
}
.wbw-review-card__stars { color: #f6aa1c; font-size: 1.05rem; letter-spacing: .08em; margin: 0 0 1rem; }
.wbw-review-card__quote { font-size: 15px; line-height: 1.65; margin: 0; }
.wbw-review-card__front .wbw-review-card__short {
  display: -webkit-box;
  max-height: 174px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
}
.wbw-review-card__back .wbw-review-card__full {
  overflow: visible;
  scrollbar-color: rgba(130, 1, 127, .38) transparent;
  scrollbar-width: thin;
}
.wbw-review-card__full[hidden] { display: none; }
.wbw-review-card__toggle {
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--deep-purple);
  cursor: pointer;
  font: inherit;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  margin: auto 0 0;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
}
.wbw-review-card__author { border-top: 1px solid rgba(130, 1, 127, .12); margin-top: auto; padding-top: 1rem; }
.wbw-review-card__author strong { display: block; font-size: 14px; text-transform: uppercase; }
.wbw-review-card__author span { color: #6d6170; font-size: .86rem; }
.wbw-reviews__controls { align-items: center; display: flex; gap: .75rem; justify-content: center; }
.wbw-reviews__button {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .2);
  border-radius: 50%;
  color: var(--wp--preset--color--deep-purple);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.25rem;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}
.wbw-reviews__button:hover,
.wbw-reviews__button:focus-visible { background: var(--wp--preset--color--deep-purple); color: #fff; }

.wbw-step {
  align-items: flex-start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 3.25rem 1fr;
}

.wbw-phases-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px !important;
  width: 100%;
}

.wbw-phases-grid .wbw-step {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .12);
  border-radius: var(--wbw-radius);
  box-shadow: var(--wbw-shadow);
  height: 100%;
  margin-block-start: 0 !important;
  padding: 1.25rem;
}

.wbw-phases-grid .wbw-step h3 {
  margin-top: .35rem;
}

.wbw-phases-grid .wbw-step h3 small {
  color: #6d6170;
  display: block;
  font-family: var(--wp--preset--font-family--sans);
  font-size: .78rem;
  line-height: 1.4;
  margin-top: .45rem;
}

.wbw-step__number {
  align-items: center;
  background: var(--wp--preset--color--deep-purple);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-weight: 800;
  height: 3.25rem;
  justify-content: center;
  width: 3.25rem;
}

.wbw-faq details { margin-bottom: 1rem; padding: 1rem 1.25rem; }
.wbw-faq summary { color: var(--wp--preset--color--deep-purple); cursor: pointer; font-weight: 750; }

.wbw-site-footer {
  background:
    linear-gradient(112deg, rgba(28, 19, 29, .82), rgba(69, 35, 61, .64)),
    url("assets/images/testimonial-carousel-warm-v2.png") center 54% / cover no-repeat;
  color: #2a222b;
  margin-block-start: 0 !important;
  overflow: hidden;
  padding: clamp(3rem, 6vw, 5.25rem) 1.25rem 0 !important;
}

.wbw-footer-cards {
  display: grid;
  gap: clamp(1rem, 2.25vw, 1.75rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1200px !important;
  width: 100%;
}

.wbw-footer-card {
  background: rgba(251, 248, 248, .94);
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(22, 13, 22, .28);
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.35rem);
}

.wbw-footer-cards > .wbw-footer-card { margin-block-start: 0 !important; }

.wbw-footer-card h3,
.wbw-footer-card h4 {
  color: var(--wp--preset--color--deep-purple);
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.wbw-footer-card h3 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.wbw-footer-card h4 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .09em;
  margin-top: 1.6rem;
}

.wbw-footer-card p,
.wbw-footer-card li,
.wbw-footer-card a {
  color: #2a222b;
  font-size: .98rem;
  line-height: 1.55;
}

.wbw-footer-card a {
  text-decoration-color: rgba(130, 1, 127, .38);
  text-underline-offset: .16em;
}

.wbw-footer-card a:hover,
.wbw-footer-card a:focus-visible { color: var(--wp--preset--color--deep-purple); }

.wbw-footer-logo {
  background: url("assets/images/wbw-logo-mark.png") center / contain no-repeat;
  display: block;
  height: 76px;
  margin-bottom: 1.25rem;
  width: 94px;
}

.wbw-footer-intro {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.13rem !important;
  line-height: 1.55 !important;
  margin: 0 0 1.35rem;
}

.wbw-footer-details p {
  align-items: center;
  display: grid;
  gap: .8rem;
  grid-template-columns: 42px minmax(0, 1fr);
  margin: 0 0 .85rem;
}

.wbw-footer-icon {
  align-items: center;
  border: 2px solid var(--wp--preset--color--deep-purple);
  border-radius: 50%;
  color: var(--wp--preset--color--deep-purple);
  display: inline-flex;
  font-size: 1rem;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.wbw-footer-mailing { margin: 1.25rem 0 0 !important; }
.wbw-footer-mailing a {
  border: 1px solid rgba(130, 1, 127, .42);
  border-radius: 999px;
  display: inline-block;
  font-weight: 750;
  padding: .65rem 1rem;
  text-decoration: none;
}

.wbw-footer-emphasis {
  color: var(--wp--preset--color--deep-purple) !important;
  font-weight: 750;
  margin-top: 0;
}

.wbw-footer-hours-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wbw-footer-hours-list li { margin-bottom: .45rem; }
.wbw-footer-note {
  border-top: 1px solid rgba(130, 1, 127, .18);
  font-style: italic;
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.wbw-footer-posts article {
  border-bottom: 1px solid rgba(130, 1, 127, .16);
  padding: 0 0 1rem;
}

.wbw-footer-posts article + article { padding-top: 1rem; }
.wbw-footer-posts article:last-child { border-bottom: 0; padding-bottom: 0; }
.wbw-footer-posts a {
  display: block;
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.wbw-footer-posts time {
  color: #746675;
  display: block;
  font-size: .82rem;
  margin-top: .3rem;
}

.wbw-footer-bottom {
  background: rgba(28, 22, 30, .9);
  color: #fff;
  margin: clamp(2.4rem, 5vw, 4.25rem) -1.25rem 0 !important;
  padding: 1rem 1.25rem;
  width: calc(100% + 2.5rem);
}

.wbw-footer-bottom p { margin: 0; }
.wbw-footer-bottom a { color: #fff; }

.wbw-contact-page {
  max-width: 1100px !important;
  padding-bottom: clamp(4rem, 7vw, 7rem);
  width: calc(100% - 2.5rem);
}

.wp-block-post-content:has(.wbw-contact-page) {
  max-width: 1100px !important;
  width: 100%;
}

.wbw-contact-intro {
  color: #53605a;
  font-size: 1.08rem;
  max-width: 860px;
}

.wbw-contact-divider {
  border-top: 1px dashed var(--wp--preset--color--lavender);
  margin: 2rem 0;
  max-width: none !important;
  width: 100%;
}

.wbw-contact-page hr.wbw-contact-divider {
  width: 100% !important;
}

.wbw-contact-columns {
  align-items: flex-start;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  max-width: none !important;
  width: 100%;
}

.wbw-contact-form-panel h2,
.wbw-contact-visit-panel h2 {
  color: var(--wp--preset--color--deep-purple);
  font-weight: 500;
}

.wbw-contact-form-panel .fluentform {
  margin-top: 1.5rem;
}

.wbw-contact-form-panel .ff-el-group {
  margin-bottom: 1.15rem;
}

.wbw-contact-form-panel .ff-el-input--label label {
  color: #514952;
  font-weight: 700;
}

.wbw-contact-form-panel .ff-el-form-control {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .18);
  border-radius: 7px;
  min-height: 46px;
  padding: .75rem .85rem;
}

.wbw-contact-form-panel textarea.ff-el-form-control {
  min-height: 150px;
}

.wbw-contact-form-panel .ff-el-form-check {
  display: inline-flex;
  margin: 0 1.25rem .65rem 0;
  min-width: 205px;
}

.wbw-contact-form-panel .ff-btn-submit {
  background: var(--wp--preset--color--deep-purple);
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-weight: 750;
  padding: .9rem 1.5rem;
}

.wbw-contact-visit-panel {
  background: #f7f2f8;
  border-radius: var(--wbw-radius);
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.wbw-contact-visit-panel a {
  color: var(--wp--preset--color--deep-purple);
}

.wbw-contact-muted,
.wbw-contact-note {
  color: #6d6170;
}

.wbw-contact-detail {
  border-top: 1px solid rgba(130, 1, 127, .12);
  padding-top: 1.1rem;
}

.wbw-package-grid {
  align-items: stretch;
  max-width: 1180px !important;
  width: 100%;
}

.wbw-package-card {
  --wbw-package-pad: clamp(1.75rem, 3vw, 2.35rem);
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .18);
  box-shadow: 0 22px 55px rgba(66, 25, 66, .13);
  overflow: hidden;
  padding: var(--wbw-package-pad);
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}

.wbw-package-card:hover {
  box-shadow: 0 28px 65px rgba(66, 25, 66, .18);
  transform: translateY(-5px);
}

.wbw-package-card h3 {
  background: linear-gradient(135deg, #82017f 0%, #a860a4 100%);
  color: #fff;
  font-size: clamp(1.4rem, 1.8vw, 1.75rem);
  line-height: 1.15;
  margin: calc(0px - var(--wbw-package-pad)) calc(0px - var(--wbw-package-pad)) .9rem;
  max-width: none !important;
  padding: .8rem var(--wbw-package-pad);
  width: calc(100% + var(--wbw-package-pad) + var(--wbw-package-pad));
}

.wbw-package-card .has-x-large-font-size {
  color: var(--wp--preset--color--deep-purple);
  line-height: 1;
  margin: .4rem 0 1.5rem;
}

.wbw-package-card.is-featured {
  background: linear-gradient(180deg, #fff 0%, #fbf5fb 100%);
  border: 2px solid var(--wp--preset--color--deep-purple);
  transform: translateY(-10px);
}

.wbw-package-card.is-featured:hover {
  transform: translateY(-15px);
}

.wbw-package-card ul {
  padding-left: 1.15rem;
}

.wbw-package-card li {
  padding-left: .2rem;
  margin-bottom: .7rem;
}

.wbw-package-card li::marker {
  color: var(--wp--preset--color--soft-green);
  font-size: 1.15em;
}

.wbw-package-badge {
  background: var(--wp--preset--color--soft-green);
  border-radius: 999px;
  color: var(--wp--preset--color--ink);
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 .75rem;
  padding: .4rem .75rem;
  text-transform: uppercase;
}

/* Acupuncture package cards: aligned, readable, and conversion-focused. */
.wbw-acu-package-grid {
  gap: 1.5rem;
  padding-top: 1.25rem;
}

.wbw-acu-package-grid .wbw-package-card {
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  min-height: 440px;
  overflow: visible;
}

.wbw-acu-package-grid .wbw-package-card h3 {
  align-items: center;
  border-radius: 5px 5px 0 0;
  display: flex;
  justify-content: center;
  margin-left: calc(0px - var(--wbw-package-pad) - 12px);
  margin-right: calc(0px - var(--wbw-package-pad) - 12px);
  margin-bottom: 3.95rem;
  min-height: 74px;
  padding-bottom: 1rem;
  padding-top: 1rem;
  position: relative;
  text-align: center;
  transform: translateY(60%);
  width: calc(100% + var(--wbw-package-pad) + var(--wbw-package-pad) + 24px);
  z-index: 1;
}

.wbw-acu-package-grid .wbw-package-card h3::before,
.wbw-acu-package-grid .wbw-package-card h3::after {
  bottom: -11px;
  content: "";
  height: 0;
  position: absolute;
  width: 0;
  z-index: -1;
}

.wbw-acu-package-grid .wbw-package-card h3::before {
  border-left: 12px solid transparent;
  border-top: 11px solid #5f005c;
  left: 0;
}

.wbw-acu-package-grid .wbw-package-card h3::after {
  border-right: 12px solid transparent;
  border-top: 11px solid #5f005c;
  right: 0;
}

.wbw-acu-package-grid .wbw-price {
  font-size: clamp(2.35rem, 4vw, 3.25rem) !important;
  line-height: 1;
  margin: .25rem 0 1.4rem;
}

.wbw-acu-package-grid .wbw-package-card ul {
  margin: 0 0 1.2rem;
}

.wbw-acu-package-grid .wbw-package-card > p:last-child {
  border-top: 1px solid rgba(130, 1, 127, .12);
  color: #655b67;
  margin: auto 0 0;
  padding-top: 1.15rem;
}

.wbw-acu-package-grid .wbw-package-card.is-featured {
  box-shadow: 0 26px 65px rgba(66, 25, 66, .18);
  transform: none;
}

.wbw-acu-package-grid .wbw-package-card.is-featured:hover {
  transform: translateY(-5px);
}

.wbw-acu-package-grid .wbw-package-badge {
  left: 50%;
  margin: 0;
  position: absolute;
  top: .45rem;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 2;
}

@media (max-width: 781px) {
  .wbw-site-header { padding-inline: .85rem !important; }
  .wbw-header-inner { min-height: 72px; width: 100%; }
  .wbw-brand-lockup { gap: .45rem; }
  .wbw-brand-lockup .wbw-logo img { height: 46px; width: 62px; }
  .wbw-brand-name { font-size: clamp(1.45rem, 6.5vw, 1.85rem); }
  .wbw-site-header .wp-block-navigation__responsive-container-open {
    align-items: center;
    color: #82017f;
    display: flex !important;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }
  .wbw-hero {
    background:
      radial-gradient(circle at 75% 20%, rgba(157, 204, 136, 0.32), transparent 36%),
      linear-gradient(145deg, #571653 0%, #8a2683 58%, #ad6aaa 100%);
    min-height: auto;
  }
  .wbw-hero__inner { min-height: 620px; }
  .wbw-hero__inner > .wp-block-group { margin-left: 0; padding: 32px 26px 34px; width: min(100%, 610px); }
  .wbw-hero h1.has-hero-font-size { font-size: clamp(2.3rem, 11vw, 3rem) !important; }
  .wbw-trust-bar__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wbw-trust-bar__inner span:nth-child(2) { border-right: 0; }
  .wbw-trust-bar__inner span:nth-child(-n+2) { border-bottom: 1px solid rgba(130, 1, 127, 0.12); padding-bottom: 1rem; }
  .wbw-trust-bar__inner span:nth-child(n+3) { padding-top: 1rem; }
  .wbw-meet-sigma__inner,
  .wbw-home-faq__inner { grid-template-columns: 1fr; }
  .wbw-meet-sigma__portrait { margin: 0 auto; max-width: 420px; }
  .wbw-why-us__grid { grid-template-columns: 1fr; }
  .wbw-reviews-section {
    padding: 64px 15px 72px;
  }
  .wbw-reviews-section > .wp-block-group.alignwide {
    width: calc(100vw - 30px) !important;
  }
  .wbw-reviews-section h2 {
    font-size: 32px !important;
    line-height: 42px;
  }
  .wbw-reviews__viewport {
    scroll-behavior: auto;
    scroll-padding-inline: 12px;
  }
  .wbw-review-card {
    flex-basis: min(86vw, 340px);
    scroll-snap-stop: always;
  }
  .wbw-contact-columns { gap: 1.5rem; }
  .wbw-contact-form-panel .ff-el-form-check { display: flex; min-width: 0; }
  .wbw-package-card.is-featured { transform: none; }
  .wbw-package-card.is-featured:hover { transform: translateY(-5px); }
  .wbw-acu-package-grid { gap: 2.5rem; }
  .wbw-acu-package-grid .wbw-package-card { min-height: 0; }
  .wbw-acu-package-grid .wbw-package-card > p:last-child { margin-top: 1rem; }
  .wbw-acu-package-grid .wbw-package-card h3 { min-height: 58px; padding-bottom: .7rem; padding-top: .7rem; }
  .wbw-acu-package-grid .wbw-package-badge { top: .35rem; }
  .wbw-faq details { padding: 1rem; }
  .wbw-faq summary { font-size: 1rem; line-height: 1.45; }
  .wbw-faq details p { font-size: .95rem; line-height: 1.65; }
  .wbw-testimonial-grid { gap: 1rem; }
  .wbw-service-testimonials blockquote { padding: 1.25rem; }
  .wbw-site-footer { padding: 2.25rem 1rem 0 !important; }
  .wbw-footer-cards { grid-template-columns: 1fr; }
  .wbw-footer-card { border-radius: 18px; padding: 1.35rem; }
  .wbw-footer-card p,
  .wbw-footer-card li,
  .wbw-footer-card a { font-size: .95rem; line-height: 1.55; }
  .wbw-footer-bottom {
    margin-left: -1rem !important;
    margin-right: -1rem !important;
    width: calc(100% + 2rem);
  }
  .wbw-phases-grid { grid-template-columns: 1fr; }
}

@media (min-width: 782px) and (max-width: 1050px) {
  .wbw-review-card { flex-basis: calc((100% - 24px) / 2); }
  .wbw-package-grid {
    flex-wrap: wrap !important;
  }
  .wbw-package-grid > .wp-block-column {
    flex-basis: calc(50% - .75rem) !important;
  }
  .wbw-package-grid > .wp-block-column:last-child {
    flex-basis: 100% !important;
  }
  .wbw-phases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wbw-phases-grid .wbw-step:last-child { grid-column: 1 / -1; }
}

/* Standalone cupping therapy on the Acupuncture page. */
.wbw-cupping-standalone { background: #fff; }
.wbw-cupping-price-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 2.5rem 0 3rem;
}
.wbw-cupping-price-card {
  background: #fff;
  border: 1px solid rgba(130, 1, 127, .12);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(50, 27, 50, .10);
  padding: 2rem 1.5rem;
  text-align: center;
}
.wbw-cupping-price-card h3 { color: #82017f; margin: 0 0 .8rem; }
.wbw-cupping-price-card .wbw-price { margin: 0 0 .35rem; }
.wbw-cupping-price-card p:last-child { color: #666; margin-bottom: 0; }
.wbw-cupping-benefits { margin: 0 auto; max-width: 900px; }
.wbw-cupping-benefits h3 { color: #82017f; text-align: center; }
.wbw-cupping-benefits ul {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
}
.wbw-cupping-benefits li { align-items: flex-start; display: flex; gap: .75rem; }
.wbw-cupping-benefits li::before {
  align-items: center;
  background: #a9ce8b;
  border-radius: 50%;
  color: #fff;
  content: "\2713";
  display: inline-flex;
  flex: 0 0 1.6rem;
  font-size: .9rem;
  font-weight: 700;
  height: 1.6rem;
  justify-content: center;
  margin-top: .1rem;
}

@media (max-width: 900px) {
  .wbw-cupping-price-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .wbw-colon-safety__grid { grid-template-columns: 1fr; }
  .wbw-colon-safety { padding: 1.4rem 1rem; }
  .wbw-cupping-benefits ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wbw-service-card { transition: none; }
  .wbw-reviews__viewport { scroll-behavior: auto; }
  .wbw-review-card__face { transition: none; }
  .wbw-package-card { transition: none; }
}
