@font-face {
  font-family: "Druk Text Wide";
  src: url("./DrukTextWide-Medium.woff2") format("woff2"),
       url("./DrukTextWide-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* "Area Normal" points at the shared Area Variable woff2 (already loaded) so any
   legacy reference renders without pulling the heavy AreaNormalRegular.ttf. */
/* Canonical Area Variable face WITH its true variable weight range unlocked, so
   500/600/700 render from the real font instead of being browser-synthesised.
   Served via this enqueued stylesheet; CSS weight-matching prefers this ranged
   face over the range-less Area Variable declarations Elementor emits. */
@font-face {
  font-family: "Area Variable";
  src: url("/wp-content/uploads/2026/07/Area-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("./SpaceGrotesk-Regular.woff2") format("woff2"),
       url("./SpaceGrotesk-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body.vc-next-design {
  /* Colour tokens are single-sourced from volt-cartel-core/assets/css/tokens.css (the authority). Do not redefine here. */
  /* Font tokens single-sourced from tokens.css. */
  /* Layout/type tokens single-sourced from tokens.css. */
  margin: 0;
  padding-top: var(--vc-header-reserved-height);
  overflow-x: clip;
  background: #fff;
  color: var(--vc-colour-text);
  font-family: var(--vc-font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.vc-next-design *,
body.vc-next-design *::before,
body.vc-next-design *::after {
  box-sizing: border-box;
}

body.vc-next-design a {
  color: inherit;
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}

/* Text links turn red on hover — but NOT button-style links (they have their own
   coloured background + white text; the red-on-hover made e.g. the footer Instagram
   button red text on a dark-red fill = unreadable). Exclude any button/book/pill link. */
body.vc-next-design a:hover:not([class*="btn"]):not([class*="button"]):not([class*="book"]):not(.is-primary) {
  color: var(--vc-colour-action-primary);
}

body.vc-next-design :focus-visible {
  outline: 3px solid var(--vc-colour-focus);
  outline-offset: 3px;
}

body.vc-next-design :is(h1, h2, h3, h4, h5, h6) {
  color: var(--vc-colour-text-heading);
  text-wrap: balance;
}

body.vc-next-design :is(h1, h2, h3) {
  font-family: var(--vc-font-display);
  font-weight: 500;
}

body.vc-next-design p {
  text-wrap: pretty;
}

body.vc-next-design #content {
  overflow: clip;
}

body.vc-next-design #content [id] {
  scroll-margin-top: calc(var(--vc-header-reserved-height) + 20px);
}

body.vc-next-design :is(.elementor-button, button, input, select, textarea) {
  font-family: var(--vc-font-label);
}

body.vc-next-design .elementor-button {
  min-height: 48px;
  justify-content: center;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
  fill: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .075em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

body.vc-next-design .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary-hover);
  background: var(--vc-colour-action-primary-hover);
  color: #fff;
  fill: #fff;
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Shared header
   -------------------------------------------------------------------------- */

body.vc-next-design .elementor-location-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  width: 100%;
  background: #fff;
  color: var(--vc-colour-text-strong);
  box-shadow: 0 1px 0 rgba(23, 19, 19, .10);
}

body.vc-next-design.vc-header-scrolled .elementor-location-header {
  box-shadow: 0 12px 36px rgba(23, 19, 19, .10);
}

body.vc-next-design .vc-v291-header-utility-host,
body.vc-next-design .elementor-location-header [data-id="8f6cf25"] {
  min-height: 44px;
  max-height: none;
  padding: 0;
  overflow: visible;
  background: var(--vc-colour-brand-dark) !important;
}

body.vc-next-design .elementor-location-header [data-id="8f6cf25"] > .elementor-widget {
  width: 100%;
  max-width: none;
}

body.vc-next-design .elementor-location-header [data-id="8f6cf25"] .elementor-widget-container,
body.vc-next-design .elementor-location-header [data-id="8f6cf25"] .elementor-shortcode {
  width: 100%;
}

body.vc-next-design .vc-header-utility {
  display: flex;
  width: min(100% - 80px, 1180px);
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  color: #fff !important;
  font-family: var(--vc-font-label);
  font-size: 13px;
  line-height: 1.2;
}

body.vc-next-design .vc-header-utility a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  color: #c7c0b9;
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: .01em;
}

body.vc-next-design .vc-header-utility .vc-hu-ic {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

body.vc-next-design .vc-header-utility__location .vc-hu-ic--pin {
  color: var(--vc-colour-brand-primary, #d81620);
}

body.vc-next-design .vc-header-utility a:is(:hover, :focus-visible) {
  color: #ff9ea3;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.vc-next-design .vc-header-utility__status {
  order: 4;
  margin-left: auto;
}

body.vc-next-design .vc-header-utility__location {
  order: 1;
  color: #c7c0b9;
}

body.vc-next-design .vc-header-utility > a[href^="tel:"] {
  order: 2;
}

body.vc-next-design .vc-header-utility > a[href*="wa.me"] {
  order: 3;
}

body.vc-next-design .vc-header-utility__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .22);
}

body.vc-next-design .vc-header-utility__status.is-open .vc-header-utility__status-dot {
  background: #34c759;
  box-shadow: 0 0 0 3px rgba(52, 199, 89, .22);
}

body.vc-next-design .vc-header-utility__status.is-closed .vc-header-utility__status-dot {
  background: #c7c0b9;
  box-shadow: 0 0 0 3px rgba(199, 192, 185, .18);
}

body.vc-next-design .vc-v291-header-main {
  width: min(100% - 80px, 1180px);
  min-height: 88px;
  align-items: center;
  gap: 28px;
  margin: 0 auto;
  padding: 0;
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(12px);
}

body.vc-next-design .vc-v291-header-main--desktop {
  display: grid;
  grid-template-columns: minmax(145px, 170px) minmax(0, 1fr) minmax(172px, auto);
  gap: 18px;
}

body.vc-next-design .vc-v291-header-logo,
body.vc-next-design .vc-v291-header-navigation,
body.vc-next-design .vc-v291-header-booking {
  width: auto;
  min-width: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-header-logo {
  justify-content: flex-start;
}

body.vc-next-design .vc-v291-header-logo img {
  display: block;
  width: auto;
  height: 34px;
  max-width: 180px;
}

body.vc-next-design .vc-v291-header-navigation {
  justify-content: center;
}

body.vc-next-design .vc-v291-header-booking {
  justify-content: flex-end;
}

body.vc-next-design .elementor-location-header .vc-v291-header-booking .elementor-button {
  min-height: 42px;
  padding: 10px 20px;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: .07em;
}

body.vc-next-design .vc-v291-header-booking .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.vc-next-design .vc-v291-header-booking .elementor-button .elementor-button-content-wrapper::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M5%204h1V2h2v2h8V2h2v2h1a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2Zm0%206v10h14V10H5Zm2%202h2v2H7v-2Zm4%200h2v2h-2v-2Zm4%200h2v2h-2v-2Zm-8%204h2v2H7v-2Zm4%200h2v2h-2v-2Zm4%200h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='black'%20d='M5%204h1V2h2v2h8V2h2v2h1a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2Zm0%206v10h14V10H5Zm2%202h2v2H7v-2Zm4%200h2v2h-2v-2Zm4%200h2v2h-2v-2Zm-8%204h2v2H7v-2Zm4%200h2v2h-2v-2Zm4%200h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.vc-next-design .vc-v291-header-main--mobile {
  display: none;
}

body.vc-next-design .vc-v291-header-main--mobile .vc-v291-header-navigation > .elementor-widget-button {
  display: none;
}

body.vc-next-design .vc-global-nav {
  color: var(--vc-colour-text-strong);
  font-family: var(--vc-font-body);
}

body.vc-next-design .vc-global-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.vc-next-design .vc-global-nav a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-global-nav--desktop {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body.vc-next-design .vc-global-nav--desktop > .vc-global-nav__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, .85vw, 14px);
}

body.vc-next-design .vc-global-nav__item > a,
body.vc-next-design .vc-global-nav__title > a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  font-size: 15px;
  line-height: 1.2;
  white-space: nowrap;
}

body.vc-next-design .vc-global-nav__title {
  display: flex;
  align-items: center;
}

body.vc-next-design .vc-global-nav__title > button {
  display: inline-flex;
  width: 26px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  cursor: pointer;
}

body.vc-next-design .vc-global-nav__title > button span {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
}

body.vc-next-design .vc-global-nav__title > button[aria-expanded="true"] span {
  transform: translateY(2px) rotate(225deg);
}

body.vc-next-design .vc-global-nav__item > a:is(:hover, :focus-visible),
body.vc-next-design .vc-global-nav__title > a:is(:hover, :focus-visible) {
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-global-nav__panel,
body.vc-next-design .vc-global-nav__search-panel {
  position: fixed;
  top: var(--vc-nav-panel-top, 132px);
  right: 0;
  left: 0;
  z-index: 1100;
  max-height: calc(100vh - var(--vc-nav-panel-top, 132px));
  overflow: auto;
  border-top: 1px solid var(--vc-colour-border);
  background: #fff;
  box-shadow: 0 24px 54px rgba(23, 19, 19, .16);
}

body.vc-next-design :is(.vc-global-nav__panel, .vc-global-nav__search-panel, .vc-global-nav__drawer, .vc-nav-treatment-group)[hidden] {
  display: none;
}

body.vc-next-design .vc-global-nav__panel-inner {
  display: grid;
  width: min(1280px, 100%);
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
  gap: clamp(30px, 4vw, 64px);
  margin: 0 auto;
  padding: 38px 40px 44px;
}

body.vc-next-design .vc-nav-panel-intro {
  padding-right: 30px;
  border-right: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-nav-eyebrow {
  margin: 0 0 10px;
  color: var(--vc-colour-action-primary);
  font: 600 11px/1.3 var(--vc-font-label);
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.vc-next-design .vc-nav-panel-intro .vc-nav-panel-title {
  margin: 0 0 14px;
  font-family: var(--vc-font-display);
  font-weight: 500;
  font-size: clamp(22px, 1.7vw, 30px);
  line-height: 1.02;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

body.vc-next-design .vc-nav-panel-intro p:not(.vc-nav-eyebrow) {
  margin: 0;
  color: var(--vc-colour-text-muted);
  line-height: 1.6;
}

body.vc-next-design .vc-nav-panel-intro__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

body.vc-next-design .vc-nav-panel-intro__actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid var(--vc-colour-text-strong);
  border-radius: var(--vc-radius-pill);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.vc-next-design .vc-nav-treatment-browser {
  display: grid;
  min-width: 0;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 28px;
}

body.vc-next-design .vc-nav-tablist {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
}

body.vc-next-design .vc-nav-tablist button {
  min-height: 46px;
  padding: 10px 14px;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--vc-colour-text-strong);
  text-align: left;
  cursor: pointer;
}

body.vc-next-design .vc-nav-tablist button[aria-selected="true"] {
  border-left-color: var(--vc-colour-action-primary);
  background: var(--vc-colour-surface-warm);
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-nav-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

body.vc-next-design .vc-nav-panel-heading .vc-nav-panel-title {
  max-width: 660px;
  margin: 0;
  font-family: var(--vc-font-body);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.45;
}

body.vc-next-design .vc-nav-panel-heading > a {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.vc-next-design .vc-nav-link-list--treatments {
  max-height: 330px;
  overflow: auto;
  columns: 2;
  column-gap: 28px;
}

body.vc-next-design .vc-nav-link-list li {
  break-inside: avoid;
}

body.vc-next-design .vc-nav-link-list a {
  display: flex;
  min-height: 38px;
  align-items: center;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.3;
}

body.vc-next-design .vc-nav-link-list a:is(:hover, :focus-visible) {
  background: var(--vc-colour-surface-warm);
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-nav-concern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 36px;
}

body.vc-next-design .vc-nav-concern-grid .vc-nav-panel-title {
  margin: 0 0 4px;
  font-family: var(--vc-font-body);
  font-size: 17px;
  font-weight: 700;
}

body.vc-next-design .vc-nav-concern-grid section > p {
  margin: 0 0 7px;
  color: var(--vc-colour-text-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.vc-next-design .vc-nav-concern-grid .vc-nav-link-list {
  columns: 2;
}

body.vc-next-design .vc-global-nav__panel-inner {
  align-items: start;
  grid-template-columns: minmax(255px, 330px) minmax(0, 1fr);
}

body.vc-next-design .vc-nav-doctor-grid,
body.vc-next-design .vc-nav-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.vc-next-design .vc-nav-doctor,
body.vc-next-design .vc-nav-article-grid > a {
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: var(--vc-radius-sm);
  background: #fff;
  transition: border-color .18s ease, transform .18s ease;
}

body.vc-next-design .vc-nav-doctor {
  display: grid;
  grid-template-rows: 210px auto;
}

body.vc-next-design .vc-nav-doctor:is(:hover, :focus-visible),
body.vc-next-design .vc-nav-article-grid > a:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary);
  transform: translateY(-2px);
}

body.vc-next-design .vc-nav-doctor img,
body.vc-next-design .vc-nav-doctor-placeholder {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: 50% 20%;
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-nav-doctor > span {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
}

body.vc-next-design .vc-nav-doctor small,
body.vc-next-design .vc-nav-article-grid span {
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-nav-article-grid > a {
  display: flex;
  min-height: 155px;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
}

body.vc-next-design .vc-nav-article-grid span {
  margin-top: auto;
}

body.vc-next-design .vc-global-nav__search-toggle {
  position: relative;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--vc-colour-text-strong);
  cursor: pointer;
}

body.vc-next-design .vc-global-nav__search-toggle i {
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

body.vc-next-design .vc-global-nav__search-toggle i::after {
  position: absolute;
  right: -6px;
  bottom: -3px;
  width: 8px;
  height: 2px;
  background: currentColor;
  content: "";
  transform: rotate(45deg);
}

body.vc-next-design .vc-global-nav__search-panel {
  padding: 30px;
}

body.vc-next-design .vc-global-nav__search {
  width: min(780px, 100%);
  margin: 0 auto;
}

body.vc-next-design .vc-global-nav__search label {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

body.vc-next-design .vc-global-nav__search > div {
  display: flex;
  gap: 10px;
}

body.vc-next-design .vc-global-nav__search input {
  min-width: 0;
  min-height: 50px;
  flex: 1;
  padding: 10px 18px;
  border: 1px solid var(--vc-colour-text-strong);
  border-radius: var(--vc-radius-pill);
  background: #fff;
}

body.vc-next-design .vc-global-nav__search button {
  min-height: 50px;
  padding: 10px 24px;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
}

body.vc-next-design .vc-global-nav--mobile {
  display: none;
}

body.vc-next-design .vc-global-nav__mobile-toggle {
  display: inline-flex;
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--vc-colour-text-strong);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-global-nav__mobile-toggle i {
  display: grid;
  width: 22px;
  gap: 4px;
}

body.vc-next-design .vc-global-nav__mobile-toggle b {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
}

body.vc-next-design .vc-global-nav__mobile-quick-book {
  display: inline-flex;
  width: auto;
  min-width: 0;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff !important;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .06em;
  white-space: nowrap;
  text-transform: uppercase;
}

body.vc-next-design .vc-global-nav__mobile-book-compact {
  display: none;
}

body.vc-next-design .vc-global-nav__mobile-search {
  display: inline-flex;
  flex: 0 0 44px;
}

body.vc-next-design .vc-global-nav__drawer {
  position: fixed;
  top: var(--vc-mobile-drawer-top, 120px);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1200;
  overflow: auto;
  border-top: 1px solid var(--vc-colour-border);
  background: var(--vc-colour-surface-warm);
  box-shadow: 0 20px 44px rgba(23, 19, 19, .18);
}

body.vc-next-design .vc-global-nav__drawer > .vc-global-nav__search {
  padding: 18px;
}

body.vc-next-design .vc-global-nav__drawer nav > .vc-global-nav__list {
  display: block;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__item {
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__item > a,
body.vc-next-design .vc-global-nav__drawer .vc-global-nav__title > a {
  min-height: 58px;
  padding: 12px 20px;
  font-size: 17px;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__title {
  justify-content: space-between;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__title > a {
  flex: 1;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__title > button {
  width: 58px;
  height: 58px;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__panel {
  position: static;
  max-height: none;
  overflow: visible;
  border-top: 1px solid var(--vc-colour-border);
  background: #fff;
  box-shadow: none;
}

body.vc-next-design .vc-global-nav__drawer .vc-global-nav__panel-inner {
  display: block;
  width: 100%;
  padding: 22px;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-panel-intro {
  padding: 0 0 20px;
  border: 0;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-treatment-browser {
  display: block;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-tablist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 18px;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-tablist button {
  border-bottom: 3px solid transparent;
  border-left: 0;
  text-align: center;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-tablist button[aria-selected="true"] {
  border-bottom-color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-panel-heading {
  display: block;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-panel-heading > a {
  display: inline-flex;
  margin-top: 10px;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-link-list--treatments {
  max-height: none;
  columns: 1;
}

body.vc-next-design .vc-global-nav__drawer :is(.vc-nav-concern-grid, .vc-nav-doctor-grid, .vc-nav-article-grid) {
  grid-template-columns: 1fr;
}

body.vc-next-design .vc-global-nav__drawer .vc-nav-concern-grid .vc-nav-link-list {
  columns: 1;
}

body.vc-next-design .vc-global-nav__mobile-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 0 18px 24px;
}

body.vc-next-design .vc-global-nav__mobile-actions a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--vc-colour-text-strong);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-text-strong);
  color: #fff;
}

body.vc-next-design .vc-global-nav__mobile-actions .vc-global-nav__mobile-book {
  grid-column: 1 / -1;
  background: var(--vc-colour-action-primary);
  border-color: var(--vc-colour-action-primary);
}

body.vc-next-design.vc-mobile-navigation-open {
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   Homepage golden slice
   -------------------------------------------------------------------------- */

body.vc-next-design #content > .vc5-home {
  display: block;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc5-hero {
  display: grid;
  width: 100%;
  max-width: 1440px;
  min-height: 520px;
  grid-template-columns: minmax(0, 1fr) clamp(420px, 44%, 660px);
  align-items: stretch;
  gap: 0;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc5-hero__copy {
  display: flex;
  justify-content: center;
  padding: var(--vc-section-space) clamp(24px, 4vw, 64px) clamp(84px, 8vw, 120px);
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc5-hero__copy > .e-con-inner {
  display: flex;
  width: 100%;
  max-width: 640px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-left: auto;
  padding: 0;
}

body.vc-next-design .vc5-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.vc-next-design .vc5-eyebrow .elementor-heading-title::before {
  width: 22px;
  height: 2px;
  flex: none;
  background: var(--vc-colour-action-primary);
  content: "";
}

body.vc-next-design .vc5-hero__copy h1 {
  max-width: 12ch;
  margin: 20px 0 0;
  color: var(--vc-colour-text-strong);
  font-size: clamp(38px, 4.4vw, 66px);
  letter-spacing: -.01em;
  line-height: 1.02;
  text-transform: uppercase;
}

body.vc-next-design .vc5-hero__copy .elementor-widget-text-editor {
  max-width: 46ch;
  margin-top: 24px;
  color: var(--vc-colour-text);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6;
}

body.vc-next-design .vc5-hero__copy .elementor-widget-text-editor p {
  margin: 0;
}

body.vc-next-design .vc5-hero__actions {
  display: flex;
  width: 100%;
  flex-flow: row wrap;
  gap: 14px;
  margin-top: 34px;
}

body.vc-next-design .vc5-hero__actions .elementor-button {
  padding: 16px 30px;
}

body.vc-next-design .vc-v291-doctor-strip-widget {
  width: 100%;
  margin-top: 42px;
}

body.vc-next-design .vc-v291-doctor-strip-widget .elementor-shortcode {
  display: contents;
}

body.vc-next-design .vc-v291-doctor-strip {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 16px;
  color: var(--vc-colour-text-strong);
  text-decoration: none;
}

body.vc-next-design .vc-v291-doctor-strip__portraits {
  display: flex;
  flex: none;
}

body.vc-next-design .vc-v291-doctor-strip__portrait {
  display: block;
  width: 46px;
  height: 46px;
  margin-left: -14px;
  overflow: hidden;
  border: 2px solid var(--vc-colour-surface-warm);
  border-radius: 50%;
  background: #c8b39c;
}

body.vc-next-design .vc-v291-doctor-strip__portrait:first-child {
  margin-left: 0;
}

body.vc-next-design .vc-v291-doctor-strip__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 10%;
}

body.vc-next-design .vc-v291-doctor-strip__copy {
  display: grid;
  gap: 3px;
}

body.vc-next-design .vc-v291-doctor-strip__copy strong {
  color: var(--vc-colour-text-strong);
  font-size: 15px;
  line-height: 1.2;
}

body.vc-next-design .vc-v291-doctor-strip__copy > span {
  color: var(--vc-colour-text);
  font-size: 14px;
  line-height: 1.3;
}

body.vc-next-design .vc5-button--secondary .elementor-button {
  border-color: var(--vc-colour-action-primary);
  background: transparent;
  color: var(--vc-colour-action-primary);
  fill: var(--vc-colour-action-primary);
}

body.vc-next-design .vc5-button--secondary .elementor-button:is(:hover, :focus-visible) {
  background: var(--vc-colour-action-primary);
  color: #fff;
  fill: #fff;
}

body.vc-next-design .vc5-hero__media {
  min-height: 520px;
  padding: 0;
  background-color: #a07e5f;
  background-position: center 25%;
  background-size: cover;
}

body.vc-next-design .vc5-section {
  width: 100%;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc5-section > .e-con-inner {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

body.vc-next-design .vc5-section--warm {
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc5-section--clinical {
  background: var(--vc-colour-surface-clinical);
}

body.vc-next-design .vc5-section--ink {
  background: var(--vc-colour-text-strong);
  color: #fff;
}

body.vc-next-design .vc5-section--ink :is(h1, h2, h3, h4, p, .elementor-heading-title) {
  color: #fff;
}

body.vc-next-design .vc5-section--compact {
  position: relative;
  z-index: 5;
  max-width: 1260px;
  margin: -78px auto 0;
  padding: 0 40px 36px;
  background: transparent;
}

body.vc-next-design .vc5-section--compact > .e-con-inner {
  max-width: 1180px;
}

body.vc-next-design .vc5-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--vc-colour-text-strong);
  box-shadow: 0 30px 60px -24px rgba(37, 18, 16, .5);
}

body.vc-next-design .vc5-proof {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 16px;
  min-height: 180px;
  justify-content: flex-start;
  padding: 30px 28px;
  border-right: 1px solid rgba(255, 255, 255, .14);
  background: transparent;
  color: #fff;
}

body.vc-next-design .vc5-proof::before {
  grid-row: 1 / span 2;
  width: 30px;
  height: 30px;
  margin-top: 2px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

body.vc-next-design .vc5-proof > .elementor-widget-heading {
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
}

body.vc-next-design .vc5-proof > .elementor-widget-text-editor {
  min-width: 0;
  grid-column: 2;
  grid-row: 2;
}

body.vc-next-design .vc5-proof:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23e23b42' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 6v12'/%3E%3Cpath d='M5 8h14v2a7 7 0 0 1-14 0V8Z'/%3E%3C/svg%3E");
}

body.vc-next-design .vc5-proof:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23e23b42' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='2' width='18' height='20' rx='4'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3Cpath d='M8 18h8'/%3E%3Cpath d='M7 14h10'/%3E%3C/svg%3E");
}

body.vc-next-design .vc5-proof:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23e23b42' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7c3-3 6 3 10 0s7 3 10 0'/%3E%3Cpath d='M2 12c3-3 6 3 10 0s7 3 10 0'/%3E%3Cpath d='M2 17c3-3 6 3 10 0s7 3 10 0'/%3E%3C/svg%3E");
}

body.vc-next-design .vc5-proof:nth-child(4)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%23e23b42' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-4.35-9.5-8.5C.5 9.2 2.2 5 6.2 5c2.15 0 3.3 1.2 3.8 2 .5-.8 1.65-2 3.8-2 4 0 5.7 4.2 3.7 7.5C15 16.65 12 21 12 21Z'/%3E%3C/svg%3E");
}

body.vc-next-design .vc5-proof:last-child {
  border-right: 0;
}

body.vc-next-design .vc5-proof .elementor-heading-title {
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 13px;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.vc-next-design .vc5-proof .elementor-widget-text-editor {
  margin-top: 12px;
  color: #b7aca6;
  font-size: 14px;
  line-height: 1.55;
}

body.vc-next-design .vc5-section-head {
  max-width: 760px;
  margin: 0 0 clamp(34px, 5vw, 58px);
}

body.vc-next-design .vc5-section-head .elementor-heading-title {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 42px);
  letter-spacing: -.01em;
  line-height: 1.06;
  text-transform: uppercase;
}

body.vc-next-design .vc5-section-head .elementor-widget-text-editor {
  margin-top: 18px;
  color: var(--vc-colour-text);
  font-size: clamp(16px, 1.45vw, 18px);
  line-height: 1.7;
}

body.vc-next-design .vc5-section-head .vc5-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  line-height: 1.3;
  white-space: nowrap;
  text-transform: uppercase;
}

body.vc-next-design .elementor-element-c4dfa47.vc5-section {
  padding-block: var(--vc-section-space);
}

body.vc-next-design :is(.elementor-element-32d0f15, .vc5-doctors) .vc5-section-head {
  margin-inline: auto;
  text-align: center;
}

body.vc-next-design :is(.elementor-element-32d0f15, .vc5-doctors) .vc5-eyebrow .elementor-heading-title {
  justify-content: center;
}

body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 18px 64px;
  align-items: start;
}

body.vc-next-design .elementor-element-c4dfa47 .vc5-section-head {
  margin: 0;
}

body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner > .elementor-widget-text-editor {
  grid-column: 2;
  margin: 0;
  color: var(--vc-colour-text);
  font-size: 17px;
  line-height: 1.75;
}

body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner > .elementor-widget-text-editor + .elementor-widget-text-editor {
  grid-column: 2;
}

body.vc-next-design .vc5-concerns > .e-con-inner {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  gap: 22px 60px;
  align-items: start;
}

body.vc-next-design .vc5-concerns .vc5-section-head {
  grid-column: 1;
  margin: 0;
}

body.vc-next-design .vc5-concerns > .e-con-inner > .elementor-widget-shortcode {
  grid-column: 2;
  grid-row: 1 / span 2;
}

body.vc-next-design .vc5-concerns > .e-con-inner > .elementor-widget-button {
  grid-column: 1;
}

body.vc-next-design .vc-v291-concern-groups {
  display: grid;
  gap: 30px;
}

body.vc-next-design .vc-v291-concern-group h3 {
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--vc-colour-border);
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern-group > p {
  margin: -5px 0 13px;
  color: var(--vc-colour-text-muted);
  font-size: 13px;
  line-height: 1.5;
}

body.vc-next-design .vc-v291-concern-group__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.vc-next-design .vc-v291-concern-group__items a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: var(--vc-radius-pill);
  background: #fff;
  color: var(--vc-colour-text-strong);
  font-size: 14.5px;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(21, 18, 14, .05);
  transition: border-color .2s ease, color .2s ease, transform .2s ease;
}

body.vc-next-design .vc-v291-concern-group__items a span:last-child {
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-v291-concern-group__items a:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary);
  color: var(--vc-colour-action-primary);
  transform: translateY(-2px);
}

body.vc-next-design .vc-v291-treatment-filters-widget {
  width: 100%;
  margin: -22px 0 38px;
}

body.vc-next-design .vc-v291-treatment-filters-widget .elementor-shortcode {
  display: contents;
}

body.vc-next-design .vc-v291-treatment-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
}

body.vc-next-design .vc-v291-treatment-filters a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 17px;
  border: 1px solid rgba(23, 19, 19, .22);
  border-radius: var(--vc-radius-pill);
  color: var(--vc-colour-text-strong);
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

body.vc-next-design .vc-v291-treatment-filters a:is(.is-current, :hover, :focus-visible) {
  border-color: var(--vc-colour-text-strong);
  background: var(--vc-colour-text-strong);
  color: #fff;
}

body.vc-next-design .vc5-why .vc5-section-head {
  max-width: 780px;
}

body.vc-next-design .vc5-why .vc5-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.vc-next-design .vc5-why .vc5-proof {
  display: block;
  min-height: 0;
  padding: 24px 28px 0;
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-right: 0;
}

body.vc-next-design .vc5-why .vc5-proof::before {
  display: none;
}

body.vc-next-design .vc5-why .vc5-proof .elementor-heading-title {
  color: #fff;
  font-family: var(--vc-font-body);
  font-size: 18px;
  letter-spacing: 0;
  text-transform: none;
}

body.vc-next-design .vc5-faq > .e-con-inner {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

body.vc-next-design .vc5-faq .vc5-section-head {
  margin: 0;
}

body.vc-next-design .vc5-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body.vc-next-design .vc5-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: 14px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.vc-next-design .vc5-card:is(:hover, :focus-within) {
  border-color: rgba(237, 28, 36, .45);
  box-shadow: var(--vc-shadow-card);
  transform: translateY(-4px);
}

body.vc-next-design .vc5-card__link {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: var(--vc-colour-text-strong);
  text-decoration: none;
}

body.vc-next-design .vc5-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #d8cec4;
}

body.vc-next-design .vc5-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

body.vc-next-design .vc5-card:hover .vc5-card__image {
  transform: scale(1.025);
}

body.vc-next-design .vc5-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #d8cec4, #8f8073);
}

body.vc-next-design .vc5-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}

body.vc-next-design .vc5-card__eyebrow {
  margin-bottom: 12px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.vc-next-design .vc5-card h3 {
  margin: 0 0 12px;
  font-size: clamp(22px, 2vw, 29px);
  line-height: 1.08;
}

body.vc-next-design .vc5-card p {
  margin: 0 0 22px;
  color: var(--vc-colour-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

body.vc-next-design .vc5-card__action {
  margin-top: auto;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc5-concerns .vc-home-concerns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

body.vc-next-design .vc5-concerns .vc-home-concern {
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: 14px;
  background: #fff;
}

body.vc-next-design .vc5-concerns .vc-home-concern > a {
  min-height: 230px;
  padding: 26px;
}

body.vc-next-design .vc5-doctors .vc-practitioner-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}

body.vc-next-design .vc5-doctors .vc-practitioner-card {
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

body.vc-next-design .vc5-doctors .vc-practitioner-card__media {
  aspect-ratio: 4 / 3;
}

body.vc-next-design .vc5-location-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(380px, 1.15fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: start;
}

body.vc-next-design .vc5-location-grid .vc-clinic-map__frame {
  height: 520px;
  overflow: hidden;
  border-radius: 14px;
  filter: saturate(.72) contrast(.94);
}

body.vc-next-design .vc-home-location__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 18px;
}

/* --------------------------------------------------------------------------
   Treatments directory
   -------------------------------------------------------------------------- */

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero {
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: 22px clamp(48px, 7vw, 92px);
  align-items: start;
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero > .e-con-inner > :not(.vc-v291-start-card-widget) {
  grid-column: 1;
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .elementor-heading-title {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(46px, 5vw, 68px);
  letter-spacing: -.015em;
  line-height: .98;
  text-transform: uppercase;
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .vc5-eyebrow .elementor-heading-title {
  font-size: 12px;
  letter-spacing: .18em;
  line-height: 1.3;
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .elementor-widget-text-editor {
  max-width: 63ch;
  color: var(--vc-colour-text);
  font-size: 18px;
  line-height: 1.7;
}

body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .elementor-element-ed4a71c {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin-top: 18px;
}

body.vc-next-design .vc-v291-start-card-widget {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: center;
}

body.vc-next-design .vc-v291-start-card-widget .elementor-shortcode {
  display: contents;
}

body.vc-next-design .vc-v291-start-card {
  display: block;
  padding: clamp(28px, 3.4vw, 42px);
  border: 1px solid var(--vc-colour-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(23, 19, 19, .05);
}

body.vc-next-design .vc-v291-start-card > p {
  margin: 0 0 10px;
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-start-card h2 {
  margin: 0 0 12px;
  font-family: var(--vc-font-body);
  font-size: clamp(24px, 2.2vw, 31px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.15;
  text-transform: none;
}

body.vc-next-design .vc-v291-start-card > div {
  color: var(--vc-colour-text);
  font-size: 15px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-start-card nav {
  display: grid;
  margin-top: 24px;
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-start-card nav a {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--vc-colour-border);
  color: var(--vc-colour-text-strong);
  text-decoration: none;
}

body.vc-next-design .vc-v291-start-card nav a:first-child {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.vc-next-design .vc5-treatments-hub .elementor-element-e68c862 {
  background: var(--vc-colour-surface-clinical);
}

body.vc-next-design .vc-v291-treatment-directory {
  display: grid;
  gap: clamp(64px, 8vw, 100px);
}

body.vc-next-design .vc-v291-treatment-directory__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-treatment-directory__nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border: 1px solid rgba(23, 19, 19, .22);
  border-radius: var(--vc-radius-pill);
  color: var(--vc-colour-text-strong);
  font-size: 14px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-treatment-directory__nav a:is(.is-current, :hover, :focus-visible) {
  border-color: var(--vc-colour-text-strong);
  background: var(--vc-colour-text-strong);
  color: #fff;
}

body.vc-next-design .vc-v291-treatment-directory__groups {
  display: grid;
  gap: clamp(74px, 9vw, 112px);
}

/* The research callout is supplied by the governed treatment-directory query.
   v2.9.1 owns its presentation even though the record renderer predates it. */
body.vc-next-design .vc5-research-topics {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 80px);
  padding: var(--vc-section-space);
  border-radius: 18px;
  background: var(--vc-colour-surface-inverse);
  color: #fff;
}

body.vc-next-design .vc5-research-topics h2 {
  margin: 12px 0 18px;
  color: #fff;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.02;
  text-transform: uppercase;
}

body.vc-next-design .vc5-research-topics header > p {
  color: rgba(255, 255, 255, .72);
  line-height: 1.65;
}

body.vc-next-design .vc5-research-topics header > p:first-child {
  color: #eaa0a3;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.vc-next-design .vc5-research-topics > div {
  display: grid;
  gap: 12px;
}

body.vc-next-design .vc5-research-topics article a {
  display: block;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  background: rgba(255, 255, 255, .04);
  color: #fff;
  text-decoration: none;
}

body.vc-next-design .vc5-research-topics article h3 {
  margin: 8px 0;
  color: #fff;
  font-size: 24px;
}

body.vc-next-design .vc5-research-topics article p {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  line-height: 1.55;
}

body.vc-next-design .vc-v291-treatment-directory__group {
  scroll-margin-top: 150px;
}

body.vc-next-design .vc-v291-treatment-directory__group > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

body.vc-next-design .vc-v291-treatment-directory__group > header p {
  margin: 0;
  color: var(--vc-colour-text-strong);
  font-family: var(--vc-font-display);
  font-size: clamp(30px, 3.4vw, 44px);
  letter-spacing: -.01em;
  line-height: 1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-directory__group > header div > div {
  max-width: 62ch;
  margin-top: 10px;
  color: var(--vc-colour-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

body.vc-next-design .vc-v291-treatment-directory__group > header > span {
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-directory__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body.vc-next-design .vc-v291-treatment-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: 14px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.vc-next-design .vc-v291-treatment-card:is(:hover, :focus-within) {
  border-color: rgba(237, 28, 36, .42);
  box-shadow: 0 18px 44px rgba(23, 19, 19, .08);
  transform: translateY(-3px);
}

body.vc-next-design .vc-v291-treatment-card > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-treatment-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #d8cec4, #9c8774);
}

body.vc-next-design .vc-v291-treatment-card__image,
body.vc-next-design .vc-v291-treatment-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

body.vc-next-design .vc-v291-treatment-card__placeholder {
  background: linear-gradient(135deg, #d8cec4, #9c8774);
}

body.vc-next-design .vc-v291-treatment-card:is(:hover, :focus-within) .vc-v291-treatment-card__image {
  transform: scale(1.025);
}

body.vc-next-design .vc-v291-treatment-card__body {
  display: flex;
  min-height: 190px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}

body.vc-next-design .vc-v291-treatment-card__type {
  margin-bottom: 11px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-card strong {
  color: var(--vc-colour-text-strong);
  font-family: var(--vc-font-body);
  font-size: clamp(23px, 2vw, 29px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.15;
}

body.vc-next-design .vc-v291-treatment-card__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 24px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Treatment detail
   -------------------------------------------------------------------------- */

body.vc-next-design.single-treatments .vc-v291-treatment-legacy-hero {
  display: none;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] > [data-id="8d3f93c"] {
  display: none;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] {
  display: flex;
  flex-direction: column;
}

body.vc-next-design.single-treatments .vc-v291-treatment-hero-widget {
  order: 1;
}

body.vc-next-design.single-treatments .vc-v291-treatment-facts {
  order: 2;
}

body.vc-next-design.single-treatments .vc-v291-treatment-page-nav {
  order: 3;
}

body.vc-next-design.single-treatments .vc-v291-treatment-content {
  order: 4;
}

body.vc-next-design.single-treatments .vc-v291-treatment-benefits {
  order: 5;
}

body.vc-next-design.single-treatments .vc-v291-treatment-before-after {
  order: 6;
}

body.vc-next-design.single-treatments .vc-v291-treatment-scheduling {
  order: 7;
}

body.vc-next-design.single-treatments .vc-v291-treatment-cta {
  order: 8;
}

body.vc-next-design.single-treatments .vc-v291-treatment-faqs {
  order: 9;
}

body.vc-next-design.single-treatments .vc-v291-treatment-related {
  order: 10;
}

body.vc-next-design .vc-v291-treatment-hero-widget,
body.vc-next-design .vc-v291-treatment-hero-widget > .elementor-widget-container,
body.vc-next-design .vc-v291-treatment-hero-widget .elementor-shortcode {
  width: 100%;
}

body.vc-next-design .vc-v291-treatment-hero {
  display: grid;
  width: 100%;
  min-height: 700px;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  align-items: center;
  gap: clamp(54px, 7vw, 112px);
  padding: var(--vc-section-space) max(24px, calc((100vw - var(--vc-container-wide)) / 2));
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v291-treatment-hero__copy {
  min-width: 0;
}

body.vc-next-design .vc-v291-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 28px;
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 12px;
}

body.vc-next-design .vc-v291-breadcrumbs a {
  text-decoration: none;
}

body.vc-next-design .vc-v291-treatment-hero__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-bottom: 20px;
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-service-status {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 14px;
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
  letter-spacing: .09em;
}

body.vc-next-design .vc-v291-treatment-hero h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(52px, 5vw, 74px);
  letter-spacing: -.015em;
  line-height: .98;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-hero__summary {
  max-width: 58ch;
  margin: 24px 0 0;
  color: var(--vc-colour-text);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.6;
}

body.vc-next-design .vc-v291-treatment-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

body.vc-next-design .vc-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 26px;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

body.vc-next-design .vc-button--primary {
  background: var(--vc-colour-action-primary);
  color: #fff;
}

body.vc-next-design .vc-button--secondary {
  border-color: rgba(23, 19, 19, .28);
  background: transparent;
  color: var(--vc-colour-text-strong);
}

body.vc-next-design .vc-button:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary-hover);
  background: var(--vc-colour-action-primary-hover);
  color: #fff;
  transform: translateY(-1px);
}

body.vc-next-design .vc-v291-treatment-hero__media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: var(--vc-radius-lg);
  background: linear-gradient(135deg, #d8cec4, #9c8774);
  box-shadow: var(--vc-shadow-card);
}

body.vc-next-design .vc-v291-treatment-hero__image,
body.vc-next-design .vc-v291-treatment-hero__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-treatment-hero__image {
  object-position: center 28%;
}

body.vc-next-design .vc-v291-treatment-hero__placeholder {
  background: linear-gradient(135deg, #d8cec4, #9c8774);
}

body.vc-next-design .vc-v291-treatment-page-nav,
body.vc-next-design .vc-v291-treatment-content,
body.vc-next-design .vc-v291-treatment-benefits,
body.vc-next-design .vc-v291-treatment-before-after,
body.vc-next-design .vc-v291-treatment-scheduling,
body.vc-next-design .vc-v291-treatment-cta,
body.vc-next-design .vc-v291-treatment-faqs,
body.vc-next-design .vc-v291-treatment-related {
  padding-block: var(--vc-section-space);
}

body.vc-next-design .vc-v291-treatment-page-nav {
  padding-block: 34px;
  border-bottom: 1px solid var(--vc-colour-border);
  background: #fff;
}

body.vc-next-design .vc-v291-treatment-page-nav [data-id="8d3a9fc"] {
  display: none;
}

body.vc-next-design .vc-v291-treatment-page-nav [data-id="d8706ab"] .elementor-heading-title {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts {
  padding: 0;
  background: var(--vc-colour-surface-inverse) !important;
  color: #fff;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts > .e-con-inner {
  display: grid;
  width: min(100% - 48px, var(--vc-container-wide));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-inline: auto;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts > .e-con-inner > .e-con {
  min-width: 0;
  min-height: 150px;
  align-content: center;
  padding: 28px;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, .14) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts .elementor-heading-title,
body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts .elementor-icon {
  color: #fff !important;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts .elementor-heading-title {
  font-family: var(--vc-font-body) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

body.vc-next-design .vc-v291-treatment-facts [data-id="d72d0b7"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="cba9a1b"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="0a420f4"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="65d1ff6"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="2d230cf"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="prc4g5h"] .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-facts [data-id="cc70004"] .elementor-heading-title {
  margin-top: 8px;
  color: rgba(255, 255, 255, .62);
  font-family: var(--vc-font-label);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content {
  background: #fff !important;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content > .e-con-inner {
  display: grid;
  width: min(calc(100% - 80px), var(--vc-container-content));
  max-width: var(--vc-container-content);
  grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
  gap: clamp(48px, 8vw, 110px);
  align-items: start;
  margin-inline: auto;
}

body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content > .e-con-inner > .e-con {
  width: auto !important;
  max-width: none !important;
}

body.vc-next-design .vc-v291-treatment-content [data-id="c202066"] {
  min-width: 0;
}

body.vc-next-design .vc-v291-treatment-content [data-id="947e02e"] {
  max-width: var(--vc-container-reading);
}

body.vc-next-design .vc-v291-treatment-content [data-id="947e02e"] :is(h2, h3) {
  margin-top: 1.6em;
  margin-bottom: .55em;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.05;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-content [data-id="947e02e"] :is(p, li) {
  font-size: 17px;
  line-height: 1.75;
}

body.vc-next-design .vc-v291-treatment-content [data-id="4e254d9"] {
  position: sticky;
  top: calc(var(--vc-header-reserved-height) + 28px);
  width: 100% !important;
  min-width: 0;
}

body.vc-next-design .vc-v291-treatment-content [data-id="0db89a0"] {
  width: 100% !important;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--vc-colour-border);
  border-radius: var(--vc-radius-lg);
  background: var(--vc-colour-surface-clinical);
}

body.vc-next-design .vc-v291-treatment-benefits {
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v291-treatment-benefits .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-before-after .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-faqs .elementor-heading-title,
body.vc-next-design .vc-v291-treatment-related .elementor-heading-title {
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-treatment-before-after {
  background: var(--vc-colour-surface-inverse);
  color: #fff;
}

body.vc-next-design .vc-v291-treatment-before-after .elementor-heading-title {
  color: #fff;
}

body.vc-next-design .vc-v291-treatment-scheduling {
  border-block: 1px solid var(--vc-colour-border);
  background: var(--vc-colour-surface-clinical);
}

body.vc-next-design .vc-v291-treatment-cta {
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v291-treatment-faqs {
  background: #fff;
}

body.vc-next-design .vc-v291-treatment-related {
  background: var(--vc-colour-surface-related);
}

body.vc-next-design .vc5-faq .elementor-toggle {
  width: 100%;
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc5-faq .elementor-toggle-item {
  width: 100%;
}

body.vc-next-design .vc5-faq .elementor-tab-title {
  display: flex;
  width: 100%;
  min-height: 68px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid var(--vc-colour-border);
  color: var(--vc-colour-text-strong);
  font-size: 17px;
}

body.vc-next-design .vc5-faq .elementor-tab-content {
  width: 100%;
  padding: 0 44px 24px 0;
  border-bottom: 1px solid var(--vc-colour-border);
  color: var(--vc-colour-text-muted);
  font-size: 16px;
  line-height: 1.7;
}

/* Keep the required consent interface within the approved visual system. */
body.vc-next-design #wpconsent-container::part(wpconsent-banner) {
  border-top: 1px solid rgba(255, 255, 255, .14);
  background: var(--vc-colour-text-strong);
  color: #fff;
  font-family: var(--vc-font-body);
  box-shadow: 0 -16px 40px rgba(23, 19, 19, .14);
}

body.vc-next-design #wpconsent-container::part(wpconsent-banner-body) {
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
}

body.vc-next-design #wpconsent-container::part(wpconsent-banner-footer) {
  gap: 8px;
}

body.vc-next-design #wpconsent-container::part(wpconsent-button-preferences),
body.vc-next-design #wpconsent-container::part(wpconsent-button-cancel),
body.vc-next-design #wpconsent-container::part(wpconsent-button-accept) {
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: var(--vc-radius-pill);
  background: transparent;
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.vc-next-design #wpconsent-container::part(wpconsent-button-accept) {
  border-color: var(--vc-colour-action-primary);
  background: var(--vc-colour-action-primary);
}

/* --------------------------------------------------------------------------
   Shared Instagram band and footer
   -------------------------------------------------------------------------- */

body.vc-next-design .elementor-location-footer {
  color: var(--vc-colour-text);
  font-family: var(--vc-font-body);
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro,
body.vc-next-design .elementor-location-footer .elementor-element-sbi_feed_1,
body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn {
  margin: 0;
  background: var(--vc-colour-text-strong) !important;
  color: #fff;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro {
  display: block;
  padding: var(--vc-section-space) 40px 20px;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro > .e-con-inner {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 48px;
  align-items: end;
  margin: 0 auto;
  padding: 0;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro .elementor-widget-heading {
  width: 100%;
  max-width: none;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro .elementor-heading-title {
  color: #fff;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro .elementor-widget-heading:first-child .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #e2a9a9;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro .elementor-widget-heading:first-child .elementor-heading-title::before {
  width: 22px;
  height: 2px;
  background: var(--vc-colour-action-primary);
  content: "";
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro h2.elementor-heading-title {
  max-width: 680px;
  margin-top: 14px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.05;
  text-transform: uppercase;
}

body.vc-next-design .elementor-location-footer .elementor-element-sbi_feed_1 {
  padding: 0 40px;
}

body.vc-next-design .elementor-location-footer .elementor-element-sbi_feed_1 > .elementor-widget-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

body.vc-next-design .elementor-location-footer.vc-footer-feed-empty .elementor-element-sbi_feed_1 {
  display: none;
}

body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn {
  padding: 0 40px clamp(52px, 6vw, 76px);
  text-align: right;
}

body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn > .elementor-widget-container {
  width: min(1180px, 100%);
  margin: 0 auto;
}

body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn .elementor-button {
  min-height: 48px;
  padding: 15px 24px;
  border: 1px solid var(--vc-colour-action-primary) !important;
  border-radius: var(--vc-radius-pill) !important;
  background: var(--vc-colour-action-primary) !important;
  color: #fff !important;
  transition: background-color var(--vc-motion-fast), border-color var(--vc-motion-fast), transform var(--vc-motion-fast);
}

body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary-hover) !important;
  background: var(--vc-colour-action-primary-hover) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

body.vc-next-design .elementor-location-footer .vc-v291-footer-main {
  padding: var(--vc-section-space) 40px 42px;
  border-top: 1px solid var(--vc-colour-border);
  background: var(--vc-colour-surface-warm) !important;
}

body.vc-next-design .elementor-location-footer .vc-v291-footer-main > .e-con-inner {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

body.vc-next-design .vc-v291-footer-shell-host {
  display: block;
  width: 100%;
  padding: 0;
}

body.vc-next-design .vc-v291-footer-shell-host > .elementor-widget-image {
  display: none;
}

body.vc-next-design .vc-footer-shell,
body.vc-next-design .vc-footer-grid {
  width: 100%;
}

body.vc-next-design .vc-footer-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1.55fr) minmax(150px, .75fr) minmax(150px, .75fr) minmax(230px, 1fr);
  gap: 44px 40px;
  align-items: start;
}

body.vc-next-design .vc-footer-brand .custom-logo-link {
  display: inline-block;
}

body.vc-next-design .vc-footer-brand .custom-logo {
  display: block;
  width: auto;
  height: 40px;
  filter: none;
}

body.vc-next-design .vc-footer-brand p {
  max-width: 320px;
  margin: 20px 0 0;
  color: var(--vc-colour-text);
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-footer-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 15px 25px;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-footer-button:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary-hover);
  background: var(--vc-colour-action-primary-hover);
  color: #fff;
}

body.vc-next-design .vc-footer-disclosure {
  color: var(--vc-colour-text);
}

body.vc-next-design .vc-footer-disclosure > summary {
  display: block;
  cursor: default;
  list-style: none;
}

body.vc-next-design .vc-footer-disclosure > summary::-webkit-details-marker {
  display: none;
}

body.vc-next-design .vc-footer-column :is(h3, h4) {
  margin: 0 0 18px;
  color: var(--vc-colour-text-strong);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.vc-next-design .vc-footer-column h4 {
  margin-top: 24px;
  margin-bottom: 12px;
  font-size: 11px;
}

body.vc-next-design .vc-footer-links,
body.vc-next-design .vc-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.vc-next-design .vc-footer-links a,
body.vc-next-design .vc-footer-contact a,
body.vc-next-design .vc-footer-visit address a {
  color: var(--vc-colour-text);
  font-size: 14.5px;
  line-height: 1.5;
  text-decoration: none;
}

body.vc-next-design .vc-footer-links a:is(:hover, :focus-visible),
body.vc-next-design .vc-footer-contact a:is(:hover, :focus-visible),
body.vc-next-design .vc-footer-visit address a:is(:hover, :focus-visible) {
  color: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-footer-visit address {
  margin: 0 0 18px;
  font-style: normal;
}

body.vc-next-design .vc-footer-hours {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 5px 12px;
  margin: 0;
  color: var(--vc-colour-text);
  font-size: 13px;
  line-height: 1.45;
}

body.vc-next-design .vc-footer-hours > div {
  display: contents;
}

body.vc-next-design .vc-footer-hours :is(dt, dd) {
  margin: 0;
}

body.vc-next-design .vc-footer-hours dd {
  text-align: right;
}

body.vc-next-design .elementor-location-footer .vc-v291-footer-legal-host {
  min-height: 70px;
  padding: 0 40px;
  border-top: 1px solid var(--vc-colour-border);
  background: var(--vc-colour-surface-warm) !important;
}

body.vc-next-design .elementor-location-footer .vc-v291-footer-legal-host > .e-con-inner {
  width: min(1180px, 100%);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

body.vc-next-design .vc-footer-legal {
  display: flex;
  min-height: 70px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--vc-colour-text-muted);
  font-size: 12.5px;
}

body.vc-next-design .vc-footer-legal nav {
  display: flex;
  gap: 20px;
}

body.vc-next-design .vc-footer-legal a {
  color: var(--vc-colour-text-muted);
  text-decoration: none;
}

body.vc-next-design .vc-footer-legal a:is(:hover, :focus-visible) {
  color: var(--vc-colour-action-primary);
}

/* Claude v3.1 shared footer seam.
   The live third-party feed is intentionally absent: the accepted footer owns
   one text-first Instagram band and a stable fallback without external feed
   layout shift. */
body.vc-next-design .elementor-location-footer::before {
  display: none;
  content: none;
}

body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro {
  display: none;
}

body.vc-next-design .elementor-location-footer .elementor-element-sbi_feed_1,
body.vc-next-design .elementor-location-footer #sb_instagram {
  display: none;
}

body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn {
  display: none;
}

body.vc-next-design .vc-v31-instagram {
  border-top: 1px solid rgba(255, 255, 255, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  background: var(--vc-colour-text-strong);
  color: #fff;
}

body.vc-next-design .vc-v31-instagram__inner {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px 64px;
  align-items: end;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v31-instagram__inner > div {
  max-width: 760px;
}

body.vc-next-design .vc-v31-instagram__inner span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #e2a9a9;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-instagram__inner span::before {
  width: 22px;
  height: 2px;
  background: var(--vc-colour-action-primary);
  content: "";
}

body.vc-next-design .vc-v31-instagram__inner h2 {
  max-width: 22ch;
  margin: 16px 0 14px;
  color: #fff;
  font-family: var(--vc-font-display);
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 500;
  line-height: .99;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-instagram__inner p {
  max-width: 66ch;
  margin: 0;
  color: rgba(255, 255, 255, .74);
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v31-instagram__inner > a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border: 1px solid var(--vc-colour-action-primary);
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-instagram__inner > a svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 760px) {
  body.vc-next-design .vc-v31-instagram__inner {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 58px 20px;
  }

  body.vc-next-design .vc-v31-instagram__inner > a {
    justify-self: start;
  }
}

/* One shared closing conversion component. The dark action plane is confined
   inside a bone section so it cannot merge into the Instagram band. */
body.vc-next-design .vc-v31-closing {
  border-top: 1px solid var(--vc-colour-border);
  background: var(--vc-colour-surface-warm);
  color: var(--vc-colour-text);
}

body.vc-next-design .vc-v31-closing__inner {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(32px, 4vw, 60px);
  align-items: start;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v31-closing__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
}

body.vc-next-design .vc-v31-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-eyebrow > span {
  width: 22px;
  height: 2px;
  flex: none;
  background: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-v31-closing__copy h2 {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(26px, 3.2vw, 42px);
  line-height: 1.04;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-closing__copy > p {
  max-width: 54ch;
  margin: 0;
  color: var(--vc-colour-text);
  font-size: 17px;
  line-height: 1.68;
}

body.vc-next-design .vc-v31-closing__routes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
}

body.vc-next-design .vc-v31-closing__routes a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  border-bottom: 1.5px solid var(--vc-colour-action-primary);
  color: var(--vc-colour-text-strong);
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-closing svg {
  width: 15px;
  height: 15px;
  flex: none;
}

body.vc-next-design .vc-v31-closing__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 14px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 18px;
  background: var(--vc-colour-brand-dark);
  color: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v31-closing__panel > span {
  color: #e2a9a9;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-closing__panel h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 1.9vw, 22px);
  line-height: 1.1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-closing__panel > p {
  max-width: 40ch;
  margin: 0;
  color: #b7aca6;
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v31-closing__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.vc-next-design .vc-v31-action {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid rgba(244, 239, 233, .34);
  border-radius: var(--vc-radius-pill);
  color: var(--vc-colour-surface-warm);
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v31-action--primary {
  border-color: var(--vc-colour-action-primary);
  background: var(--vc-colour-action-primary);
  color: #fff;
}

body.vc-next-design .vc-v31-action--primary:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-action-primary-hover);
  background: var(--vc-colour-action-primary-hover);
  color: #fff;
}

body.vc-next-design .vc-v31-action--ink:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-surface-warm);
  color: #fff;
}

body.vc-next-design :is(.vc-v31-closing__unavailable, .vc-v31-closing__location) {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding-top: 12px;
  border-top: 1px solid rgba(244, 239, 233, .16);
}

@media (max-width: 960px) {
  body.vc-next-design .vc-v31-closing__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
}

@media (max-width: 768px) {
  body.vc-next-design .vc-v31-closing__inner {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (max-width: 430px) {
  body.vc-next-design .vc-v31-closing__inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v31-closing__copy h2 {
    font-size: 26px;
    line-height: 1.06;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v31-closing__inner {
    padding-right: 16px;
    padding-left: 16px;
  }

  body.vc-next-design .vc-v31-closing__copy h2 {
    font-size: 22px;
    letter-spacing: 0;
  }
}

/* Privacy policy: retain the approved legal record, but present it at a
   readable editorial measure instead of the legacy full-viewport canvas. */
body.vc-next-design.page-id-3 .elementor-element-561605c6 > .e-con-inner {
  width: min(100% - 64px, 1080px);
  max-width: 1080px;
  margin-inline: auto;
  padding-block: var(--vc-section-space);
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 {
  width: 100%;
}

body.vc-next-design.page-id-3 [data-custom-class="body"] {
  position: relative;
  overflow: hidden;
  padding: var(--vc-section-space);
  color: var(--vc-colour-text-primary);
  background: #fff;
  border: 1px solid var(--vc-colour-border);
  border-radius: 20px;
}

body.vc-next-design.page-id-3 [data-custom-class="body"]::before {
  display: block;
  margin-bottom: 20px;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
  content: "Legal";
}

body.vc-next-design.page-id-3 [data-custom-class="body"] :is(span, p, li, div) {
  color: inherit;
}

body.vc-next-design.page-id-3 .vc-legal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--vc-colour-text-secondary);
  font-size: 14px;
}

body.vc-next-design.page-id-3 .vc-legal-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design.page-id-3 .vc-legal-breadcrumb a:is(:hover, :focus-visible) {
  color: var(--vc-colour-action-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 :is(p, li) {
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 h1 {
  max-width: 14ch;
  margin: 0 0 clamp(36px, 5vw, 64px);
  font-size: clamp(46px, 6vw, 88px);
  line-height: .92;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 h2 {
  max-width: 28ch;
  margin: clamp(56px, 7vw, 88px) 0 24px;
  padding-top: 28px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  border-top: 1px solid var(--vc-colour-border);
  scroll-margin-top: calc(var(--vc-header-reserved-height) + 28px);
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 ul {
  padding-left: 1.3em;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 a {
  color: var(--vc-colour-action-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 a:is(:hover, :focus-visible) {
  color: var(--vc-colour-text-primary);
}

body.vc-next-design.page-id-3 .vc-on-page-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin: 48px 0 16px;
  padding: 22px 24px;
  background: var(--vc-colour-surface-warm);
  border: 1px solid var(--vc-colour-border);
  border-radius: 14px;
}

body.vc-next-design.page-id-3 .vc-on-page-nav__label {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}

body.vc-next-design.page-id-3 .vc-on-page-nav__select {
  width: 100%;
  min-height: 48px;
  padding: 0 44px 0 16px;
  color: var(--vc-colour-text-primary);
  background-color: #fff;
  border: 1px solid var(--vc-colour-border-strong);
  border-radius: 10px;
}

body.vc-next-design.page-id-3 .elementor-element-528bf8f0 > p,
body.vc-next-design.page-id-3 [data-custom-class="body"] > div:first-child > p,
body.vc-next-design.page-id-3 [data-custom-class="body"] > div:nth-child(3),
body.vc-next-design.page-id-3 [data-custom-class="body"] > div:nth-child(4),
body.vc-next-design.page-id-3 [data-custom-class="body"] > div:nth-child(5) {
  display: none;
}

@media (max-width: 767px) {
  body.vc-next-design.page-id-3 .elementor-element-561605c6 > .e-con-inner {
    width: min(100% - 32px, 1080px);
    padding-block: 48px 72px;
  }

  body.vc-next-design.page-id-3 .elementor-element-528bf8f0 :is(p, li) {
    font-size: 15px;
    line-height: 1.6;
  }

  body.vc-next-design.page-id-3 [data-custom-class="body"] {
    padding: 28px 20px 48px;
    border-radius: 14px;
  }

  body.vc-next-design.page-id-3 .elementor-element-528bf8f0 h1 {
    font-size: clamp(34px, 10vw, 42px);
  }

  body.vc-next-design.page-id-3 .elementor-element-528bf8f0 h2 {
    font-size: clamp(18px, 5.2vw, 22px);
    line-height: 1.12;
  }

  body.vc-next-design.page-id-3 .elementor-element-528bf8f0 h3 {
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1.2;
  }

  body.vc-next-design.page-id-3 .vc-on-page-nav {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px;
  }
}

@media (max-width: 1240px) {
  body.vc-next-design {
  }

  body.vc-next-design .vc-v291-header-main--desktop {
    display: none;
  }

  body.vc-next-design .vc-v291-header-main--mobile {
    display: grid;
    min-height: 88px;
    grid-template-columns: minmax(104px, 1fr) auto;
    gap: 18px;
    background: #fff;
    backdrop-filter: none;
  }

  body.vc-next-design .vc-v291-header-logo img {
    height: 32px;
  }

  body.vc-next-design .vc-global-nav--desktop {
    display: none;
  }

  body.vc-next-design .vc-global-nav--mobile {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }

  body.vc-next-design .vc-footer-grid {
    grid-template-columns: minmax(260px, 1.2fr) repeat(2, minmax(150px, .7fr));
  }

  body.vc-next-design .vc-footer-visit {
    grid-column: 1 / -1;
    padding-top: 30px;
    border-top: 1px solid var(--vc-colour-border);
  }

  body.vc-next-design .vc-footer-visit .vc-footer-contact {
    flex-flow: row wrap;
  }
}

@media (max-width: 1024px) {
  body.vc-next-design .vc-header-utility,
  body.vc-next-design .vc-v291-header-main {
    padding-inline: 28px;
  }

  body.vc-next-design .vc5-hero {
    grid-template-columns: minmax(0, 1fr) 40%;
  }

  body.vc-next-design .vc5-hero__copy {
    padding: 72px 32px 88px;
  }

  body.vc-next-design .vc5-hero__copy h1 {
    font-size: clamp(34px, 4.4vw, 48px);
  }

  body.vc-next-design .vc5-hero__media {
    min-height: 460px;
  }

  body.vc-next-design .vc5-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc5-why .vc5-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc5-proof:nth-child(2) {
    border-right: 0;
  }

  body.vc-next-design .vc5-proof:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  body.vc-next-design .vc5-card-grid,
  body.vc-next-design .vc5-concerns .vc-home-concerns,
  body.vc-next-design .vc5-doctors .vc-practitioner-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc5-treatments-hub .vc5-hub-hero > .e-con-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr);
    gap: 36px;
  }

  body.vc-next-design .vc-v291-treatment-directory__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-v291-treatment-hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 48px;
    padding-inline: 40px;
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.vc-next-design {
  }

  body.vc-next-design .vc-header-utility {
    padding-inline: 24px;
  }

  body.vc-next-design .vc-header-utility > a[href*="wa.me"] {
    display: none;
  }

  body.vc-next-design .vc-v291-header-main--mobile {
    min-height: 88px;
    padding-inline: 24px;
  }

  body.vc-next-design .vc-v291-header-logo img {
    height: 30px;
  }

  body.vc-next-design .vc5-hero {
    grid-template-columns: 1fr;
    max-width: none;
  }

  body.vc-next-design .vc5-hero__copy {
    padding: 56px 40px 48px;
  }

  body.vc-next-design .vc5-hero__copy > .e-con-inner {
    max-width: none;
    margin: 0;
  }

  body.vc-next-design .vc5-hero__copy h1 {
    max-width: 12ch;
    font-size: clamp(38px, 6.5vw, 58px);
  }

  body.vc-next-design .vc5-hero__media {
    min-height: 0;
    height: clamp(300px, 42vw, 420px);
    background-position: center 20%;
  }

  body.vc-next-design .vc5-section--compact {
    margin-top: 24px;
  }

  body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner,
  body.vc-next-design .vc5-concerns > .e-con-inner,
  body.vc-next-design .vc5-faq > .e-con-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner > .elementor-widget-text-editor,
  body.vc-next-design .elementor-element-c4dfa47 > .e-con-inner > .elementor-widget-text-editor + .elementor-widget-text-editor,
  body.vc-next-design .vc5-concerns .vc5-section-head,
  body.vc-next-design .vc5-concerns > .e-con-inner > .elementor-widget-shortcode,
  body.vc-next-design .vc5-concerns > .e-con-inner > .elementor-widget-button {
    grid-column: 1;
    grid-row: auto;
  }

  body.vc-next-design .vc5-card-grid,
  body.vc-next-design .vc5-concerns .vc-home-concerns,
  body.vc-next-design .vc5-doctors .vc-practitioner-cards {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc5-why .vc5-proof-grid {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc5-why .vc5-proof {
    padding: 24px 0 8px;
  }

  body.vc-next-design .vc5-treatments-hub .vc5-hub-hero > .e-con-inner {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc5-treatments-hub .vc5-hub-hero > .e-con-inner > :not(.vc-v291-start-card-widget),
  body.vc-next-design .vc-v291-start-card-widget {
    grid-column: 1;
    grid-row: auto;
  }

  body.vc-next-design .vc-v291-start-card-widget {
    margin-top: 20px;
  }

  body.vc-next-design .vc-v291-treatment-directory__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc5-research-topics {
    grid-template-columns: 1fr;
    padding: 30px 24px;
  }

  body.vc-next-design .vc-v291-treatment-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 64px 40px;
  }

  body.vc-next-design .vc-v291-treatment-hero__media {
    width: min(100%, 560px);
    aspect-ratio: 5 / 4;
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content > .e-con-inner {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-treatment-content [data-id="4e254d9"] {
    position: static;
  }

  body.vc-next-design .vc5-location-grid {
    display: flex;
    flex-direction: column;
  }

  body.vc-next-design .vc5-location-grid .vc-clinic-map__frame {
    width: 100%;
    height: 390px;
  }

  body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro > .e-con-inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.vc-next-design .vc-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-footer-brand,
  body.vc-next-design .vc-footer-visit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  body.vc-next-design {
  }

  body.vc-next-design .vc-header-utility {
    min-height: 44px;
    gap: 12px;
    padding-inline: 18px;
    font-size: 11px;
  }

  body.vc-next-design .vc-v291-header-utility-host {
    min-height: 44px;
  }

  body.vc-next-design .vc-header-utility > a[href^="tel:"] {
    display: none;
  }

  body.vc-next-design .vc-header-utility__status {
    display: inline-flex !important;
    margin: 0 auto;
  }

  body.vc-next-design .vc-v291-header-main--mobile {
    min-height: 88px;
    grid-template-columns: minmax(88px, 1fr) auto;
    gap: 8px;
    padding-inline: 16px;
  }

  body.vc-next-design .vc-global-nav__mobile-toggle {
    width: 46px;
    min-width: 46px;
  }

  body.vc-next-design .vc5-hero__copy {
    padding: 40px 20px;
  }

  body.vc-next-design .vc5-hero__copy h1 {
    max-width: 100%;
    font-size: clamp(30px, 9vw, 40px);
  }

  body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(30px, 8.2vw, 38px);
    letter-spacing: -.01em;
    line-height: 1.02;
  }

  body.vc-next-design .vc5-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.vc-next-design .vc5-hero__actions .elementor-widget-button,
  body.vc-next-design .vc5-hero__actions .elementor-button {
    width: 100%;
  }

  body.vc-next-design .vc5-hero__media {
    height: clamp(240px, 60vw, 300px);
  }

  body.vc-next-design .vc5-section {
    padding: 64px 20px;
  }

  body.vc-next-design .vc5-section--compact {
    padding: 0 20px 28px;
  }

  body.vc-next-design .vc-v291-treatment-hero {
    gap: 34px;
    padding: 48px 20px 56px;
  }

  body.vc-next-design .vc-v291-breadcrumbs {
    margin-bottom: 22px;
    font-size: 10px;
  }

  body.vc-next-design .vc-v291-treatment-hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 10.5vw, 44px);
    line-height: 1;
  }

  body.vc-next-design .vc-v291-treatment-hero__summary {
    margin-top: 18px;
    font-size: 16px;
  }

  body.vc-next-design .vc-v291-treatment-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.vc-next-design .vc-v291-treatment-hero__media {
    aspect-ratio: 4 / 3;
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts > .e-con-inner {
    width: 100%;
    grid-template-columns: 1fr;
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content > .e-con-inner {
    width: calc(100% - 40px);
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-content {
    padding-right: 0;
    padding-left: 0;
  }

  body.vc-next-design.single-treatments .elementor[data-elementor-id="107"] .vc-v291-treatment-facts > .e-con-inner > .e-con {
    min-height: 120px;
    padding: 24px 20px;
    border-right: 0;
  }

  body.vc-next-design .vc-v291-treatment-page-nav,
  body.vc-next-design .vc-v291-treatment-content,
  body.vc-next-design .vc-v291-treatment-benefits,
  body.vc-next-design .vc-v291-treatment-before-after,
  body.vc-next-design .vc-v291-treatment-scheduling,
  body.vc-next-design .vc-v291-treatment-cta,
  body.vc-next-design .vc-v291-treatment-faqs,
  body.vc-next-design .vc-v291-treatment-related {
    padding-block: 64px;
  }

  body.vc-next-design .vc-v291-treatment-content [data-id="947e02e"] :is(h2, h3) {
    font-size: clamp(23px, 6vw, 30px);
  }

  body.vc-next-design .vc5-research-topics {
    padding: 28px 20px;
  }

  body.vc-next-design .vc5-research-topics h2 {
    font-size: 24px;
  }

  body.vc-next-design .vc5-proof-grid {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc5-proof {
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  body.vc-next-design .vc5-proof:last-child {
    border-bottom: 0;
  }

  body.vc-next-design .vc-v291-treatment-directory__cards {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-treatment-directory__group > header {
    display: grid;
    gap: 12px;
  }

  body.vc-next-design .vc-v291-treatment-directory__group > header > span {
    justify-self: start;
  }

  body.vc-next-design .vc5-location-grid .vc-clinic-map__frame {
    height: 330px;
  }

  body.vc-next-design .vc-v291-instagram-intro,
  body.vc-next-design .elementor-location-footer .elementor-element-sbi_feed_1,
  body.vc-next-design .elementor-location-footer .elementor-element-ig_follow_btn,
  body.vc-next-design .vc-v291-footer-main,
  body.vc-next-design .vc-v291-footer-legal-host {
    padding-inline: 20px;
  }

  body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro > .e-con-inner {
    gap: 14px;
    justify-items: center;
    text-align: center;
  }

  body.vc-next-design .elementor-location-footer .vc-v291-instagram-intro .elementor-widget-heading {
    text-align: center;
  }

  body.vc-next-design .vc-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  body.vc-next-design .vc-footer-brand,
  body.vc-next-design .vc-footer-visit {
    grid-column: auto;
  }

  body.vc-next-design .vc-footer-visit {
    padding-top: 30px;
    border-top: 1px solid var(--vc-colour-border);
  }

  body.vc-next-design .vc-footer-visit .vc-footer-contact {
    flex-flow: column nowrap;
  }

  body.vc-next-design .vc-footer-disclosure > summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
  }

  body.vc-next-design .vc-footer-disclosure > summary::after {
    font-size: 21px;
    content: "+";
  }

  body.vc-next-design .vc-footer-disclosure[open] > summary::after {
    content: "−";
  }

  body.vc-next-design .vc-footer-legal {
    min-height: 82px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
  }
}

@media (max-width: 340px) {
  body.vc-next-design .vc5-treatments-hub .vc5-hub-hero .elementor-heading-title {
    font-size: 24px;
  }
}

@media (max-width: 390px) {
  body.vc-next-design .vc-header-utility__location {
    display: none !important;
  }

  body.vc-next-design .vc-header-utility {
    padding-inline: 14px;
  }

  body.vc-next-design .vc-v291-header-main--mobile {
    padding-inline: 14px;
  }

  body.vc-next-design .vc-v291-header-logo img {
    height: 25px;
  }

  body.vc-next-design .vc-global-nav__mobile-quick-book {
    padding-inline: 13px;
  }

  body.vc-next-design .vc-global-nav__mobile-toggle {
    width: 44px;
    min-width: 44px;
  }
}

@media (max-width: 340px) {
  body.vc-next-design .vc-v291-header-logo img {
    height: 24px;
  }

  body.vc-next-design .vc-v291-header-main--mobile {
    padding-inline: 12px;
  }

  body.vc-next-design .vc-global-nav__mobile-quick-book {
    min-width: 52px;
    padding-inline: 11px;
  }

  body.vc-next-design .vc-global-nav__mobile-book-full {
    display: none;
  }

  body.vc-next-design .vc-global-nav__mobile-book-compact {
    display: inline;
  }

  body.vc-next-design .vc-global-nav__mobile-search {
    flex-basis: 40px;
    width: 40px;
  }

  body.vc-next-design .vc-global-nav__mobile-toggle {
    width: 42px;
    min-width: 42px;
  }

  body.vc-next-design .vc-global-nav__drawer .vc-nav-tablist {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.vc-next-design *,
  body.vc-next-design *::before,
  body.vc-next-design *::after {
    scroll-behavior: auto;
    transition: none;
    animation: none;
  }
}

/* --------------------------------------------------------------------------
   Approved Claude v2.9.1 homepage composition
   -------------------------------------------------------------------------- */

body.vc-next-design .vc-v291-exact-home-host,
body.vc-next-design .vc-v291-exact-home-widget,
body.vc-next-design .vc-v291-exact-home-widget > .elementor-widget-container,
body.vc-next-design .vc-v291-exact-home-widget .elementor-shortcode {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-approved-home {
  width: 100%;
  overflow: clip;
  background: #fff;
  color: #5c554f;
}

body.vc-next-design .vc-v291-approved-hero {
  display: grid;
  max-width: 1440px;
  grid-template-columns: minmax(0, 1fr) clamp(420px, 44%, 660px);
  align-items: stretch;
  margin: 0 auto;
  background: var(--vc-colour-surface-warm, #f4efe9);
  /* Rail: inset BOTH sides to the canonical 1180 rail so the hero is symmetric —
     the copy sits on the rail on the left and the image sits on the rail on the
     right, each with matching "setting" instead of the image bleeding hard-right. */
  padding-inline-start: max(clamp(28px, 4vw, 60px), calc((100% - 1180px) / 2));
  padding-inline-end: max(clamp(28px, 4vw, 60px), calc((100% - 1180px) / 2));
}

body.vc-next-design .vc-v291-approved-hero__copy {
  width: 100%;
  max-width: 760px;
  margin-left: 0;
  padding: clamp(28px, 3vw, 44px) clamp(28px, 4vw, 60px) clamp(52px, 4.4vw, 68px);
  /* Left inset is provided by the hero's rail padding above, so the copy text
     starts exactly on the canonical rail; no extra left padding here. */
  padding-inline-start: 0;
}

body.vc-next-design .vc-v291-home-eyebrow--hero {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-home-eyebrow--hero > span:first-child {
  width: 22px;
  height: 2px;
  flex: none;
  background: #d81620;
}

body.vc-next-design .vc-v291-home-eyebrow--hero > span:last-child > span {
  white-space: nowrap;
}

body.vc-next-design .vc-v291-approved-hero h1 {
  margin: 14px 0 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(34px, 3.7vw, 54px);
  font-weight: 500;
  hyphens: none;
  letter-spacing: -.01em;
  line-height: 1.02;
  text-transform: uppercase;
  text-wrap: balance;
  word-break: keep-all;
}

body.vc-next-design .vc-v291-approved-hero__strap {
  margin: 12px 0 0;
  color: var(--vc-colour-action-accessible, #ED1C24);
  font-family: var(--vc-font-display);
  font-size: clamp(17px, 1.6vw, 23px);
  font-weight: 500;
  line-height: 1.15;
  text-wrap: balance;
}

body.vc-next-design .vc-v291-approved-hero__lede {
  max-width: 44ch;
  margin: 16px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6;
}

body.vc-next-design .vc-v291-approved-hero__lede p {
  margin: 0;
}

body.vc-next-design .vc-v291-approved-hero__lede strong {
  color: #171313;
}

body.vc-next-design .vc-v291-approved-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

body.vc-next-design .vc-v291-approved-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 16px 30px;
  border: 1.5px solid #d81620;
  border-radius: 999px;
  font-family: var(--vc-font-label);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-button--primary {
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-approved-button--primary:is(:hover, :focus-visible) {
  border-color: #ad0c13;
  background: #ad0c13;
  color: #fff;
}

body.vc-next-design .vc-v291-approved-button--secondary {
  border-color: rgba(23, 19, 19, .28);
  background: transparent;
  color: #171313;
}

body.vc-next-design .vc-v291-approved-button--secondary:is(:hover, :focus-visible) {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

/* Inline icons (WhatsApp message bubble, etc.) sit inside CTA links across every
   button system. Size + gap them consistently; scoped to wa.me so the plain
   utility-bar / footer WhatsApp text links (not flex) are untouched. */
body.vc-next-design a[href*="wa.me"] svg {
  width: 16px;
  height: 16px;
  flex: none;
}

body.vc-next-design a[href*="wa.me"] {
  gap: 9px;
}

body.vc-next-design .vc-v291-approved-doctor-strip {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 26px;
  color: #171313;
}

/* VC-VIS-008 — trust label and "meet the team" link share one header row,
   keeping the link clear of the black feature box that overlaps below. */
body.vc-next-design .vc-v291-approved-doctor-strip__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
}

body.vc-next-design .vc-v291-approved-doctor-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 12px;
}

/* C1: the A3 hero-copy widening (max-width 640→760) gave the strip enough room, so the
   old margin-right:-60px patch — which leaked the strip sideways into the image's
   padding to relieve cramping — is removed. The three doctors now sit within the copy
   column on their own. */

body.vc-next-design .vc-v291-approved-doctor-strip__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-doctor-strip__label > span {
  width: 22px;
  height: 2px;
  flex: none;
  background: #d81620;
}

body.vc-next-design .vc-v291-approved-doctor-trust {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #171313;
  text-decoration: none;
}

body.vc-next-design .vc-v291-approved-doctor-trust__portrait {
  /* C1: larger portraits so they read as real practitioners, not decorative avatars */
  width: 60px;
  height: 60px;
  flex: none;
  overflow: hidden;
  border-radius: 999px;
  background: var(--vc-colour-surface-tag, #d9c6b2);
}

body.vc-next-design .vc-v291-approved-doctor-trust > span:last-child {
  min-width: 0;
}

body.vc-next-design .vc-v291-approved-doctor-trust img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 16%;
}

body.vc-next-design .vc-v291-approved-doctor-trust strong,
body.vc-next-design .vc-v291-approved-doctor-trust small {
  display: block;
}

body.vc-next-design .vc-v291-approved-doctor-trust strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.vc-next-design .vc-v291-approved-doctor-trust small {
  margin-top: 3px;
  color: #5c554f;
  font-size: 11.5px;
}

body.vc-next-design .vc-v291-approved-doctor-trust__all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  white-space: nowrap;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-doctor-trust__all > span {
  transition: transform .18s ease;
}

body.vc-next-design .vc-v291-approved-doctor-trust__all:is(:hover, :focus-visible) {
  color: #ad0c13;
}

body.vc-next-design .vc-v291-approved-doctor-trust__all:is(:hover, :focus-visible) > span {
  transform: translateX(3px);
}

body.vc-next-design .vc-v291-approved-hero__media {
  position: relative;
  display: block;
  min-height: 420px;
  overflow: hidden;
  margin: 0;
  border-radius: 20px;
  background-color: #efe8e0;
}

body.vc-next-design .vc-v291-approved-hero__media img,
body.vc-next-design .vc-v291-approved-hero__placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.vc-next-design .vc-v291-approved-hero__media img {
  object-fit: cover;
}

body.vc-next-design .vc-v291-approved-hero__placeholder {
  background:
    radial-gradient(circle at 68% 28%, rgba(255, 255, 255, .18), transparent 24%),
    linear-gradient(145deg, #efe8e0, #e0d6cb);
}

body.vc-next-design .vc-v291-approved-feature-wrap {
  position: relative;
  z-index: 5;
  max-width: 1180px;
  margin: -40px auto 0;
  padding: 0 40px;
}

body.vc-next-design .vc-v291-approved-feature {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border-radius: 16px;
  background: var(--vc-colour-ink, #171313);
  box-shadow: 0 30px 60px -24px rgba(37, 18, 16, .5);
  color: #fff;
}

body.vc-next-design .vc-v291-approved-feature > div {
  display: flex;
  gap: 16px;
  min-width: 0;
  padding: 22px 26px;
  border-right: 1px solid rgba(255, 255, 255, .14);
}

body.vc-next-design .vc-v291-approved-feature > div:last-child {
  border-right: 0;
}

body.vc-next-design .vc-v291-approved-feature b {
  width: 28px;
  height: 28px;
  flex: none;
  color: #d81620;
  line-height: 1;
}

body.vc-next-design .vc-v291-approved-feature b svg {
  width: 100%;
  height: 100%;
}

body.vc-next-design .vc-v291-approved-feature strong,
body.vc-next-design .vc-v291-approved-feature small {
  display: block;
}

body.vc-next-design .vc-v291-approved-feature strong {
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-feature small {
  margin-top: 7px;
  color: #b7aca6;
  font-size: 13.5px;
  line-height: 1.5;
}

body.vc-next-design .vc-v291-approved-band {
  width: 100%;
}

body.vc-next-design .vc-v291-approved-band--warm {
  background: #f4efe9;
}

body.vc-next-design .vc-v291-approved-band--clinical {
  background: #faf7f4;
}

body.vc-next-design .vc-v291-approved-band--dark {
  background: #171313;
  color: #f4efe9;
}

body.vc-next-design .vc-v291-approved-section {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v291-approved-intro {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 64px;
  align-items: start;
  padding-top: var(--vc-section-space);
}

body.vc-next-design .vc-v291-approved-intro p,
body.vc-next-design .vc-v291-approved-concerns > div:first-child > p,
body.vc-next-design .vc-v291-approved-location > div:first-child > p {
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

/* A short red rule under the manifesto heading (a quiet accent, not the wire). */
body.vc-next-design .vc-v291-approved-intro > div:first-child::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 30px;
  border-radius: 999px;
  background: var(--vc-colour-brand-primary, #d81620);
}

body.vc-next-design .vc-v291-approved-intro p {
  max-width: 640px;
  color: #2c2622;
  font-size: clamp(19px, 1.35vw, 22px);
  line-height: 1.65;
}

body.vc-next-design .vc-v291-approved-intro p:first-of-type::first-line {
  color: #171313;
  font-weight: 500;
}

body.vc-next-design .vc-v291-approved-intro p + p {
  margin-top: 20px;
}

body.vc-next-design .vc-v291-approved-concerns {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 60px;
  align-items: start;
}


body.vc-next-design .vc-v291-approved-concerns > div:first-child > p {
  max-width: 360px;
  margin: 18px 0 0;
}

/* Charged-red live wire on the dark "why" band — glows against the dark ground. */
body.vc-next-design .vc-v291-approved-why header > div:first-child {
  position: relative;
}
body.vc-next-design .vc-v291-approved-why header > div:first-child::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 2px;
  width: 4px;
  height: clamp(120px, 15vw, 200px);
  border-radius: 4px;
  background: linear-gradient(180deg, var(--vc-colour-brand-primary, #d81620) 0%, #ad0c13 46%, rgba(173, 12, 19, 0) 100%);
}
body.vc-next-design .vc-v291-approved-why header > div:first-child::after {
  content: "";
  position: absolute;
  left: -26px;
  top: -2px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--vc-colour-brand-primary, #d81620);
  box-shadow: 0 0 0 4px rgba(216, 22, 32, .22);
}
@media (max-width: 620px) {
  body.vc-next-design .vc-v291-approved-why header > div:first-child::before,
  body.vc-next-design .vc-v291-approved-why header > div:first-child::after { display: none; }
}

body.vc-next-design .vc-v291-approved-concerns .vc-v291-approved-button {
  margin-top: 26px;
}

body.vc-next-design .vc-v291-approved-concern-groups {
  display: grid;
  gap: 30px;
}

body.vc-next-design .vc-v291-approved-concern-groups h3 {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(23, 19, 19, .14);
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-concern-groups section > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.vc-next-design .vc-v291-approved-concern-groups a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 11px;
  padding: 9px 10px 9px 18px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(21, 18, 14, .05);
  color: #171313;
  font-size: 14.5px;
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.vc-next-design .vc-v291-approved-concern-groups .vc-concern-pill__arrow {
  flex: none;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--vc-colour-surface-warm, #f4efe9);
  color: var(--vc-colour-muted, #6f665c);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

body.vc-next-design .vc-v291-approved-concern-groups .vc-concern-pill__arrow svg {
  display: block;
  width: 15px;
  height: 15px;
}

body.vc-next-design .vc-v291-approved-concern-groups a:is(:hover, :focus-visible) {
  border-color: var(--vc-colour-brand-primary, #d81620);
  color: var(--vc-colour-brand-primary, #d81620);
  box-shadow: 0 8px 20px rgba(216, 22, 32, .12);
  transform: translateY(-2px);
}

body.vc-next-design .vc-v291-approved-concern-groups a:is(:hover, :focus-visible) .vc-concern-pill__arrow {
  background: var(--vc-colour-brand-primary, #d81620);
  color: #fff;
  transform: translate(1px, -1px);
}

body.vc-next-design .vc-v291-approved-treatments > header,
body.vc-next-design .vc-v291-approved-doctors > header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

body.vc-next-design .vc-v291-approved-treatments .vc-v291-treatment-filters {
  margin: 34px 0 44px;
}

body.vc-next-design .vc-v291-approved-treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

body.vc-next-design .vc-v291-approved-treatment-grid article {
  overflow: hidden;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(21, 18, 14, .06);
  transition: transform .24s ease, box-shadow .24s ease;
}

body.vc-next-design .vc-v291-approved-treatment-grid article:is(:hover, :focus-within) {
  box-shadow: 0 22px 44px -18px rgba(37, 18, 16, .28);
  transform: translateY(-4px);
}

body.vc-next-design .vc-v291-approved-treatment-grid article > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-approved-treatment-media {
  display: block;
  height: 210px;
  background: #c7b8a6;
}

body.vc-next-design .vc-v291-approved-treatment-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-approved-treatment-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 24px 24px;
}

body.vc-next-design .vc-v291-approved-treatment-body small {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-treatment-body h3 {
  margin: 8px 0 10px;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
}

body.vc-next-design .vc-v291-approved-treatment-body p {
  flex: 1;
  margin: 0 0 20px;
  color: #5c554f;
  font-size: 14px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-approved-treatment-body > strong {
  align-self: flex-start;
  border-bottom: 2px solid #d81620;
  color: #171313;
  font-size: 13px;
}

body.vc-next-design .vc-v291-approved-why > header {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: end;
  margin-bottom: 56px;
}

body.vc-next-design .vc-v291-approved-why h2,
body.vc-next-design .vc-v291-approved-consultation h2 {
  margin: 16px 0 0;
  color: #fff;
  font-family: var(--vc-font-display);
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.04;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-why > header > p,
body.vc-next-design .vc-v291-approved-why article p {
  color: #b7aca6;
}

body.vc-next-design .vc-v291-approved-why > header > p {
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-approved-why > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 44px;
}

body.vc-next-design .vc-v291-approved-why article {
  padding-top: 22px;
  border-top: 1px solid rgba(244, 239, 233, .16);
}

body.vc-next-design .vc-v291-approved-why article b {
  color: #d81620;
  font-family: var(--vc-font-display);
  font-size: 30px;
}

body.vc-next-design .vc-v291-approved-why article h3 {
  margin: 14px 0 8px;
  color: #fff;
  font-family: var(--vc-font-body);
  font-size: 19px;
  font-weight: 600;
}

body.vc-next-design .vc-v291-approved-why article p {
  font-size: 14px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-approved-doctors > header {
  max-width: 600px;
  margin: 0 auto 52px;
}

body.vc-next-design .vc-v291-approved-doctors > header > p {
  max-width: 520px;
  margin: 16px auto 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-approved-doctors > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

body.vc-next-design .vc-v291-approved-doctors article > a {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-approved-doctors article a > span {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 14px;
  background: #d9c6b2;
}

body.vc-next-design .vc-v291-approved-doctors article img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  transition: transform .28s ease;
}

body.vc-next-design .vc-v291-approved-doctors article a:is(:hover, :focus-visible) img {
  transform: scale(1.025);
}

body.vc-next-design .vc-v291-approved-doctors article h3 {
  margin: 22px 0 5px;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 19px;
  font-weight: 600;
}

body.vc-next-design .vc-v291-approved-doctors article small {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-doctors article b {
  align-self: flex-start;
  margin-top: 16px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-consultation {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 60px;
  align-items: center;
}

body.vc-next-design .vc-v291-approved-consultation h2 {
  color: #171313;
  font-size: clamp(30px, 3.4vw, 46px);
}

body.vc-next-design .vc-v291-approved-consultation > div > p {
  max-width: 440px;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: 17px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-approved-consultation ul {
  display: grid;
  gap: 14px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

body.vc-next-design .vc-v291-approved-consultation li {
  display: flex;
  gap: 12px;
  align-items: center;
  color: #171313;
}

body.vc-next-design .vc-v291-approved-consultation li::before {
  color: #d81620;
  content: "✓";
  font-weight: 700;
}

body.vc-next-design .vc-v291-approved-callback {
  padding: 34px;
  border: 1px solid rgba(23, 19, 19, .1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 50px -18px rgba(37, 18, 16, .22);
}

body.vc-next-design .vc-v291-approved-callback > small {
  display: block;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-callback h3 {
  margin: 8px 0 14px;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.22;
}

body.vc-next-design .vc-v291-approved-callback > p {
  margin: 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-approved-callback__actions {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

body.vc-next-design .vc-v291-approved-callback__actions .vc-v291-approved-button {
  width: 100%;
}

body.vc-next-design .vc-v291-approved-callback__booking {
  width: fit-content;
  margin: 5px auto 0;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-location {
  display: grid;
  grid-template-columns: 1fr 46%;
  gap: 56px;
  align-items: center;
}

body.vc-next-design .vc-v291-approved-location > div:first-child > p {
  max-width: 440px;
  margin: 16px 0 0;
}

/* Station cards — the shared treatment used on Contact "Getting here", so the two match. */
body.vc-next-design .vc-v291-approved-stations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 540px;
  margin: 22px 0 26px;
}
body.vc-next-design .vc-station-card {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid var(--vc-colour-border, rgba(23, 19, 19, .12));
  border-radius: var(--vc-radius-card, 14px);
  background: var(--vc-colour-surface-white, #fff);
  color: var(--vc-colour-ink, #171313);
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.vc-next-design a.vc-station-card:is(:hover, :focus-visible) {
  border-color: rgba(23, 19, 19, .24);
  box-shadow: 0 12px 26px rgba(23, 19, 19, .09);
  transform: translateY(-1px);
}
body.vc-next-design a.vc-station-card:is(:hover, :focus-visible) .vc-station-card__walk {
  background: var(--vc-colour-brand-primary, #d81620);
  color: #fff;
}
body.vc-next-design .vc-station-card__icon {
  flex: none;
  width: 34px;
  height: 34px;
  color: var(--vc-colour-ink, #171313);
}
body.vc-next-design .vc-station-card__icon svg { display: block; width: 100%; height: 100%; }
body.vc-next-design .vc-station-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  margin-right: auto;
}
body.vc-next-design .vc-station-card__body strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--vc-colour-ink, #171313);
}
body.vc-next-design .vc-station-card__body span {
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--vc-colour-muted, #6f665c);
  text-align: left;
}
body.vc-next-design .vc-station-card__walk {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--vc-colour-surface-warm, #f4efe9);
  color: var(--vc-colour-ink, #171313);
  transition: background .18s ease, color .18s ease;
}
body.vc-next-design .vc-station-card__walk svg { display: block; width: 20px; height: 20px; }

body.vc-next-design .vc-v291-approved-address {
  display: inline-flex;
  flex-direction: column;
  color: #171313;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

body.vc-next-design .vc-v291-approved-address small {
  margin-top: 7px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-approved-map {
  min-height: 420px;
  overflow: hidden;
  border-radius: 16px;
  background: #938470;
}

body.vc-next-design .vc-v291-approved-map .vc-clinic-map,
body.vc-next-design .vc-v291-approved-map iframe {
  width: 100%;
  height: 420px;
  min-height: 420px;
  border: 0;
}

body.vc-next-design .vc-v291-approved-map .vc-clinic-map__directions {
  display: none;
}

body.vc-next-design .vc-v291-approved-faq {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 56px;
  align-items: start;
}

body.vc-next-design .vc-v291-approved-faq h2 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.06;
}

body.vc-next-design .vc-v291-approved-faq > header > p {
  max-width: 32ch;
  margin: 16px 0 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-approved-faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.vc-next-design .vc-v291-approved-faq details {
  border: 1px solid var(--vc-colour-border, rgba(23, 19, 19, .12));
  border-radius: var(--vc-radius-card, 14px);
  background: var(--vc-colour-surface-white, #fff);
  transition: border-color .18s ease, box-shadow .18s ease;
}
body.vc-next-design .vc-v291-approved-faq details:hover,
body.vc-next-design .vc-v291-approved-faq details:focus-within,
body.vc-next-design .vc-v291-approved-faq details[open] {
  border-color: rgba(23, 19, 19, .2);
  box-shadow: 0 10px 26px rgba(23, 19, 19, .06);
}
body.vc-next-design .vc-v291-approved-faq summary {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px 18px;
  color: #171313;
  cursor: pointer;
  list-style: none;
}
body.vc-next-design .vc-v291-approved-faq summary::-webkit-details-marker { display: none; }
body.vc-next-design .vc-faq__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--vc-colour-surface-warm, #f4efe9);
  color: var(--vc-colour-brand-primary, #d81620);
}
body.vc-next-design .vc-faq__icon svg { display: block; width: 20px; height: 20px; }
body.vc-next-design .vc-faq__text {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin-right: auto;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}
body.vc-next-design .vc-faq__text small {
  color: var(--vc-colour-brand-primary, #d81620);
  font-family: var(--vc-font-label);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.vc-next-design .vc-faq__toggle {
  flex: none;
  font-size: 22px;
  line-height: 1;
  color: var(--vc-colour-muted, #6f665c);
  transition: transform .2s ease;
}
body.vc-next-design .vc-v291-approved-faq details[open] .vc-faq__toggle { transform: rotate(45deg); }
body.vc-next-design .vc-v291-approved-faq details p {
  margin: 0;
  padding: 2px 18px 18px 71px;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 1180px) {
  body.vc-next-design .vc-v291-approved-feature {
    grid-template-columns: repeat(2, 1fr);
  }

  body.vc-next-design .vc-v291-approved-feature > div:nth-child(2) {
    border-right: 0;
  }

  body.vc-next-design .vc-v291-approved-feature > div:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }
}

@media (max-width: 1024px) {
  body.vc-next-design .vc-v291-approved-hero {
    grid-template-columns: minmax(0, 1fr) 40%;
    padding-inline-start: 0;
    padding-inline-end: 0;
  }

  body.vc-next-design .vc-v291-approved-hero__copy {
    padding: 72px 32px 88px;
  }

  body.vc-next-design .vc-v291-approved-hero h1 {
    font-size: clamp(32px, 4.2vw, 46px);
  }

  body.vc-next-design .vc-v291-approved-hero__media {
    min-height: 460px;
  }
}

@media (max-width: 820px) {
  body.vc-next-design .vc-v291-approved-hero {
    grid-template-columns: 1fr;
    max-width: none;
  }

  body.vc-next-design .vc-v291-approved-hero__copy {
    max-width: none;
    margin-left: 0;
    padding: 56px 40px 48px;
  }

  body.vc-next-design .vc-v291-approved-hero h1 {
    font-size: clamp(38px, 6.5vw, 58px);
  }

  body.vc-next-design .vc-v291-approved-hero__media {
    height: clamp(300px, 52vw, 420px);
    min-height: 0;
    background-position: center 28%;
  }

  body.vc-next-design .vc-v291-approved-feature-wrap {
    margin-top: 24px;
  }

  body.vc-next-design :is(
    .vc-v291-approved-intro,
    .vc-v291-approved-concerns,
    .vc-v291-approved-consultation,
    .vc-v291-approved-location,
    .vc-v291-approved-faq,
    .vc-v291-approved-why > header
  ) {
    grid-template-columns: 1fr;
  }

  body.vc-next-design :is(
    .vc-v291-approved-treatment-grid
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-v291-approved-why > div {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-approved-hero__copy {
    padding: 40px 20px;
  }

  body.vc-next-design .vc-v291-approved-hero h1 {
    font-size: clamp(28px, 8.5vw, 38px);
  }

  body.vc-next-design .vc-v291-approved-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.vc-next-design .vc-v291-approved-doctor-strip__grid {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-approved-hero__media {
    height: clamp(240px, 65vw, 300px);
  }

  body.vc-next-design .vc-v291-approved-feature-wrap,
  body.vc-next-design .vc-v291-approved-section {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-approved-feature {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-approved-feature > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  body.vc-next-design .vc-v291-approved-feature > div:last-child {
    border-bottom: 0;
  }

  body.vc-next-design .vc-v291-approved-why > div {
    grid-template-columns: 1fr;
  }

  body.vc-next-design :is(
    .vc-v291-approved-treatment-grid,
    .vc-v291-approved-doctors > div
  ) {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-approved-callback {
    padding: 26px 20px;
  }

  body.vc-next-design .vc-v291-approved-stations {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

/* Approved v2.9.1 Advice article family.
   The template owns composition; WordPress owns the article body and facts. */
body.vc-next-design.single-post .elementor[data-elementor-id="3103"],
body.vc-next-design.single-post .elementor[data-elementor-id="3103"] > .e-con,
body.vc-next-design.single-post .elementor[data-elementor-id="3103"] > .e-con > .e-con-inner,
body.vc-next-design.single-post .elementor[data-elementor-id="3103"] .elementor-widget-shortcode,
body.vc-next-design.single-post .elementor[data-elementor-id="3103"] .elementor-widget-shortcode > .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-article {
  background: #fff;
  color: #3a3431;
}

body.vc-next-design .vc-v291-article__hero {
  background: #f4efe9;
}

body.vc-next-design .vc-v291-article__hero > div {
  width: min(1180px, calc(100% - 80px));
  margin: 0 auto;
  padding: 52px 0 46px;
}

body.vc-next-design .vc-v291-article__hero nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .08em;
}

body.vc-next-design .vc-v291-article__hero nav a {
  color: #6f665c;
  text-decoration: none;
}

body.vc-next-design .vc-v291-article__hero nav span[aria-current="page"] {
  max-width: min(680px, 100%);
  overflow: hidden;
  color: #171313;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.vc-next-design .vc-v291-article__terms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
}

body.vc-next-design .vc-v291-article__terms a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__terms span {
  padding: 7px 12px;
  border: 1px solid rgba(23, 19, 19, .22);
  border-radius: 999px;
  color: #5c554f;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__hero h1 {
  max-width: 930px;
  margin: 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(34px, 3.55vw, 52px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.02;
  overflow-wrap: normal;
  text-transform: uppercase;
  text-wrap: pretty;
  word-break: normal;
}

body.vc-next-design .vc-v291-article__hero h1 + p {
  max-width: 660px;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: 18px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-article__featured {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 80px));
  height: clamp(260px, 34vw, 420px);
  margin: -26px auto 0;
  overflow: hidden;
  border-radius: 16px;
  background: #cdbfaf;
}

/* Elementor's global `.elementor-widget … figure { margin: 0 }` reset is more specific than the
   rule above and kills the auto-centring, pushing the article featured image to the left edge.
   Restore horizontal centring (matches the title column). */
body.vc-next-design .vc-v291-article__featured {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.vc-next-design .vc-v291-article__featured img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.vc-next-design .vc-v291-article__shell {
  display: grid;
  width: min(1180px, calc(100% - 80px));
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
  gap: clamp(44px, 6vw, 78px);
  align-items: start;
  margin: 0 auto;
  padding: var(--vc-section-space) 0 clamp(64px, 7vw, 90px);
}

body.vc-next-design .vc-v291-article__main {
  min-width: 0;
}

body.vc-next-design .vc-v291-article__record {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 40px;
  margin: 0 0 clamp(34px, 4vw, 46px);
  padding: 20px 22px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 14px;
}

body.vc-next-design .vc-v291-article__record > div {
  display: flex;
  min-width: 118px;
  flex-direction: column;
  gap: 5px;
}

body.vc-next-design .vc-v291-article__record span,
body.vc-next-design .vc-v291-article__rail section > span {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__record :is(a, strong, time) {
  color: #171313;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

body.vc-next-design .vc-v291-article__record small {
  color: #6f665c;
  font-size: 12.5px;
}

body.vc-next-design .vc-v291-article__body {
  max-width: 68ch;
  color: #3a3431;
  font-size: 17px;
  line-height: 1.8;
}

body.vc-next-design .vc-v291-article__body > :first-child {
  margin-top: 0;
}

/* VC-VIS-006 — lead paragraph: the opening paragraph reads larger and darker,
   giving long articles a deliberate entry point before the body settles to 17px. */
body.vc-next-design .vc-v291-article__body > p:first-of-type {
  color: #171313;
  font-size: 19px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-article__body :is(p, ul, ol, figure, blockquote, .wp-block-group) {
  margin-top: 0;
  margin-bottom: 20px;
}

body.vc-next-design .vc-v291-article__body :is(h2, h3, h4) {
  margin-top: 46px;
  margin-bottom: 16px;
  color: #171313;
  line-height: 1.12;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__body h2 {
  font-size: clamp(24px, 2.3vw, 34px);
}

body.vc-next-design .vc-v291-article__body h3 {
  font-size: clamp(19px, 1.7vw, 24px);
}

body.vc-next-design .vc-v291-article__body :is(ul, ol) {
  padding-left: 24px;
}

body.vc-next-design .vc-v291-article__body li + li {
  margin-top: 8px;
}

/* Prose unordered lists: recolour the NATIVE disc marker (keeps list semantics
   + nested hierarchy; ordered lists keep numbers). The TOC list sets
   list-style:none itself, so it shows no marker and needs no exception. */
body.vc-next-design .vc-v291-article__body ul > li::marker {
  color: var(--vc-colour-brand-primary, #d81620);
  font-size: .85em;
}

body.vc-next-design .vc-v291-article__body a {
  color: #d81620;
  font-weight: 600;
}

body.vc-next-design .vc-v291-article__body .vc-article-callout {
  margin: 30px 0;
  padding: 24px 26px;
  border-left: 3px solid #d81620;
  border-radius: 0 14px 14px 0;
  background: #f4efe9;
}

body.vc-next-design .vc-v291-article__body .vc-article-callout > :last-child {
  margin-bottom: 0;
}

body.vc-next-design .vc-v291-article__body #contents {
  margin: 36px 0 14px;
  padding-left: 20px;
  border-left: 2px solid #d81620;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .16em;
}

body.vc-next-design .vc-v291-article__body #contents + ul {
  margin: 0 0 42px;
  padding: 0 0 4px 20px;
  border-left: 2px solid #d81620;
  list-style: none;
}

body.vc-next-design .vc-v291-article__body #contents + ul li + li {
  margin-top: 9px;
}

body.vc-next-design .vc-v291-article__body #contents + ul a {
  color: #171313;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
}

body.vc-next-design .vc-v291-article__body figure.wp-block-image {
  overflow: hidden;
  border-radius: 14px;
}

body.vc-next-design .vc-v291-article__body figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

body.vc-next-design .vc-v291-article__body figcaption {
  padding: 10px 2px 0;
  color: #6f665c;
  font-size: 13px;
  line-height: 1.5;
}

body.vc-next-design .vc-v291-article__body .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
}

body.vc-next-design .vc-v291-article__body table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: #3a3431;
  font-size: 14px;
  line-height: 1.5;
}

body.vc-next-design .vc-v291-article__body :is(th, td) {
  padding: 12px 14px;
  border: 1px solid rgba(23, 19, 19, .14);
  text-align: left;
  vertical-align: top;
}

body.vc-next-design .vc-v291-article__body th {
  background: #f4efe9;
  color: #171313;
}

body.vc-next-design .vc-v291-article__caveat {
  max-width: 68ch;
  margin: 42px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(23, 19, 19, .12);
  color: #6f665c;
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-article__rail {
  position: sticky;
  top: 160px;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 22px;
}

body.vc-next-design .vc-v291-article__rail section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 16px;
}

body.vc-next-design .vc-v291-article__rail h2 {
  margin: 0;
  color: #171313;
  font-size: 19px;
  line-height: 1.14;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__rail p {
  margin: 0;
  color: #5c554f;
  font-size: 14.5px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-article__rail a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__rail a.is-primary {
  min-height: 50px;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-article__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

body.vc-next-design .vc-v291-article__chips a {
  padding: 10px 14px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 999px;
  font-family: var(--vc-font-body);
  font-size: 13.5px;
  letter-spacing: 0;
  text-transform: none;
}

body.vc-next-design .vc-v291-article__related {
  padding: var(--vc-section-space) max(40px, calc((100% - 1180px) / 2));
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-article__related > header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 30px;
}

body.vc-next-design .vc-v291-article__related > header h2 {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__related > header a {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-article__related > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

body.vc-next-design .vc-v291-article__related article > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 16px;
  background: #fff;
  color: #171313;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

body.vc-next-design .vc-v291-article__related article > a:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(23, 19, 19, .09);
}

body.vc-next-design .vc-v291-article__related figure {
  height: 160px;
  margin: 0;
  overflow: hidden;
  background: #cdbfaf;
}

body.vc-next-design .vc-v291-article__related figure :is(img, span) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-article__related figure span {
  display: grid;
  place-items: center;
  color: #fff;
  font-family: var(--vc-font-display);
  font-size: 42px;
}

body.vc-next-design .vc-v291-article__related article > a > div {
  display: flex;
  min-height: 152px;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 20px 22px 24px;
}

body.vc-next-design .vc-v291-article__related h3 {
  margin: 0;
  font-family: var(--vc-font-body);
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
}

body.vc-next-design .vc-v291-article__related article span {
  margin-top: auto;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  body.vc-next-design .vc-v291-article__hero > div,
  body.vc-next-design .vc-v291-article__featured,
  body.vc-next-design .vc-v291-article__shell {
    width: min(100% - 56px, 1180px);
  }

  body.vc-next-design .vc-v291-article__shell {
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 42px;
  }
}

@media (max-width: 768px) {
  body.vc-next-design .vc-v291-article__hero > div {
    padding-top: 38px;
  }

  body.vc-next-design .vc-v291-article__hero h1 {
    font-size: clamp(32px, 7vw, 46px);
  }

  body.vc-next-design .vc-v291-article__shell {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-article__rail {
    position: static;
    grid-row: auto;
  }

  body.vc-next-design .vc-v291-article__related > div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  body.vc-next-design .vc-v291-article__hero > div,
  body.vc-next-design .vc-v291-article__featured,
  body.vc-next-design .vc-v291-article__shell {
    width: calc(100% - 36px);
  }

  body.vc-next-design .vc-v291-article__hero > div {
    padding-top: 28px;
    padding-bottom: 38px;
  }

  body.vc-next-design .vc-v291-article__hero nav span[aria-current="page"] {
    display: none;
  }

  body.vc-next-design .vc-v291-article__hero h1 {
    font-size: clamp(30px, 9.6vw, 39px);
    line-height: 1.02;
  }

  body.vc-next-design .vc-v291-article__featured {
    height: 240px;
    margin-top: -18px;
    border-radius: 12px;
  }

  body.vc-next-design .vc-v291-article__record {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 18px;
  }

  body.vc-next-design .vc-v291-article__body {
    font-size: 16px;
  }

  body.vc-next-design .vc-v291-article__related {
    padding-right: 18px;
    padding-left: 18px;
  }

  body.vc-next-design .vc-v291-article__related > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 340px) {
  body.vc-next-design .vc-v291-article__hero > div,
  body.vc-next-design .vc-v291-article__featured,
  body.vc-next-design .vc-v291-article__shell {
    width: calc(100% - 28px);
  }

  body.vc-next-design .vc-v291-article__record {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-article__hero h1 {
    font-size: 29px;
  }
}

/*
 * Final narrow-screen ownership corrections.
 *
 * Elementor's generated container stylesheet is loaded after this design
 * system and can recreate intrinsic grid columns on the governed treatment
 * facts component. These component-scoped declarations intentionally win that
 * cascade so facts remain one readable row per item at narrow widths.
 */
@media (max-width: 560px) {
  body.vc-next-design.single-treatments
    .elementor[data-elementor-id="107"]
    .vc-v291-treatment-facts > .e-con-inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.vc-next-design.single-treatments
    .elementor[data-elementor-id="107"]
    .vc-v291-treatment-facts > .e-con-inner > .e-con {
    display: grid !important;
    width: 100% !important;
    min-height: 0;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    align-items: start;
    padding: 20px;
    border-right: 0 !important;
  }

  body.vc-next-design.single-treatments
    .elementor[data-elementor-id="107"]
    .vc-v291-treatment-facts > .e-con-inner > .e-con > .elementor-widget-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  body.vc-next-design.single-treatments
    .elementor[data-elementor-id="107"]
    .vc-v291-treatment-facts > .e-con-inner > .e-con > .elementor-widget-icon svg {
    opacity: .78;
    filter: invert(1);
  }

  body.vc-next-design.single-treatments
    .elementor[data-elementor-id="107"]
    .vc-v291-treatment-facts > .e-con-inner > .e-con > .elementor-widget-heading {
    grid-column: 2;
  }

  body.vc-next-design .vc-v291-treatment-directory__group > header p {
    font-size: 24px;
    line-height: 1.02;
  }

  body.vc-next-design .vc-v291-treatment-card strong {
    font-size: 21px;
  }
}

/* Approved v2.9.1 Pricing composition around the governed Google Sheet feed. */
body.vc-next-design.page-id-962 #content > .e-con,
body.vc-next-design.page-id-962 #content > .e-con > .e-con-inner,
body.vc-next-design.page-id-962 #content .elementor-widget-shortcode,
body.vc-next-design.page-id-962 #content .elementor-widget-shortcode > .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-pricing-page {
  background: #fff;
  color: #3a3431;
}

body.vc-next-design .vc-v291-pricing-page__hero {
  background: var(--vc-colour-surface-warm, #f4efe9);
}

body.vc-next-design .vc-v291-pricing-page__hero > div {
  width: min(1180px, calc(100% - 80px));
  margin: 0 auto;
  /* B1 utility header: tighter band */
  padding: clamp(40px, 4.4vw, 58px) 0 clamp(44px, 5vw, 62px);
}

body.vc-next-design .vc-v291-pricing-page__hero nav {
  display: flex;
  gap: 9px;
  margin: 0 0 28px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .08em;
}

body.vc-next-design .vc-v291-pricing-page__hero nav a {
  color: #6f665c;
  text-decoration: none;
}

body.vc-next-design .vc-v291-pricing-page__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-pricing-page__eyebrow i {
  display: block;
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-pricing-page__hero h1 {
  max-width: 660px;
  margin: 0;
  color: #171313;
  font-size: clamp(28px, 3.3vw, 46px);
  line-height: .94;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-pricing-page__hero p {
  max-width: 680px;
  margin: 24px 0 0;
  color: #5c554f;
  font-size: 18px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-pricing-page__directory {
  padding: 0;
  background: #fff;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page #clinic-price-tables {
  width: min(1180px, calc(100% - 80px));
  max-width: none;
  margin: 0 auto;
  padding: var(--vc-section-space) 0 clamp(72px, 8vw, 112px);
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__verification {
  /* B3 declutter: the "last checked" line is metadata, not a panel — de-box it so the
     pricing page opens with fewer stacked boxes before the actual prices. */
  margin-bottom: 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__tools {
  margin-bottom: 18px;
  padding: 22px;
  border-radius: 16px;
  background: var(--vc-colour-surface-clinical, #faf7f4);
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__conversion-rail {
  margin-bottom: 18px;
  padding: 22px;
  border-radius: 16px;
  background: var(--vc-colour-surface-white, #fff);
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__conversion-rail > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__result-status {
  margin-bottom: 54px;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__section {
  margin-bottom: clamp(54px, 7vw, 88px);
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__section h2 {
  font-size: clamp(25px, 3vw, 38px);
  text-transform: uppercase;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__table-wrap {
  border-radius: 14px;
  box-shadow: none;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .custom-pricing-table thead {
  background: #171313;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__category-actions {
  gap: 10px;
  padding-top: 20px;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__category-actions > div {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__category-actions a {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-pricing-page__explain {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-pricing-page__explain > div {
  padding: var(--vc-section-space) max(40px, calc((100vw - 1180px) / 2));
}

body.vc-next-design .vc-v291-pricing-page__explain > div:first-child {
  padding-right: clamp(36px, 6vw, 80px);
  border-right: 1px solid rgba(23, 19, 19, .1);
}

body.vc-next-design .vc-v291-pricing-page__explain > div:last-child {
  padding-left: clamp(36px, 6vw, 80px);
}

body.vc-next-design .vc-v291-pricing-page__explain span {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-pricing-page__explain h2 {
  max-width: 520px;
  margin: 14px 0 16px;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.02;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-pricing-page__explain p {
  max-width: 560px;
  margin: 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.65;
}

@media (max-width: 768px) {
  body.vc-next-design .vc-v291-pricing-page__hero > div,
  body.vc-next-design.page-id-962 .vc-v291-pricing-page #clinic-price-tables {
    width: calc(100% - 40px);
  }

  body.vc-next-design .vc-v291-pricing-page__explain {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-pricing-page__explain > div:first-child {
    border-right: 0;
    border-bottom: 1px solid rgba(23, 19, 19, .1);
  }

  body.vc-next-design .vc-v291-pricing-page__explain > div,
  body.vc-next-design .vc-v291-pricing-page__explain > div:first-child,
  body.vc-next-design .vc-v291-pricing-page__explain > div:last-child {
    padding: 48px 20px;
  }
}

@media (max-width: 390px) {
  body.vc-next-design .vc-v291-pricing-page__hero > div,
  body.vc-next-design.page-id-962 .vc-v291-pricing-page #clinic-price-tables {
    width: calc(100% - 32px);
  }

  body.vc-next-design .vc-v291-pricing-page__hero > div {
    padding-top: 34px;
    padding-bottom: 52px;
  }

  body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__conversion-rail > div,
  body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__category-actions > div {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  body.vc-next-design.page-id-962 .vc-v291-pricing-page .vc-pricing__conversion-rail a {
    width: 100%;
  }
}

/* ==========================================================================
   v2.9.1 doctors directory + practitioner profile — approved Claude family
   ========================================================================== */

body.vc-next-design .vc-v291-doctors,
body.vc-next-design .vc-v291-practitioner {
  overflow: visible;
  background: #fff;
  color: #5c554f;
}

/* The Doctors index is a native WordPress page. Hello Elementor constrains and
   clips its default .site-main at tablet widths, which cuts off the approved
   full-bleed hero. The family template, not the theme wrapper, owns its measure. */
body.vc-next-design.page-id-3271 .site-main {
  width: 100%;
  max-width: none;
  overflow: visible;
}

body.vc-next-design .vc-v291-doctors h1,
body.vc-next-design .vc-v291-doctors h2,
body.vc-next-design .vc-v291-practitioner h1,
body.vc-next-design .vc-v291-practitioner h2 {
  margin: 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.04;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-doctors__hero,
body.vc-next-design .vc-v291-practitioner__hero,
body.vc-next-design .vc-v291-doctors__grid,
body.vc-next-design .vc-v291-doctors__routing,
body.vc-next-design .vc-v291-practitioner__body,
body.vc-next-design .vc-v291-practitioner__others {
  width: min(1180px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
}

body.vc-next-design .vc-v291-doctors__hero nav,
body.vc-next-design .vc-v291-practitioner__hero nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-doctors__hero nav a,
body.vc-next-design .vc-v291-practitioner__hero nav a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-doctors__eyebrow,
body.vc-next-design .vc-v291-practitioner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-doctors__eyebrow i,
body.vc-next-design .vc-v291-practitioner__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-doctors__hero {
  display: grid;
  width: 100vw;
  max-width: none;
  grid-template-columns: minmax(0, 1fr);
  gap: 56px;
  align-items: end;
  margin-left: calc(50% - 50vw);
  padding-right: max(40px, calc((100vw - 1180px) / 2));
  padding-left: max(40px, calc((100vw - 1180px) / 2));
  /* B1 utility header: tighter band than a marketing hero */
  padding-top: clamp(40px, 4.4vw, 58px);
  padding-bottom: clamp(40px, 4.4vw, 58px);
  background: var(--vc-colour-surface-warm, #f4efe9);
}

body.vc-next-design .vc-v291-doctors__hero h1 {
  max-width: 19ch;
  margin-top: 18px;
  font-size: clamp(28px, 3.3vw, 46px);
}

body.vc-next-design .vc-v291-doctors__hero > div > p {
  max-width: 54ch;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 18.5px);
  line-height: 1.7;
}

/* Relocated honesty note — a quiet caption sitting INSIDE the card grid as a
   full-width row, so it aligns exactly with the cards below it (the grid owns
   the alignment; no rail box-model to get wrong). */
body.vc-next-design .vc-v291-doctors__grid-note {
  grid-column: 1 / -1;
  margin: 0 0 6px;
  color: #6f665c;
  font-size: 14px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-doctors__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding-top: clamp(30px, 3.4vw, 44px);
  padding-bottom: var(--vc-section-space);
}

body.vc-next-design .vc-v291-doctors__grid article {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

body.vc-next-design .vc-v291-doctors__portrait {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 14px;
  background: linear-gradient(135deg, #efe8e0, #e2d9cf);
}

body.vc-next-design .vc-v291-doctors__portrait img,
body.vc-next-design .vc-v291-practitioner__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  transition: transform .35s ease;
}

body.vc-next-design .vc-v291-doctors__portrait:is(:hover, :focus-visible) img {
  transform: scale(1.025);
}

body.vc-next-design .vc-v291-doctors__portrait > span,
body.vc-next-design .vc-v291-practitioner__portrait > span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: rgba(255, 255, 255, .82);
  font-family: var(--vc-font-display);
  font-size: clamp(68px, 9vw, 120px);
}

body.vc-next-design .vc-v291-doctors__grid h2 {
  margin-top: 20px;
  font-family: var(--vc-font-body);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

body.vc-next-design .vc-v291-doctors__grid h2 a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-doctors__grid article > span {
  margin-top: 5px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-doctors__grid article > p {
  margin: 13px 0 0;
  color: #5c554f;
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-doctors__registration,
body.vc-next-design .vc-v291-practitioner__registration {
  align-self: flex-start;
  margin-top: 14px;
  padding: 9px 14px;
  border: 1px solid rgba(23, 19, 19, .18);
  border-radius: 999px;
  color: #171313;
  font-size: 13.5px;
  line-height: 1.2;
  text-decoration: none;
}

body.vc-next-design .vc-v291-doctors__profile-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  align-self: flex-start;
  margin-top: 16px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-doctors__routing {
  display: grid;
  width: 100vw;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 56px;
  align-items: center;
  margin-left: calc(50% - 50vw);
  padding-right: max(40px, calc((100vw - 1180px) / 2));
  padding-left: max(40px, calc((100vw - 1180px) / 2));
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-doctors__routing h2 {
  max-width: 24ch;
  font-size: clamp(23px, 2.8vw, 36px);
}

body.vc-next-design .vc-v291-doctors__routing p {
  max-width: 54ch;
  margin: 14px 0 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-doctors__routing > div:first-child > p:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

body.vc-next-design .vc-v291-doctors__routing > div:first-child > p:last-child a {
  color: #171313;
  border-bottom: 2px solid #d81620;
  text-decoration: none;
}

body.vc-next-design .vc-v291-doctors__routing > div:last-child,
body.vc-next-design .vc-v291-practitioner__actions,
body.vc-next-design .vc-v291-practitioner__cta > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.vc-next-design .vc-v291-doctors__routing > div:last-child a,
body.vc-next-design .vc-v291-practitioner__actions a,
body.vc-next-design .vc-v291-practitioner__rail > div > div > a,
body.vc-next-design .vc-v291-practitioner__cta a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  border: 1.5px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design :is(.vc-v291-doctors__routing, .vc-v291-practitioner) a.is-primary {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-practitioner__hero {
  display: grid;
  width: 100vw;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) 40%;
  gap: 56px;
  align-items: center;
  margin-left: calc(50% - 50vw);
  padding-right: max(40px, calc((100vw - 1180px) / 2));
  padding-left: max(40px, calc((100vw - 1180px) / 2));
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  background: #f4efe9;
}

body.vc-next-design .vc-v291-practitioner__hero h1 {
  margin-top: 18px;
  font-size: clamp(30px, 4.2vw, 52px);
}

body.vc-next-design .vc-v291-practitioner__hero > div:first-child > p {
  max-width: 52ch;
  margin: 18px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 18.5px);
  line-height: 1.7;
}

body.vc-next-design .vc-v291-practitioner__registration {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 20px;
  background: #fff;
  font-size: 14.5px;
}

body.vc-next-design .vc-v291-practitioner__actions {
  margin-top: 26px;
}

body.vc-next-design .vc-v291-practitioner__portrait {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  background: linear-gradient(135deg, #d9cdbf, #a2917c);
  box-shadow: 0 24px 50px -20px rgba(37, 18, 16, .3);
}

body.vc-next-design .vc-v291-practitioner__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 56px;
  align-items: start;
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
}

body.vc-next-design .vc-v291-practitioner__content > section + section {
  margin-top: clamp(38px, 4.5vw, 56px);
  padding-top: clamp(30px, 3.5vw, 42px);
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-practitioner__content h2 {
  font-size: clamp(19px, 2.1vw, 29px);
}

body.vc-next-design .vc-v291-practitioner__content p {
  max-width: 64ch;
  margin: 15px 0 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.75;
}

body.vc-next-design .vc-v291-practitioner__content ul {
  display: grid;
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

body.vc-next-design .vc-v291-practitioner__content li {
  padding: 14px 0;
  border-bottom: 1px solid rgba(23, 19, 19, .1);
  color: #171313;
  font-size: 16px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-practitioner__record-list {
  display: grid;
  margin-top: 16px;
}

body.vc-next-design .vc-v291-practitioner__record-list > div {
  display: grid;
  grid-template-columns: minmax(82px, 120px) minmax(0, 1fr);
  gap: 22px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(23, 19, 19, .1);
}

body.vc-next-design .vc-v291-practitioner__record-list > div > span {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .04em;
  line-height: 1.5;
}

body.vc-next-design .vc-v291-practitioner__record-list p {
  display: grid;
  gap: 3px;
  margin: 0;
  color: #171313;
  line-height: 1.45;
}

body.vc-next-design .vc-v291-practitioner__record-list strong {
  font-size: 16px;
  font-weight: 650;
}

body.vc-next-design .vc-v291-practitioner__record-list small {
  color: #5c554f;
  font-size: 14.5px;
}

body.vc-next-design .vc-v291-practitioner__treatments {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body.vc-next-design .vc-v291-practitioner__treatments a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 11px 17px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 999px;
  background: #faf7f4;
  color: #171313;
  font-size: 14px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-practitioner__treatments a:is(:hover, :focus-visible) {
  border-color: #d81620;
  color: #d81620;
}

body.vc-next-design .vc-v291-practitioner__training {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

body.vc-next-design .vc-v291-practitioner__training-card {
  padding: 20px 22px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 14px;
  background: #faf7f4;
  color: #171313;
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-practitioner__training-card header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}

body.vc-next-design .vc-v291-practitioner__training-card h3 {
  margin: 0;
  font-family: var(--vc-font-body);
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -.015em;
  text-transform: none;
}

body.vc-next-design .vc-v291-practitioner__training-card time {
  color: #7b746e;
  font-size: 12px;
  white-space: nowrap;
}

body.vc-next-design .vc-v291-practitioner__training-card > strong {
  display: block;
  margin-top: 3px;
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-practitioner__training-card > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

body.vc-next-design .vc-v291-practitioner__training-card span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 3px 12px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  line-height: 1.2;
}

body.vc-next-design .vc-v291-practitioner__training-card small {
  display: block;
  margin-top: 10px;
  color: #7b746e;
  font-size: 12px;
}

body.vc-next-design .vc-v291-practitioner__reviewed {
  display: grid;
  margin-top: 8px;
}

body.vc-next-design .vc-v291-practitioner__reviewed a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(23, 19, 19, .12);
  color: #171313;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

body.vc-next-design .vc-v291-practitioner__reviewed b {
  color: #d81620;
}

body.vc-next-design .vc-v291-practitioner__all-advice {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 20px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-practitioner__languages {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

body.vc-next-design .vc-v291-practitioner__languages span {
  padding: 9px 13px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 999px;
  background: #faf7f4;
  color: #171313;
  font-size: 14px;
}

body.vc-next-design .vc-v291-practitioner__consultation {
  padding: 24px 26px;
  border: 1px solid rgba(23, 19, 19, .18);
  border-radius: 14px;
}

body.vc-next-design .vc-v291-practitioner__consultation h2 {
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .16em;
}

@media (max-width: 560px) {
  body.vc-next-design .vc-v291-practitioner__record-list > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

body.vc-next-design .vc-v291-practitioner__rail {
  position: sticky;
  top: 154px;
}

body.vc-next-design .vc-v291-practitioner__rail > div {
  padding: 22px 24px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 16px;
  background: #faf7f4;
}

body.vc-next-design .vc-v291-practitioner__rail dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

body.vc-next-design .vc-v291-practitioner__rail dl > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 14px;
}

body.vc-next-design .vc-v291-practitioner__rail dt {
  color: #6f665c;
}

body.vc-next-design .vc-v291-practitioner__rail dd {
  margin: 0;
  color: #171313;
  font-weight: 600;
  text-align: right;
}

body.vc-next-design .vc-v291-practitioner__rail dd a {
  color: #d81620;
  text-decoration: none;
}

body.vc-next-design .vc-v291-practitioner__rail > div > p {
  margin: 16px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(23, 19, 19, .12);
  color: #6f665c;
  font-size: 12.5px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-practitioner__rail > div > div {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-practitioner__rail > div > div > a {
  width: 100%;
  padding: 14px 18px;
  font-size: 12.5px;
}

body.vc-next-design .vc-v291-practitioner__others {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding-right: max(40px, calc((100vw - 1180px) / 2));
  padding-left: max(40px, calc((100vw - 1180px) / 2));
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-practitioner__others h2 {
  margin-bottom: 22px;
  font-size: clamp(19px, 2vw, 25px);
}

body.vc-next-design .vc-v291-practitioner__others > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

body.vc-next-design .vc-v291-practitioner__others > div > a {
  display: flex;
  min-width: 0;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-practitioner__others img {
  width: 78px;
  height: 96px;
  flex: 0 0 78px;
  border-radius: 10px;
  object-fit: cover;
  object-position: 50% 25%;
}

body.vc-next-design .vc-v291-practitioner__others strong,
body.vc-next-design .vc-v291-practitioner__others small,
body.vc-next-design .vc-v291-practitioner__others p {
  display: block;
}

body.vc-next-design .vc-v291-practitioner__others strong {
  color: #171313;
  font-size: 17px;
}

body.vc-next-design .vc-v291-practitioner__others small {
  margin-top: 4px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-practitioner__others p {
  max-width: 40ch;
  margin: 8px 0 0;
  color: #5c554f;
  font-size: 13.5px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-practitioner__others > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 22px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-practitioner__cta {
  padding: var(--vc-section-space) 40px;
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #f4efe9;
  text-align: center;
}

body.vc-next-design .vc-v291-practitioner__cta h2 {
  max-width: 22ch;
  margin: 0 auto;
  font-size: clamp(24px, 3vw, 38px);
}

body.vc-next-design .vc-v291-practitioner__cta p {
  max-width: 52ch;
  margin: 16px auto 0;
  color: #5c554f;
  font-size: 16.5px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-practitioner__cta > div {
  justify-content: center;
  margin-top: 28px;
}

@media (max-width: 900px) {
  body.vc-next-design .vc-v291-doctors__hero,
  body.vc-next-design .vc-v291-doctors__routing,
  body.vc-next-design .vc-v291-practitioner__hero,
  body.vc-next-design .vc-v291-practitioner__body {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  body.vc-next-design .vc-v291-doctors__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-v291-practitioner__portrait {
    width: min(520px, 100%);
  }

  body.vc-next-design .vc-v291-practitioner__rail {
    position: static;
    order: -1;
  }
}

@media (max-width: 640px) {
  body.vc-next-design .vc-v291-doctors__grid,
  body.vc-next-design .vc-v291-practitioner__training,
  body.vc-next-design .vc-v291-practitioner__others > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-doctors__hero,
  body.vc-next-design .vc-v291-doctors__grid,
  body.vc-next-design .vc-v291-doctors__routing,
  body.vc-next-design .vc-v291-practitioner__hero,
  body.vc-next-design .vc-v291-practitioner__body,
  body.vc-next-design .vc-v291-practitioner__others,
  body.vc-next-design .vc-v291-practitioner__cta {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-doctors__routing > div:last-child a,
  body.vc-next-design .vc-v291-practitioner__actions a,
  body.vc-next-design .vc-v291-practitioner__cta a {
    width: 100%;
  }
}

/* Approved v2.9.1 Advice archive. Query, filters and pagination are WordPress-owned. */
body.vc-next-design .vc-v291-advice {
  overflow: visible;
  color: #5c554f;
}

body.vc-next-design .vc-v291-advice > * {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

body.vc-next-design .vc-v291-advice__hero {
  padding: var(--vc-section-space) max(40px, calc((100vw - 1180px) / 2)) clamp(48px, 6vw, 76px);
  background: #f4efe9;
}

body.vc-next-design .vc-v291-advice__hero > div {
  max-width: 1180px;
  margin: 0 auto;
}

body.vc-next-design .vc-v291-advice nav[aria-label="Breadcrumb"] {
  display: flex;
  gap: 9px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-advice nav[aria-label="Breadcrumb"] a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-advice__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-advice h1,
body.vc-next-design .vc-v291-advice h2 {
  color: #171313;
  font-family: var(--vc-font-display);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.05;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice h1 {
  max-width: 18ch;
  margin: 17px 0 0;
  font-size: clamp(32px, 4.2vw, 52px);
}

body.vc-next-design .vc-v291-advice__hero p {
  max-width: 58ch;
  margin: 18px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.7;
}

body.vc-next-design .vc-v291-advice__directory {
  max-width: none;
  padding: var(--vc-section-space) max(40px, calc((100vw - 1180px) / 2)) clamp(56px, 7vw, 92px);
  background: #fff;
}

body.vc-next-design .vc-v291-advice__filters {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(280px, 440px) auto auto;
  justify-content: start;
  gap: 14px;
  align-items: end;
}

body.vc-next-design .vc-v291-advice__filters label {
  display: grid;
  gap: 8px;
  color: #6f665c;
  font-family: var(--vc-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice__filters select,
body.vc-next-design .vc-v291-advice__filters input {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid rgba(23, 19, 19, .18);
  border-radius: 10px;
  background: #fff;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 15px;
}

body.vc-next-design .vc-v291-advice__filters button,
body.vc-next-design .vc-v291-advice__filters > a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid #d81620;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-family: var(--vc-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice__filters > a {
  border-color: rgba(23, 19, 19, .22);
  background: #fff;
  color: #171313;
}

body.vc-next-design .vc-v291-advice__count {
  margin: 28px 0 22px;
  color: #5c554f;
  font-size: 15px;
}

body.vc-next-design .vc-v291-advice__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 28px;
}

/* VC-VIS-010 hybrid — featured post: the design's 2-column hero card (image + copy). */
body.vc-next-design .vc-v291-advice__featured {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  margin-bottom: 48px;
  overflow: hidden;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 16px;
  background: #fff;
  color: #171313;
  text-decoration: none;
  transition: transform .28s ease, box-shadow .28s ease;
}

body.vc-next-design .vc-v291-advice__featured:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px -18px rgba(37, 18, 16, .24);
}

body.vc-next-design .vc-v291-advice__featured figure {
  display: grid;
  min-height: 340px;
  place-items: center;
  overflow: hidden;
  margin: 0;
  background: linear-gradient(135deg, #e0d5c8, #9a7d67);
  color: rgba(255, 255, 255, .82);
  font-family: var(--vc-font-display);
  font-size: 46px;
}

body.vc-next-design .vc-v291-advice__featured figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-advice__featured > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 48px);
}

body.vc-next-design .vc-v291-advice__featured h2 {
  margin: 14px 0 12px;
  font-family: var(--vc-font-display);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.01em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice__featured p {
  margin: 0;
  max-width: 460px;
  color: #5c554f;
  font-family: var(--vc-font-body);
  font-size: 15.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-advice__more {
  margin-top: 20px;
  color: #171313;
  font-family: var(--vc-font-mono);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .02em;
}

/* Shared red eyebrow tag (featured + grid). */
body.vc-next-design .vc-v291-advice__tag {
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-advice__tag b {
  font-weight: 500;
}

/* Open grid cards — image with rounded top, copy on the warm background (no box). */
body.vc-next-design .vc-v291-advice__grid article > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: #171313;
  text-decoration: none;
}

body.vc-next-design .vc-v291-advice__grid figure {
  display: grid;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  place-items: center;
  margin: 0 0 20px;
  border-radius: 14px;
  background: linear-gradient(135deg, #e0d5c8, #9a7d67);
  color: rgba(255, 255, 255, .8);
  font-family: var(--vc-font-display);
  font-size: 32px;
}

body.vc-next-design .vc-v291-advice__grid figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

body.vc-next-design .vc-v291-advice__grid article > a:hover figure img {
  transform: scale(1.025);
}

body.vc-next-design .vc-v291-advice__grid h2 {
  margin: 8px 0 0;
  font-family: var(--vc-font-body);
  font-size: 18.5px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
}

body.vc-next-design .vc-v291-advice__grid article p {
  margin: 10px 0 0;
  color: #5c554f;
  font-family: var(--vc-font-body);
  font-size: 14px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-advice__meta {
  margin-top: auto;
  padding-top: 14px;
  color: #6f665c;
  font-family: var(--vc-font-body);
  font-size: 12.5px;
}

body.vc-next-design .vc-v291-advice__pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 42px;
}

body.vc-next-design .vc-v291-advice__pagination a,
body.vc-next-design .vc-v291-advice__pagination span {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 50%;
  color: #171313;
  font-family: var(--vc-font-mono);
  font-size: 12px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-advice__pagination a[aria-current="page"] {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-advice__pagination span {
  opacity: .35;
}

body.vc-next-design .vc-v291-advice__page-count {
  margin: 12px 0 0;
  color: #6f665c;
  font-size: 13px;
  text-align: center;
}

body.vc-next-design .vc-v291-advice__empty {
  padding: 52px 28px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 14px;
  background: #faf7f4;
  text-align: center;
}

body.vc-next-design .vc-v291-advice__empty p {
  margin: 12px 0 22px;
  color: #5c554f;
}

body.vc-next-design .vc-v291-advice__cta {
  padding: var(--vc-section-space) max(40px, calc((100vw - 820px) / 2 + 40px));
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
  text-align: center;
}

body.vc-next-design .vc-v291-advice__cta h2 {
  font-size: clamp(24px, 3vw, 38px);
}

body.vc-next-design .vc-v291-advice__cta p {
  max-width: 52ch;
  margin: 16px auto 0;
  color: #5c554f;
  font-size: 16.5px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-advice__cta a,
body.vc-next-design .vc-v291-advice__empty a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  margin-top: 26px;
  padding: 15px 30px;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-family: var(--vc-font-mono);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  body.vc-next-design .vc-v291-advice__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-v291-advice__filters {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  body.vc-next-design .vc-v291-advice__featured {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-advice__featured figure {
    min-height: 220px;
  }
}

@media (max-width: 640px) {
  body.vc-next-design .vc-v291-advice__grid,
  body.vc-next-design .vc-v291-advice__filters {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-advice__hero,
  body.vc-next-design .vc-v291-advice__directory,
  body.vc-next-design .vc-v291-advice__cta {
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* Approved v2.9.1 About composition. Page copy is page-owned; team and location facts are record-owned. */
body.vc-next-design .vc-v291-about {
  overflow: visible;
  color: #5c554f;
}

body.vc-next-design.page-id-100 #content > .e-con {
  padding: 0;
}

body.vc-next-design .vc-v291-about > *,
body.vc-next-design .vc-v291-about__hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

body.vc-next-design .vc-v291-about__hero {
  background: var(--vc-colour-surface-warm, #f4efe9);
}

body.vc-next-design .vc-v291-about__hero-inner,
body.vc-next-design .vc-v291-about__approach,
body.vc-next-design .vc-v291-about__principles > div,
body.vc-next-design .vc-v291-about__team,
body.vc-next-design .vc-v291-about__visit {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-right: max(40px, calc((100vw - 1180px) / 2));
  padding-left: max(40px, calc((100vw - 1180px) / 2));
}

body.vc-next-design .vc-v291-about__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42%;
  gap: 56px;
  align-items: center;
  max-width: none;
  /* B1: utility "header" — tighter vertical rhythm than a marketing hero, so About
     reads as a destination header, not a landing hero. */
  padding-top: clamp(38px, 4.2vw, 58px);
  padding-bottom: clamp(38px, 4.2vw, 58px);
}

/* Signature portrait treatment: a red "focus bracket" clinical framing mark that
   pairs with the live-wire — precise + charged. */
body.vc-next-design .vc-v291-about__hero-inner > figure { position: relative; }
body.vc-next-design .vc-v291-about__hero-inner > figure::after {
  content: "";
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 42px;
  height: 42px;
  border-left: 4px solid var(--vc-colour-brand-primary, #d81620);
  border-bottom: 4px solid var(--vc-colour-brand-primary, #d81620);
  pointer-events: none;
}

body.vc-next-design .vc-v291-about nav {
  display: flex;
  gap: 9px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-mono);
  font-size: 12.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-about nav a {
  color: inherit;
  text-decoration: none;
}

body.vc-next-design .vc-v291-about__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-about h1,
body.vc-next-design .vc-v291-about h2 {
  color: #171313;
  font-family: var(--vc-font-display);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.05;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about h1 {
  max-width: 20ch;
  margin: 16px 0 0;
  /* B1 utility header: confident headline (kept image + boldness), but still a step
     below the marketing hero's landing scale so the page reads as a destination. */
  font-size: clamp(28px, 3.3vw, 46px);
}

body.vc-next-design .vc-v291-about h2 {
  font-size: clamp(23px, 2.8vw, 34px);
}

body.vc-next-design .vc-v291-about__hero-inner > div > p {
  max-width: 52ch;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 18.5px);
  line-height: 1.7;
}

body.vc-next-design .vc-v291-about figure {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #c7a98b, #5c4636);
  box-shadow: 0 24px 50px -20px rgba(37, 18, 16, .3);
}

body.vc-next-design .vc-v291-about figure img,
body.vc-next-design .vc-v291-about__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-about__approach {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 60px;
  max-width: none;
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  background: #fff;
}

body.vc-next-design .vc-v291-about__approach > div:first-child::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 30px;
  border-radius: 999px;
  background: var(--vc-colour-brand-primary, #d81620);
}

body.vc-next-design .vc-v291-about__approach p {
  max-width: 640px;
  margin: 0;
  color: #2c2622;
  font-size: clamp(19px, 1.35vw, 22px);
  line-height: 1.65;
}

body.vc-next-design .vc-v291-about__approach p:first-of-type::first-line {
  color: #171313;
  font-weight: 500;
}

body.vc-next-design .vc-v291-about__approach p + p {
  margin-top: 20px;
}

body.vc-next-design .vc-v291-about__principles {
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-about__principles > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: none;
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
}

body.vc-next-design .vc-v291-about__principles article > span {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 12px;
  background: #fff;
  color: #d81620;
}

body.vc-next-design .vc-v291-about__principles h3 {
  margin: 16px 0 8px;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 18px;
  font-weight: 600;
  text-transform: none;
}

body.vc-next-design .vc-v291-about__principles p,
body.vc-next-design .vc-v291-about__team p {
  margin: 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-about__team {
  max-width: none;
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  background: #fff;
}

body.vc-next-design .vc-v291-about__team > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

body.vc-next-design .vc-v291-about__team > header p {
  margin-top: 12px;
  font-size: 16px;
}

body.vc-next-design .vc-v291-about__team > header > a {
  min-height: 44px;
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about__team > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

body.vc-next-design .vc-v291-about__portrait {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 14px;
  background: #d9cdbf;
}

body.vc-next-design .vc-v291-about__team article h3 {
  margin: 18px 0 5px;
  font-family: var(--vc-font-body);
  font-size: 19px;
  font-weight: 600;
  text-transform: none;
}

body.vc-next-design .vc-v291-about__team article h3 a {
  color: #171313;
  text-decoration: none;
}

body.vc-next-design .vc-v291-about__team article > span {
  color: #6f665c;
  font-family: var(--vc-font-mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about__team article > p {
  margin-top: 12px;
  font-size: 14.5px;
}

body.vc-next-design .vc-v291-about__visit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44%;
  gap: 56px;
  align-items: center;
  max-width: none;
  padding-top: var(--vc-section-space);
  padding-bottom: var(--vc-section-space);
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #f4efe9;
}

body.vc-next-design .vc-v291-about__visit h2 {
  max-width: 20ch;
  margin: 16px 0;
}

body.vc-next-design .vc-v291-about__visit > div > p {
  max-width: 50ch;
  margin: 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-about__address {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 38ch;
  margin-top: 22px;
  color: #171313;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  text-decoration: none;
}

body.vc-next-design .vc-v291-about__address b {
  color: #d81620;
}

body.vc-next-design .vc-v291-about__address small {
  display: block;
  margin-top: 7px;
  color: #d81620;
  font-family: var(--vc-font-mono);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about__contact-link {
  display: flex;
  width: max-content;
  min-height: 44px;
  align-items: center;
  margin-top: 20px;
  border-bottom: 2px solid #d81620;
  color: #171313;
  font-size: 15px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-about__cta {
  max-width: none;
  padding: var(--vc-section-space) max(40px, calc((100vw - 820px) / 2 + 40px));
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
  text-align: center;
}

body.vc-next-design .vc-v291-about__cta p {
  max-width: 52ch;
  margin: 16px auto 0;
  color: #5c554f;
  font-size: 16.5px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-about__cta > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

body.vc-next-design .vc-v291-about__cta a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 15px 28px;
  border: 1.5px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-about__cta a.is-primary {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design.page-id-100 .vc-related-links {
  display: none;
}

@media (max-width: 900px) {
  body.vc-next-design .vc-v291-about__hero-inner,
  body.vc-next-design .vc-v291-about__approach,
  body.vc-next-design .vc-v291-about__visit {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  body.vc-next-design .vc-v291-about__principles > div {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-about__team > div {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  body.vc-next-design .vc-v291-about__team > div {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-about__team > header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-about__hero-inner,
  body.vc-next-design .vc-v291-about__approach,
  body.vc-next-design .vc-v291-about__principles > div,
  body.vc-next-design .vc-v291-about__team,
  body.vc-next-design .vc-v291-about__visit,
  body.vc-next-design .vc-v291-about__cta {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-about__cta a {
    width: 100%;
    justify-content: center;
  }
}

/* Approved v2.9.1 concern-detail composition. Content remains term-owned. */
body.vc-next-design .vc-v291-concern-host,
body.vc-next-design .vc-v291-concern-host > .e-con-inner,
body.vc-next-design .vc-v291-concern-host .elementor-widget-shortcode,
body.vc-next-design .vc-v291-concern-host .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-concern {
  width: 100%;
  color: #5c554f;
}

body.vc-next-design .vc-v291-concern__hero {
  display: grid;
  max-width: 1180px;
  grid-template-columns: minmax(0, 1fr) 40%;
  align-items: center;
  gap: 56px;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px clamp(48px, 6vw, 76px);
}

body.vc-next-design .vc-v291-concern__hero::before {
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: min(720px, 100%);
  background: #f4efe9;
  content: "";
}

body.vc-next-design .vc-v291-concern__hero {
  position: relative;
  z-index: 0;
  max-width: none;
  grid-template-columns: minmax(0, 574px) minmax(360px, 472px);
  justify-content: center;
}

body.vc-next-design .vc-v291-concern__hero-copy {
  width: 100%;
  max-width: 574px;
}

body.vc-next-design .vc-v291-concern__hero nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-concern__hero nav span:not([aria-current]) {
  color: #a89c8f;
}

body.vc-next-design .vc-v291-concern__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-concern__hero h1 {
  max-width: 760px;
  margin: 18px 0 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(30px, 4.2vw, 54px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.02;
  text-transform: uppercase;
  text-wrap: balance;
}

body.vc-next-design .vc-v291-concern__question {
  margin: 14px 0 0;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 13px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-concern__answer {
  max-width: 56ch;
  margin-top: 22px;
  padding: 20px 22px;
  border-left: 3px solid #d81620;
  border-radius: 0 12px 12px 0;
  background: #fff;
}

body.vc-next-design .vc-v291-concern__answer > span {
  display: block;
  margin-bottom: 9px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__answer p {
  margin: 0;
  color: #171313;
  font-size: clamp(15.5px, 1.3vw, 17.5px);
  line-height: 1.7;
}

body.vc-next-design .vc-v291-concern__actions,
body.vc-next-design .vc-v291-concern__cta > div,
body.vc-next-design .vc-v291-concern__rail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.vc-next-design .vc-v291-concern__actions {
  margin-top: 26px;
}

body.vc-next-design .vc-v291-concern__actions a,
body.vc-next-design .vc-v291-concern__cta > div a,
body.vc-next-design .vc-v291-concern__rail-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 15px 26px;
  border: 1.5px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .08em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern a.is-primary {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-concern__hero-media {
  display: grid;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 5;
  place-items: center;
  border-radius: 16px;
  background: #d9c6b8;
  box-shadow: 0 24px 50px -20px rgba(37, 18, 16, .3);
}

body.vc-next-design .vc-v291-concern__hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.vc-next-design .vc-v291-concern__hero-media > span {
  color: rgba(255, 255, 255, .5);
  font-family: var(--vc-font-display);
  font-size: clamp(80px, 12vw, 170px);
}

body.vc-next-design .vc-v291-concern__body {
  display: grid;
  max-width: 1180px;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 56px;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v291-concern__content > .vc-concern-content + .vc-concern-content,
body.vc-next-design .vc-v291-concern__faqs {
  margin-top: clamp(40px, 4.5vw, 60px);
  padding-top: clamp(32px, 3.5vw, 44px);
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-concern__content .vc-concern-content,
body.vc-next-design .vc-v291-concern__content .vc-concern-content > * {
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

body.vc-next-design .vc-v291-concern__content h2,
body.vc-next-design .vc-v291-concern__faqs h2,
body.vc-next-design .vc-v291-concern__related h2,
body.vc-next-design .vc-v291-concern__cta h2 {
  margin: 0 0 18px;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__content h3 {
  margin: 0 0 8px;
  color: #171313;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}

body.vc-next-design .vc-v291-concern__content p,
body.vc-next-design .vc-v291-concern__content li {
  color: #5c554f;
  font-size: 16px;
  line-height: 1.72;
}

body.vc-next-design .vc-v291-concern__content p + p {
  margin-top: 16px;
}

body.vc-next-design .vc-v291-concern__content a:not(.vc-learn-more) {
  color: #8d0910;
}

body.vc-next-design .vc-v291-concern__content :is(.vc-two-col, .vc-types-grid, .vc-trust-grid, .vc-treatment-cards) {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}

body.vc-next-design .vc-v291-concern__content .vc-two-col {
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr);
}

body.vc-next-design .vc-v291-concern__content :is(.vc-types-grid, .vc-trust-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.vc-next-design .vc-v291-concern__content .vc-treatment-cards {
  grid-template-columns: 1fr;
}

body.vc-next-design .vc-v291-concern__content :is(.vc-info-card, .vc-type-card, .vc-trust-item, .vc-treatment-card) {
  padding: 22px 24px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 14px;
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concern__content .vc-col-sidebar {
  display: grid;
  gap: 14px;
}

body.vc-next-design .vc-v291-concern__content .vc-treatment-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 18px;
  background: #fff;
}

body.vc-next-design .vc-v291-concern__content .vc-treatment-card > :not(.vc-learn-more) {
  grid-column: 1;
}

body.vc-next-design .vc-v291-concern__content .vc-treatment-card .vc-learn-more {
  grid-column: 2;
  grid-row: 1 / span 3;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__content :is(.vc-badge, .vc-treat-tag) {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 10px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__content .vc-doctor-note {
  padding: 28px;
  border-left: 3px solid #d81620;
  border-radius: 0 14px 14px 0;
  background: #f4efe9;
}

body.vc-next-design .vc-v291-concern__content .vc-doctor-note blockquote {
  margin: 0;
}

body.vc-next-design .vc-v291-concern__content .vc-doctor-note__heading {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__content .vc-doctor-note__attribution {
  margin-top: 16px;
  font-size: 14px;
}

body.vc-next-design .vc-v291-concern__faqs details {
  border-bottom: 1px solid rgba(23, 19, 19, .14);
}

body.vc-next-design .vc-v291-concern__faqs summary {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  color: #171313;
  cursor: pointer;
  font-size: 16.5px;
  font-weight: 500;
  list-style: none;
}

body.vc-next-design .vc-v291-concern__faqs summary::-webkit-details-marker {
  display: none;
}

body.vc-next-design .vc-v291-concern__faqs summary span {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 22px;
  transition: transform .2s ease;
}

body.vc-next-design .vc-v291-concern__faqs details[open] summary span {
  transform: rotate(45deg);
}

body.vc-next-design .vc-v291-concern__faqs details p {
  max-width: 64ch;
  margin: 0 0 22px;
  color: #5c554f;
  font-size: 15.5px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-concern__rail {
  position: sticky;
  top: calc(var(--vc-header-reserved-height) + 18px);
}

body.vc-next-design .vc-v291-concern__rail > div {
  padding: 22px 24px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 16px;
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concern__rail > div > span,
body.vc-next-design .vc-v291-concern__reviewer > span {
  display: block;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__rail dl {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
}

body.vc-next-design .vc-v291-concern__rail dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 14px;
}

body.vc-next-design .vc-v291-concern__rail dt {
  color: #6f665c;
}

body.vc-next-design .vc-v291-concern__rail dd {
  margin: 0;
  color: #171313;
  font-weight: 600;
  text-align: right;
}

body.vc-next-design .vc-v291-concern__reviewer {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-concern__reviewer a {
  display: block;
  margin-top: 8px;
  color: #171313;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

body.vc-next-design .vc-v291-concern__rail-actions {
  flex-direction: column;
  margin-top: 16px;
  padding-top: 18px;
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-concern__related {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  padding: var(--vc-section-space) max(40px, calc((100% - 1100px) / 2));
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concern__related > div > a:not(.is-all) {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(23, 19, 19, .12);
  color: #171313;
  text-decoration: none;
}

body.vc-next-design .vc-v291-concern__related a strong,
body.vc-next-design .vc-v291-concern__related a small {
  display: block;
}

body.vc-next-design .vc-v291-concern__related a small {
  margin-top: 3px;
  color: #6f665c;
  font-size: 13.5px;
  line-height: 1.55;
}

body.vc-next-design .vc-v291-concern__related a b {
  color: #d81620;
  font-weight: 400;
}

body.vc-next-design .vc-v291-concern__related a.is-all {
  display: inline-flex;
  margin-top: 20px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concern__cta {
  padding: var(--vc-section-space) 40px;
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #f4efe9;
  text-align: center;
}

body.vc-next-design .vc-v291-concern__cta h2 {
  font-size: clamp(24px, 3vw, 38px);
}

body.vc-next-design .vc-v291-concern__cta > p {
  max-width: 52ch;
  margin: 16px auto 0;
  color: #5c554f;
  font-size: 16.5px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-concern__cta > div {
  justify-content: center;
  margin-top: 28px;
}

@media (max-width: 1024px) {
  body.vc-next-design .vc-v291-concern__hero {
    gap: 40px;
  }

  body.vc-next-design .vc-v291-concern__body {
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 40px;
  }
}

@media (max-width: 900px) {
  body.vc-next-design .vc-v291-concern__hero,
  body.vc-next-design .vc-v291-concern__body,
  body.vc-next-design .vc-v291-concern__related {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-concern__hero-media {
    max-width: 580px;
    aspect-ratio: 4 / 3;
  }

  body.vc-next-design .vc-v291-concern__rail {
    position: static;
    order: -1;
  }
}

@media (max-width: 700px) {
  body.vc-next-design .vc-v291-concern__hero,
  body.vc-next-design .vc-v291-concern__body,
  body.vc-next-design .vc-v291-concern__cta {
    padding-right: 24px;
    padding-left: 24px;
  }

  body.vc-next-design .vc-v291-concern__related {
    padding-right: 24px;
    padding-left: 24px;
  }

  body.vc-next-design .vc-v291-concern__content :is(.vc-two-col, .vc-types-grid, .vc-trust-grid) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-concern__hero,
  body.vc-next-design .vc-v291-concern__body,
  body.vc-next-design .vc-v291-concern__related,
  body.vc-next-design .vc-v291-concern__cta {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-concern__actions a,
  body.vc-next-design .vc-v291-concern__cta > div a {
    width: 100%;
  }

  body.vc-next-design .vc-v291-concern__content .vc-treatment-card {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-concern__content .vc-treatment-card .vc-learn-more {
    grid-column: 1;
    grid-row: auto;
    margin-top: 10px;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v291-approved-hero__copy {
    padding: 32px 16px 36px;
  }

  body.vc-next-design .vc-v291-approved-hero h1 {
    font-size: 28px;
  }

  body.vc-next-design .vc-v291-home-eyebrow--hero {
    gap: 8px;
    font-size: 11.5px;
    letter-spacing: .1em;
  }

  body.vc-next-design .vc-v291-approved-feature-wrap,
  body.vc-next-design .vc-v291-approved-section {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* True 404: concise recovery, no requested-path echo and no invented treatment names. */
body.vc-next-design .vc-v291-404 {
  width: 100%;
  background: #fff;
}

body.vc-next-design .vc-v291-404__hero {
  background: #f4efe9;
}

body.vc-next-design .vc-v291-404__hero > div,
body.vc-next-design .vc-v291-404__routes > div {
  width: min(100%, 1100px);
  margin: 0 auto;
  padding-right: 40px;
  padding-left: 40px;
}

body.vc-next-design .vc-v291-404__hero > div {
  padding-top: 74px;
  padding-bottom: 62px;
}

body.vc-next-design .vc-v291-404__hero > div > span {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-404__hero > div > span i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-404__hero h1 {
  max-width: 900px;
  margin: 20px 0 0;
  color: #171313;
  font-size: clamp(36px, 5.5vw, 68px);
  line-height: 1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-404__hero p {
  max-width: 680px;
  margin: 22px 0 0;
  color: #5c554f;
  font-size: 17px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-404__hero form {
  display: flex;
  max-width: 620px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}

body.vc-next-design .vc-v291-404__hero form > span {
  display: flex;
  height: 54px;
  min-width: 0;
  flex: 1 1 260px;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 999px;
  background: #fff;
}

body.vc-next-design .vc-v291-404__hero input {
  min-width: 0;
  flex: 1;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 16px;
}

body.vc-next-design .vc-v291-404__hero button {
  height: 54px;
  padding: 0 26px;
  border: 1px solid #d81620;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-404__routes > div {
  padding-top: 50px;
  padding-bottom: 76px;
}

body.vc-next-design .vc-v291-404__routes h2 {
  margin: 0;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-404__routes h2 + div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

body.vc-next-design .vc-v291-404__routes h2 + div a {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 14px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-404__routes strong {
  color: #171313;
  font-size: 17px;
}

body.vc-next-design .vc-v291-404__routes h2 + div span {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-404__routes p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 26px 0 0;
  color: #5c554f;
  font-size: 15px;
}

body.vc-next-design .vc-v291-404__routes p a {
  color: #d81620;
}

@media (max-width: 800px) {
  body.vc-next-design .vc-v291-404__routes h2 + div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-404__hero > div,
  body.vc-next-design .vc-v291-404__routes > div {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-404__routes h2 + div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v291-404__hero > div,
  body.vc-next-design .vc-v291-404__routes > div {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Search and no-results: one governed template for all eligible content families. */
body.vc-next-design .vc-v291-search {
  width: 100%;
  background: #fff;
}

body.vc-next-design .vc-v291-search__hero {
  background: #f4efe9;
}

body.vc-next-design .vc-v291-search__hero > div,
body.vc-next-design .vc-v291-search__body {
  width: min(100%, 1100px);
  margin: 0 auto;
  padding-right: 40px;
  padding-left: 40px;
}

body.vc-next-design .vc-v291-search__hero > div {
  padding-top: 54px;
  padding-bottom: 42px;
}

body.vc-next-design .vc-v291-search__hero nav {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .08em;
}

body.vc-next-design .vc-v291-search__hero h1 {
  max-width: 20ch;
  margin: 0;
  color: #171313;
  font-size: clamp(29px, 4.4vw, 50px);
  letter-spacing: -.01em;
  line-height: 1.04;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-search__hero form {
  display: flex;
  max-width: 620px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}

body.vc-next-design .vc-v291-search__hero form > span {
  display: flex;
  height: 54px;
  min-width: 0;
  flex: 1 1 260px;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 999px;
  background: #fff;
}

body.vc-next-design .vc-v291-search__hero input {
  min-width: 0;
  flex: 1;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 16px;
}

body.vc-next-design .vc-v291-search__hero button {
  height: 54px;
  padding: 0 26px;
  border: 1px solid #d81620;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-search__hero p {
  margin: 16px 0 0;
  color: #5c554f;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-search__body {
  padding-top: 44px;
  padding-bottom: 74px;
}

body.vc-next-design .vc-v291-search__body section {
  max-width: 74ch;
}

body.vc-next-design .vc-v291-search__body h2 {
  margin: 0;
  color: #171313;
  font-size: clamp(19px, 2.2vw, 26px);
  line-height: 1.12;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-search__body section > p {
  margin: 18px 0 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-search__routes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

body.vc-next-design .vc-v291-search__routes a {
  display: flex;
  min-height: 44px;
  flex-direction: column;
  gap: 6px;
  padding: 18px 20px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 14px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-search__routes a:hover {
  border-color: #d81620;
}

body.vc-next-design .vc-v291-search__routes strong {
  color: #171313;
  font-size: 16px;
}

body.vc-next-design .vc-v291-search__routes span {
  color: #5c554f;
  font-size: 14px;
  line-height: 1.55;
}

body.vc-next-design .vc-v291-search__results {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.vc-next-design .vc-v291-search__results li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  padding: 20px 0;
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-search__results li:last-child {
  border-bottom: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-search__results li > div {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 9px;
}

body.vc-next-design .vc-v291-search__results li > div > span {
  padding: 4px 10px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-search__results li > div > span.is-treatment {
  color: #d81620;
}

body.vc-next-design .vc-v291-search__results li > div > span.is-article {
  color: #8a6a2f;
}

body.vc-next-design .vc-v291-search__results li > div > span.is-concern {
  color: #7b4d79;
}

body.vc-next-design .vc-v291-search__results li > div > a {
  width: 100%;
  color: #171313;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

body.vc-next-design .vc-v291-search__results li p {
  width: 100%;
  max-width: 70ch;
  margin: 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-search__results li > small {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .06em;
}

body.vc-next-design .vc-v291-search__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}

body.vc-next-design .vc-v291-search__pagination :is(a, span) {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 12px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-search__pagination .current {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-search__none > span {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 16px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-search__none > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

body.vc-next-design .vc-v291-search__none > div:last-child a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0 24px;
  border: 1px solid rgba(23, 19, 19, .22);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 600px) {
  body.vc-next-design .vc-v291-search__routes,
  body.vc-next-design .vc-v291-search__results li {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-search__hero > div,
  body.vc-next-design .vc-v291-search__body {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-search__hero h1 {
    font-size: 29px;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v291-search__hero > div,
  body.vc-next-design .vc-v291-search__body {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Booking: approved v2.9.1 layout with governed clinic and booking records. */
body.vc-next-design.page-id-3272 #content,
body.vc-next-design.page-id-3272 #content > .page-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}

body.vc-next-design .vc-v291-booking {
  width: 100%;
  background: #fff;
}

body.vc-next-design .vc-v291-booking__hero {
  background: #f4efe9;
}

body.vc-next-design .vc-v291-booking__hero > div {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 58px 40px 48px;
}

body.vc-next-design .vc-v291-booking__hero nav {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .08em;
}

body.vc-next-design .vc-v291-booking__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-booking__hero h1 {
  max-width: 900px;
  margin: 18px 0 0;
  color: #171313;
  font-size: clamp(30px, 5vw, 60px);
  letter-spacing: -.01em;
  line-height: 1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__hero p {
  max-width: 720px;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: 17.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__layout {
  display: grid;
  width: min(100%, 1180px);
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .95fr);
  gap: 56px;
  margin: 0 auto;
  padding: 58px 40px 82px;
}

body.vc-next-design .vc-v291-booking__main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 52px;
}

body.vc-next-design .vc-v291-booking__online,
body.vc-next-design .vc-v291-booking__clinic > section:first-child {
  padding: clamp(24px, 3.4vw, 34px);
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 18px;
}

body.vc-next-design .vc-v291-booking__online > span {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking h2 {
  margin: 0;
  color: #171313;
  font-size: clamp(20px, 2.4vw, 27px);
  line-height: 1.12;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__online h2 {
  margin-top: 12px;
}

body.vc-next-design .vc-v291-booking__online p,
body.vc-next-design .vc-v291-booking__specific p,
body.vc-next-design .vc-v291-booking__before p {
  margin: 16px 0 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-booking__online > a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 0 28px;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__steps > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid rgba(23, 19, 19, .14);
  border-bottom: 1px solid rgba(23, 19, 19, .14);
}

body.vc-next-design .vc-v291-booking__steps article {
  min-width: 0;
  padding: 24px 22px;
  border-right: 1px solid rgba(23, 19, 19, .14);
}

body.vc-next-design .vc-v291-booking__steps article:last-child {
  border-right: 0;
}

body.vc-next-design .vc-v291-booking__steps article > span {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__steps h3 {
  margin: 12px 0 0;
  font-size: 18px;
  line-height: 1.2;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__steps p {
  margin: 12px 0 0;
  color: #5c554f;
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__specific {
  padding-top: 34px;
  border-top: 1px solid rgba(23, 19, 19, .14);
}

body.vc-next-design .vc-v291-booking__specific > a,
body.vc-next-design .vc-v291-booking__contact-page {
  display: inline-flex;
  margin-top: 18px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__clinic {
  min-width: 0;
}

body.vc-next-design .vc-v291-booking__clinic > section:first-child {
  position: sticky;
  top: calc(var(--vc-header-reserved-height) + 22px);
}

body.vc-next-design .vc-v291-booking__clinic h2 {
  font-size: clamp(20px, 2.2vw, 27px);
}

body.vc-next-design .vc-v291-booking__status {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  color: #5c554f;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
}

body.vc-next-design .vc-v291-booking__status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a79f96;
}

body.vc-next-design .vc-v291-booking__status.is-open i {
  background: #2d8b57;
}

body.vc-next-design .vc-v291-booking__address {
  display: flex;
  flex-direction: column;
  margin: 22px 0 0;
  color: #171313;
  font-size: 15.5px;
  line-height: 1.6;
  text-decoration: none;
}

body.vc-next-design .vc-v291-booking__address small {
  margin-top: 7px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__clinic dl {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 24px 0 0;
}

body.vc-next-design .vc-v291-booking__clinic dl div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #5c554f;
  font-size: 13.5px;
}

body.vc-next-design .vc-v291-booking__clinic dd {
  margin: 0;
  color: #171313;
  font-family: var(--vc-font-label);
}

body.vc-next-design .vc-v291-booking__contacts {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 24px;
}

body.vc-next-design .vc-v291-booking__contacts a {
  color: #171313;
  font-size: 14.5px;
  overflow-wrap: anywhere;
}

body.vc-next-design .vc-v291-booking__before {
  margin-top: 24px;
  padding: 28px;
  border-radius: 16px;
  background: #f4efe9;
}

body.vc-next-design .vc-v291-booking__before h2 {
  font-size: 20px;
}

@media (max-width: 980px) {
  body.vc-next-design .vc-v291-booking__layout {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-booking__clinic > section:first-child {
    position: static;
  }
}

@media (max-width: 700px) {
  body.vc-next-design .vc-v291-booking__steps > div {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-booking__steps article {
    border-right: 0;
    border-bottom: 1px solid rgba(23, 19, 19, .14);
  }

  body.vc-next-design .vc-v291-booking__steps article:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-booking__hero > div,
  body.vc-next-design .vc-v291-booking__layout {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v291-booking__hero > div,
  body.vc-next-design .vc-v291-booking__layout {
    padding-right: 16px;
    padding-left: 16px;
  }

  body.vc-next-design .vc-v291-booking__hero h1 {
    font-size: 25px;
    line-height: 1.02;
  }

  body.vc-next-design .vc-v291-booking__clinic dl div {
    gap: 8px;
    font-size: 12.5px;
  }

  body.vc-next-design .vc-v291-booking__clinic dt,
  body.vc-next-design .vc-v291-booking__clinic dd {
    white-space: nowrap;
  }
}

/* Booking populated-state completion.
   The booking record and clinic settings own copy/facts; this layer owns the
   complete Claude-approved consultation composition. */
body.vc-next-design .vc-v291-booking__section {
  box-sizing: border-box;
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v291-booking__section + .vc-v291-booking__section {
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__section-head {
  display: flex;
  max-width: 720px;
  flex-direction: column;
  gap: 16px;
}

body.vc-next-design .vc-v291-booking__section-head > span,
body.vc-next-design .vc-v291-booking__prepare-after > section > span,
body.vc-next-design .vc-v291-booking__evidence > div > span {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__section :is(h2, h3, h4, p) {
  margin-top: 0;
}

body.vc-next-design .vc-v291-booking__section h2 {
  max-width: 22ch;
  font-family: var(--vc-font-display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.02;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__section-head > p,
body.vc-next-design .vc-v291-booking__evidence > div > p {
  max-width: 66ch;
  color: var(--vc-colour-text-muted);
  font-size: 16.5px;
  line-height: 1.72;
}

body.vc-next-design .vc-v291-booking__assessment {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(44px, 7vw, 92px);
  align-items: start;
}

body.vc-next-design .vc-v291-booking__benefits > h3 {
  margin-bottom: 20px;
  color: var(--vc-colour-text-muted);
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__benefits > div {
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__benefits article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__benefits article > span {
  grid-row: 1 / 3;
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 12px;
}

body.vc-next-design .vc-v291-booking__benefits h4 {
  font-size: 16px;
  line-height: 1.35;
}

body.vc-next-design .vc-v291-booking__benefits p,
body.vc-next-design .vc-v291-booking__route-cards p,
body.vc-next-design .vc-v291-booking__prepare-after article p {
  margin-bottom: 0;
  color: var(--vc-colour-text-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__routes {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

body.vc-next-design .vc-v291-booking__routes > .vc-v291-booking__main {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

body.vc-next-design .vc-v291-booking__route-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.vc-next-design .vc-v291-booking__route-cards > article,
body.vc-next-design .vc-v291-booking__fee {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
  padding: 26px;
  border: 1px solid var(--vc-colour-border);
  border-radius: var(--vc-radius-md);
  background: #fff;
}

body.vc-next-design .vc-v291-booking__route-cards > article > span,
body.vc-next-design .vc-v291-booking__fee h2 {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__route-cards h3 {
  margin-bottom: 0;
  font-family: var(--vc-font-display);
  font-size: 23px;
  font-weight: 500;
  line-height: 1.05;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__route-cards a,
body.vc-next-design .vc-v291-booking__specific > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  color: var(--vc-colour-action-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 5px;
}

body.vc-next-design .vc-v291-booking__route-cards .vc-v291-booking__online > a {
  min-height: 48px;
  justify-content: center;
  padding: 0 24px;
  border-radius: var(--vc-radius-pill);
  background: var(--vc-colour-action-primary);
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12px;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__contact-route > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
}

body.vc-next-design .vc-v291-booking__routes .vc-v291-booking__clinic {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

body.vc-next-design .vc-v291-booking__routes .vc-v291-booking__clinic > section:first-child {
  position: static;
}

body.vc-next-design .vc-v291-booking__routes .vc-v291-booking__clinic h2 {
  max-width: 14ch;
  font-size: clamp(24px, 2.15vw, 31px);
  line-height: 1.02;
}

body.vc-next-design .vc-v291-booking__fee h2 {
  max-width: none;
  margin-bottom: 0;
}

body.vc-next-design .vc-v291-booking__fee p {
  margin: 0;
  color: var(--vc-colour-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__specific {
  padding: 28px 0 0;
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__steps > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 38px;
  border-top: 1px solid var(--vc-colour-border);
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__steps article {
  min-width: 0;
  padding: 28px 24px;
  border-right: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__steps article:last-child {
  border-right: 0;
}

body.vc-next-design .vc-v291-booking__steps article > span {
  color: var(--vc-colour-action-primary);
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-booking__steps h3 {
  margin: 16px 0 10px;
  font-size: 17px;
  line-height: 1.3;
}

body.vc-next-design .vc-v291-booking__steps p {
  margin: 0;
  color: var(--vc-colour-text-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__practitioners {
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v291-booking__doctor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 36px;
}

body.vc-next-design .vc-v291-booking__doctor-grid > a {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--vc-colour-border);
  border-radius: var(--vc-radius-md);
  background: #fff;
  color: var(--vc-colour-text-strong);
  text-decoration: none;
}

body.vc-next-design .vc-v291-booking__doctor-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center top;
}

body.vc-next-design .vc-v291-booking__doctor-grid a > span {
  display: grid;
  gap: 5px;
  padding: 18px 20px 20px;
}

body.vc-next-design .vc-v291-booking__doctor-grid small {
  color: var(--vc-colour-text-muted);
}

body.vc-next-design .vc-v291-booking__prepare-after {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 7vw, 92px);
}

body.vc-next-design .vc-v291-booking__prepare-after > section {
  min-width: 0;
}

body.vc-next-design .vc-v291-booking__prepare-after > section > h2 {
  margin-top: 14px;
}

body.vc-next-design .vc-v291-booking__prepare-after > section > p {
  color: var(--vc-colour-text-muted);
}

body.vc-next-design .vc-v291-booking__prepare-after > section > div {
  margin-top: 26px;
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__prepare-after article {
  padding: 20px 0;
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__prepare-after h3 {
  margin-bottom: 6px;
  font-size: 16px;
}

body.vc-next-design .vc-v291-booking__evidence {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: clamp(38px, 6vw, 80px);
  align-items: center;
}

body.vc-next-design .vc-v291-booking__evidence > div > h2 {
  margin-top: 14px;
}

body.vc-next-design .vc-v291-booking__evidence > aside {
  padding: 28px;
  border: 1px solid var(--vc-colour-border);
  border-radius: var(--vc-radius-md);
  background: var(--vc-colour-surface-warm);
}

body.vc-next-design .vc-v291-booking__evidence > aside > span {
  display: block;
  width: 26px;
  height: 2px;
  margin-bottom: 20px;
  background: var(--vc-colour-action-primary);
}

body.vc-next-design .vc-v291-booking__evidence > aside p {
  margin: 9px 0 0;
  color: var(--vc-colour-text-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-booking__faqs {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(40px, 7vw, 96px);
}

body.vc-next-design .vc-v291-booking__faqs > *,
body.vc-next-design .vc-v291-booking__faqs details,
body.vc-next-design .vc-v291-booking__faqs summary {
  min-width: 0;
}

body.vc-next-design .vc-v291-booking__faqs > div:last-child {
  border-top: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__faqs details {
  border-bottom: 1px solid var(--vc-colour-border);
}

body.vc-next-design .vc-v291-booking__faqs summary {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  color: var(--vc-colour-text-strong);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}

body.vc-next-design .vc-v291-booking__faqs summary::-webkit-details-marker {
  display: none;
}

body.vc-next-design .vc-v291-booking__faqs summary span {
  color: var(--vc-colour-action-primary);
  font-size: 22px;
  transition: transform .18s ease;
}

body.vc-next-design .vc-v291-booking__faqs details[open] summary span {
  transform: rotate(45deg);
}

body.vc-next-design .vc-v291-booking__faqs details > p {
  max-width: 70ch;
  margin: 0;
  padding: 0 0 22px;
  color: var(--vc-colour-text-muted);
  font-size: 15px;
  line-height: 1.68;
}

@media (max-width: 900px) {
  body.vc-next-design .vc-v291-booking__assessment,
  body.vc-next-design .vc-v291-booking__routes,
  body.vc-next-design .vc-v291-booking__evidence,
  body.vc-next-design .vc-v291-booking__faqs {
    grid-template-columns: minmax(0, 1fr);
  }

  body.vc-next-design .vc-v291-booking__routes .vc-v291-booking__clinic > section:first-child {
    position: static;
  }

  body.vc-next-design .vc-v291-booking__steps > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vc-next-design .vc-v291-booking__steps article:nth-child(2) {
    border-right: 0;
  }

  body.vc-next-design .vc-v291-booking__steps article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--vc-colour-border);
  }
}

@media (max-width: 600px) {
  body.vc-next-design .vc-v291-booking__section {
    padding: 56px 20px;
  }

  body.vc-next-design .vc-v291-booking__route-cards,
  body.vc-next-design .vc-v291-booking__steps > div,
  body.vc-next-design .vc-v291-booking__doctor-grid,
  body.vc-next-design .vc-v291-booking__prepare-after {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-booking__steps article {
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid var(--vc-colour-border);
  }

  body.vc-next-design .vc-v291-booking__steps article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--vc-colour-border);
  }

  body.vc-next-design .vc-v291-booking__steps article:last-child {
    border-bottom: 0;
  }
}

/* Approved concerns directory. */
body.vc-next-design .vc-v291-concerns-host,
body.vc-next-design .vc-v291-concerns-host > .elementor-widget,
body.vc-next-design .vc-v291-concerns-host .elementor-widget-container,
body.vc-next-design .vc-v291-concerns-host .elementor-shortcode {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.vc-next-design .vc-v291-concerns {
  width: 100%;
  background: #fff;
  color: #5c554f;
}

body.vc-next-design .vc-v291-concerns__hero {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: minmax(0, 1fr) 356px;
  gap: 64px;
  align-items: end;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px clamp(44px, 5.5vw, 72px);
}

body.vc-next-design .vc-v291-concerns__hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #f4efe9;
  content: "";
}

body.vc-next-design .vc-v291-concerns__hero {
  position: relative;
  isolation: isolate;
}

body.vc-next-design .vc-v291-concerns__hero nav {
  display: flex;
  gap: 7px;
  margin-bottom: 22px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
}

body.vc-next-design .vc-v291-concerns__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-concerns__hero h1 {
  max-width: 15ch;
  margin: 18px 0 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(30px, 3.8vw, 50px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.03;
  overflow-wrap: normal;
  text-transform: uppercase;
  text-wrap: balance;
  word-break: normal;
}

body.vc-next-design .vc-v291-concerns__hero > div > p {
  max-width: 54ch;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: clamp(16px, 1.4vw, 18.5px);
  line-height: 1.7;
}

body.vc-next-design .vc-v291-concerns__hero form {
  padding: 22px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(21, 18, 14, .06);
}

body.vc-next-design .vc-v291-concerns__hero form > label {
  display: block;
  margin-bottom: 10px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__hero form > span {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid rgba(23, 19, 19, .24);
  border-radius: 999px;
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concerns__hero form input {
  width: 100%;
  padding: 13px 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 15px;
}

body.vc-next-design .vc-v291-concerns__hero form p {
  margin: 12px 0 0;
  color: #6f665c;
  font-size: 13px;
}

body.vc-next-design .vc-v291-concerns__catalogue {
  padding: var(--vc-section-space) max(40px, calc((100% - 1100px) / 2)) clamp(56px, 7vw, 96px);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concerns__catalogue > nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-concerns__catalogue > nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 11px 20px;
  border: 1px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #3a332f;
  font-size: 13.5px;
  text-decoration: none;
}

body.vc-next-design .vc-v291-concerns__catalogue > nav a.is-current {
  border-color: #171313;
  background: #171313;
  color: #fff;
}

body.vc-next-design .vc-v291-concerns__group,
body.vc-next-design .vc-v291-concerns__results {
  padding-top: clamp(34px, 4vw, 50px);
}

body.vc-next-design .vc-v291-concerns__group > header,
body.vc-next-design .vc-v291-concerns__results > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

body.vc-next-design .vc-v291-concerns__group h2,
body.vc-next-design .vc-v291-concerns__results h2,
body.vc-next-design .vc-v291-concerns__crossroute h2,
body.vc-next-design .vc-v291-concerns__cta h2 {
  margin: 0;
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.08;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__group > header p {
  max-width: 56ch;
  margin: 8px 0 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-concerns__group > header > span {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

body.vc-next-design .vc-v291-concerns__grid > a {
  display: flex;
  min-height: 150px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border: 1px solid rgba(23, 19, 19, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(21, 18, 14, .05);
  color: inherit;
  text-decoration: none;
  transition: border-color .24s, box-shadow .24s, transform .24s;
}

body.vc-next-design .vc-v291-concerns__grid > a:is(:hover, :focus-visible) {
  border-color: #d81620;
  box-shadow: 0 18px 34px -18px rgba(37, 18, 16, .24);
  transform: translateY(-3px);
}

body.vc-next-design .vc-v291-concerns__grid small,
body.vc-next-design .vc-v291-concerns__grid strong,
body.vc-next-design .vc-v291-concerns__grid em {
  display: block;
}

body.vc-next-design .vc-v291-concerns__grid small {
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__grid strong {
  margin: 9px 0 7px;
  color: #171313;
  font-size: 18px;
}

body.vc-next-design .vc-v291-concerns__grid p {
  max-width: 44ch;
  margin: 0;
  color: #5c554f;
  font-size: 14px;
  line-height: 1.6;
}

body.vc-next-design .vc-v291-concerns__grid em {
  margin-top: 11px;
  color: #8a7f72;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  font-style: normal;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__grid > a > b {
  color: #d81620;
}

body.vc-next-design .vc-v291-concerns__disclaimer {
  max-width: 64ch;
  margin: clamp(32px, 4vw, 44px) 0 0;
  color: #6f665c;
  font-size: 14px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-concerns__crossroute,
body.vc-next-design .vc-v291-concerns__cta {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  margin: 0 auto;
  padding: var(--vc-section-space) 40px;
}

body.vc-next-design .vc-v291-concerns__crossroute h2 {
  max-width: 22ch;
  margin-top: 16px;
  font-size: clamp(23px, 2.8vw, 34px);
}

body.vc-next-design .vc-v291-concerns__crossroute p,
body.vc-next-design .vc-v291-concerns__cta p {
  max-width: 52ch;
  margin: 14px 0 0;
  color: #5c554f;
  font-size: 16px;
  line-height: 1.7;
}

body.vc-next-design .vc-v291-concerns__crossroute > div:first-child > a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  margin-top: 24px;
  padding: 15px 26px;
  border: 1.5px solid #d81620;
  border-radius: 999px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 13px;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__crossroute > div:last-child {
  display: grid;
  gap: 10px;
}

body.vc-next-design .vc-v291-concerns__crossroute > div:last-child a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 12px;
  background: #faf7f4;
  color: #171313;
  text-decoration: none;
}

body.vc-next-design .vc-v291-concerns__crossroute > div:last-child span {
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__cta {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 550px) auto;
  justify-content: center;
  border-top: 1px solid rgba(23, 19, 19, .1);
  background: #faf7f4;
}

body.vc-next-design .vc-v291-concerns__cta h2 {
  font-size: clamp(24px, 3vw, 38px);
}

body.vc-next-design .vc-v291-concerns__cta > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.vc-next-design .vc-v291-concerns__cta > div:last-child a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 16px 28px;
  border: 1.5px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 13px;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-concerns__cta > div:last-child a.is-primary {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

@media (max-width: 820px) {
  body.vc-next-design .vc-v291-concerns__hero,
  body.vc-next-design .vc-v291-concerns__crossroute,
  body.vc-next-design .vc-v291-concerns__cta {
    grid-template-columns: 1fr;
  }

  body.vc-next-design .vc-v291-concerns__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-concerns__hero,
  body.vc-next-design .vc-v291-concerns__crossroute,
  body.vc-next-design .vc-v291-concerns__cta {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-concerns__catalogue {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.vc-next-design .vc-v291-concerns__group > header {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Contact: approved v2.9.1 composition, governed clinic facts and preserved Elementor form. */
body.vc-next-design .vc-v291-contact {
  width: 100%;
  background: #fff;
}

body.vc-next-design .vc-v291-contact__hero {
  width: 100%;
  background: var(--vc-colour-surface-warm, #f4efe9);
}

body.vc-next-design .vc-v291-contact__hero > div {
  width: min(100% - 80px, 1180px);
  margin: 0 auto;
  /* B1 utility header: tighter band */
  padding: clamp(40px, 4.4vw, 58px) 0 46px;
}

body.vc-next-design .vc-v291-contact__hero nav {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .08em;
}

body.vc-next-design .vc-v291-contact__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__eyebrow i {
  width: 22px;
  height: 2px;
  background: #d81620;
}

body.vc-next-design .vc-v291-contact__hero h1 {
  max-width: 860px;
  margin: 18px 0 0;
  color: #171313;
  font-size: clamp(28px, 3.3vw, 46px);
  letter-spacing: -.01em;
  line-height: 1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__hero p {
  max-width: 620px;
  margin: 20px 0 0;
  color: #5c554f;
  font-size: 17.5px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-contact__layout {
  box-sizing: border-box;
  width: min(100% - 80px, 1180px);
  margin: 0 auto;
  padding: 52px 0 72px;
  align-items: flex-start;
  display: block;
}

body.vc-next-design .vc-v291-contact__layout > .e-con-inner {
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
}

body.vc-next-design .vc-v291-contact__left,
body.vc-next-design .vc-v291-contact__right {
  min-width: 0;
  width: 100%;
}

body.vc-next-design .vc-v291-contact__details {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

body.vc-next-design .vc-v291-contact__details > section:first-child {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body.vc-next-design .vc-v291-contact__details > section:first-child > header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.vc-next-design .vc-v291-contact__details h2 {
  margin: 0;
}

body.vc-next-design .vc-v291-contact__details > section:first-child > header h2 {
  font-size: clamp(20px, 2.4vw, 27px);
  line-height: 1.1;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__status {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  padding: 8px 14px;
  border: 1px solid rgba(23, 19, 19, .16);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .04em;
}

body.vc-next-design .vc-v291-contact__status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #a79f96;
}

body.vc-next-design .vc-v291-contact__status.is-open i {
  background: #2d8b57;
}

body.vc-next-design .vc-v291-contact__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px 40px;
}

body.vc-next-design .vc-v291-contact__facts > div {
  min-width: 0;
}

body.vc-next-design .vc-v291-contact__facts > .is-hours {
  grid-column: 1 / -1;
}

body.vc-next-design .vc-v291-contact__facts > div > span,
body.vc-next-design .vc-v291-contact__transport h2 {
  display: block;
  margin-bottom: 7px;
  color: #6f665c;
  font-family: var(--vc-font-label);
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__facts a,
body.vc-next-design .vc-v291-contact__facts > div > div {
  display: inline-flex;
  min-height: 44px;
  flex-direction: column;
  justify-content: center;
  color: #171313;
  font-size: 16px;
  line-height: 1.55;
  text-decoration: none;
}

body.vc-next-design .vc-v291-contact__facts b {
  font-weight: 400;
}

body.vc-next-design .vc-v291-contact__facts small {
  margin-top: 6px;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__facts dl {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0;
}

body.vc-next-design .vc-v291-contact__facts dl div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  color: #171313;
  font-size: 14.5px;
}

body.vc-next-design .vc-v291-contact__facts dt {
  color: #5c554f;
}

body.vc-next-design .vc-v291-contact__facts dd {
  margin: 0;
  font-family: var(--vc-font-label);
  white-space: nowrap;
}

body.vc-next-design .vc-v291-contact__facts a.vc-v291-contact__single {
  overflow-wrap: anywhere;
}

body.vc-next-design .vc-v291-contact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.vc-next-design .vc-v291-contact__actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 26px;
  border: 1.5px solid rgba(23, 19, 19, .28);
  border-radius: 999px;
  color: #171313;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__actions a.is-primary {
  border-color: #d81620;
  background: #d81620;
  color: #fff;
}

body.vc-next-design .vc-v291-contact__transport {
  padding-top: 24px;
  border-top: 1px solid rgba(23, 19, 19, .12);
}

body.vc-next-design .vc-v291-contact__transport-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
body.vc-next-design .vc-v291-contact__transport-grid > li { margin: 0; }
body.vc-next-design .vc-v291-contact__transport-card {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid var(--vc-colour-border, rgba(23, 19, 19, .12));
  border-radius: var(--vc-radius-card, 14px);
  background: var(--vc-colour-surface-white, #fff);
  color: var(--vc-colour-ink, #171313);
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.vc-next-design a.vc-v291-contact__transport-card:hover {
  border-color: rgba(23, 19, 19, .24);
  box-shadow: 0 12px 26px rgba(23, 19, 19, .09);
  transform: translateY(-1px);
}
/* Generic Underground-roundel glyph (black outline) + the station name as text. */
body.vc-next-design .vc-v291-contact__transport-roundel {
  flex: none;
  width: 34px;
  height: 34px;
  color: var(--vc-colour-ink, #171313);
}
body.vc-next-design .vc-v291-contact__transport-roundel svg { display: block; width: 100%; height: 100%; }
body.vc-next-design .vc-v291-contact__transport-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  margin-right: auto;
}
body.vc-next-design .vc-v291-contact__transport-body strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--vc-colour-ink, #171313);
}
body.vc-next-design .vc-v291-contact__transport-body span {
  font-family: var(--vc-font-label);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--vc-colour-muted, #6f665c);
}
body.vc-next-design .vc-v291-contact__transport-walk {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--vc-colour-surface-warm, #f4efe9);
  color: var(--vc-colour-ink, #171313);
}
body.vc-next-design .vc-v291-contact__transport-walk svg { display: block; width: 20px; height: 20px; }
@media (max-width: 560px) {
  body.vc-next-design .vc-v291-contact__transport-grid { grid-template-columns: 1fr; }
}

body.vc-next-design .vc-v291-contact__right {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

body.vc-next-design .vc-v291-contact__right .vc-clinic-map {
  overflow: hidden;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 16px;
  background: #e7e2da;
}

body.vc-next-design .vc-v291-contact__right .vc-clinic-map__frame {
  display: block;
  width: 100%;
  height: clamp(240px, 26vw, 300px);
  border: 0;
}

body.vc-next-design .vc-v291-contact__right .vc-clinic-map__directions {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: flex-end;
  padding: 14px 20px;
  border-top: 1px solid rgba(23, 19, 19, .12);
  background: #fff;
  color: #d81620;
  font-family: var(--vc-font-label);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__formcard {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 30px;
  border: 1px solid rgba(23, 19, 19, .14);
  border-radius: 18px;
}

body.vc-next-design .vc-v291-contact__formcard .vc-v291-contact__form-heading {
  margin: 0;
}

body.vc-next-design .vc-v291-contact__formcard .vc-v291-contact__form-heading .elementor-heading-title {
  color: #171313;
  font-family: var(--vc-font-display);
  font-size: clamp(19px, 2.2vw, 25px);
  font-weight: 500;
  line-height: 1.12;
  text-transform: uppercase;
}

body.vc-next-design .vc-v291-contact__formcard .vc-v291-contact__form-intro {
  margin: 8px 0 18px;
}

body.vc-next-design .vc-v291-contact__formcard .vc-v291-contact__form-intro p {
  margin: 0;
  color: #5c554f;
  font-size: 15px;
  line-height: 1.65;
}

body.vc-next-design .vc-v291-contact__formcard .elementor-form-fields-wrapper {
  row-gap: 18px;
  column-gap: 18px;
}

body.vc-next-design .vc-v291-contact__formcard .elementor-field-group {
  margin-bottom: 0;
}

body.vc-next-design .vc-v291-contact__formcard :is(.elementor-field, .elementor-field-textual) {
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(23, 19, 19, .2);
  border-radius: 12px;
  background: #fff;
  color: #171313;
  font-family: var(--vc-font-body);
  font-size: 15.5px;
}

body.vc-next-design .vc-v291-contact__formcard .elementor-field-type-acceptance {
  color: #5c554f;
  font-size: 13.5px;
  line-height: 1.55;
}

body.vc-next-design .vc-v291-contact__formcard .elementor-button {
  width: 100%;
  min-height: 50px;
  border: 1px solid #d81620;
  border-radius: 999px;
  background: #d81620;
  color: #fff;
  font-family: var(--vc-font-label);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  body.vc-next-design .vc-v291-contact__layout > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
}

@media (max-width: 600px) {
  body.vc-next-design .vc-v291-contact__facts {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  body.vc-next-design .vc-v291-contact__hero > div {
    padding: 44px 20px 38px;
  }

  body.vc-next-design .vc-v291-contact__layout {
    padding: 38px 20px 56px;
  }

  body.vc-next-design .vc-v291-contact__actions {
    flex-direction: column;
  }

  body.vc-next-design .vc-v291-contact__actions a {
    width: 100%;
  }

  body.vc-next-design .vc-v291-contact__formcard {
    padding: 22px;
  }
}

@media (max-width: 360px) {
  body.vc-next-design .vc-v291-contact__hero > div,
  body.vc-next-design .vc-v291-contact__layout {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* VC-VIS-013 — shared desktop container rail. On desktop (>=1260px) the v291 body
   sections drop their 40px inner padding so content sits flush on the 159px rail at
   1180px wide — the same rail the header, footer and v31 family pages use (design B3:
   padding = max(40px, (100vw - 1180px)/2)). Below 1260px the base + mobile gutter
   rules (40/20/16px) still apply, matching the families' min(100% - Xpx, 1180px). */
@media (min-width: 1260px) {
  body.vc-next-design .vc-v291-approved-feature-wrap,
  body.vc-next-design .vc-v291-approved-section {
    padding-left: 0;
    padding-right: 0;
  }

  /* Doctors grid & practitioner body are self-centring (width:min(1180px,100%)) boxes
     that inherit the group's 40px inner padding (→199). Their sibling hero/routing/others
     break out to 100vw and pad via the B3 formula instead, so only these two need the
     inset removed to sit flush on the 159 rail. Below 1260px the 40px gutter stays. */
  body.vc-next-design .vc-v291-doctors__grid,
  body.vc-next-design .vc-v291-practitioner__body {
    padding-left: 0;
    padding-right: 0;
  }
}

/* === D1 (2026-07-30): unify every primary "Book a consultation" button to the header
   reference — brighter #d81620 fill (in-page buttons were the darker #d81620), #d81620
   border, 999px pill, 10x20 padding, 12px/700, .07em tracking. Header (Elementor) and
   footer (.vc-sf-book) already brought to this spec; this covers the in-page a.is-primary
   variants styled per-context above. !important is deliberate: single-source normalisation. */
/* Metrics — every PRIMARY pill CTA (book + "Contact the clinic") matches the header. */
body.vc-next-design :is(
  a.is-primary,
  .vc-site-footer .vc-sf-book,
  .vc-v291-approved-button--primary,
  .vc-v31-family-button--primary,
  .vc-pricing__button:not(.vc-pricing__button--secondary),
  .vc-footer-button--primary
) {
  background: var(--vc-colour-brand-primary, #d81620) !important;
  border: 1px solid var(--vc-colour-brand-primary, #d81620) !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  min-height: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}
body.vc-next-design :is(
  a.is-primary,
  .vc-site-footer .vc-sf-book,
  .vc-v291-approved-button--primary,
  .vc-v31-family-button--primary,
  .vc-pricing__button:not(.vc-pricing__button--secondary),
  .vc-footer-button--primary
):is(:hover, :focus-visible) {
  background: var(--vc-colour-action-primary-hover, #ad0c13) !important;
  border-color: var(--vc-colour-action-primary-hover, #ad0c13) !important;
}

/* D1 follow-up (2026-07-30): the header's leading calendar glyph on every "Book a
   consultation" button, so they all carry the same icon. Single-source ::before calendar
   (currentColor mask) — the header keeps its own Elementor calendar. Applied ONLY to
   book CTAs: the hero uses the .vc-book-cta marker so the shared-class "Contact the
   clinic" button (also .vc-v291-approved-button--primary) is deliberately excluded.
   CONVENTION (render verified 2026-08-02 across home / treatment / concern / about / doctors /
   pricing — every calendar in the DOM is a genuine "Book a consultation"): the calendar denotes
   BOOK intent only. New booking buttons should carry .vc-book-cta; a NON-booking primary action
   must NOT use a bare a.is-primary or it will inherit this icon — give it a secondary/neutral
   class instead. This is why the calendar list keys off intent markers + specific book classes. */
body.vc-next-design :is(
  a.is-primary,
  .vc-site-footer .vc-sf-book,
  .vc-book-cta,
  .vc-v31-family-button--primary,
  .vc-pricing__button:not(.vc-pricing__button--secondary),
  .vc-footer-button--primary
) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}
body.vc-next-design :is(
  a.is-primary,
  .vc-site-footer .vc-sf-book,
  .vc-book-cta,
  .vc-v31-family-button--primary,
  .vc-pricing__button:not(.vc-pricing__button--secondary),
  .vc-footer-button--primary
)::before {
  content: "";
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='5'%20width='16'%20height='15'%20rx='2'/%3E%3Cpath%20d='M4%2010h16M8%203v4M16%203v4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='5'%20width='16'%20height='15'%20rx='2'/%3E%3Cpath%20d='M4%2010h16M8%203v4M16%203v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* D1 mobile (2026-07-30): bring the mobile-nav book buttons into the unified system —
   header quick-book + in-menu book get the leading calendar, uppercase and weight 700 to
   match every other "Book a consultation". Icon sized 13px for the tighter mobile header. */
body.vc-next-design :is(.vc-global-nav__mobile-book, .vc-global-nav__mobile-quick-book) {
  gap: 6px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
}
body.vc-next-design :is(.vc-global-nav__mobile-book, .vc-global-nav__mobile-quick-book)::before {
  content: "";
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='5'%20width='16'%20height='15'%20rx='2'/%3E%3Cpath%20d='M4%2010h16M8%203v4M16%203v4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='5'%20width='16'%20height='15'%20rx='2'/%3E%3Cpath%20d='M4%2010h16M8%203v4M16%203v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ============================================================
   MOBILE POLISH FIXES — 2026-08-06 (staging review feedback)
   ============================================================ */

/* [5] Mobile menu: keep keyboard focus visible as a clean inset highlight
   rather than a detached red box that flashed on tap. */
body.vc-next-design .vc-global-nav__drawer a:focus-visible,
body.vc-next-design .vc-global-nav__drawer button:focus-visible {
  outline: none;
  background: rgba(216, 22, 32, .06);
  box-shadow: inset 3px 0 0 var(--vc-colour-brand-primary, #d81620);
}

/* [1] Top utility bar: never overflow on phones. Centre the open/closed
   status and drop the location line where there isn't room. */
@media (max-width: 640px) {
  body.vc-next-design .vc-header-utility {
    justify-content: center !important;
    gap: 14px;
    padding-inline: 16px;
    overflow: hidden;
  }
  body.vc-next-design .vc-header-utility__location { display: none !important; }
  body.vc-next-design .vc-header-utility__status { margin: 0 !important; }
}

/* [2] Header: the loose search icon was colliding with the logo on mobile.
   Search lives inside the menu drawer, so hide the standalone toggle there. */
@media (max-width: 1240px) {
  body.vc-next-design .vc-global-nav__search-toggle { display: none !important; }
}

/* [4] Blog / advice card images: fill the whole frame (kills the beige band)
   and crop with the focal point up on the face. */
body.vc-next-design .vc-v291-advice__grid figure,
body.vc-next-design .vc-v291-advice__featured figure { position: relative; }
body.vc-next-design .vc-v291-advice__grid figure img,
body.vc-next-design .vc-v291-advice__featured figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
