html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--bm-header-height);
}

:root {
  --bm-header-height: 5rem;
  --bm-icon-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
  --bm-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --bm-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m20 6-11 11-5-5'/%3E%3C/svg%3E");
  --bm-icon-check-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --bm-icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --bm-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
  --bm-icon-dollar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20'/%3E%3Cpath d='M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
  --bm-icon-external-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  --bm-icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
  --bm-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
  --bm-icon-map-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --bm-icon-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 7.5A9 9 0 1 1 12 3'/%3E%3C/svg%3E");
  --bm-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  --bm-icon-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E");
  --bm-icon-smile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cline x1='9' x2='9.01' y1='9' y2='9'/%3E%3Cline x1='15' x2='15.01' y1='9' y2='9'/%3E%3C/svg%3E");
  --bm-icon-sliders-horizontal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='21' x2='14' y1='4' y2='4'/%3E%3Cline x1='10' x2='3' y1='4' y2='4'/%3E%3Cline x1='21' x2='12' y1='12' y2='12'/%3E%3Cline x1='8' x2='3' y1='12' y2='12'/%3E%3Cline x1='21' x2='16' y1='20' y2='20'/%3E%3Cline x1='12' x2='3' y1='20' y2='20'/%3E%3Cline x1='14' x2='14' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='16' x2='16' y1='18' y2='22'/%3E%3C/svg%3E");
  --bm-icon-droplets: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z'/%3E%3Cpath d='M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a7 7 0 0 1-11.91 4.97'/%3E%3C/svg%3E");
  --bm-icon-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.582a.5.5 0 0 1 0 .962L15.5 14.064a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E");
  --bm-icon-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='m4.93 4.93 1.41 1.41'/%3E%3Cpath d='m17.66 17.66 1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='m6.34 17.66-1.41 1.41'/%3E%3Cpath d='m19.07 4.93-1.41 1.41'/%3E%3C/svg%3E");
  --bm-icon-wallet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3v4a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5'/%3E%3Cpath d='M18 12h.01'/%3E%3C/svg%3E");
  --bm-icon-zap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.wp-site-blocks {
  min-height: 100vh;
  padding-top: var(--bm-header-height);
}

.wp-site-blocks > .wp-block-template-part:has(.bm-site-header) {
  height: 0;
  margin-block-start: 0;
}

.bm-site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 50;
  box-sizing: border-box;
  overflow: visible;
  width: 100%;
  border-bottom: 1px solid rgba(229, 231, 235, 0.6);
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(14px);
}

.bm-header-inner {
  position: relative;
  display: flex;
  height: 5rem;
  max-width: 1280px;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0 1rem;
}

.bm-logo {
  position: relative;
  z-index: 52;
  display: flex;
  margin-bottom: -2rem;
  align-self: flex-start;
  padding-top: 0.5rem;
  text-decoration: none;
}

.bm-logo img {
  display: block;
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  filter: drop-shadow(0 6px 8px rgba(15, 23, 42, 0.18));
}

.bm-nav {
  display: none;
  align-items: center;
  gap: 0.125rem;
}

.bm-nav-item {
  position: relative;
}

.bm-nav-item::after {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 59;
  height: 0.75rem;
  content: "";
}

.bm-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.5rem;
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.625rem 0.7rem;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    color 160ms ease;
}

.bm-nav-link:hover,
.bm-nav-link:focus-visible,
.bm-nav-item:focus-within > .bm-nav-link,
.bm-nav-item:hover > .bm-nav-link {
  background: rgba(243, 244, 246, 0.68);
  color: var(--wp--preset--color--bm-blue-dark);
}

.bm-nav-chevron {
  width: 0.75rem;
  height: 0.75rem;
  opacity: 0.62;
}

.bm-nav-chevron::before {
  display: block;
  width: 0.45rem;
  height: 0.45rem;
  margin: 0.1rem auto 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  content: "";
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.bm-nav-item:hover .bm-nav-chevron::before,
.bm-nav-item:focus-within .bm-nav-chevron::before {
  transform: translateY(0.125rem) rotate(225deg);
}

.bm-nav-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 60;
  min-width: 16.25rem;
  padding: 0.5rem 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.16),
    0 4px 10px rgba(15, 23, 42, 0.08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.35rem);
  transition:
    opacity 140ms ease,
    transform 140ms ease,
    visibility 140ms ease;
  transition-delay: 180ms;
  visibility: hidden;
}

.bm-nav-item:hover .bm-nav-menu,
.bm-nav-item:focus-within .bm-nav-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0.25rem);
  transition-delay: 0ms;
  visibility: visible;
}

.bm-nav-menu a {
  display: block;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  padding: 0.625rem 1.25rem;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    color 160ms ease;
}

.bm-nav-menu a:hover,
.bm-nav-menu a:focus-visible {
  background: #f9fafb;
  color: var(--wp--preset--color--bm-blue);
}

.bm-book-link {
  border-radius: 0.5rem;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.bm-book-link:hover {
  background: var(--wp--preset--color--bm-blue-dark);
  box-shadow: 0 8px 16px rgba(31, 53, 68, 0.18);
  color: #fff;
  transform: translateY(-1px);
}

.bm-mobile-menu {
  display: block;
  margin-left: auto;
}

.bm-mobile-menu > summary {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.5rem;
  color: #4b5563;
  cursor: pointer;
  list-style: none;
}

.bm-mobile-menu > summary::-webkit-details-marker,
.bm-mobile-panel details > summary::-webkit-details-marker {
  display: none;
}

.bm-mobile-menu > summary:hover {
  background: #f3f4f6;
}

.bm-mobile-menu-icon,
.bm-mobile-menu-icon::before,
.bm-mobile-menu-icon::after {
  display: block;
  width: 1.4rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.bm-mobile-menu-icon {
  position: relative;
}

.bm-mobile-menu-icon::before,
.bm-mobile-menu-icon::after {
  position: absolute;
  left: 0;
}

.bm-mobile-menu-icon::before {
  top: -0.45rem;
}

.bm-mobile-menu-icon::after {
  top: 0.45rem;
}

.bm-mobile-menu[open] .bm-mobile-menu-icon {
  background: transparent;
}

.bm-mobile-menu[open] .bm-mobile-menu-icon::before {
  transform: translateY(0.45rem) rotate(45deg);
}

.bm-mobile-menu[open] .bm-mobile-menu-icon::after {
  transform: translateY(-0.45rem) rotate(-45deg);
}

.bm-mobile-panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 51;
  max-height: calc(100vh - 5rem);
  overflow: auto;
  border-top: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 18px 30px rgba(15, 23, 42, 0.12);
  padding: 0.25rem 1rem 1rem;
}

.bm-mobile-panel a,
.bm-mobile-panel details > summary {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f3f4f6;
  color: #374151;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  padding: 0.875rem 0;
  text-decoration: none;
}

.bm-mobile-panel details > summary {
  cursor: pointer;
  list-style: none;
}

.bm-mobile-panel details > summary::after {
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid #9ca3af;
  border-bottom: 2px solid #9ca3af;
  content: "";
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.bm-mobile-panel details[open] > summary::after {
  transform: rotate(225deg);
}

.bm-mobile-panel details a {
  background: #f9fafb;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.625rem 1.25rem;
}

.bm-mobile-panel .bm-mobile-book-link {
  display: block;
  margin-top: 0.75rem;
  border: 0;
  border-radius: 0.5rem;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  padding: 0.8rem 1rem;
  text-align: center;
}

.bm-site-main {
  margin-block-start: 0;
}

.bm-page-shell {
  margin-block-start: 0;
}

.bm-site-footer {
  background: #1a1a1a;
  color: #fff;
  margin-block-start: 0;
}

.bm-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 3rem 1rem;
}

.bm-footer-grid {
  display: grid;
  gap: 2.5rem;
}

.bm-footer-heading {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.bm-footer-list {
  display: grid;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-footer-stack {
  display: grid;
  gap: 2rem;
}

.bm-site-footer p,
.bm-site-footer a,
.bm-footer-list a {
  color: #9ca3af;
  font-size: 0.9rem;
  line-height: 1.55;
}

.bm-site-footer p {
  margin: 0;
}

.bm-site-footer a {
  text-decoration: none;
  transition: color 160ms ease;
}

.bm-site-footer a:hover {
  color: #fff;
}

.bm-footer-location {
  margin-bottom: 1.5rem;
}

.bm-footer-location > * + * {
  margin-top: 0.25rem;
}

.bm-footer-location-title {
  color: #fff !important;
  font-weight: 800;
}

.bm-footer-hours {
  margin-top: 0.75rem !important;
}

.bm-footer-hours span {
  display: inline-block;
  margin-top: 0.25rem;
}

.bm-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.bm-footer-social a {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 999px;
  background: #333;
  color: #9ca3af;
}

.bm-footer-social a:hover {
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-footer-social svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: currentColor;
}

.bm-footer-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.bm-footer-badges img {
  display: block;
  width: auto;
  object-fit: contain;
}

.bm-footer-badges img:nth-child(1) {
  height: 4rem;
}

.bm-footer-badges img:nth-child(2),
.bm-footer-badges img:nth-child(3) {
  height: 3.5rem;
  width: 3.5rem;
  border-radius: 999px;
}

.bm-footer-badges img:nth-child(3) {
  filter: brightness(0) invert(1);
}

.bm-footer-bottom {
  border-top: 1px solid #2d2d2d;
  padding: 1.5rem 1rem;
  text-align: center;
}

.bm-footer-bottom p {
  color: #9ca3af;
  font-size: 0.75rem;
}

.bm-section {
  padding: 4rem 1rem;
}

.bm-section > .wp-block-group__inner-container,
.bm-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.bm-narrow {
  max-width: 896px;
  margin-left: auto;
  margin-right: auto;
}

.bm-eyebrow {
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

@media (min-width: 782px) {
  .bm-section {
    padding: 6rem 2rem;
  }

  .bm-header-inner {
    padding: 0 2rem;
  }

  .bm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-footer-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media (min-width: 1024px) {
  .bm-logo img {
    width: 7.5rem;
    height: 7.5rem;
  }

  .bm-nav {
    display: flex;
  }

  .bm-mobile-menu {
    display: none;
  }

  .bm-footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .bm-book-link {
    display: none;
  }
}

/* Page building primitives */
.bm-sports-page,
.bm-service-page {
  overflow-x: hidden;
}

.bm-sports-page :where(h1, h2, h3, p, figure),
.bm-service-page :where(h1, h2, h3, p, figure) {
  margin-top: 0;
}

.bm-sports-page p,
.bm-service-page p {
  line-height: 1.7;
}

.bm-sports-page a,
.bm-service-page a {
  text-underline-offset: 0.16em;
}

.bm-full-section {
  margin-block-start: 0;
  padding: 4rem 1rem;
}

.bm-full-section > .wp-block-group__inner-container,
.bm-section-inner {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.bm-section-narrow {
  max-width: 896px;
  margin-right: auto;
  margin-left: auto;
}

.bm-section-narrow > :where(p, h2, h3, .wp-block-embed, .wp-block-buttons, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-section-narrow > p + p,
.wp-block-column > p + p {
  margin-block-start: 1rem;
}

.bm-section-narrow > .wp-block-paragraph + .wp-block-paragraph,
.wp-block-column > .wp-block-paragraph + .wp-block-paragraph {
  margin-block-start: 1rem !important;
}

.bm-section-heading {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.bm-section-heading > :where(h1, h2, h3, p, .wp-block-buttons, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-section-heading > :where(h1, h2, h3, p, .wp-block-buttons):not(:first-child) {
  margin-block-start: 1rem;
}

.bm-eyebrow {
  margin-bottom: 1rem;
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.bm-eyebrow.is-light {
  color: rgba(255, 255, 255, 0.72);
}

.bm-eyebrow.is-gold {
  color: var(--wp--preset--color--bm-gold);
}

.bm-soft-bg {
  background: var(--wp--preset--color--bm-soft);
}

.bm-blue-bg {
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-blue-bg :where(h1, h2, h3) {
  color: #fff;
}

.bm-blue-bg p {
  color: rgba(255, 255, 255, 0.8);
}

.bm-hero-section {
  margin-block-start: 0;
  background: var(--wp--preset--color--bm-blue);
}

.bm-hero-columns {
  display: grid !important;
  align-items: stretch !important;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 0;
}

.bm-hero-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0;
}

.bm-hero-copy {
  box-sizing: border-box;
  display: flex;
  min-height: 540px;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 1.5rem;
}

.bm-hero-copy h1 {
  max-width: 35rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: var(--wp--preset--font-size--hero);
  letter-spacing: 0;
  line-height: 1.08;
}

.bm-hero-copy p:not(.bm-badge) {
  max-width: 32rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.125rem;
}

.bm-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  padding: 0.55rem 1.15rem;
  text-transform: uppercase;
}

.bm-badge::before,
.bm-hero-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--wp--preset--color--bm-gold);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-hero-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border-radius: 0.75rem;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
  font-weight: 800;
  line-height: 1.35;
  padding: 1rem 1.75rem;
  text-decoration: none;
}

.bm-hero-cta .wp-block-button__link::after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-hero-copy > .bm-badge + .wp-block-heading {
  margin-top: 2rem !important;
}

.bm-hero-copy > .wp-block-heading + p {
  margin-top: 1.5rem !important;
}

.bm-hero-copy > .wp-block-buttons {
  margin-top: 2rem !important;
}

.bm-button-gold .wp-block-button__link {
  background: var(--wp--preset--color--bm-gold);
  color: #fff;
}

.bm-button-gold .wp-block-button__link:hover {
  background: #b08832;
  color: #fff;
}

.bm-hero-image,
.bm-hero-image img {
  width: 100%;
  height: 100%;
}

.bm-hero-image {
  min-height: 320px;
  margin: 0;
}

.bm-hero-columns > .wp-block-column.bm-hero-image {
  display: flex;
  min-height: 100%;
}

.bm-hero-columns > .wp-block-column.bm-hero-image > .wp-block-image {
  flex: 1 1 auto;
}

.bm-hero-image img {
  display: block;
  height: 100% !important;
  object-fit: cover;
}

.bm-raised-image {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-raised-image img {
  display: block;
  width: 100%;
}

.bm-trust-bar {
  margin-block-start: 0;
  border-bottom: 1px solid rgba(209, 213, 219, 0.65);
  background: var(--wp--preset--color--bm-lavender);
  padding: 1.25rem 1rem;
}

.bm-trust-grid {
  display: flex;
  max-width: 1280px;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 2.5rem;
}

.bm-trust-grid p {
  margin: 0;
  color: var(--wp--preset--color--bm-blue);
  font-weight: 800;
  line-height: 1.2;
}

.bm-trust-item {
  align-items: center;
}

.bm-trust-item > .wp-block-icon,
.bm-trust-grid > p::before {
  display: none;
}

.bm-trust-item::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--wp--preset--color--bm-blue);
  flex: 0 0 auto;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-trust-icon.wp-block-icon {
  display: inline-grid;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-trust-icon svg {
  width: 0.85rem;
  height: 0.85rem;
}

.bm-trust-item > .bm-trust-icon.wp-block-icon {
  display: none;
}

.bm-word-cloud {
  display: flex;
  max-width: 1024px;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
}

.bm-word-cloud p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8) !important;
  cursor: default;
  font-weight: 600;
}

.bm-word-cloud p:hover,
.bm-word-cloud p:focus-visible {
  color: var(--wp--preset--color--bm-gold, #c5993a) !important;
}

@media (min-width: 768px) {
  .bm-word-cloud {
    gap: 1.25rem 2rem;
  }
}

.bm-video-embed {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.18);
}

.bm-video-embed iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.bm-cupping-image-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bm-cupping-image {
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-cupping-image img {
  display: block;
  width: 100%;
  height: clamp(12rem, 20vw, 16rem);
  object-fit: cover;
}

.bm-cupping-page .bm-bullet-list li::before {
  background: var(--wp--preset--color--bm-blue);
}

.bm-split-columns {
  display: grid !important;
  align-items: stretch !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bm-split-columns > .wp-block-column {
  display: flex;
  width: auto !important;
  min-width: 0;
  align-self: stretch !important;
  flex-basis: auto !important;
  flex-direction: column;
  justify-content: center;
}

.bm-split-columns > .wp-block-column:has(.bm-split-image) {
  justify-content: stretch;
}

.bm-split-image {
  position: relative;
  height: 100%;
  min-height: 32rem;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.16);
}

.bm-split-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-card-grid,
.bm-addon-grid,
.bm-service-grid,
.bm-testimonial-grid,
.bm-location-grid,
.bm-contact-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-card,
.bm-location-card,
.bm-contact-card,
.bm-service-card,
.bm-testimonial-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-card,
.bm-contact-card {
  padding: 1.75rem;
}

.bm-benefit-card {
  align-items: flex-start !important;
}

.bm-benefit-card > .wp-block-icon {
  display: inline-grid !important;
  box-sizing: border-box !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
  flex: 0 0 auto;
  margin-top: 0.125rem !important;
  place-items: center;
  border-radius: 999px !important;
  background: var(--wp--preset--color--bm-blue) !important;
  color: #fff !important;
  line-height: 0 !important;
  padding: 0 !important;
}

.bm-benefit-card > .wp-block-icon svg {
  display: none;
  width: 0.875rem !important;
  height: 0.875rem !important;
  fill: currentColor !important;
}

.bm-benefit-card > .wp-block-icon::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check) center / contain no-repeat;
  mask: var(--bm-icon-check) center / contain no-repeat;
}

.bm-swedish-benefit-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 1rem;
}

.bm-swedish-benefit-grid > .bm-swedish-benefit-card {
  margin-block: 0 !important;
}

.bm-swedish-benefit-card {
  --bm-swedish-benefit-icon: var(--bm-icon-shield);
  --bm-swedish-benefit-icon-size: 2.125rem;
  --bm-swedish-benefit-glyph-size: 1.0625rem;
  --bm-swedish-benefit-padding-x: 1rem;
  --bm-swedish-benefit-padding-y: 1rem;
  position: relative;
  display: flex !important;
  min-height: 0;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  box-sizing: border-box;
  width: 100%;
  padding: var(--bm-swedish-benefit-padding-y) var(--bm-swedish-benefit-padding-x) !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.bm-swedish-benefit-card:nth-child(2) {
  --bm-swedish-benefit-icon: var(--bm-icon-smile);
}

.bm-swedish-benefit-card:nth-child(3) {
  --bm-swedish-benefit-icon: var(--bm-icon-moon);
}

.bm-swedish-benefit-card:nth-child(4) {
  --bm-swedish-benefit-icon: var(--bm-icon-droplets);
}

.bm-swedish-benefit-card:nth-child(5) {
  --bm-swedish-benefit-icon: var(--bm-icon-heart);
}

.bm-swedish-benefit-card::before {
  content: "";
  display: block;
  width: var(--bm-swedish-benefit-icon-size);
  height: var(--bm-swedish-benefit-icon-size);
  flex: 0 0 var(--bm-swedish-benefit-icon-size);
  border-radius: 0.625rem;
  background: rgba(45, 74, 94, 0.1);
}

.bm-swedish-benefit-card::after {
  content: "";
  position: absolute;
  top: calc(var(--bm-swedish-benefit-padding-y) + 0.53125rem);
  left: calc(var(--bm-swedish-benefit-padding-x) + 0.53125rem);
  width: var(--bm-swedish-benefit-glyph-size);
  height: var(--bm-swedish-benefit-glyph-size);
  background: var(--wp--preset--color--bm-blue);
  -webkit-mask: var(--bm-swedish-benefit-icon) center / contain no-repeat;
  mask: var(--bm-swedish-benefit-icon) center / contain no-repeat;
}

.bm-swedish-benefit-card:hover,
.bm-swedish-benefit-card:focus-within {
  border-color: var(--wp--preset--color--bm-blue) !important;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.14),
    0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.125rem);
}

.bm-swedish-benefit-icon {
  display: none !important;
}

.bm-swedish-benefit-card > .wp-block-paragraph {
  min-width: 0;
  padding-top: 0.125rem;
}

.bm-addon-panel {
  border-radius: 1rem;
  background: var(--wp--preset--color--bm-blue);
  padding: 1.75rem 1.5rem;
}

.bm-addon-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.bm-addon-header :where(h2, h3, p) {
  margin: 0;
}

.bm-addon-header h2,
.bm-addon-header h3 {
  font-size: 1.125rem;
}

.bm-addon-header p {
  font-size: 0.8rem;
}

.bm-addon-header a {
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.bm-addon-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.75rem 1rem;
}

.bm-addon-card figure {
  flex: 0 0 auto;
  margin: 0;
}

.bm-addon-card img {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.625rem;
  object-fit: cover;
}

.bm-addon-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.bm-addon-card p {
  margin: 0.2rem 0 0;
  font-size: 1.1rem;
  font-weight: 800;
}

.bm-location-card {
  overflow: hidden;
  transition:
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-location-card:hover,
.bm-location-card:focus-within {
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.25rem);
}

.bm-map-frame {
  position: relative;
  height: 14rem;
  overflow: hidden;
  background: #e5e7eb;
}

.bm-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.35);
  transition: filter 300ms ease;
}

.bm-location-card:hover .bm-map-frame iframe,
.bm-location-card:focus-within .bm-map-frame iframe {
  filter: grayscale(0);
}

.bm-map-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.45rem 0.75rem;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.bm-map-link::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-external-link) center / contain no-repeat;
  mask: var(--bm-icon-external-link) center / contain no-repeat;
}

.bm-map-link:hover,
.bm-map-link:focus-visible {
  background: #f9fafb;
  color: var(--wp--preset--color--bm-blue-dark);
  transform: translateY(-1px);
}

.bm-card-body {
  padding: 1.5rem;
}

.bm-card-body > :where(h1, h2, h3, p, .wp-block-buttons, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-card-body > :where(h1, h2, h3, p, .wp-block-buttons):not(:first-child) {
  margin-block-start: 1rem;
}

.bm-card-list {
  display: grid;
  gap: 1rem;
}

.bm-three-card-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-deep-why-columns {
  display: grid;
  gap: 2rem;
  align-items: center;
}

.bm-deep-why-image {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-deep-why-image img,
.bm-comparison-image img {
  display: block;
  width: 100%;
  height: auto;
}

.bm-bullet-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-bullet-list li {
  position: relative;
  padding-left: 1.35rem;
  color: var(--wp--preset--color--bm-text);
  line-height: 1.7;
}

.bm-bullet-list li::before {
  position: absolute;
  top: 0.72rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-gold);
  content: "";
}

.bm-image-grid {
  display: grid;
  gap: 1rem;
}

.bm-gallery-image,
.bm-press-card,
.bm-illustration {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-gallery-image img,
.bm-press-card img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.bm-gallery-image img {
  height: clamp(13rem, 22vw, 17rem);
}

.bm-illustration {
  max-width: 20rem;
  margin-inline: auto;
  background: transparent;
  box-shadow: none;
}

.bm-illustration img {
  width: 100%;
  height: auto;
}

.bm-callout {
  border: 2px solid var(--wp--preset--color--bm-blue);
  border-radius: 1rem;
  background: rgba(45, 74, 94, 0.06);
  padding: 1.5rem;
}

.bm-subheading {
  max-width: 48rem;
  margin-inline: auto;
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  line-height: 1.25;
  text-align: center;
}

.bm-muted-center {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.bm-hours-list {
  display: grid;
  gap: 0.2rem;
  max-width: max-content;
  margin-inline: auto;
}

.bm-hours-list p {
  margin: 0;
}

.bm-gratuity-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.bm-gratuity-options .bm-pill {
  margin: 0;
}

.bm-timeline,
.bm-numbered-list,
.bm-therapist-list,
.bm-service-detail-list {
  display: grid;
  gap: 1rem;
}

.bm-timeline {
  position: relative;
  max-width: 56rem;
  margin-inline: auto;
  padding-left: 2.25rem;
}

.bm-timeline::before {
  position: absolute;
  top: 0.25rem;
  bottom: 0.25rem;
  left: 0.45rem;
  width: 0.2rem;
  border-radius: 999px;
  background: linear-gradient(
    to bottom,
    var(--wp--preset--color--bm-blue),
    rgba(45, 74, 94, 0.35)
  );
  content: "";
}

.bm-timeline-item {
  position: relative;
}

.bm-timeline-item::before {
  position: absolute;
  top: 0.35rem;
  left: -2.25rem;
  width: 0.9rem;
  height: 0.9rem;
  border: 3px solid var(--wp--preset--color--bm-lavender);
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  content: "";
}

.bm-service-detail {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 0.875rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.1),
    0 2px 8px rgba(0, 0, 0, 0.05);
}

.bm-service-detail > h3 {
  margin: 0;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  padding: 1rem 1.25rem;
}

.bm-service-detail > :where(p, ul) {
  margin: 0;
  padding: 1.25rem;
}

.bm-service-detail > p + ul {
  padding-top: 0;
}

.bm-stats-grid,
.bm-press-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-stat-card {
  border: 2px solid rgba(255, 255, 255, 0.18);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem 1.25rem;
  text-align: center;
}

.bm-stat-number {
  display: block;
  color: #fff;
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1;
}

.bm-stat-label {
  display: block;
  margin-top: 0.75rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bm-quote-card {
  position: relative;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.5rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.1),
    0 2px 8px rgba(0, 0, 0, 0.05);
}

.bm-quote-card::before {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: 0.75rem;
  place-items: center;
  border-radius: 0.625rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--wp--preset--color--bm-blue);
  content: "\201C";
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.bm-quote-card blockquote {
  margin: 0;
}

.bm-quote-card cite {
  display: block;
  margin-top: 1rem;
  border-top: 1px solid #eef0f3;
  color: var(--wp--preset--color--bm-blue);
  font-style: normal;
  font-weight: 800;
  padding-top: 1rem;
}

.bm-quote-card cite span {
  color: var(--wp--preset--color--bm-text);
  font-weight: 500;
}

.bm-featured-testimonial {
  position: relative;
  max-width: 56rem;
  margin: 0 auto;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  padding: clamp(2rem, 5vw, 3rem);
}

.bm-featured-testimonial::before {
  position: absolute;
  top: 1.25rem;
  left: 1.5rem;
  color: rgba(255, 255, 255, 0.14);
  content: "\201C";
  font-size: clamp(4rem, 10vw, 6rem);
  font-weight: 800;
  line-height: 1;
}

.bm-featured-testimonial blockquote {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1rem, 2vw, 1.125rem);
  line-height: 1.75;
}

.bm-featured-testimonial cite {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.25rem;
  margin-top: 1.5rem;
  color: #fff;
  font-style: normal;
}

.bm-featured-testimonial cite span {
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.9rem;
}

.bm-care-grid {
  align-items: stretch;
}

.bm-care-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.5rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.08),
    0 2px 8px rgba(0, 0, 0, 0.04);
}

.bm-care-frequency {
  color: var(--wp--preset--color--bm-gold);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bm-care-tagline {
  color: var(--wp--preset--color--bm-blue);
  font-weight: 800;
}

.bm-therapist-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.1),
    0 2px 8px rgba(0, 0, 0, 0.05);
}

.bm-therapist-card summary {
  display: grid;
  cursor: pointer;
  gap: 1rem;
  grid-template-columns: 4rem minmax(0, 1fr);
  list-style: none;
  padding: 1rem;
}

.bm-therapist-card summary::-webkit-details-marker {
  display: none;
}

.bm-therapist-card summary::after {
  align-self: center;
  justify-self: end;
  width: 1rem;
  height: 1rem;
  background: var(--wp--preset--color--bm-blue);
  content: "";
  grid-column: 2;
  grid-row: 1;
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transition: transform 180ms ease;
}

.bm-therapist-card[open] summary::after {
  transform: rotate(180deg);
}

.bm-therapist-card img {
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  object-fit: cover;
}

.bm-therapist-card h3 {
  margin: 0;
  padding-right: 1.75rem;
}

.bm-therapist-card .bm-therapist-title {
  margin: 0.2rem 0 0;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.9rem;
  line-height: 1.4;
}

.bm-therapist-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
}

.bm-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.09);
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.4rem 0.7rem;
}

.bm-pill.is-gold {
  background: rgba(197, 153, 58, 0.13);
  color: var(--wp--preset--color--bm-gold);
}

.bm-therapist-body {
  border-top: 1px solid #eef0f3;
  padding: 0 1.25rem 1.25rem 6rem;
}

.bm-therapist-body p {
  margin: 1rem 0 0;
}

.bm-press-card {
  display: block;
  background: #fff;
  transition:
    box-shadow 180ms ease,
    transform 180ms ease;
}

.bm-press-card:hover,
.bm-press-card:focus-within {
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.2rem);
}

.bm-press-card img {
  aspect-ratio: 1.55 / 1;
}

.bm-direction-list {
  display: grid;
  gap: 0.75rem;
  text-align: center;
}

.bm-pressure-level-block {
  box-sizing: border-box;
  margin-top: 0;
  padding: clamp(4rem, 8vw, 6rem) clamp(1rem, 3vw, 2rem);
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-pressure-level-inner {
  width: min(100%, 48rem);
  margin-right: auto;
  margin-left: auto;
}

.bm-pressure-level-heading {
  margin-bottom: 2.5rem;
  text-align: center;
}

.bm-pressure-level-title {
  margin: 0;
  color: #fff;
  font-family: var(--wp--preset--font-family--dm-sans);
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 800;
  line-height: 1.12;
}

.bm-pressure-level-intro {
  margin: 0.75rem 0 0;
  color: var(--wp--preset--color--bm-white-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.bm-pressure-level-prompt {
  display: inline-flex;
  margin: 1.25rem 0 0;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: var(--wp--preset--color--bm-white-soft);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-pressure-level-prompt::before {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  background: currentColor;
  content: "";
  -webkit-mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
  mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
}

.bm-pressure-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 2rem;
}

.bm-pressure-copy {
  margin: 0;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.875rem;
  line-height: 1.7;
}

.bm-pressure-control {
  margin: 2rem 0;
}

.bm-pressure-range {
  display: block;
  width: 100%;
  height: 0.55rem;
  border: 0;
  border-radius: 999px;
  appearance: none;
  background:
    linear-gradient(
      90deg,
      var(--wp--preset--color--bm-blue) 0%,
      var(--wp--preset--color--bm-blue) var(--bm-pressure-progress, 44.44%),
      #d1d5db var(--bm-pressure-progress, 44.44%),
      #d1d5db 100%
    );
  cursor: pointer;
}

.bm-pressure-range::-webkit-slider-thumb {
  width: 1.125rem;
  height: 1.125rem;
  border: 0;
  border-radius: 999px;
  appearance: none;
  background: var(--wp--preset--color--bm-blue);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.28);
}

.bm-pressure-range::-moz-range-thumb {
  width: 1.125rem;
  height: 1.125rem;
  border: 0;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.28);
}

.bm-pressure-range:focus-visible {
  outline: 3px solid rgba(197, 153, 58, 0.45);
  outline-offset: 4px;
}

.bm-pressure-scale {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.75rem;
  color: var(--wp--preset--color--bm-muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.bm-pressure-info {
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.05);
  padding: 1.5rem;
}

.bm-pressure-info-title {
  margin: 0;
  color: var(--wp--preset--color--bm-blue);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-pressure-info-description {
  margin: 0.5rem 0 1rem;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.875rem;
  line-height: 1.7;
}

.bm-pregnancy-journey-block {
  box-sizing: border-box;
  margin-top: 0;
  padding: 4rem 1rem;
  background: #fff;
}

.bm-pregnancy-journey-inner {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.bm-pregnancy-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 2.5rem 0 2rem;
}

.bm-pregnancy-tab {
  border: 2px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: var(--wp--preset--color--bm-muted);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.72rem 1.4rem;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.bm-pregnancy-tab:hover,
.bm-pregnancy-tab:focus-visible {
  border-color: var(--wp--preset--color--bm-blue);
  color: var(--wp--preset--color--bm-blue);
  transform: translateY(-1px);
}

.bm-pregnancy-tab.is-active {
  border-color: var(--wp--preset--color--bm-blue);
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-pregnancy-card {
  overflow: hidden;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 12px 34px rgba(15, 23, 42, 0.14),
    0 2px 8px rgba(15, 23, 42, 0.08);
}

.bm-pregnancy-card-main,
.bm-pregnancy-card-benefits {
  padding: 2rem;
}

.bm-pregnancy-badge {
  display: inline-block;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  padding: 0.35rem 0.75rem;
}

.bm-pregnancy-card-main h3 {
  margin: 0;
  color: var(--wp--preset--color--bm-blue);
  font-size: 1.5rem;
  line-height: 1.2;
}

.bm-pregnancy-weeks {
  margin: 0.25rem 0 1rem;
  color: var(--wp--preset--color--bm-gold);
  font-size: 0.875rem;
  font-weight: 800;
}

.bm-pregnancy-description {
  margin: 0 0 1.5rem;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.875rem;
  line-height: 1.7;
}

.bm-pregnancy-symptoms {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.bm-pregnancy-symptoms li {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.875rem;
  line-height: 1.6;
}

.bm-pregnancy-symptoms li::before {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.15rem;
  place-items: center;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  content: "";
  -webkit-mask: var(--bm-icon-check) center / 0.8rem 0.8rem no-repeat;
  mask: var(--bm-icon-check) center / 0.8rem 0.8rem no-repeat;
}

.bm-pregnancy-help {
  border-left: 4px solid var(--wp--preset--color--bm-gold);
  border-radius: 0.75rem;
  background: var(--wp--preset--color--bm-soft);
  padding: 1rem;
}

.bm-pregnancy-help h4,
.bm-pregnancy-help p {
  margin: 0;
}

.bm-pregnancy-help h4 {
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.875rem;
  font-weight: 800;
}

.bm-pregnancy-help p {
  margin-top: 0.35rem;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.8125rem;
  line-height: 1.65;
}

.bm-pregnancy-card-benefits {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(135deg, var(--wp--preset--color--bm-blue), var(--wp--preset--color--bm-blue-dark));
}

.bm-pregnancy-card-benefits h4 {
  margin: 0 0 1.25rem;
  color: var(--wp--preset--color--bm-gold);
  font-size: 1.125rem;
  font-weight: 800;
}

.bm-pregnancy-benefit-list {
  display: grid;
  gap: 1rem;
}

.bm-pregnancy-benefit-list p {
  position: relative;
  margin: 0;
  padding-left: 1.75rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  line-height: 1.65;
}

.bm-pregnancy-benefit-list p::before {
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: var(--wp--preset--color--bm-gold);
  content: "";
  -webkit-mask: var(--bm-icon-check) center / contain no-repeat;
  mask: var(--bm-icon-check) center / contain no-repeat;
}

.bm-pregnancy-benefit-list strong {
  color: #fff;
}

.bm-pregnancy-progress {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
  color: #9ca3af;
  font-size: 0.75rem;
}

.bm-pregnancy-progress-track {
  overflow: hidden;
  height: 0.4rem;
  border-radius: 999px;
  background: #e5e7eb;
}

.bm-pregnancy-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--wp--preset--color--bm-gold), var(--wp--preset--color--bm-blue));
  transition: width 220ms ease;
}

.bm-prenatal-card-icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--wp--preset--color--bm-blue);
}

.bm-prenatal-card-icon::before {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: currentColor;
  content: "";
}

.bm-prenatal-vital-grid {
  grid-template-columns: 1fr;
}

.bm-prenatal-vital-grid > .bm-card {
  transition:
    box-shadow 180ms ease,
    transform 180ms ease;
}

.bm-prenatal-vital-grid > .bm-card:hover {
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.14),
    0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.25rem);
}

.bm-prenatal-icon-heart::before {
  -webkit-mask: var(--bm-icon-heart) center / contain no-repeat;
  mask: var(--bm-icon-heart) center / contain no-repeat;
}

.bm-prenatal-icon-sun::before {
  -webkit-mask: var(--bm-icon-sun) center / contain no-repeat;
  mask: var(--bm-icon-sun) center / contain no-repeat;
}

.bm-prenatal-icon-zap::before {
  -webkit-mask: var(--bm-icon-zap) center / contain no-repeat;
  mask: var(--bm-icon-zap) center / contain no-repeat;
}

.bm-prenatal-icon-moon::before {
  -webkit-mask: var(--bm-icon-moon) center / contain no-repeat;
  mask: var(--bm-icon-moon) center / contain no-repeat;
}

.bm-prenatal-icon-smile::before {
  -webkit-mask: var(--bm-icon-smile) center / contain no-repeat;
  mask: var(--bm-icon-smile) center / contain no-repeat;
}

.bm-prenatal-numbered-list {
  display: grid;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-prenatal-numbered-item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
}

.bm-prenatal-numbered-list > li,
.bm-prenatal-numbered-list > .wp-block-group {
  margin: 0;
}

.bm-prenatal-numbered-list > li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
  counter-increment: bm-prenatal-number;
}

.bm-prenatal-numbered-item::before,
.bm-prenatal-numbered-list > li::before,
.bm-prenatal-number {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  font-weight: 800;
  line-height: 1;
}

.bm-prenatal-numbered-item::before {
  content: attr(data-number);
}

.bm-prenatal-numbered-item:has(.bm-prenatal-number)::before {
  display: none;
  content: none;
}

.bm-prenatal-numbered-list > li::before {
  content: counter(bm-prenatal-number);
}

.bm-prenatal-number {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.bm-prenatal-numbered-copy {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding-top: 0.35rem;
}

.bm-prenatal-link-card {
  border: 2px solid var(--wp--preset--color--bm-blue);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.bm-prenatal-link-card a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--wp--preset--color--bm-gold);
  font-weight: 800;
  text-decoration: none;
}

.bm-prenatal-link-card a::after {
  display: block;
  width: 1rem;
  height: 1rem;
  background: currentColor;
  content: "";
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-timeline {
  position: relative;
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  padding-left: 3rem;
}

.bm-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.05rem;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--wp--preset--color--bm-blue), var(--wp--preset--color--bm-gold));
  content: "";
}

.bm-timeline-item {
  position: relative;
}

.bm-timeline-item:not(:first-child) {
  margin-block-start: 1.25rem;
}

.bm-timeline-item::before {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 999px;
  background: var(--wp--preset--color--bm-blue);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
  color: #fff;
  content: "";
  font-size: 0.875rem;
  font-weight: 800;
}

.bm-timeline-item:nth-child(1)::before {
  content: "1";
}

.bm-timeline-item:nth-child(2)::before {
  content: "2";
}

.bm-timeline-item:nth-child(3)::before {
  content: "3";
}

.bm-timeline-item:nth-child(4)::before {
  content: "4";
}

.bm-timeline-item:nth-child(5)::before {
  content: "5";
}

.bm-timeline-item:hover::before,
.bm-timeline-item:focus-within::before {
  background: var(--wp--preset--color--bm-gold);
}

.bm-comparison-image {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-comparison-table {
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-comparison-table table {
  min-width: 48rem;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.875rem;
  text-align: left;
}

.bm-comparison-table th,
.bm-comparison-table td {
  border: 0;
  padding: 0.85rem 1rem;
}

.bm-comparison-table thead {
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
}

.bm-comparison-table thead a {
  color: #fff;
}

.bm-comparison-table tbody tr:nth-child(even) {
  background: var(--wp--preset--color--bm-soft);
}

.bm-comparison-table tbody td:first-child {
  color: var(--wp--preset--color--bm-ink);
  font-weight: 800;
}

.bm-text-button-row {
  margin-bottom: 0;
}

.bm-text-button .wp-block-button__link {
  padding: 0;
  background: transparent;
  color: var(--wp--preset--color--bm-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
  text-decoration: none;
}

.bm-text-button .wp-block-button__link:hover {
  background: transparent;
  color: var(--wp--preset--color--bm-blue);
  text-decoration: none;
}

.bm-location-detail {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.bm-location-detail::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.38rem;
  background: var(--wp--preset--color--bm-blue);
  -webkit-mask: var(--bm-icon-map-pin) center / contain no-repeat;
  mask: var(--bm-icon-map-pin) center / contain no-repeat;
}

.bm-location-phone::before {
  -webkit-mask-image: var(--bm-icon-phone);
  mask-image: var(--bm-icon-phone);
}

.bm-location-hours::before {
  -webkit-mask-image: var(--bm-icon-clock);
  mask-image: var(--bm-icon-clock);
}

.bm-location-detail .wp-block-button__link {
  line-height: 1.7;
}

.bm-contact-card {
  text-align: center;
}

.bm-contact-card > :where(.wp-block-icon, .bm-eyebrow, h2, h3, p, .wp-block-buttons, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-contact-card > :where(.wp-block-icon, .bm-eyebrow, h2, h3, p, .wp-block-buttons):not(:first-child) {
  margin-block-start: 0.85rem;
}

.bm-icon-circle {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 1rem;
  place-items: center;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: var(--wp--preset--color--bm-blue);
  font-size: 1.45rem;
}

.bm-icon-circle.wp-block-icon {
  line-height: 0;
}

.bm-icon-circle svg {
  width: 1.5rem;
  height: 1.5rem;
}

.bm-contact-phone-icon svg,
.bm-contact-calendar-icon svg,
.bm-gratuity-icon svg,
.bm-chip-cash-icon svg,
.bm-chip-wallet-icon svg {
  display: none;
}

.bm-contact-phone-icon::before,
.bm-contact-calendar-icon::before,
.bm-gratuity-icon::before,
.bm-chip-cash-icon::before,
.bm-chip-wallet-icon::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-phone) center / contain no-repeat;
  mask: var(--bm-icon-phone) center / contain no-repeat;
}

.bm-contact-phone-icon::before,
.bm-contact-calendar-icon::before {
  width: 1.5rem;
  height: 1.5rem;
}

.bm-contact-calendar-icon::before {
  -webkit-mask-image: var(--bm-icon-calendar);
  mask-image: var(--bm-icon-calendar);
}

.bm-callout {
  max-width: 42rem;
  margin-right: auto;
  margin-left: auto;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  text-align: center;
}

.bm-callout > :where(h1, h2, h3, p, .wp-block-buttons, .wp-block-spacer),
.bm-gratuity > :where(h1, h2, h3, p, .wp-block-group, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-callout > :where(h1, h2, h3, p, .wp-block-buttons):not(:first-child) {
  margin-block-start: 1rem;
}

.bm-gratuity {
  box-sizing: border-box;
  max-width: 36rem;
  margin: 0 auto;
  border: 2px solid var(--wp--preset--color--bm-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
}

.bm-gratuity > .bm-gratuity-heading + p {
  margin-block-start: 0.5rem;
}

.bm-gratuity > p + .bm-chip-row {
  margin-block-start: 0.75rem;
}

.bm-gratuity-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.bm-gratuity-heading .bm-eyebrow {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.2;
}

.bm-gratuity-icon.wp-block-icon,
.bm-chip-icon.wp-block-icon {
  flex: 0 0 auto;
  color: var(--wp--preset--color--bm-gold);
  line-height: 0;
}

.bm-gratuity-icon svg,
.bm-chip-icon svg {
  width: 0.875rem;
  height: 0.875rem;
}

.bm-gratuity-icon::before,
.bm-chip-cash-icon::before,
.bm-chip-wallet-icon::before {
  width: 0.875rem;
  height: 0.875rem;
}

.bm-gratuity-icon::before {
  -webkit-mask-image: var(--bm-icon-info);
  mask-image: var(--bm-icon-info);
}

.bm-chip-cash-icon::before {
  -webkit-mask-image: var(--bm-icon-dollar);
  mask-image: var(--bm-icon-dollar);
}

.bm-chip-wallet-icon::before {
  -webkit-mask-image: var(--bm-icon-wallet);
  mask-image: var(--bm-icon-wallet);
}

.bm-chip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.bm-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.04);
  padding: 0.35rem 0.85rem;
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
}

.bm-chip > :where(p, .wp-block-icon) {
  margin: 0;
}

.bm-service-card {
  display: flex;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  flex-direction: column;
  transition:
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-service-card:hover,
.bm-service-card:focus-within {
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.25rem);
}

.bm-service-card > figure,
.bm-service-card > .wp-block-image {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #e5e7eb;
}

.bm-service-card > figure img,
.bm-service-card > .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.bm-service-card:hover > figure img,
.bm-service-card:focus-within > figure img,
.bm-service-card:hover > .wp-block-image img,
.bm-service-card:focus-within > .wp-block-image img {
  transform: scale(1.05);
}

.bm-service-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 1.5rem;
}

.bm-testimonial-card {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.1);
  padding: 1.75rem;
}

.bm-testimonial-card p {
  color: rgba(255, 255, 255, 0.9);
}

.bm-testimonial-card > :where(p, .wp-block-spacer) {
  margin-bottom: 0;
}

.bm-testimonial-card > p:not(:first-child) {
  margin-block-start: 0.75rem;
}

.bm-testimonial-card .bm-author {
  margin: 1.5rem 0 0;
  color: #fff;
  font-weight: 800;
}

.bm-testimonial-card .bm-location {
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
}

.bm-testimonials-page {
  width: 100vw;
  max-width: 100vw;
  margin-block-start: 0;
  overflow-x: hidden;
}

.bm-testimonials-page :where(h1, h2, p, figure, blockquote) {
  margin-top: 0;
}

.bm-testimonials-page .bm-hero-copy h1 {
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-testimonials-page .bm-badge {
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  font-weight: 600;
  letter-spacing: 0.15em;
  padding: 0.5rem 1.25rem;
}

.bm-testimonials-page .bm-hero-copy > .bm-badge + .wp-block-heading,
.bm-testimonials-page .bm-hero-copy > .wp-block-heading + p {
  margin-top: 0 !important;
}

.bm-testimonials-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.875rem !important;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
}

.bm-testimonials-page .bm-hero-cta .wp-block-button__link::after {
  width: 1.25rem;
  height: 1.25rem;
}

.bm-testimonials-page .bm-hero-image > .wp-block-image {
  margin: 0;
}

.bm-testimonials-page .bm-trust-grid p {
  line-height: 1.5 !important;
}

.bm-testimonials-page-content {
  margin-block-start: 0;
  padding: clamp(4rem, 8vw, 6rem) clamp(1rem, 3vw, 2rem);
}

.bm-testimonials-page-header {
  max-width: 56rem;
  margin: 0 auto 4rem;
  text-align: center;
}

.bm-testimonials-page-header > :where(p, h2) {
  margin-bottom: 0;
}

.bm-testimonials-page-header > :where(p, h2):not(:first-child) {
  margin-block-start: 1rem;
}

.bm-testimonials-page-header h2 {
  font-weight: 700;
  line-height: 1.2;
}

.bm-testimonials-page-header h2 + p {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  line-height: 1.625;
}

.bm-testimonials-page-list {
  display: grid;
  max-width: 64rem;
  gap: 1.5rem;
  margin: 0 auto;
}

.bm-testimonials-page-card {
  position: relative;
  border: 1px solid #e5e7eb;
  border-radius: 0.875rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.15),
    0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
  transition: box-shadow 300ms ease;
}

.bm-testimonials-page-card:hover,
.bm-testimonials-page-card:focus-within {
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.18),
    0 4px 12px rgba(0, 0, 0, 0.1);
}

.bm-testimonials-page-card::before,
.bm-testimonials-page-card::after {
  position: absolute;
  content: "";
}

.bm-testimonials-page-card::before {
  top: 1.5rem;
  left: 1.5rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.1);
}

.bm-testimonials-page-card::after {
  top: 2rem;
  left: 2rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--wp--preset--color--bm-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bm-testimonials-page-quote {
  margin: 0 0 0 3.5rem;
  border: 0;
  color: var(--wp--preset--color--bm-text);
  font-size: 0.9375rem;
  font-style: normal;
  line-height: 1.625;
  padding: 0;
}

.bm-testimonials-page-quote p {
  margin: 0;
}

.bm-testimonials-page-quote p + p {
  margin-top: 1rem;
}

.bm-testimonials-page-author {
  margin: 1rem 0 0 3.5rem;
  border-top: 1px solid #f3f4f6;
  color: var(--wp--preset--color--bm-blue);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
  padding-top: 1rem;
}

.bm-testimonials-page-author strong {
  font-weight: 700;
}

.bm-testimonials-page-author span {
  color: var(--wp--preset--color--bm-muted);
  font-weight: 400;
}

@media (min-width: 782px) {
  .bm-testimonials-page-card {
    padding: 2rem;
  }

  .bm-testimonials-page-card::before {
    top: 2rem;
    left: 2rem;
  }

  .bm-testimonials-page-card::after {
    top: 2.5rem;
    left: 2.5rem;
  }
}

@media (min-width: 1280px) {
  .bm-testimonials-page .bm-hero-copy h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-testimonials-page .bm-hero-copy {
    min-height: 431px;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .bm-testimonials-page .bm-hero-copy h1 {
    font-size: 2.25rem;
    line-height: 1.25;
  }

  .bm-testimonials-page .bm-hero-columns > .wp-block-column.bm-hero-image {
    height: 16rem;
    min-height: 16rem;
  }

  .bm-testimonials-page .bm-hero-image > .wp-block-image {
    height: 100%;
  }

  .bm-testimonials-page .bm-hero-copy > .wp-block-buttons {
    margin-top: 2.5rem !important;
  }

  .bm-testimonials-page-header {
    margin-bottom: 3rem;
  }

  .bm-testimonials-page-quote,
  .bm-testimonials-page-author {
    margin-left: 3.25rem;
  }
}

.bm-testimonials-block {
  margin-block-start: 0;
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  padding: 4rem 1rem;
}

.bm-testimonials-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.bm-testimonials-heading {
  margin-bottom: 3rem;
  text-align: center;
}

.bm-testimonials-eyebrow {
  margin: 0 0 1rem;
  color: var(--wp--preset--color--bm-gold);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-testimonials-title {
  margin: 0;
  color: #fff;
  font-family: var(--wp--preset--font-family--dm-sans);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.bm-testimonials-stage {
  max-width: 56rem;
  margin: 0 auto;
}

.bm-testimonials-card {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  backdrop-filter: blur(4px);
}

.bm-testimonials-icon {
  display: inline-block;
  flex: 0 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.bm-testimonials-icon-quote {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0.15;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0 0 2 4 4 0 0 0 4-4V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E");
}

.bm-testimonials-slides,
.bm-testimonials-footer {
  position: relative;
  z-index: 1;
}

.bm-testimonials-quote {
  margin: 0 0 1.5rem;
  border: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.7;
}

.bm-testimonials-quote::before {
  content: "\201C";
}

.bm-testimonials-quote::after {
  content: "\201D";
}

.bm-testimonials-quote p {
  margin: 0;
}

.bm-testimonials-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.bm-testimonials-person p {
  margin: 0;
}

.bm-testimonials-author {
  color: #fff;
  font-weight: 800;
  line-height: 1.35;
}

.bm-testimonials-location {
  margin-top: 0.25rem !important;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.4;
}

.bm-testimonials-controls {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.5rem;
}

.bm-testimonials-control {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
  transition:
    background-color 160ms ease,
    border-color 160ms ease;
}

.bm-testimonials-control:hover,
.bm-testimonials-control:focus-visible {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.1);
}

.bm-testimonials-icon-prev,
.bm-testimonials-icon-next {
  width: 1.25rem;
  height: 1.25rem;
}

.bm-testimonials-icon-prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
}

.bm-testimonials-icon-next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}

.bm-testimonials-count {
  min-width: 2.5rem;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
}

.bm-faq-list {
  display: grid;
  gap: 1rem;
}

.bm-faq-list .wp-block-details,
.bm-faq-list .bm-faq-item {
  margin: 0;
  overflow: hidden;
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 160ms ease;
}

.bm-faq-list .wp-block-details[open],
.bm-faq-list .bm-faq-item[open] {
  border-color: var(--wp--preset--color--bm-blue);
}

.bm-faq-list .wp-block-details summary,
.bm-faq-list .bm-faq-item summary {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 4.5rem;
  list-style: none;
  cursor: pointer;
  padding: 1.25rem 3.75rem 1.25rem 4.5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
}

.bm-faq-list .wp-block-details summary::-webkit-details-marker,
.bm-faq-list .bm-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-faq-list .wp-block-details summary::marker,
.bm-faq-list .bm-faq-item summary::marker {
  content: "";
}

.bm-faq-list .wp-block-details summary::before,
.bm-faq-list .bm-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232D4A5E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
  content: "";
  transform: translateY(-50%);
}

.bm-faq-list .wp-block-details summary::after,
.bm-faq-list .bm-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232D4A5E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem 1.25rem;
  content: "";
  transform: translateY(-50%);
  transition: transform 160ms ease;
}

.bm-faq-list .wp-block-details[open] summary::after,
.bm-faq-list .bm-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-faq-list .wp-block-details > :where(p),
.bm-faq-list .bm-faq-item > :where(p) {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  padding: 1.25rem 1.5rem 1.25rem 4.5rem;
  line-height: 1.7;
}

.bm-faq-list .wp-block-details a,
.bm-faq-list .bm-faq-item a {
  font-weight: 500;
}

@media (max-width: 600px) {
  .bm-pregnancy-card-main,
  .bm-pregnancy-card-benefits {
    padding: 1.5rem;
  }

  .bm-pregnancy-tab {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .bm-pressure-card {
    padding: 2rem;
  }

  .bm-faq-list .wp-block-details summary,
  .bm-faq-list .bm-faq-item summary {
    padding-right: 3.25rem;
    padding-left: 4rem;
  }

  .bm-faq-list .wp-block-details summary::before,
  .bm-faq-list .bm-faq-item summary::before {
    left: 1.25rem;
  }

  .bm-faq-list .wp-block-details summary::after,
  .bm-faq-list .bm-faq-item summary::after {
    right: 1.25rem;
  }

  .bm-faq-list .wp-block-details > :where(p),
  .bm-faq-list .bm-faq-item > :where(p) {
    padding-right: 1.25rem;
    padding-left: 4rem;
  }

  .bm-testimonials-card {
    padding: 1.5rem;
  }

  .bm-testimonials-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (min-width: 700px) {
  .bm-full-section {
    padding: 6rem 2rem;
  }

  .bm-pregnancy-journey-block {
    padding: 6rem 2rem;
  }

  .bm-pregnancy-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-pregnancy-card-main,
  .bm-pregnancy-card-benefits {
    padding: 2.5rem;
  }

  .bm-testimonials-block {
    padding: 6rem 2rem;
  }

  .bm-testimonials-card {
    padding: 3rem;
  }

  .bm-testimonials-icon-quote {
    top: 2rem;
    left: 2.5rem;
    width: 3.5rem;
    height: 3.5rem;
  }

  .bm-testimonials-quote {
    font-size: 1.125rem;
  }

  .bm-addon-panel {
    padding: 2rem 2.5rem;
  }

  .bm-addon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-image-grid,
  .bm-card-grid,
  .bm-stats-grid,
  .bm-press-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-prenatal-vital-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-swedish-benefit-card {
    width: calc(50% - 0.5rem);
  }

  .bm-three-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bm-deep-why-columns {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  }

  .bm-contact-grid,
  .bm-service-grid,
  .bm-testimonial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .bm-hero-copy {
    padding: 4rem 5rem;
  }

  .bm-hero-image {
    min-height: 540px;
  }

  .bm-addon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-press-grid,
  .bm-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bm-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-prenatal-vital-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bm-swedish-benefit-card {
    width: calc(33.333% - 0.7rem);
  }
}

@media (max-width: 781px) {
  .bm-hero-columns {
    grid-template-columns: 1fr;
  }

  .bm-hero-copy {
    min-height: auto;
    padding: 3rem 1.25rem;
  }

  .bm-hero-copy h1 {
    font-size: 2.5rem;
    line-height: 1.1;
  }

  .bm-hero-copy p:not(.bm-badge) {
    font-size: 1rem;
  }

  .bm-hero-columns > .wp-block-column.bm-hero-image {
    min-height: 14rem;
  }

  .bm-split-columns {
    grid-template-columns: 1fr;
    gap: 2rem !important;
  }

  .bm-split-image {
    min-height: 18rem;
  }
}

/* Mission statement rebuild */
.bm-mission-page {
  --bm-mission-blue: var(--wp--preset--color--bm-blue);
  --bm-mission-blue-dark: var(--wp--preset--color--bm-blue-dark);
  --bm-mission-gold: var(--wp--preset--color--bm-gold);
  --bm-mission-ink: var(--wp--preset--color--bm-ink);
  --bm-mission-text: var(--wp--preset--color--bm-text);
  --bm-mission-muted: var(--wp--preset--color--bm-muted);
  width: 100vw;
  max-width: 100vw;
  margin-block-start: 0;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  overflow-x: clip;
  background: #fff;
}

.bm-mission-page *,
.bm-mission-page *::before,
.bm-mission-page *::after {
  box-sizing: border-box;
}

.bm-mission-page :where(h1, h2, h3, p, figure) {
  margin: 0;
}

.bm-mission-page :where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-buttons, .wp-block-button) {
  margin-block-start: 0;
}

.bm-mission-page a {
  color: var(--bm-mission-blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.bm-mission-hero {
  display: grid;
  min-height: 540px;
  background: var(--bm-mission-blue);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.bm-mission-hero-copy {
  display: flex;
  min-height: 540px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5vw, 5rem);
}

.bm-mission-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  padding: 0.55rem 1.15rem;
  text-transform: uppercase;
}

.bm-mission-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-mission-gold);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-mission-hero h1 {
  max-width: 36rem;
  margin-top: 2rem;
  color: #fff;
  font-size: var(--wp--preset--font-size--hero);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
}

.bm-mission-hero p:not(.bm-mission-badge) {
  max-width: 34rem;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.125rem;
  line-height: 1.7;
}

.bm-mission-hero .bm-mission-button {
  margin-top: 2.5rem;
}

.bm-mission-hero-media {
  position: relative;
  min-height: 540px;
  overflow: hidden;
}

.bm-mission-hero-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-mission-hero-media.wp-block-image,
.bm-mission-owner-photo.wp-block-image,
.bm-space-illustration.wp-block-image,
.bm-space-gallery .wp-block-image {
  margin: 0;
}

.bm-mission-button {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  border-radius: 0.75rem;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.25;
  padding: 0.9rem 1.5rem;
  text-align: center;
  text-decoration: none !important;
  transition:
    background-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.wp-block-button.bm-mission-button {
  min-height: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.wp-block-button.bm-mission-button:hover,
.wp-block-button.bm-mission-button:focus-visible {
  box-shadow: none;
}

.wp-block-button.bm-mission-button .wp-block-button__link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  border-radius: 0.75rem;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.25;
  padding: 0.9rem 1.5rem;
  text-align: center;
  text-decoration: none !important;
  transition:
    background-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.wp-block-button.bm-mission-button.has-arrow::after {
  display: none;
  content: none;
}

.wp-block-button.bm-mission-button.has-arrow .wp-block-button__link::after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.wp-block-button.bm-mission-button-gold,
.wp-block-button.bm-mission-button-blue {
  background: transparent;
}

.wp-block-button.bm-mission-button-gold .wp-block-button__link {
  background: var(--bm-mission-gold);
}

.wp-block-button.bm-mission-button-blue .wp-block-button__link {
  background: var(--bm-mission-blue);
}

.bm-mission-button:hover,
.bm-mission-button:focus-visible,
.wp-block-button.bm-mission-button .wp-block-button__link:hover,
.wp-block-button.bm-mission-button .wp-block-button__link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.18);
}

.bm-mission-button.has-arrow::after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-mission-button-gold {
  background: var(--bm-mission-gold);
}

.bm-mission-button-gold:hover,
.bm-mission-button-gold:focus-visible,
.wp-block-button.bm-mission-button-gold .wp-block-button__link:hover,
.wp-block-button.bm-mission-button-gold .wp-block-button__link:focus-visible {
  background: #b08832;
}

.bm-mission-button-blue {
  background: var(--bm-mission-blue);
}

.bm-mission-button-blue:hover,
.bm-mission-button-blue:focus-visible,
.wp-block-button.bm-mission-button-blue .wp-block-button__link:hover,
.wp-block-button.bm-mission-button-blue .wp-block-button__link:focus-visible {
  background: var(--bm-mission-blue-dark);
}

.bm-mission-trust {
  border-bottom: 1px solid rgba(209, 213, 219, 0.65);
  background: var(--wp--preset--color--bm-lavender);
  padding: 1.15rem 1rem;
}

.bm-mission-trust-grid {
  display: flex;
  max-width: 1280px;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 2.5rem;
}

.bm-mission-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--bm-mission-blue);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.bm-mission-trust-item:not(.is-number)::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: var(--bm-mission-blue);
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-mission-trust-number {
  display: inline-flex;
  min-width: 1.65rem;
  height: 1.65rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-mission-blue);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1;
}

.bm-mission-content,
.bm-mission-booking {
  padding: clamp(4rem, 7vw, 6rem) 1rem;
}

.bm-mission-inner {
  max-width: 64rem;
  margin: 0 auto;
}

.bm-mission-booking-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.bm-mission-section-heading {
  max-width: 46rem;
  margin: 0 auto 3rem;
  text-align: center;
}

.bm-mission-eyebrow {
  margin-bottom: 1rem;
  color: var(--bm-mission-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-mission-section-heading h2 {
  color: var(--bm-mission-ink);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.bm-mission-section-heading > p:not(.bm-mission-eyebrow) {
  margin-top: 1rem;
  color: var(--bm-mission-text);
  line-height: 1.7;
}

.bm-mission-intro-grid {
  display: grid;
  align-items: center;
  gap: 2rem;
  margin-bottom: 4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bm-mission-owner-photo {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.14),
    0 2px 8px rgba(15, 23, 42, 0.08);
}

.bm-mission-owner-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.bm-mission-intro-copy p {
  color: var(--bm-mission-text);
  font-size: 1rem;
  line-height: 1.75;
}

.bm-mission-timeline {
  position: relative;
  padding-left: 2.5rem;
}

.bm-mission-timeline::before {
  position: absolute;
  top: 0.45rem;
  bottom: 0.45rem;
  left: 0.4rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-mission-blue), rgba(45, 74, 94, 0.4));
  content: "";
}

.bm-mission-point {
  position: relative;
}

.bm-mission-point:not(:last-child) {
  margin-bottom: 2.5rem;
}

.bm-mission-point::before {
  position: absolute;
  top: 0.25rem;
  left: -2.5rem;
  width: 0.875rem;
  height: 0.875rem;
  border: 3px solid var(--wp--preset--color--bm-lavender);
  border-radius: 999px;
  background: var(--bm-mission-blue);
  content: "";
}

.bm-mission-point h3 {
  color: var(--bm-mission-blue);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-mission-point p {
  margin-top: 0.4rem;
  color: var(--bm-mission-text);
  font-size: 0.95rem;
  line-height: 1.75;
}

.bm-mission-callout {
  margin-top: 3rem;
  border: 2px solid var(--bm-mission-blue);
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.06);
  padding: 1.5rem;
}

.bm-mission-callout p {
  color: #374151;
  line-height: 1.75;
}

.bm-mission-booking {
  background: #fff;
}

.bm-mission-contact-grid {
  display: grid;
  max-width: 56rem;
  margin: 0 auto;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bm-mission-contact-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  text-align: center;
}

.bm-mission-icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-mission-blue);
}

.bm-mission-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: currentColor;
  -webkit-mask: var(--bm-mission-card-icon, var(--bm-icon-phone)) center / contain no-repeat;
  mask: var(--bm-mission-card-icon, var(--bm-icon-phone)) center / contain no-repeat;
}

.bm-mission-icon[data-icon="calendar"] {
  --bm-mission-card-icon: var(--bm-icon-calendar);
}

.bm-mission-icon-calendar {
  --bm-mission-card-icon: var(--bm-icon-calendar);
}

.bm-mission-icon-phone {
  --bm-mission-card-icon: var(--bm-icon-phone);
}

.bm-mission-contact-eyebrow {
  margin-top: 1rem;
  color: var(--bm-mission-blue);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-mission-contact-phone,
.bm-mission-contact-title {
  margin-top: 0.5rem;
  color: var(--bm-mission-ink);
  font-weight: 800;
  line-height: 1.25;
}

.bm-mission-contact-phone {
  font-size: 1.55rem;
}

.bm-mission-contact-title {
  font-size: 1.25rem;
}

.bm-mission-contact-phone a {
  color: inherit;
  text-decoration: none;
}

.bm-mission-contact-detail {
  margin: 0.75rem 0 1.25rem;
  color: var(--bm-mission-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.bm-mission-contact-card .bm-mission-button {
  margin-top: auto;
  box-shadow: none;
  font-size: 0.875rem;
  padding: 0.75rem 1.25rem;
}

.bm-mission-contact-card .wp-block-button.bm-mission-button {
  margin-top: auto;
  padding: 0;
}

.bm-mission-contact-card .wp-block-button.bm-mission-button .wp-block-button__link {
  box-shadow: none;
  font-size: 0.875rem;
  padding: 0.75rem 1.25rem;
}

.bm-mission-gratuity {
  max-width: 36rem;
  margin: 2rem auto 0;
  border: 2px solid var(--bm-mission-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
}

.bm-mission-gratuity-heading {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--bm-mission-blue);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-mission-gratuity-heading::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-mission-gold);
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-mission-gratuity p {
  margin-top: 0.5rem;
  color: var(--bm-mission-text);
  font-size: 0.9rem;
  line-height: 1.6;
}

.bm-mission-chip-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.bm-mission-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.55rem;
  background: rgba(45, 74, 94, 0.04);
  color: var(--bm-mission-blue);
  font-size: 0.8125rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.45rem 0.85rem;
}

.bm-mission-chip-dollar::before,
.bm-mission-chip-wallet::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-mission-gold);
  -webkit-mask: var(--bm-mission-chip-icon, var(--bm-icon-info)) center / contain no-repeat;
  mask: var(--bm-mission-chip-icon, var(--bm-icon-info)) center / contain no-repeat;
}

.bm-mission-chip-dollar {
  --bm-mission-chip-icon: var(--bm-icon-dollar);
}

.bm-mission-chip-wallet {
  --bm-mission-chip-icon: var(--bm-icon-wallet);
}

.bm-mission-mini-icon {
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-mission-gold);
  -webkit-mask: var(--bm-mission-mini-icon, var(--bm-icon-info)) center / contain no-repeat;
  mask: var(--bm-mission-mini-icon, var(--bm-icon-info)) center / contain no-repeat;
}

.bm-mission-mini-icon[data-icon="dollar"] {
  --bm-mission-mini-icon: var(--bm-icon-dollar);
}

.bm-mission-mini-icon[data-icon="wallet"] {
  --bm-mission-mini-icon: var(--bm-icon-wallet);
}

.bm-mission-page + .bm-testimonials-block.alignfull {
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  overflow-x: clip;
}

/* Owner Beret page rebuild */
.bm-owner-hero-shell {
  background: var(--bm-mission-blue);
}

.bm-owner-page .bm-owner-hero {
  max-width: 1280px;
  min-height: 540px;
  margin: 0 auto;
  grid-template-columns: 1fr;
}

.bm-owner-page .bm-owner-hero .bm-mission-hero-copy {
  min-height: 540px;
  padding: 4rem 1.5rem;
}

.bm-owner-page .bm-owner-hero .bm-mission-badge {
  width: fit-content;
  gap: 0.5rem;
  justify-content: flex-start;
  background: rgba(255, 255, 255, 0.1);
  color: #fcd34d;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 0.5rem 1rem;
}

.bm-owner-page .bm-owner-hero .bm-mission-badge::before {
  width: 1rem;
  height: 1rem;
  background: #fcd34d;
}

.bm-owner-page .bm-owner-hero h1 {
  max-width: 40rem;
  margin-top: 1.5rem;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  line-height: 1.25;
}

.bm-owner-page .bm-owner-hero p:not(.bm-mission-badge) {
  max-width: 32rem;
  margin-top: 1.5rem;
  color: #e5e7eb;
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-owner-page .bm-owner-hero .bm-mission-button {
  width: fit-content;
  margin-top: 2rem;
}

.bm-owner-page .bm-owner-hero .wp-block-button.bm-mission-button .wp-block-button__link {
  border-radius: 0.625rem;
  background: #c9a54e;
  font-weight: 600;
  line-height: 1.5;
  padding: 1rem 2rem;
}

.bm-owner-page .bm-owner-hero .wp-block-button.bm-mission-button .wp-block-button__link:hover,
.bm-owner-page .bm-owner-hero .wp-block-button.bm-mission-button .wp-block-button__link:focus-visible {
  background: #b8943f;
}

.bm-owner-page .bm-owner-hero .bm-mission-hero-media {
  display: none;
}

.bm-owner-page .bm-mission-trust-item {
  width: auto;
  font-weight: 700;
  line-height: 1.5;
}

.bm-owner-page .bm-mission-trust {
  padding: 1.25rem 1rem;
}

.bm-owner-page .bm-mission-trust-grid {
  align-items: center;
  flex-direction: row;
  gap: 0.75rem 2.5rem;
}

.bm-owner-content {
  padding: 4rem 1rem;
}

.bm-owner-inner {
  max-width: 56rem;
  margin: 0 auto;
}

.bm-owner-section-heading {
  margin: 0 auto 3rem;
  text-align: center;
}

.bm-owner-section-heading h2 {
  color: var(--bm-mission-ink);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-owner-section-heading .bm-mission-eyebrow {
  line-height: 1.4286;
}

.bm-owner-photo-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 4rem;
}

.bm-owner-photo {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 10px 15px rgba(15, 23, 42, 0.1), 0 4px 6px rgba(15, 23, 42, 0.08);
}

.bm-owner-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-owner-intro-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bm-owner-intro-copy p,
.bm-owner-bio p {
  color: var(--bm-mission-text);
  line-height: 1.625;
}

.bm-owner-intro-copy p + p,
.bm-owner-bio p + p {
  margin-top: 1.5rem;
}

.bm-owner-intro-copy p + p {
  margin-top: 1rem;
}

.bm-owner-bio {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-owner-page .bm-mission-booking {
  padding: 4rem 1rem;
}

.bm-owner-page .bm-mission-booking .bm-mission-section-heading {
  max-width: none;
  margin-bottom: 3rem;
}

.bm-owner-page .bm-mission-booking .bm-mission-eyebrow {
  font-weight: 700;
  line-height: 1.4286;
}

.bm-owner-page .bm-mission-booking .bm-mission-section-heading h2 {
  font-weight: 700;
  line-height: 1.2;
}

.bm-owner-page .bm-mission-booking .bm-mission-section-heading > p:not(.bm-mission-eyebrow) {
  max-width: 42rem;
  margin: 1rem auto 0;
  line-height: 1.5;
}

.bm-owner-page .bm-mission-contact-card {
  padding: 2rem;
}

.bm-owner-page .bm-mission-contact-eyebrow {
  margin: 1rem 0 0.25rem;
  font-weight: 700;
  line-height: 1.3334;
}

.bm-owner-page .bm-mission-contact-phone,
.bm-owner-page .bm-mission-contact-title {
  margin: 0 0 0.5rem;
  font-weight: 700;
}

.bm-owner-page .bm-mission-contact-phone {
  font-size: 1.5rem;
  line-height: 1.3334;
}

.bm-owner-page .bm-mission-contact-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

.bm-owner-page .bm-mission-contact-detail {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.4286;
}

.bm-owner-page .bm-mission-contact-card .wp-block-button.bm-mission-button {
  width: fit-content;
}

.bm-owner-page .bm-mission-contact-card .wp-block-button.bm-mission-button .wp-block-button__link {
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4286;
  padding: 0.75rem 1.5rem;
}

.bm-owner-page .bm-mission-gratuity-heading {
  margin-bottom: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-owner-page .bm-mission-gratuity > p:not(.bm-mission-gratuity-heading) {
  margin-top: 0;
  color: var(--bm-mission-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-owner-page .bm-mission-chip-row {
  margin-top: 0.75rem;
}

.bm-owner-page .bm-mission-chip {
  margin-top: 0;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  padding: 0.375rem 0.875rem;
}

.bm-owner-page + .bm-testimonials-block .bm-testimonials-eyebrow {
  font-weight: 700;
  line-height: 1.4286;
}

.bm-owner-page + .bm-testimonials-block .bm-testimonials-title {
  font-weight: 700;
  line-height: 1.2;
}

.bm-owner-page + .bm-testimonials-block .bm-testimonials-card {
  padding: 2rem;
}

.bm-owner-page + .bm-testimonials-block .bm-testimonials-quote {
  line-height: 1.625;
}

.bm-owner-page + .bm-testimonials-block .bm-testimonials-footer {
  align-items: center;
  flex-direction: row;
}

/* Press and news page rebuild */
.bm-press-news-page {
  --bm-press-blue: var(--wp--preset--color--bm-blue);
  --bm-press-gold: var(--wp--preset--color--bm-gold);
  --bm-press-ink: var(--wp--preset--color--bm-ink);
  --bm-press-text: var(--wp--preset--color--bm-text);
  --bm-press-soft: var(--wp--preset--color--bm-soft);
}

.bm-press-news-page .bm-press-hero {
  display: grid;
  min-height: 540px;
  background: var(--bm-press-blue);
}

.bm-press-news-page .bm-press-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-press-blue);
  padding: 4rem 1.5rem;
}

.bm-press-news-page .bm-press-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.3334;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-press-news-page .bm-press-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: #fbbf24;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-press-news-page .bm-press-hero h1 {
  max-width: none;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-press-news-page .bm-press-hero-media {
  position: relative;
  display: none;
  min-height: 540px;
  overflow: hidden;
}

.bm-press-news-page .bm-press-hero-media.is-mobile {
  display: block;
  min-height: 16rem;
}

.bm-press-news-page .bm-press-hero-media.wp-block-image {
  margin: 0;
}

.bm-press-news-page .bm-press-hero-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-press-news-page .bm-mission-trust-item {
  width: auto;
  font-weight: 700;
  line-height: 1.5;
}

.bm-press-news-page .bm-mission-trust {
  padding: 1.25rem 1rem;
}

.bm-press-news-page .bm-mission-trust-grid {
  align-items: center;
  flex-direction: row;
  gap: 0.75rem 2.5rem;
}

.bm-press-intro,
.bm-press-grid-section {
  padding: 4rem 0;
}

.bm-press-inner {
  box-sizing: border-box;
  max-width: 1280px;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-press-intro h2 {
  max-width: 78rem;
  color: var(--bm-press-ink);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.bm-press-intro h3 {
  margin-top: 1.5rem;
  color: var(--bm-press-ink);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
}

.bm-press-video-label {
  margin-top: 2rem;
  color: #374151;
  font-size: 1.125rem;
  line-height: 1.5556;
}

.bm-press-video-shell {
  max-width: 42rem;
  margin-top: 1rem;
}

.bm-press-video-frame {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 0.75rem;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-press-video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.bm-press-grid-section {
  background: #f9fafb;
}

.bm-press-news-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}

.bm-press-news-card.wp-block-image {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  transition: box-shadow 180ms ease;
}

.bm-press-news-card a,
.bm-press-news-card img {
  display: block;
}

.bm-press-news-card a {
  color: inherit;
  text-decoration: none;
}

.bm-press-news-card img {
  width: 100%;
  height: auto;
  transition: transform 300ms ease;
}

.bm-press-news-card:hover,
.bm-press-news-card:focus-within {
  box-shadow:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
}

.bm-press-news-card:hover img,
.bm-press-news-card:focus-within img {
  transform: scale(1.05);
}

@media (min-width: 640px) {
  .bm-press-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-press-news-page .bm-press-hero h1 {
    font-size: 3rem;
  }

  .bm-press-news-page .bm-press-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-press-intro,
  .bm-press-grid-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-press-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media (min-width: 1024px) {
  .bm-press-news-page .bm-press-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-press-news-page .bm-press-hero h1 {
    font-size: 3.25rem;
  }

  .bm-press-news-page .bm-press-hero-copy {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-press-news-page .bm-press-hero-media.is-desktop {
    display: block;
  }

  .bm-press-news-page .bm-press-hero-media.is-mobile {
    display: none;
  }

  .bm-press-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .bm-press-news-page .bm-press-hero h1 {
    line-height: 70px;
  }

  .bm-press-news-page .bm-press-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }
}

/* Massage NYC page rebuild */
.bm-massage-nyc-page {
  --bm-nyc-blue: #2d4a5e;
  --bm-nyc-blue-dark: #1f3544;
  --bm-nyc-gold: #c5993a;
  --bm-nyc-soft: #e5e7f2;
  --bm-nyc-gray: #f9fafb;
  --bm-nyc-ink: #111827;
  --bm-nyc-text: #4b5563;
  --bm-nyc-muted: #6b7280;
  --bm-nyc-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  --bm-nyc-shadow-hover:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  --bm-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.751a.53.53 0 0 1 .294.904l-3.738 3.644a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.62-2.429a2.12 2.12 0 0 0-1.964 0l-4.62 2.43a.53.53 0 0 1-.771-.56l.882-5.14a2.12 2.12 0 0 0-.611-1.879L2.16 9.79a.53.53 0 0 1 .294-.904l5.165-.751a2.12 2.12 0 0 0 1.596-1.16z'/%3E%3C/svg%3E");
  --bm-icon-message-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M14.8 8.4a2.1 2.1 0 0 0-2.8 0l-.4.4-.4-.4a2.1 2.1 0 0 0-2.8 3.1l3.2 3.1 3.2-3.1a2.1 2.1 0 0 0 0-3.1z'/%3E%3C/svg%3E");
  --bm-icon-settings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  overflow-x: hidden;
}

.bm-massage-nyc-page :where(h1, h2, h3, p, figure, blockquote, ul) {
  margin-top: 0;
}

.bm-massage-nyc-page p {
  line-height: 1.625;
}

.bm-massage-nyc-page a {
  text-underline-offset: 0.16em;
}

.bm-massage-nyc-hero {
  display: grid;
  min-height: 540px;
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
}

.bm-massage-nyc-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-nyc-blue);
  padding: 5rem 1.5rem;
}

.bm-massage-nyc-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #fcd34d;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.35;
  padding: 0.375rem 1rem;
  text-transform: uppercase;
}

.bm-massage-nyc-badge::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-massage-nyc-hero h1 {
  max-width: 36rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-massage-nyc-hero p:not(.bm-massage-nyc-badge) {
  max-width: 32rem;
  margin-bottom: 2rem;
  color: #e5e7eb;
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-massage-nyc-hero .wp-block-buttons {
  margin: 0;
}

.bm-massage-nyc-page .bm-hero-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem !important;
  background: #c9a54e !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-weight: 600;
  line-height: 1.5;
  padding: 0.875rem 2rem;
}

.bm-massage-nyc-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b8943d !important;
}

.bm-massage-nyc-page .bm-hero-cta .wp-block-button__link::after,
.bm-nyc-learn-link a::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-massage-nyc-hero-image {
  position: relative;
  min-height: 320px;
  margin: 0;
  overflow: hidden;
}

.bm-massage-nyc-hero-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-massage-nyc-page .bm-trust-grid p {
  line-height: 1.5;
}

.bm-nyc-section {
  margin-block-start: 0;
  padding: 4rem 0;
}

.bm-nyc-section.is-soft {
  background: var(--bm-nyc-soft);
}

.bm-nyc-section.is-gray {
  background: var(--bm-nyc-gray);
}

.bm-nyc-section.is-blue {
  background: var(--bm-nyc-blue);
}

.bm-nyc-inner {
  box-sizing: border-box;
  max-width: 1280px;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-nyc-narrow {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-nyc-medium {
  max-width: 64rem;
  margin: 0 auto;
}

.bm-nyc-section-heading {
  max-width: 56rem;
  margin: 0 auto 3rem;
  text-align: center;
}

.bm-nyc-section-heading > :where(p, h2) {
  margin-bottom: 0;
}

.bm-nyc-section-heading > :where(p, h2):not(:first-child) {
  margin-top: 1rem;
}

.bm-nyc-eyebrow {
  margin-bottom: 1rem;
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-nyc-eyebrow.is-gold {
  color: var(--bm-nyc-gold);
}

.bm-nyc-section-heading h2,
.bm-nyc-narrow > h2,
.bm-nyc-split-copy h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-nyc-section.is-blue .bm-nyc-section-heading h2 {
  color: #fff;
}

.bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  max-width: 42rem;
  margin-right: auto;
  margin-left: auto;
  color: var(--bm-nyc-text);
}

.bm-nyc-advanced .bm-nyc-narrow {
  text-align: left;
}

.bm-nyc-advanced .bm-nyc-eyebrow,
.bm-nyc-advanced h2 {
  text-align: center;
}

.bm-nyc-advanced .bm-nyc-eyebrow {
  margin-bottom: 1rem;
  line-height: 1.4286;
}

.bm-nyc-advanced h2:first-of-type {
  margin-bottom: 1rem;
}

.bm-nyc-advanced h2:nth-of-type(2) {
  margin-bottom: 2rem;
  font-size: 1.5rem;
}

.bm-massage-nyc-page .bm-nyc-advanced h2:nth-of-type(2) {
  line-height: 1.3334;
}

.bm-nyc-advanced p:not(.bm-nyc-eyebrow) {
  margin-bottom: 1.5rem;
  color: var(--bm-nyc-text);
}

.bm-nyc-advanced .bm-nyc-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-nyc-advanced a,
.bm-nyc-detail-card a,
.bm-nyc-faq-list a,
.bm-contact-copy a,
.bm-nyc-approach a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
}

.bm-nyc-advanced a:hover,
.bm-nyc-detail-card a:hover,
.bm-nyc-faq-list a:hover,
.bm-contact-copy a:hover,
.bm-nyc-approach a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-nyc-quote {
  margin: 2rem 0;
  border-left: 4px solid var(--bm-nyc-blue);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.bm-massage-nyc-page .bm-nyc-advanced .bm-nyc-quote p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.90625rem;
  font-style: italic;
  line-height: 1.7334;
}

.bm-nyc-stats {
  background: var(--bm-nyc-blue);
  padding: 4rem 0;
}

.bm-nyc-stats .bm-nyc-eyebrow {
  margin-bottom: 2rem;
  color: var(--bm-nyc-gold);
  text-align: center;
}

.bm-nyc-stats-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bm-nyc-stat-card {
  display: flex;
  align-items: center;
  flex-direction: column;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem 1.25rem;
  text-align: center;
}

.bm-nyc-stat-icon {
  display: flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  border-radius: 0.75rem;
  background: var(--bm-nyc-gold);
}

.bm-nyc-stat-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #fff;
  -webkit-mask: var(--bm-icon-heart) center / contain no-repeat;
  mask: var(--bm-icon-heart) center / contain no-repeat;
}

.bm-nyc-stat-icon.is-message::before {
  -webkit-mask-image: var(--bm-icon-message-heart);
  mask-image: var(--bm-icon-message-heart);
}

.bm-nyc-stat-icon.is-star::before {
  -webkit-mask-image: var(--bm-icon-star);
  mask-image: var(--bm-icon-star);
}

.bm-nyc-stat-icon.is-clock::before {
  -webkit-mask-image: var(--bm-icon-clock);
  mask-image: var(--bm-icon-clock);
}

.bm-nyc-stat-icon.is-map::before {
  -webkit-mask-image: var(--bm-icon-map-pin);
  mask-image: var(--bm-icon-map-pin);
}

.bm-nyc-stat-number {
  margin-bottom: 0.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
}

.bm-nyc-stat-number span {
  color: var(--bm-nyc-gold);
}

.bm-nyc-stat-label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-massage-nyc-page .bm-nyc-stat-number {
  line-height: 1;
}

.bm-massage-nyc-page .bm-nyc-stat-label {
  line-height: 1.3334;
}

.bm-nyc-modalities .bm-nyc-inner > h2 {
  margin-bottom: 3rem;
  color: #fff;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.bm-nyc-word-cloud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
}

.bm-nyc-word-cloud p {
  margin: 0;
  line-height: 1.2;
}

.bm-nyc-word-cloud a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-decoration: none;
  transition:
    color 300ms ease,
    transform 300ms ease;
}

.bm-nyc-word-cloud a:hover {
  color: var(--bm-nyc-gold);
  transform: scale(1.05);
}

.bm-word-sm a {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-word-base a {
  font-size: 1rem;
  line-height: 1.5rem;
}

.bm-word-lg a {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.bm-word-xl a {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.bm-word-2xl a {
  font-size: 1.5rem;
  line-height: 2rem;
}

.bm-word-3xl a {
  font-size: 1.5rem;
  line-height: 2rem;
}

.bm-word-italic a {
  font-style: italic;
}

.bm-word-xl.bm-word-2xl a {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.bm-word-lg.bm-word-xl a {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.bm-word-base.bm-word-lg a {
  font-size: 1rem;
  line-height: 1.5rem;
}

.bm-word-sm.bm-word-base a {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-nyc-split-grid {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-nyc-split-image {
  overflow: hidden;
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-nyc-split-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-nyc-split-copy h2 {
  margin-bottom: 1.5rem;
}

.bm-nyc-split-copy p:not(.bm-nyc-eyebrow) {
  margin-bottom: 0;
  color: var(--bm-nyc-text);
}

.bm-nyc-care .bm-nyc-inner {
  max-width: 1024px;
}

.bm-nyc-care-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.bm-nyc-care-card {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  border-radius: 1rem;
  box-shadow: var(--bm-nyc-shadow);
}

.bm-nyc-care-side {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 1.75rem 2rem;
  color: #fff;
  text-align: center;
}

.bm-nyc-care-side.is-injury {
  background: linear-gradient(135deg, #c5993a, #d4ad5a);
}

.bm-nyc-care-side.is-maintenance {
  background: linear-gradient(135deg, #3a7a8e, var(--bm-nyc-blue));
}

.bm-nyc-care-side.is-wellness {
  background: linear-gradient(135deg, var(--bm-nyc-blue), var(--bm-nyc-blue-dark));
}

.bm-nyc-care-icon {
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.625rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-zap) center / contain no-repeat;
  mask: var(--bm-icon-zap) center / contain no-repeat;
}

.bm-nyc-care-icon.is-shield {
  -webkit-mask-image: var(--bm-icon-shield);
  mask-image: var(--bm-icon-shield);
}

.bm-nyc-care-icon.is-heart {
  -webkit-mask-image: var(--bm-icon-heart);
  mask-image: var(--bm-icon-heart);
}

.bm-nyc-care-side h3 {
  margin-bottom: 0.25rem;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-nyc-care-side p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-nyc-care-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  padding: 1.5rem 1.75rem;
}

.bm-nyc-timeline {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

.bm-care-dot {
  width: 0.75rem;
  height: 0.75rem;
  flex: 0 0 auto;
  margin: 0;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  opacity: 0.7;
}

.bm-care-dot.is-active {
  width: 0.875rem;
  height: 0.875rem;
  opacity: 1;
}

.bm-care-dot.is-faded {
  opacity: 0.4;
}

.bm-care-line {
  height: 0.125rem;
  flex: 1 1 auto;
  margin: 0;
  background: rgba(45, 74, 94, 0.3);
}

.bm-nyc-care-card.is-injury .bm-care-dot {
  background: var(--bm-nyc-gold);
}

.bm-nyc-care-card.is-injury .bm-care-line {
  background: rgba(197, 153, 58, 0.3);
}

.bm-nyc-care-card.is-wellness .bm-care-line {
  background: rgba(45, 74, 94, 0.2);
}

.bm-nyc-care-tagline {
  margin-bottom: 0.375rem;
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
}

.bm-nyc-care-description {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-nyc-detail-list {
  display: grid;
  max-width: 56rem;
  gap: 1.5rem;
  margin: 0 auto;
}

.bm-nyc-detail-card {
  overflow: hidden;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.bm-nyc-detail-card h3 {
  margin: 0;
  background: var(--bm-nyc-blue);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 1.5rem;
}

.bm-nyc-detail-body {
  background: #fff;
  padding: 1.25rem 1.5rem;
}

.bm-nyc-detail-body > p {
  margin-bottom: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-nyc-detail-body > p + ul {
  margin-top: 1rem;
}

.bm-nyc-detail-body ul {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0;
  padding-left: 1.5rem;
}

.bm-nyc-detail-body li {
  position: relative;
  color: var(--bm-nyc-text);
  line-height: 1.5;
  list-style: none;
}

.bm-nyc-detail-body li::before {
  position: absolute;
  top: 0.75em;
  left: -1.35rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-nyc-detail-closing {
  margin: 1rem 0 0;
  color: var(--bm-nyc-text);
  text-align: center;
}

.bm-nyc-faq .bm-nyc-inner {
  max-width: 896px;
}

.bm-nyc-faq h2 {
  margin-bottom: 2.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.bm-nyc-faq-list {
  display: grid;
  gap: 0.75rem;
}

.bm-nyc-faq-list .wp-block-details {
  overflow: hidden;
  margin: 0;
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 160ms ease;
}

.bm-nyc-faq-list .wp-block-details[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-nyc-faq-list summary {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: 4.25rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem 3.5rem 1rem 5rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-weight: 600;
  line-height: 1.5;
  list-style: none;
}

.bm-nyc-faq-list summary::-webkit-details-marker {
  display: none;
}

.bm-nyc-faq-list summary::before,
.bm-nyc-faq-list summary::after {
  position: absolute;
  content: "";
}

.bm-nyc-faq-list summary::before {
  top: 50%;
  left: 1.25rem;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  transform: translateY(-50%);
}

.bm-nyc-faq-list summary::after {
  top: 50%;
  right: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 160ms ease;
}

.bm-nyc-faq-list .wp-block-details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-nyc-faq-list .wp-block-details > p {
  margin: 0;
  padding: 0 1.25rem 1.25rem 5rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-nyc-addons {
  padding: 3rem 0;
}

.bm-nyc-addon-panel {
  border-radius: 1rem;
  background: var(--bm-nyc-blue);
  padding: 1.75rem 1.5rem;
}

.bm-nyc-addon-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.bm-nyc-addon-header > .wp-block-group,
.bm-nyc-testimonial-footer > .wp-block-group:not(.bm-nyc-testimonial-controls) {
  display: block;
}

.bm-nyc-addon-header > .wp-block-group > :where(h3, p),
.bm-nyc-testimonial-footer > .wp-block-group:not(.bm-nyc-testimonial-controls) > p {
  margin-block-start: 0;
}

.bm-nyc-addon-header h3 {
  margin: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-nyc-addon-header p {
  margin: 0.125rem 0 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  line-height: 1.35;
}

.bm-nyc-addon-header a {
  color: var(--bm-nyc-gold);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.bm-nyc-addon-header a:hover {
  text-decoration: underline;
}

.bm-nyc-addon-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bm-nyc-addon-card {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 1rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.75rem 1rem;
  transition: background-color 160ms ease;
}

.bm-nyc-addon-card:hover {
  background: rgba(255, 255, 255, 0.2);
}

.bm-nyc-addon-card figure {
  flex: 0 0 auto;
  margin: 0;
}

.bm-nyc-addon-card img {
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 0.5rem;
  object-fit: cover;
}

.bm-nyc-addon-card p {
  margin: 0;
  line-height: 1.35;
}

.bm-nyc-addon-name {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
}

.bm-nyc-addon-price {
  margin-top: 0.25rem !important;
  color: var(--bm-nyc-gold);
  font-size: 1rem;
  font-weight: 700;
}

.bm-nyc-location-grid,
.bm-nyc-contact-grid,
.bm-nyc-services-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-nyc-location-grid {
  gap: 2rem;
}

.bm-nyc-location-card,
.bm-nyc-contact-card,
.bm-nyc-service-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-nyc-shadow);
  transition:
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-nyc-location-card:hover,
.bm-nyc-contact-card:hover,
.bm-nyc-service-card:hover,
.bm-nyc-location-card:focus-within,
.bm-nyc-contact-card:focus-within,
.bm-nyc-service-card:focus-within {
  box-shadow: var(--bm-nyc-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-nyc-map-wrap {
  position: relative;
  height: 14rem;
  overflow: hidden;
}

.bm-nyc-map-wrap .wp-block-html,
.bm-nyc-map-wrap .bm-map-frame,
.bm-nyc-map-wrap iframe {
  width: 100%;
  height: 100%;
}

.bm-nyc-map-wrap iframe {
  display: block;
  border: 0;
  filter: grayscale(40%);
  transition: filter 500ms ease;
}

.bm-nyc-location-card:hover iframe {
  filter: grayscale(0);
}

.bm-nyc-map-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: var(--bm-nyc-blue);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.375rem 0.75rem;
  text-decoration: none;
}

.bm-nyc-map-link::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-external-link) center / contain no-repeat;
  mask: var(--bm-icon-external-link) center / contain no-repeat;
}

.bm-nyc-location-body,
.bm-nyc-contact-card,
.bm-nyc-service-body {
  padding: 1.5rem;
}

.bm-nyc-location-body h3 {
  margin-bottom: 1rem;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
}

.bm-nyc-location-row {
  position: relative;
  margin-bottom: 0.75rem;
  padding-left: 1.75rem;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.45;
}

.bm-nyc-location-row::before {
  position: absolute;
  top: 0.2rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-map-pin) center / contain no-repeat;
  mask: var(--bm-icon-map-pin) center / contain no-repeat;
}

.bm-nyc-location-row.is-phone::before,
.bm-nyc-contact-icon.is-phone::before {
  -webkit-mask-image: var(--bm-icon-phone);
  mask-image: var(--bm-icon-phone);
}

.bm-nyc-location-row.is-hours::before {
  -webkit-mask-image: var(--bm-icon-clock);
  mask-image: var(--bm-icon-clock);
}

.bm-nyc-location-row a,
.bm-nyc-contact-card a:not(.wp-block-button__link) {
  color: inherit;
  text-decoration: none;
}

.bm-nyc-location-row a:hover,
.bm-nyc-contact-card a:not(.wp-block-button__link):hover {
  color: var(--bm-nyc-blue);
  text-decoration: underline;
}

.bm-nyc-location-button .wp-block-button__link,
.bm-nyc-contact-button .wp-block-button__link {
  border-radius: 0.5rem !important;
  background: var(--bm-nyc-blue) !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  padding: 0.75rem 1.5rem;
}

.bm-nyc-location-button .wp-block-button__link:hover,
.bm-nyc-contact-button .wp-block-button__link:hover {
  background: var(--bm-nyc-blue-dark) !important;
}

.bm-nyc-location-note {
  margin: 2rem 0 0;
  color: #6b7280;
  font-size: 0.875rem;
  text-align: center;
}

.bm-nyc-contact-grid {
  max-width: 56rem;
  margin: 0 auto;
}

.bm-nyc-contact-card {
  text-align: center;
}

.bm-nyc-contact-icon {
  display: flex;
  width: 3.5rem;
  height: 3.5rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
}

.bm-nyc-contact-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: var(--bm-nyc-blue);
  -webkit-mask: var(--bm-icon-calendar) center / contain no-repeat;
  mask: var(--bm-icon-calendar) center / contain no-repeat;
}

.bm-nyc-contact-card .bm-nyc-eyebrow {
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
}

.bm-nyc-contact-phone {
  margin-bottom: 0.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-nyc-contact-title {
  margin-bottom: 0.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-nyc-contact-meta {
  margin-bottom: 1rem;
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.45;
}

.bm-nyc-contact-card .wp-block-buttons {
  justify-content: center;
}

.bm-nyc-contact-card.is-book .bm-nyc-contact-button .wp-block-button__link {
  background: var(--bm-nyc-gold) !important;
}

.bm-nyc-contact-card.is-book .bm-nyc-contact-button .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-nyc-gratuity {
  max-width: 36rem;
  margin: 2rem auto 0;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
}

.bm-nyc-gratuity-heading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  color: var(--bm-nyc-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-nyc-gratuity-heading::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-nyc-gratuity p:not(.bm-nyc-gratuity-heading) {
  margin: 0;
  color: #4a5568;
  font-size: 0.875rem;
}

.bm-nyc-chip-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.bm-nyc-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.04);
  color: var(--bm-nyc-blue);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.375rem 0.875rem;
}

.bm-nyc-chip::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-icon-dollar) center / contain no-repeat;
  mask: var(--bm-icon-dollar) center / contain no-repeat;
}

.bm-nyc-chip.is-wallet::before {
  -webkit-mask-image: var(--bm-icon-wallet);
  mask-image: var(--bm-icon-wallet);
}

.bm-nyc-testimonial-wrap {
  max-width: 56rem;
  margin: 0 auto;
}

.bm-nyc-testimonial-card {
  position: relative;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  backdrop-filter: blur(4px);
}

.bm-nyc-testimonial-card::before {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  color: rgba(255, 255, 255, 0.15);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 0.8;
}

.bm-nyc-testimonial-quote {
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-nyc-testimonial-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.bm-nyc-testimonial-author {
  margin: 0;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
}

.bm-nyc-testimonial-location {
  margin: 0.25rem 0 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.25;
}

.bm-nyc-testimonial-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.bm-nyc-testimonial-count {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
}

.bm-nyc-testimonial-arrow {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: #fff;
}

.bm-nyc-testimonial-arrow::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
}

.bm-nyc-testimonial-arrow.is-next::before {
  transform: rotate(225deg);
}

.bm-nyc-service-card {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.bm-nyc-service-card figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.bm-nyc-service-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.bm-nyc-service-card:hover img,
.bm-nyc-service-card:focus-within img {
  transform: scale(1.05);
}

.bm-nyc-service-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.bm-nyc-service-body h3 {
  margin-bottom: 0.5rem;
  color: var(--bm-nyc-blue);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-nyc-service-body h3 a {
  color: inherit;
  text-decoration-color: rgba(45, 74, 94, 0.4);
  text-underline-offset: 0.125rem;
  transition:
    color 160ms ease,
    text-decoration-color 160ms ease;
}

.bm-nyc-service-card:hover h3 a,
.bm-nyc-service-card:focus-within h3 a {
  color: var(--bm-nyc-gold);
  text-decoration-color: var(--bm-nyc-gold);
}

.bm-nyc-service-body p:not(.bm-nyc-learn-link) {
  margin-bottom: 1rem;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-nyc-learn-link {
  margin: auto 0 0;
}

.bm-nyc-learn-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
  transition:
    color 160ms ease,
    gap 160ms ease;
}

.bm-nyc-service-card:hover .bm-nyc-learn-link a,
.bm-nyc-service-card:focus-within .bm-nyc-learn-link a {
  gap: 0.5rem;
  color: var(--bm-nyc-gold);
}

.bm-nyc-learn-link a::after {
  width: 1rem;
  height: 1rem;
}

@media (min-width: 640px) {
  .bm-nyc-care-card {
    flex-direction: row;
  }

  .bm-nyc-care-side {
    width: 13rem;
    flex: 0 0 13rem;
  }

  .bm-nyc-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-massage-nyc-hero-copy {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-massage-nyc-hero h1 {
    font-size: 3rem;
  }

  .bm-nyc-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-nyc-addons {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-nyc-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-nyc-stats {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .bm-nyc-section-heading h2,
  .bm-nyc-narrow > h2,
  .bm-nyc-split-copy h2,
  .bm-nyc-modalities .bm-nyc-inner > h2,
  .bm-nyc-faq h2 {
    font-size: 2.25rem;
  }

  .bm-massage-nyc-page .bm-nyc-advanced .bm-nyc-narrow > h2:first-of-type {
    font-size: 2.125rem;
    line-height: 2.5rem;
  }

  .bm-nyc-advanced h2:nth-of-type(2) {
    font-size: 1.875rem;
    line-height: 1.2;
  }

  .bm-nyc-stat-number {
    font-size: 3rem;
  }

  .bm-nyc-word-cloud {
    gap: 1.25rem 2rem;
  }

  .bm-word-base a,
  .bm-word-sm.bm-word-base a {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .bm-word-lg a,
  .bm-word-base.bm-word-lg a {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .bm-word-xl a,
  .bm-word-lg.bm-word-xl a {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .bm-word-2xl a,
  .bm-word-xl.bm-word-2xl a {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .bm-word-3xl a {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-word-2xl.bm-word-3xl a {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-nyc-faq-list summary {
    white-space: nowrap;
  }

  .bm-nyc-addon-panel {
    padding: 2rem 2.5rem;
  }

  .bm-nyc-addon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-nyc-addon-card img {
    width: 5rem;
    height: 5rem;
  }

  .bm-nyc-addon-name {
    font-size: 1rem;
  }

  .bm-nyc-addon-price {
    font-size: 1.125rem;
  }

  .bm-nyc-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-nyc-contact-grid,
  .bm-nyc-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bm-nyc-testimonial-card {
    padding: 3rem;
  }

  .bm-nyc-testimonial-card::before {
    top: 2rem;
    left: 2.5rem;
    font-size: 6rem;
  }

  .bm-nyc-testimonial-quote {
    font-size: 1.125rem;
  }
}

@media (min-width: 1024px) {
  .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .bm-massage-nyc-hero-image {
    min-height: 540px;
  }

  .bm-nyc-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-nyc-split-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Massage near me Manhattan page */
.bm-near-page {
  --bm-icon-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9L18.7 10 17 6c-.3-.6-.8-1-1.5-1h-7c-.7 0-1.2.4-1.5 1l-1.7 4-1.8 1.1C2.7 11.3 2 12.1 2 13v3c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3Cpath d='M5 11h14'/%3E%3C/svg%3E");
  --bm-icon-train: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15.5V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9.5A2.5 2.5 0 0 1 17.5 18h-11A2.5 2.5 0 0 1 4 15.5Z'/%3E%3Cpath d='M4 10h16'/%3E%3Cpath d='M8 18l-2 3'/%3E%3Cpath d='M16 18l2 3'/%3E%3Ccircle cx='8' cy='14' r='1'/%3E%3Ccircle cx='16' cy='14' r='1'/%3E%3C/svg%3E");
}

.bm-near-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-near-hero-title {
  max-width: 40rem;
}

.bm-near-action-primary .wp-block-button__link,
.bm-near-action-secondary .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.bm-near-action-primary .wp-block-button__link:hover {
  background: #b08832 !important;
  border-radius: 0.75rem !important;
  transform: translateY(-0.125rem);
}

.bm-near-action-secondary .wp-block-button__link:hover {
  border-color: #fff !important;
  border-radius: 0.75rem !important;
  background: rgba(255, 255, 255, 0.1) !important;
  transform: translateY(-0.125rem);
}

.bm-near-action-primary .wp-block-button__link::after,
.bm-near-action-secondary .wp-block-button__link::after {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-near-page :where(.bm-near-link-scope, .bm-near-hover-card) a:not(.wp-block-button__link) {
  color: var(--bm-nyc-blue);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--bm-nyc-gold);
  text-underline-offset: 0.14em;
}

.bm-near-page :where(.bm-near-link-scope, .bm-near-hover-card) a:not(.wp-block-button__link):hover {
  color: var(--bm-nyc-gold);
}

.bm-near-hover-card {
  box-shadow: var(--bm-nyc-shadow);
  transition:
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-near-hover-card:hover,
.bm-near-hover-card:focus-within {
  box-shadow: var(--bm-nyc-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-near-hover-card.is-layout-flex {
  align-items: flex-start;
}

.bm-near-check-icon,
.bm-near-card-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-near-card-icon {
  width: 1.5rem;
  height: 1.5rem;
  background: var(--bm-nyc-blue);
  -webkit-mask-image: var(--bm-near-icon, var(--bm-icon-map-pin));
  mask-image: var(--bm-near-icon, var(--bm-icon-map-pin));
}

.bm-near-card-icon.is-map {
  --bm-near-icon: var(--bm-icon-map-pin);
}

.bm-near-card-icon.is-train {
  --bm-near-icon: var(--bm-icon-train);
}

.bm-near-card-icon.is-car {
  --bm-near-icon: var(--bm-icon-car);
}

.bm-near-card-icon.is-calendar {
  --bm-near-icon: var(--bm-icon-calendar);
}

.bm-near-step-number {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
}

.bm-near-page .bm-near-on-blue a:not(.wp-block-button__link) {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.bm-near-page .bm-near-on-blue a:not(.wp-block-button__link):hover {
  color: var(--bm-nyc-gold);
}

.bm-near-faq .bm-nyc-faq-list summary {
  white-space: normal;
}

@media (min-width: 768px) {
  .bm-near-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
}

@media (min-width: 1024px) {
  .bm-near-page .bm-massage-nyc-hero-copy {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
}

@media (max-width: 767px) {
  .bm-near-actions.wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .bm-near-action-primary,
  .bm-near-action-secondary,
  .bm-near-action-primary .wp-block-button__link,
  .bm-near-action-secondary .wp-block-button__link {
    width: 100%;
  }

  .bm-near-action-primary .wp-block-button__link,
  .bm-near-action-secondary .wp-block-button__link {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .bm-nyc-addon-card {
    align-items: center;
    flex-direction: row;
  }

  .bm-nyc-testimonial-footer {
    align-items: center;
    flex-direction: row;
  }

  .bm-nyc-faq-list summary {
    padding-right: 3rem;
    padding-left: 5rem;
  }

  .bm-nyc-faq-list summary::before {
    left: 1rem;
  }

  .bm-nyc-faq-list .wp-block-details > p {
    padding-left: 5rem;
  }

  .bm-nyc-detail-body li {
    line-height: 1.625;
  }
}

/* Careers page rebuild */
.bm-careers-page {
  --bm-careers-icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --bm-careers-icon-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");
}

.bm-careers-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  padding: 0.5rem 1.25rem;
}

.bm-careers-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-careers-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-careers-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-careers-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-careers-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-careers-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-careers-page .bm-trust-item::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-careers-section .bm-nyc-inner {
  max-width: 56rem;
}

.bm-careers-section .bm-nyc-section-heading {
  max-width: 56rem;
  margin-bottom: 2rem;
}

.bm-careers-section .bm-nyc-section-heading h2 {
  margin-bottom: 0;
}

.bm-careers-intro-copy {
  margin-bottom: 2rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-careers-page :is(.bm-careers-intro-copy, .bm-careers-card, .bm-careers-requirement, .bm-careers-cta) a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--bm-nyc-gold);
  text-underline-offset: 0.16em;
}

.bm-careers-page :is(.bm-careers-intro-copy, .bm-careers-card, .bm-careers-requirement) a:hover {
  color: var(--bm-nyc-gold);
}

.bm-careers-card-list,
.bm-careers-requirements-list {
  display: grid;
  gap: 1.5rem;
}

.bm-careers-card,
.bm-careers-benefit-card {
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-nyc-shadow);
  padding: 1.5rem;
}

.bm-careers-card-row,
.bm-careers-requirement,
.bm-careers-pay-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.bm-careers-number {
  display: flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0.125rem 0 0;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}

.bm-careers-card h3,
.bm-careers-benefit-card h3 {
  margin: 0 0 0.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.45;
}

.bm-careers-benefit-card h3 {
  margin-bottom: 0;
  font-size: 1rem;
}

.bm-careers-card p:not(.bm-careers-number),
.bm-careers-benefit-card p,
.bm-careers-requirement p,
.bm-careers-pay-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-careers-benefit-card p {
  margin-top: 0.25rem;
  font-size: 0.875rem;
}

.bm-careers-benefits-intro {
  margin: 0 0 2.5rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-careers-benefits-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.bm-careers-benefit-card {
  width: 100%;
  padding: 1.25rem;
}

.bm-careers-benefit-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.bm-careers-benefit-icon,
.bm-careers-card-icon,
.bm-careers-pay-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  background: var(--bm-nyc-blue);
  -webkit-mask: var(--bm-careers-icon-mask, var(--bm-icon-map-pin)) center / contain no-repeat;
  mask: var(--bm-careers-icon-mask, var(--bm-icon-map-pin)) center / contain no-repeat;
}

.bm-careers-benefit-icon {
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-gold);
  --bm-careers-icon-mask: var(--bm-icon-check-circle);
}

.bm-careers-icon-map {
  --bm-careers-icon-mask: var(--bm-icon-map-pin);
}

.bm-careers-icon-users {
  --bm-careers-icon-mask: var(--bm-careers-icon-users);
}

.bm-careers-icon-award {
  --bm-careers-icon-mask: var(--bm-careers-icon-award);
}

.bm-careers-pay-icon {
  width: 1.75rem;
  height: 1.75rem;
  background: var(--bm-nyc-gold);
  --bm-careers-icon-mask: var(--bm-icon-dollar);
}

.bm-careers-requirement {
  gap: 0.75rem;
}

.bm-careers-requirement-number {
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0.25rem 0 0;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
}

.bm-careers-requirement strong {
  color: var(--bm-nyc-ink);
}

.bm-careers-pay-card {
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-careers-cta {
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
  text-align: center;
}

.bm-careers-cta .bm-nyc-inner {
  max-width: 48rem;
}

.bm-careers-cta h2 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
}

.bm-careers-cta p {
  max-width: 36rem;
  margin: 0 auto 1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-careers-cta p:last-child {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.7);
}

.bm-careers-cta .bm-careers-email {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-careers-cta .bm-careers-email a {
  color: var(--bm-nyc-gold);
}

.bm-careers-cta a {
  color: #fff;
  font-weight: 600;
  text-decoration-color: currentColor;
}

.bm-careers-cta a:hover {
  color: var(--bm-nyc-gold);
}

@media (min-width: 640px) {
  .bm-careers-benefit-card {
    width: calc(50% - 0.5rem);
  }
}

@media (min-width: 768px) {
  .bm-careers-cta h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-careers-pay-card {
    padding: 2rem;
  }
}

@media (min-width: 1024px) {
  .bm-careers-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-careers-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-careers-section {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .bm-careers-card,
  .bm-careers-benefit-card,
  .bm-careers-pay-card {
    padding: 1.25rem;
  }
}

/* Contact page rebuild */
.bm-contact-page {
  --bm-contact-icon-send: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E");
}

.bm-contact-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  padding: 0.5rem 1.25rem;
}

.bm-contact-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-contact-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-contact-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-contact-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-contact-page .bm-trust-item::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-contact-main .bm-nyc-inner {
  max-width: 56rem;
}

.bm-contact-main .bm-nyc-section-heading {
  margin-bottom: 1.5rem;
}

.bm-contact-main .bm-nyc-section-heading h2 {
  margin-bottom: 0;
}

.bm-contact-main-copy {
  margin: 0 0 0.5rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-contact-main-copy.is-last {
  margin-bottom: 2.5rem;
}

.bm-contact-page :is(.bm-contact-main-copy, .bm-nyc-contact, .bm-nyc-locations) a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--bm-nyc-gold);
  text-underline-offset: 0.16em;
}

.bm-contact-page :is(.bm-contact-main-copy, .bm-nyc-contact, .bm-nyc-locations) a:hover {
  color: var(--bm-nyc-gold);
}

.bm-contact-illustration {
  display: flex;
  justify-content: center;
  margin: 0 0 2.5rem;
}

.bm-contact-illustration img {
  display: block;
  width: min(100%, 42rem);
  height: auto;
}

.bm-contact-form-card {
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-nyc-shadow);
  padding: 1.5rem;
}

.bm-contact-form {
  display: grid;
  gap: 1.25rem;
}

.bm-contact-field label {
  display: block;
  margin-bottom: 0.375rem;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}

.bm-contact-field input,
.bm-contact-field textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  background: #fff;
  color: var(--bm-nyc-ink);
  font: inherit;
  line-height: 1.5;
  outline: none;
  padding: 0.75rem 1rem;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.bm-contact-field textarea {
  min-height: 10.5rem;
  resize: vertical;
}

.bm-contact-field input:focus,
.bm-contact-field textarea:focus {
  border-color: var(--bm-nyc-blue);
  box-shadow: 0 0 0 2px rgba(45, 74, 94, 0.2);
}

.bm-contact-submit {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 0.75rem;
  background: var(--bm-nyc-gold);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0.875rem 2rem;
  transition:
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.bm-contact-submit:hover,
.bm-contact-submit:focus-visible {
  background: #b08832;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.16), 0 6px 14px rgba(0, 0, 0, 0.08);
  transform: translateY(-0.125rem);
}

.bm-contact-submit::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: currentColor;
  -webkit-mask: var(--bm-contact-icon-send) center / contain no-repeat;
  mask: var(--bm-contact-icon-send) center / contain no-repeat;
}

.bm-contact-form-card .gform_wrapper {
  margin: 0;
}

.bm-contact-form-card .gform_wrapper form.bm-contact-form {
  display: grid;
  gap: 1.25rem;
  margin: 0;
}

.bm-contact-form-card .gform_wrapper .gform_fields {
  display: grid;
  gap: 1.25rem;
  row-gap: 1.25rem;
}

.bm-contact-form-card .gform_wrapper .gfield {
  margin: 0;
}

.bm-contact-form-card .gform_wrapper .gfield_required {
  display: none;
}

.bm-contact-form-card .gform_wrapper .gform-field-label {
  display: block;
  margin: 0 0 0.375rem;
  color: #374151;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}

.bm-contact-form-card .gform_wrapper .ginput_container {
  margin: 0;
}

.bm-contact-form-card .gform_wrapper :where(input[type="text"], input[type="email"], textarea) {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  background: #fff;
  color: var(--bm-nyc-ink);
  font: inherit;
  line-height: 1.5;
  outline: none;
  padding: 0.75rem 1rem;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.bm-contact-form-card .gform_wrapper textarea {
  min-height: 10.5rem;
  resize: vertical;
}

.bm-contact-form-card .gform_wrapper :where(input[type="text"], input[type="email"], textarea):focus {
  border-color: var(--bm-nyc-blue);
  box-shadow: 0 0 0 2px rgba(45, 74, 94, 0.2);
}

.bm-contact-form-card .gform_wrapper .gform_footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.bm-contact-form-card .gform_wrapper .bm-contact-submit {
  margin: 0;
}

.bm-contact-form-card .gform_wrapper .gform_validation_errors {
  margin: 0 0 1.25rem;
}

.bm-contact-form-card .gform_wrapper .gfield_validation_message {
  margin-top: 0.375rem;
  font-size: 0.875rem;
}

.bm-contact-form-card .gform_confirmation_wrapper {
  padding: 2rem 0;
  color: var(--bm-nyc-text);
  text-align: center;
}

.bm-contact-form-card .gform_confirmation_message {
  max-width: 36rem;
  margin: 0 auto;
}

.bm-contact-success {
  padding: 2rem 0;
  text-align: center;
}

.bm-contact-success[hidden] {
  display: none;
}

.bm-contact-success-icon {
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  border-radius: 999px;
  background: #dcfce7;
}

.bm-contact-success-icon::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  background: #16a34a;
  -webkit-mask: var(--bm-contact-icon-send) center / contain no-repeat;
  mask: var(--bm-contact-icon-send) center / contain no-repeat;
}

.bm-contact-success h3 {
  margin: 0 0 0.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-contact-success p {
  max-width: 36rem;
  margin: 0 auto;
  color: var(--bm-nyc-text);
}

.bm-contact-page .bm-nyc-map-wrap .wp-block-shortcode,
.bm-contact-page .bm-nyc-map-wrap .bm-space-map {
  width: 100%;
  height: 100%;
  margin: 0;
}

.bm-contact-page .bm-nyc-map-wrap .bm-space-map {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.bm-contact-page .bm-nyc-map-wrap .bm-space-map iframe {
  filter: grayscale(40%);
  transition: filter 500ms ease;
}

.bm-contact-page .bm-nyc-location-card:hover .bm-space-map iframe,
.bm-contact-page .bm-nyc-location-card:focus-within .bm-space-map iframe {
  filter: grayscale(0);
}

.bm-contact-page .bm-nyc-map-wrap .bm-space-map-link {
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: var(--bm-nyc-blue) !important;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.375rem 0.75rem;
}

@media (min-width: 768px) {
  .bm-contact-form-card {
    padding: 2rem;
  }
}

@media (min-width: 1024px) {
  .bm-contact-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-contact-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-contact-main {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .bm-contact-form-card {
    padding: 1.25rem;
  }
}

@media (min-width: 768px) {
  .bm-owner-content {
    padding-block: 6rem;
  }

  .bm-owner-section-heading h2 {
    line-height: 1.1112;
  }

  .bm-owner-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-owner-page .bm-mission-booking {
    padding: 6rem 2rem;
  }

  .bm-owner-page .bm-mission-booking .bm-mission-section-heading h2,
  .bm-owner-page + .bm-testimonials-block .bm-testimonials-title {
    line-height: 1.1112;
  }

  .bm-owner-page + .bm-testimonials-block .bm-testimonials-card {
    padding: 3rem;
  }
}

@media (min-width: 1024px) {
  .bm-owner-page .bm-owner-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-owner-page .bm-owner-hero .bm-mission-hero-copy {
    padding: 6rem 3rem;
  }

  .bm-owner-page .bm-owner-hero .bm-mission-hero-media {
    display: block;
  }
}

/* Prenatal tips page rebuild */
.bm-prenatal-tips-page {
  --bm-nyc-blue: #2d4a5e;
  --bm-nyc-blue-dark: #1f3544;
  --bm-nyc-gold: #c5993a;
  --bm-nyc-soft: #e5e7f2;
  --bm-nyc-ink: #111827;
  --bm-nyc-text: #4b5563;
  --bm-nyc-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  --bm-nyc-shadow-hover:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  overflow-x: hidden;
  background: #fff;
}

.bm-prenatal-tips-page :where(h1, h2, h3, p, figure, ul) {
  margin-top: 0;
}

.bm-prenatal-tips-page p,
.bm-prenatal-tips-page li {
  line-height: 1.625;
}

.bm-prenatal-tips-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-underline-offset: 0.16em;
}

.bm-prenatal-tips-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-prenatal-tips-hero {
  display: grid;
  min-height: 540px;
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
}

.bm-prenatal-tips-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-nyc-blue);
  padding: 4rem 1.5rem;
}

.bm-prenatal-tips-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.35;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-prenatal-tips-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: #fbbf24;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-prenatal-tips-hero h1 {
  max-width: 36rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-prenatal-tips-subtitle {
  max-width: 32rem;
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-prenatal-tips-page .bm-hero-cta,
.bm-prenatal-tips-page .bm-prenatal-book-button {
  margin: 0;
}

.bm-prenatal-tips-page .bm-hero-cta .wp-block-button__link,
.bm-prenatal-tips-page .bm-prenatal-book-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-prenatal-tips-page .bm-hero-cta .wp-block-button__link:hover,
.bm-prenatal-tips-page .bm-prenatal-book-button .wp-block-button__link:hover {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.bm-prenatal-tips-page .bm-hero-cta .wp-block-button__link::after,
.bm-prenatal-tips-page .bm-prenatal-book-button .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-prenatal-tips-hero-image {
  position: relative;
  min-height: 16rem;
  margin: 0;
  overflow: hidden;
}

.bm-prenatal-tips-hero-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-prenatal-tips-page .bm-trust-grid p {
  line-height: 1.5;
}

.bm-prenatal-tips-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-prenatal-section {
  margin-block-start: 0;
  padding: 4rem 0;
}

.bm-prenatal-section.is-soft {
  background: var(--bm-nyc-soft);
}

.bm-prenatal-inner {
  box-sizing: border-box;
  max-width: 1280px;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-prenatal-medium {
  max-width: 56rem;
}

.bm-prenatal-section-heading {
  margin-bottom: 2.5rem;
  text-align: center;
}

.bm-prenatal-section-heading > :where(p, h2, h3) {
  margin-bottom: 0;
}

.bm-prenatal-section-heading > :where(h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-prenatal-eyebrow {
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-prenatal-section-heading h2,
.bm-prenatal-section-heading h3 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-prenatal-section-heading h3 {
  font-size: 1.5rem;
}

.bm-prenatal-alert,
.bm-prenatal-next-card {
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-prenatal-alert {
  margin-bottom: 2rem;
}

.bm-prenatal-alert p,
.bm-prenatal-next-card p,
.bm-prenatal-body-copy {
  margin-bottom: 0;
  color: var(--bm-nyc-text);
}

.bm-prenatal-conditions-list {
  display: grid;
  counter-reset: prenatal-condition;
  gap: 1rem;
}

.bm-prenatal-condition {
  position: relative;
  overflow: hidden;
  counter-increment: prenatal-condition;
  margin: 0;
  border: 2px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-prenatal-condition[open] {
  border-color: var(--bm-nyc-blue);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-prenatal-condition summary {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: 4.75rem;
  align-items: center;
  margin: 0;
  padding: 1.25rem 4.75rem 1.25rem 5.25rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}

.bm-prenatal-condition summary::-webkit-details-marker {
  display: none;
}

.bm-prenatal-condition summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  color: #fff;
  content: counter(prenatal-condition);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
  transition: background-color 300ms ease;
}

.bm-prenatal-condition[open] summary::before {
  background: var(--bm-nyc-gold);
}

.bm-prenatal-condition::after {
  position: absolute;
  top: 1.4375rem;
  right: 1.5rem;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: #f3f4f6;
  content: "";
  transition:
    background-color 300ms ease,
    transform 300ms ease;
}

.bm-prenatal-condition[open]::after {
  background: var(--bm-nyc-blue);
}

.bm-prenatal-condition summary::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition:
    background-color 300ms ease,
    transform 300ms ease;
}

.bm-prenatal-condition[open] summary::after {
  background: #fff;
  transform: translateY(-50%) rotate(180deg);
}

.bm-prenatal-condition-copy {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  padding: 1.5rem 1.5rem 0;
}

.bm-postnatal-condition-copy {
  padding-bottom: 1.5rem;
}

.bm-prenatal-condition-intro {
  margin: 1.25rem 1.5rem 1rem;
  color: var(--bm-nyc-ink);
  font-weight: 700;
}

.bm-prenatal-condition-list {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 1.5rem 1.5rem;
  padding-left: 0;
  list-style: none;
}

.bm-prenatal-condition[open] .bm-prenatal-condition-list {
  margin-bottom: 2.75rem;
}

.bm-prenatal-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding-left: 0.25rem;
  list-style: none;
}

.bm-prenatal-list li,
.bm-prenatal-condition-list li {
  position: relative;
  margin: 0;
  padding-left: 1.25rem;
  color: var(--bm-nyc-text);
}

.bm-prenatal-list li::before,
.bm-prenatal-condition-list li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-prenatal-next-card {
  margin-top: 2.5rem;
  text-align: center;
}

.bm-postnatal-closing-copy {
  margin-bottom: 2rem;
}

.bm-postnatal-closing .bm-prenatal-next-card {
  margin-top: 0;
}

.bm-prenatal-book {
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
}

.bm-prenatal-book-inner {
  display: flex;
  max-width: 48rem;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.bm-prenatal-book h3 {
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-prenatal-book p {
  max-width: 36rem;
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.8);
}

.bm-prenatal-tips-page .bm-nyc-addons,
.bm-prenatal-tips-page .bm-nyc-section {
  margin-block-start: 0;
}

.bm-prenatal-tips-page .bm-nyc-addon-header > .wp-block-group:first-child {
  min-width: 0;
  flex: 1 1 auto;
}

.bm-prenatal-tips-page .bm-nyc-addon-header > p {
  flex: 0 0 auto;
}

.bm-prenatal-tips-page .bm-nyc-addon-header h3 {
  white-space: nowrap;
}

.bm-prenatal-tips-page .bm-nyc-addon-card p {
  line-height: 1.35;
}

.bm-prenatal-tips-page .bm-nyc-addon-price {
  line-height: 1.35;
}

@media (min-width: 768px) {
  .bm-prenatal-tips-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-prenatal-tips-hero h1 {
    font-size: 3rem;
  }

  .bm-prenatal-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-prenatal-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-prenatal-section-heading h2 {
    font-size: 2.25rem;
  }

  .bm-prenatal-section-heading h3,
  .bm-prenatal-book h3 {
    font-size: 1.875rem;
  }
}

@media (min-width: 1024px) {
  .bm-prenatal-tips-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-prenatal-tips-hero-copy {
    min-height: 540px;
    padding: 0 4rem;
  }

  .bm-prenatal-tips-hero-image {
    min-height: 540px;
  }

  .bm-prenatal-tips-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-prenatal-tips-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-prenatal-tips-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 767px) {
  .bm-prenatal-condition summary {
    padding-right: 4rem;
    padding-left: 5rem;
  }

  .bm-prenatal-condition summary::before {
    left: 1.5rem;
  }

  .bm-prenatal-condition::after {
    right: 1rem;
  }

  .bm-prenatal-condition summary::after {
    right: 1.5rem;
  }
}

/* Medical massage page rebuild */
.bm-medical-page .bm-massage-nyc-badge {
  color: rgba(255, 255, 255, 0.9);
}

.bm-medical-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-medical-page .bm-hero-cta .wp-block-button__link {
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-medical-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-medical-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-medical-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-medical-page .bm-trust-grid p {
  line-height: 1.5;
}

.bm-medical-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-medical-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  line-height: 1.5;
}

.bm-medical-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  max-width: 48rem;
}

.bm-medical-page .bm-nyc-location-body h3 {
  line-height: 1.4;
}

.bm-medical-page .bm-nyc-location-row {
  line-height: 1.428571;
}

.bm-medical-page .bm-nyc-location-row.is-hours {
  margin-bottom: 1.5rem;
}

.bm-medical-page .bm-nyc-chip {
  font-size: 0.8125rem;
  line-height: 1.5;
}

.bm-medical-split {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-medical-copy > :where(p, h2, ul, .wp-block-group),
.bm-medical-narrow > :where(p, h2, .wp-block-group) {
  margin-top: 0;
}

.bm-medical-copy .bm-nyc-eyebrow,
.bm-medical-narrow > .bm-nyc-eyebrow {
  margin-bottom: 1rem;
}

.bm-medical-copy h2,
.bm-medical-narrow > h2,
.bm-medical-page .bm-nyc-section-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-medical-copy h2 {
  margin-bottom: 1.5rem;
}

.bm-medical-copy > p:not(.bm-nyc-eyebrow),
.bm-medical-narrow > p {
  margin-bottom: 1rem;
  color: var(--bm-nyc-text);
}

.bm-medical-copy > p:last-child,
.bm-medical-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-medical-copy a,
.bm-medical-narrow a,
.bm-medical-faq a,
.bm-medical-research a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-medical-copy a:hover,
.bm-medical-narrow a:hover,
.bm-medical-faq a:hover,
.bm-medical-research a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-medical-copy .is-gold-link {
  color: var(--bm-nyc-gold);
  text-decoration-color: rgba(197, 153, 58, 0.3);
}

.bm-medical-video {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-medical-video .wp-block-embed__wrapper,
.bm-medical-video iframe {
  width: 100%;
  height: 100%;
}

.bm-medical-video iframe {
  display: block;
  border: 0;
}

.bm-medical-legislative {
  margin-block-start: 0;
  padding: 3rem 0;
}

.bm-medical-legislative-card {
  max-width: 48rem;
  margin: 0 auto;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.05);
  padding: 1.5rem;
}

.bm-medical-legislative-card h3 {
  margin-bottom: 0.75rem;
  color: var(--bm-nyc-blue);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-medical-legislative-card p {
  margin: 0;
  color: #374151;
  line-height: 1.625;
}

.bm-medical-page .is-italic,
.bm-medical-quote-card p {
  font-style: italic;
}

.bm-medical-split-image {
  overflow: hidden;
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-medical-split-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-medical-list {
  display: grid;
  gap: 0.25rem;
  margin: 0 0 1rem;
  padding-left: 1.5rem;
  color: var(--bm-nyc-text);
  list-style: disc;
}

.bm-medical-list li {
  margin: 0;
  line-height: 1.5;
}

.bm-medical-quote-card {
  margin: 1.5rem 0;
  border-left: 4px solid var(--bm-nyc-blue);
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.bm-medical-quote-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-medical-narrow,
.bm-medical-faq-inner {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
}

.bm-medical-narrow-pad {
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-medical-depth .bm-medical-narrow > .bm-nyc-eyebrow,
.bm-medical-depth .bm-medical-narrow > h2,
.bm-medical-benefits .bm-nyc-section-heading,
.bm-medical-access .bm-nyc-section-heading {
  text-align: center;
}

.bm-medical-depth .bm-medical-narrow > h2 {
  margin-bottom: 2rem;
}

.bm-medical-benefits .bm-nyc-section-heading {
  margin-bottom: 2rem;
}

.bm-medical-benefits .bm-nyc-section-heading h2,
.bm-medical-access .bm-nyc-section-heading h2 {
  margin-bottom: 0;
}

.bm-medical-condition-inner {
  box-sizing: border-box;
  max-width: 64rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-medical-conditions .bm-nyc-section-heading {
  margin-bottom: 3rem;
}

.bm-medical-conditions .bm-nyc-section-heading .bm-nyc-eyebrow,
.bm-medical-faq .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-medical-conditions .bm-nyc-section-heading h2 {
  color: #fff;
}

.bm-medical-word-cloud {
  gap: 0.875rem 1.5rem;
}

.bm-medical-word-cloud p {
  line-height: normal;
}

.bm-medical-word-cloud :where(a, span) {
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-decoration: none;
  transition:
    color 300ms ease,
    transform 300ms ease;
}

.bm-medical-word-cloud :where(a, span):hover {
  color: var(--bm-nyc-gold);
  transform: scale(1.05);
}

.bm-medical-word-cloud .bm-word-base :where(a, span) {
  font-size: 1rem;
  line-height: 1.5rem;
}

.bm-medical-word-cloud .bm-word-lg :where(a, span) {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.bm-medical-word-cloud .bm-word-xl :where(a, span) {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.bm-medical-word-cloud .bm-word-2xl :where(a, span) {
  font-size: 1.5rem;
  line-height: 2rem;
}

.bm-medical-word-cloud .bm-word-3xl :where(a, span),
.bm-medical-word-cloud .bm-word-4xl :where(a, span) {
  font-size: 1.5rem;
  line-height: 2rem;
}

.bm-medical-condition-note {
  max-width: 42rem;
  margin: 2.5rem auto 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.428571;
  text-align: center;
}

.bm-medical-access .bm-nyc-section-heading {
  margin-bottom: 1.5rem;
}

.bm-medical-notice {
  margin: 2rem 0;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.bm-medical-notice p {
  margin: 0;
  color: #374151;
  font-size: 0.875rem;
}

.bm-medical-centered-button {
  display: flex;
  justify-content: center;
}

.bm-medical-schedule-button {
  margin: 0;
}

.bm-medical-schedule-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
}

.bm-medical-schedule-button .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-medical-faq {
  background: var(--bm-nyc-gray);
}

.bm-medical-faq-inner {
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-medical-faq .bm-nyc-section-heading {
  margin-bottom: 3rem;
}

.bm-medical-faq-list {
  display: grid;
  gap: 0.75rem;
}

.bm-medical-faq-item {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-medical-faq-item[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-medical-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem 3.5rem 1rem 4rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  list-style: none;
}

.bm-medical-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-medical-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  content: "";
  transform: translateY(-50%);
}

.bm-medical-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}

.bm-medical-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-medical-faq-item > p {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
  padding: 1rem 1.5rem 1rem 4rem;
}

@media (min-width: 768px) {
  .bm-medical-copy h2,
  .bm-medical-narrow > h2,
  .bm-medical-page .bm-nyc-section-heading h2 {
    font-size: 2.25rem;
  }

  .bm-medical-what .bm-medical-copy h2 {
    font-size: 2.125rem;
    line-height: 1.32;
  }

  .bm-medical-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading h2 {
    line-height: 2.5rem;
  }

  .bm-medical-legislative {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-medical-narrow-pad,
  .bm-medical-faq-inner,
  .bm-medical-condition-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-medical-faq-item summary {
    font-size: 1rem;
  }

  .bm-medical-word-cloud .bm-word-3xl :where(a, span) {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-medical-word-cloud .bm-word-4xl :where(a, span) {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-medical-word-cloud {
    gap: 1.25rem 2rem;
  }

  .bm-medical-conditions .bm-nyc-section-heading h2,
  .bm-medical-faq .bm-nyc-section-heading h2 {
    line-height: 2.5rem;
  }

  .bm-medical-faq-item summary {
    box-sizing: border-box;
    min-height: 3.75rem;
    line-height: 1.5;
  }
}

@media (min-width: 1024px) {
  .bm-medical-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* TMJ massage page rebuild */
.bm-tmj-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  padding: 0.5rem 1.25rem;
}

.bm-tmj-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-tmj-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-tmj-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-tmj-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-tmj-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-tmj-page .bm-trust-item::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-tmj-page .bm-trust-grid p {
  line-height: 1.5;
}

.bm-tmj-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-tmj-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  line-height: 1.5;
}

.bm-tmj-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  max-width: 48rem;
}

.bm-tmj-page .bm-nyc-location-body h3 {
  line-height: 1.4;
}

.bm-tmj-page .bm-nyc-location-row {
  line-height: 1.428571;
}

.bm-tmj-page .bm-nyc-location-row.is-hours {
  margin-bottom: 1.5rem;
}

.bm-tmj-page .bm-nyc-chip {
  font-size: 0.8125rem;
  line-height: 1.5;
}

.bm-tmj-split {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-tmj-copy > :where(p, h2),
.bm-tmj-narrow > :where(p, h2, .wp-block-group) {
  margin-top: 0;
}

.bm-tmj-copy .bm-nyc-eyebrow {
  margin-bottom: 1rem;
}

.bm-tmj-page .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-tmj-copy h2,
.bm-tmj-narrow .bm-nyc-section-heading h2,
.bm-tmj-page .bm-nyc-section-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-tmj-copy h2 {
  margin-bottom: 1.5rem;
}

.bm-tmj-copy > p:not(.bm-nyc-eyebrow),
.bm-tmj-narrow > p,
.bm-tmj-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  color: var(--bm-nyc-text);
}

.bm-tmj-copy > p:not(.bm-nyc-eyebrow) {
  margin-bottom: 1.5rem;
}

.bm-tmj-copy > p:last-child,
.bm-tmj-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-tmj-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-tmj-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-tmj-split-image,
.bm-tmj-video {
  overflow: hidden;
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-tmj-split-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-tmj-research-card {
  max-width: 48rem;
  margin: 3rem auto 0;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.05);
  padding: 1.5rem;
}

.bm-tmj-card-eyebrow {
  margin-bottom: 0.5rem;
  color: var(--bm-nyc-blue);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-tmj-research-card p:not(.bm-tmj-card-eyebrow),
.bm-tmj-quote-card p {
  margin: 0;
  color: #374151;
  font-style: italic;
  line-height: 1.625;
}

.bm-tmj-narrow {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-tmj-narrow .bm-nyc-section-heading {
  margin-bottom: 2rem;
}

.bm-tmj-narrow .bm-nyc-section-heading h2 {
  margin-bottom: 0;
}

.bm-tmj-narrow > p {
  margin-bottom: 1.5rem;
  line-height: 1.625;
}

.bm-tmj-anatomy .bm-nyc-section-heading,
.bm-tmj-symptom-heading,
.bm-tmj-faq .bm-nyc-section-heading {
  margin-bottom: 3rem;
  text-align: center;
}

.bm-tmj-faq .bm-nyc-section-heading {
  max-width: 76rem;
}

.bm-tmj-anatomy .bm-nyc-section-heading .bm-nyc-eyebrow,
.bm-tmj-faq .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-tmj-anatomy-grid {
  display: grid;
  align-items: flex-start;
  gap: 2rem;
}

.bm-tmj-anatomy-figure {
  width: 100%;
  max-width: 32rem;
  margin: 0 auto;
}

.bm-tmj-anatomy-image-wrap {
  position: relative;
  overflow: visible;
}

.bm-tmj-anatomy-image {
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-tmj-anatomy-image img {
  display: block;
  width: 100%;
  border-radius: inherit;
}

.bm-tmj-hotspot {
  position: absolute;
  z-index: 3;
  margin: 0;
  transform: translate(-50%, -50%);
}

.bm-tmj-hotspot > :where(p, .wp-block-group) {
  margin: 0;
}

.bm-tmj-hotspot.is-temporalis {
  top: 18%;
  left: 52%;
}

.bm-tmj-hotspot.is-tmj-joint {
  top: 42%;
  left: 60%;
}

.bm-tmj-hotspot.is-lateral-pterygoid {
  top: 52%;
  left: 53%;
}

.bm-tmj-hotspot.is-masseter {
  top: 58%;
  left: 30%;
}

.bm-tmj-hotspot.is-medial-pterygoid {
  top: 68%;
  left: 52%;
}

.bm-tmj-hotspot.is-scm {
  top: 78%;
  left: 62%;
}

.bm-tmj-hotspot-dot {
  display: block;
  width: 1rem;
  height: 1rem;
  border: 2px solid #fff;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.bm-tmj-hotspot-label {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: max-content;
  max-width: 10rem;
  border-radius: 0.375rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  color: #1f2937;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.125rem 0.5rem;
  transform: translateY(-50%);
}

.bm-tmj-hotspot.is-masseter .bm-tmj-hotspot-label {
  right: 1.5rem;
  left: auto;
}

.bm-tmj-hotspot-dot.temporalis,
.bm-tmj-legend-chip.temporalis::before {
  background: #5a8fa8;
}

.bm-tmj-hotspot-dot.tmj-joint,
.bm-tmj-legend-chip.tmj-joint::before {
  background: #e8c864;
}

.bm-tmj-hotspot-dot.lateral-pterygoid,
.bm-tmj-legend-chip.lateral-pterygoid::before {
  background: #7b68ae;
}

.bm-tmj-hotspot-dot.masseter,
.bm-tmj-legend-chip.masseter::before {
  background: #c4615a;
}

.bm-tmj-hotspot-dot.medial-pterygoid,
.bm-tmj-legend-chip.medial-pterygoid::before {
  background: #d4915a;
}

.bm-tmj-hotspot-dot.scm,
.bm-tmj-legend-chip.scm::before {
  background: #6aab6a;
}

.bm-tmj-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.bm-tmj-legend-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.06);
  color: #374151;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.25rem 0.75rem;
}

.bm-tmj-legend-chip::before {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  flex: 0 0 auto;
  border-radius: 999px;
}

.bm-tmj-anatomy-panel {
  display: flex;
  min-height: 17.5rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid #e5e7eb;
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  transition: border-color 300ms ease;
}

.bm-tmj-pointer-icon {
  display: grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
}

.bm-tmj-pointer-icon::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: var(--bm-nyc-blue);
  -webkit-mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
  mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
}

.bm-tmj-panel-title {
  margin: 0;
  color: #374151;
  font-size: 1.125rem;
  font-weight: 600;
}

.bm-tmj-panel-text {
  margin: 0.25rem 0 0;
  color: #6b7280;
  font-size: 0.875rem;
}

.bm-tmj-symptom-heading .bm-nyc-eyebrow {
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.428571;
}

.bm-tmj-symptom-heading h2 {
  color: #fff;
}

.bm-tmj-symptom-cloud {
  display: flex;
  max-width: 64rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  margin: 0 auto;
}

.bm-tmj-symptom-cloud p {
  margin: 0;
  line-height: 1.3;
}

.bm-tmj-symptom-cloud span {
  display: inline-block;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.3;
  transition:
    color 300ms ease,
    filter 300ms ease,
    transform 300ms ease;
}

.bm-tmj-symptom-cloud span:hover {
  color: var(--bm-nyc-gold);
  filter: drop-shadow(0 0 20px rgba(197, 153, 58, 0.5));
  transform: scale(1.1);
}

.bm-tmj-weight-medium span {
  font-weight: 500;
}

.bm-tmj-weight-semibold span {
  font-weight: 600;
}

.bm-tmj-weight-bold span {
  font-weight: 700;
}

.bm-tmj-weight-extrabold span {
  font-weight: 800;
}

.bm-tmj-symptom-lg span {
  font-size: 1rem;
}

.bm-tmj-symptom-xl span {
  font-size: 1.125rem;
}

.bm-tmj-symptom-2xl span {
  font-size: 1.25rem;
}

.bm-tmj-symptom-3xl span {
  font-size: 1.5rem;
}

.bm-tmj-symptom-4xl span,
.bm-tmj-symptom-5xl span {
  font-size: 1.875rem;
}

.bm-tmj-timeline {
  position: relative;
  display: grid;
  gap: 1.25rem;
  padding-left: 3rem;
}

.bm-tmj-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-tmj-timeline-item {
  position: relative;
  margin: 0;
}

.bm-tmj-timeline-number {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}

.bm-tmj-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-tmj-timeline-card h3 {
  margin: 0 0 0.375rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
}

.bm-tmj-timeline-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.9375rem;
  line-height: 1.625;
}

.bm-tmj-quote-card {
  margin-top: 2.5rem;
  border-left: 4px solid var(--bm-nyc-blue);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.bm-tmj-after-timeline,
.bm-tmj-video-note {
  margin-top: 2.5rem;
}

.bm-tmj-video {
  aspect-ratio: 16 / 9;
}

.bm-tmj-video .wp-block-embed__wrapper,
.bm-tmj-video iframe {
  width: 100%;
  height: 100%;
}

.bm-tmj-video iframe {
  display: block;
  border: 0;
}

.bm-tmj-addons {
  margin-block-start: 0;
}

.bm-tmj-addons .bm-nyc-addon-header > p {
  margin: 0;
}

.bm-tmj-addons .bm-nyc-addon-header a {
  text-decoration: none;
}

.bm-tmj-addons .bm-nyc-addon-card .wp-block-image {
  margin: 0;
  flex: 0 0 auto;
}

.bm-tmj-addons .bm-nyc-addon-copy {
  min-width: 0;
}

.bm-tmj-faq-list {
  display: grid;
  max-width: 48rem;
  gap: 1rem;
  margin: 0 auto;
}

.bm-tmj-faq-item {
  overflow: hidden;
  margin: 0;
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 200ms ease;
}

.bm-tmj-faq-item[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-tmj-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 5rem;
  margin: 0;
  padding: 1.25rem 3.5rem 1.25rem 5rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  list-style: none;
}

.bm-tmj-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-tmj-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  content: "";
  transform: translateY(-50%);
}

.bm-tmj-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}

.bm-tmj-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-tmj-faq-item > p {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  line-height: 1.625;
  padding: 1rem 1.5rem 1.25rem 4rem;
}

@media (min-width: 768px) {
  .bm-tmj-copy h2,
  .bm-tmj-page .bm-nyc-section-heading h2 {
    font-size: 2.25rem;
  }

  .bm-tmj-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading h2,
  .bm-tmj-anatomy .bm-nyc-section-heading h2,
  .bm-tmj-faq .bm-nyc-section-heading h2 {
    line-height: 2.5rem;
  }

  .bm-tmj-page :is(.bm-tmj-about, .bm-tmj-frequency, .bm-tmj-intraoral) .bm-nyc-section-heading h2 {
    font-size: 2.125rem;
    line-height: 2.5rem;
  }

  .bm-tmj-page :is(.bm-tmj-frequency, .bm-tmj-intraoral) .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
    max-width: 48rem;
    line-height: 1.625;
  }

  .bm-tmj-narrow {
    padding-right: 0;
    padding-left: 0;
  }

  .bm-tmj-symptom-cloud {
    gap: 1rem 1.75rem;
  }

  .bm-tmj-symptom-lg span {
    font-size: 1.125rem;
  }

  .bm-tmj-symptom-xl span {
    font-size: 1.25rem;
  }

  .bm-tmj-symptom-2xl span {
    font-size: 1.5rem;
  }

  .bm-tmj-symptom-3xl span {
    font-size: 1.875rem;
  }

  .bm-tmj-symptom-4xl span {
    font-size: 2.25rem;
  }

  .bm-tmj-symptom-5xl span {
    font-size: 3rem;
  }

  .bm-tmj-faq-item summary {
    font-size: 1.125rem;
  }
}

@media (min-width: 1024px) {
  .bm-tmj-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-tmj-split,
  .bm-tmj-anatomy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-tmj-anatomy-panel {
    margin-top: 2rem;
  }
}

@media (min-width: 1280px) {
  .bm-tmj-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-tmj-hotspot-label {
    max-width: 6.5rem;
    font-size: 0.625rem;
  }

  .bm-tmj-faq-item summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4rem;
  }

  .bm-tmj-faq-item summary::before {
    width: 1.75rem;
    height: 1.75rem;
    background-size: 1rem;
  }

  .bm-tmj-faq-item > p {
    padding-left: 1.5rem;
  }
}

/* Lymphatic drainage massage page rebuild */
.bm-lymphatic-page {
  --bm-lymphatic-icon-stethoscope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2v2'/%3E%3Cpath d='M5 2v2'/%3E%3Cpath d='M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1'/%3E%3Cpath d='M8 15a6 6 0 0 0 12 0v-3'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-dumbbell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 6.5 11 11'/%3E%3Cpath d='m21 21-1-1'/%3E%3Cpath d='m3 3 1 1'/%3E%3Cpath d='m18 22 4-4'/%3E%3Cpath d='m2 6 4-4'/%3E%3Cpath d='m3 10 7-7'/%3E%3Cpath d='m14 21 7-7'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 2.5 19 2c1 2 2 4.18 2 8 0 5.5-4.5 10-10 10Z'/%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6.1C9.5 14.34 12 12 13 9'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-baby: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h.01'/%3E%3Cpath d='M15 12h.01'/%3E%3Cpath d='M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/%3E%3Cpath d='M19 6.3a9 9 0 1 1-14 0'/%3E%3Cpath d='M12 3v4'/%3E%3Cpath d='M10 5h4'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-ribbon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 11.22C8.68 8.23 7 6 7 4.5A3.5 3.5 0 0 1 13.17 2'/%3E%3Cpath d='M12 11.22C15.32 8.23 17 6 17 4.5A3.5 3.5 0 0 0 10.83 2'/%3E%3Cpath d='M12 11.22 7 22l5-3 5 3-5-10.78Z'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 17c1.38 0 2-.88 2-2 0-1.61-1-2-1-3.5 0-1 .5-2 1.5-2.5.5 1.5 2 2.75 2 5A4.5 4.5 0 0 1 11 18.5a4.5 4.5 0 0 1-4.5-4.5c0-2.5 1.5-4.5 4.5-7.5-.5 2.5.5 4.5-2.5 8Z'/%3E%3Cpath d='M12 22a8 8 0 0 0 8-8c0-4.5-3-7.5-6-10.5C14 7 9 8 9 13'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-circle-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11.5V9a2 2 0 0 0-4 0v2.5'/%3E%3Cpath d='M14 10V7a2 2 0 0 0-4 0v4.5'/%3E%3Cpath d='M10 11V8a2 2 0 1 0-4 0v7'/%3E%3Cpath d='M6 15v-1a2 2 0 1 0-4 0v1c0 4.4 3.6 8 8 8h2a8 8 0 0 0 8-8v-3.5a2 2 0 0 0-4 0'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-footprints: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16v-2.38C4 11.5 5.72 10 7.5 10S11 11.5 11 13.62V16c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2Z'/%3E%3Cpath d='M13 20v-2.38C13 15.5 14.72 14 16.5 14s3.5 1.5 3.5 3.62V20c0 1.1-.9 2-2 2h-3c-1.1 0-2-.9-2-2Z'/%3E%3Cpath d='M7.5 2v4'/%3E%3Cpath d='M16.5 6v4'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-shield-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-bed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4v16'/%3E%3Cpath d='M2 8h18a2 2 0 0 1 2 2v10'/%3E%3Cpath d='M2 17h20'/%3E%3Cpath d='M6 8v9'/%3E%3C/svg%3E");
  --bm-lymphatic-icon-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");
}

.bm-lymphatic-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  padding: 0.5rem 1.25rem;
}

.bm-lymphatic-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-lymphatic-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-lymphatic-page .bm-hero-cta .wp-block-button__link,
.bm-lymphatic-schedule-button .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-lymphatic-page .bm-hero-cta .wp-block-button__link:hover,
.bm-lymphatic-schedule-button .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-lymphatic-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-lymphatic-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-lymphatic-page .bm-trust-item::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-lymphatic-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading .bm-nyc-eyebrow,
.bm-lymphatic-page .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-lymphatic-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  line-height: 1.5;
}

.bm-lymphatic-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  line-height: 1.5;
}

.bm-lymphatic-page :is(.bm-lymphatic-benefits, .bm-lymphatic-who, .bm-lymphatic-types, .bm-lymphatic-focus, .bm-lymphatic-why) .bm-nyc-section-heading {
  max-width: none;
}

.bm-lymphatic-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  max-width: 48rem;
}

.bm-lymphatic-page .bm-nyc-map-wrap .wp-block-shortcode,
.bm-lymphatic-page .bm-nyc-map-wrap .bm-space-map {
  width: 100%;
  height: 100%;
  margin: 0;
}

.bm-lymphatic-page .bm-nyc-map-wrap .bm-space-map {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.bm-lymphatic-page .bm-nyc-map-wrap .bm-space-map iframe {
  filter: grayscale(40%);
  transition: filter 500ms ease;
}

.bm-lymphatic-page .bm-nyc-location-card:hover .bm-space-map iframe,
.bm-lymphatic-page .bm-nyc-location-card:focus-within .bm-space-map iframe {
  filter: grayscale(0);
}

.bm-lymphatic-page .bm-nyc-map-wrap .bm-space-map-link {
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: var(--bm-nyc-blue) !important;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.375rem 0.75rem;
}

.bm-lymphatic-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-lymphatic-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-lymphatic-split {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-lymphatic-copy > :where(p, h2),
.bm-lymphatic-narrow > :where(p, h2, .wp-block-group),
.bm-lymphatic-section-heading > :where(p, h2) {
  margin-top: 0;
}

.bm-lymphatic-copy .bm-nyc-eyebrow,
.bm-lymphatic-narrow > .bm-nyc-eyebrow {
  margin-bottom: 1rem;
}

.bm-lymphatic-copy h2,
.bm-lymphatic-narrow > h2,
.bm-lymphatic-page .bm-nyc-section-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-lymphatic-copy h2,
.bm-lymphatic-narrow > h2 {
  margin-bottom: 1.5rem;
}

.bm-lymphatic-copy > p:not(.bm-nyc-eyebrow),
.bm-lymphatic-narrow > p,
.bm-lymphatic-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  color: var(--bm-nyc-text);
}

.bm-lymphatic-copy > p:not(.bm-nyc-eyebrow),
.bm-lymphatic-narrow > p {
  margin-bottom: 1.5rem;
  line-height: 1.625;
}

.bm-lymphatic-copy > p:last-child,
.bm-lymphatic-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-lymphatic-split-image,
.bm-lymphatic-video {
  overflow: hidden;
  margin: 0;
  border-radius: 1rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-lymphatic-split-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-lymphatic-video {
  aspect-ratio: 16 / 9;
}

.bm-lymphatic-video .wp-block-embed__wrapper,
.bm-lymphatic-video iframe {
  width: 100%;
  height: 100%;
}

.bm-lymphatic-video iframe {
  display: block;
  border: 0;
}

.bm-lymphatic-narrow {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.bm-lymphatic-narrow.is-centered {
  text-align: center;
}

.bm-lymphatic-narrow .bm-nyc-section-heading {
  margin-bottom: 2rem;
}

.bm-lymphatic-narrow .bm-nyc-section-heading h2 {
  margin-bottom: 0;
}

.bm-lymphatic-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

.bm-lymphatic-card {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-nyc-shadow);
  padding: 1.5rem;
  transition:
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-lymphatic-card:hover,
.bm-lymphatic-card:focus-within {
  box-shadow: var(--bm-nyc-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-lymphatic-card.is-horizontal {
  display: flex;
  gap: 1rem;
  border-radius: 0.75rem;
  padding: 1.25rem;
}

.bm-lymphatic-card.is-horizontal .bm-lymphatic-card-icon {
  margin-bottom: 0;
}

.bm-lymphatic-card-icon,
.bm-lymphatic-list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.1);
}

.bm-lymphatic-card-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
}

.bm-lymphatic-list-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
}

.bm-lymphatic-card-icon::before,
.bm-lymphatic-list-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: var(--bm-nyc-blue);
  -webkit-mask: var(--bm-lymphatic-card-mask, var(--bm-icon-droplets)) center / contain no-repeat;
  mask: var(--bm-lymphatic-card-mask, var(--bm-icon-droplets)) center / contain no-repeat;
}

.bm-lymphatic-list-icon::before {
  width: 1.25rem;
  height: 1.25rem;
}

.bm-lymphatic-card-icon.is-gold,
.bm-lymphatic-list-icon.is-gold {
  background: rgba(197, 153, 58, 0.1);
}

.bm-lymphatic-card-icon.is-gold::before,
.bm-lymphatic-list-icon.is-gold::before {
  background: var(--bm-nyc-gold);
}

.bm-lymphatic-icon-droplets {
  --bm-lymphatic-card-mask: var(--bm-icon-droplets);
}

.bm-lymphatic-icon-shield {
  --bm-lymphatic-card-mask: var(--bm-icon-shield);
}

.bm-lymphatic-icon-heart {
  --bm-lymphatic-card-mask: var(--bm-icon-heart);
}

.bm-lymphatic-icon-sparkles {
  --bm-lymphatic-card-mask: var(--bm-icon-sparkles);
}

.bm-lymphatic-icon-moon {
  --bm-lymphatic-card-mask: var(--bm-icon-moon);
}

.bm-lymphatic-icon-star {
  --bm-lymphatic-card-mask: var(--bm-icon-star);
}

.bm-lymphatic-icon-map {
  --bm-lymphatic-card-mask: var(--bm-icon-map-pin);
}

.bm-lymphatic-icon-sliders {
  --bm-lymphatic-card-mask: var(--bm-icon-sliders-horizontal);
}

.bm-lymphatic-icon-stethoscope {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-stethoscope);
}

.bm-lymphatic-icon-dumbbell {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-dumbbell);
}

.bm-lymphatic-icon-leaf {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-leaf);
}

.bm-lymphatic-icon-baby {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-baby);
}

.bm-lymphatic-icon-ribbon {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-ribbon);
}

.bm-lymphatic-icon-flame {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-flame);
}

.bm-lymphatic-icon-circle-alert {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-circle-alert);
}

.bm-lymphatic-icon-hand {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-hand);
}

.bm-lymphatic-icon-footprints {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-footprints);
}

.bm-lymphatic-icon-shield-check {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-shield-check);
}

.bm-lymphatic-icon-bed {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-bed);
}

.bm-lymphatic-icon-award {
  --bm-lymphatic-card-mask: var(--bm-lymphatic-icon-award);
}

.bm-lymphatic-card h3 {
  margin: 0 0 0.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-lymphatic-card.is-horizontal h3 {
  margin-bottom: 0.25rem;
  font-size: 1rem;
}

.bm-lymphatic-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-lymphatic-note {
  max-width: 48rem;
  margin: 2rem auto 0;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.bm-lymphatic-note p {
  margin: 0;
  color: #374151;
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-lymphatic-benefit-research {
  margin-top: 2.5rem;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.05);
  padding: 1.5rem;
}

.bm-lymphatic-benefit-research p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-lymphatic-benefit-research p + p {
  margin-top: 0.75rem;
  color: #6b7280;
}

.bm-lymphatic-types .bm-nyc-section-heading h2,
.bm-lymphatic-types .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  color: #fff;
}

.bm-lymphatic-types .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  color: rgba(255, 255, 255, 0.7);
}

.bm-lymphatic-types-grid {
  display: flex;
  max-width: 56rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0 auto;
}

.bm-lymphatic-type-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 28rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  transition:
    background-color 300ms ease,
    transform 300ms ease;
}

.bm-lymphatic-type-card:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-0.25rem);
}

.bm-lymphatic-type-tag {
  display: inline-block;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: rgba(197, 153, 58, 0.2);
  color: var(--bm-nyc-gold);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.35;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
}

.bm-lymphatic-type-card h3 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-lymphatic-type-card p:not(.bm-lymphatic-type-tag) {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-lymphatic-list {
  display: grid;
  max-width: 48rem;
  gap: 1rem;
  margin: 0 auto;
}

.bm-lymphatic-list .bm-lymphatic-card {
  width: 100%;
}

.bm-lymphatic-small-link,
.bm-lymphatic-aftercare-link {
  color: #6b7280;
  font-size: 0.875rem;
}

.bm-lymphatic-aftercare-link {
  margin-top: 1.5rem;
  text-align: center;
}

.bm-lymphatic-chart {
  display: grid;
  max-width: 48rem;
  gap: 1.25rem;
  margin: 0 auto;
}

.bm-lymphatic-bar-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.375rem;
  line-height: 1.4;
}

.bm-lymphatic-bar-label span:first-child {
  color: var(--bm-nyc-ink);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
}

.bm-lymphatic-bar-label span:last-child {
  color: var(--bm-nyc-blue);
  font-size: 0.875rem;
  font-weight: 700;
}

.bm-lymphatic-bar-track {
  height: 0.75rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e5e7eb;
}

.bm-lymphatic-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
}

.bm-lymphatic-bar-fill.is-100 {
  width: 100%;
}

.bm-lymphatic-bar-fill.is-67 {
  width: 66.6667%;
}

.bm-lymphatic-bar-fill.is-50 {
  width: 50%;
}

.bm-lymphatic-bar-fill.is-33 {
  width: 33.3333%;
}

.bm-lymphatic-chart-copy {
  max-width: 48rem;
  margin: 2.5rem auto 0;
}

.bm-lymphatic-chart-copy p {
  margin: 0 0 1rem;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-lymphatic-chart-copy p:last-child {
  margin-bottom: 0;
}

.bm-lymphatic-clearance {
  margin: 2rem 0;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.bm-lymphatic-clearance p {
  margin: 0 0 0.75rem;
  color: #374151;
  line-height: 1.625;
}

.bm-lymphatic-clearance p:last-child {
  margin-bottom: 0;
}

.bm-lymphatic-centered-button {
  display: flex;
  justify-content: center;
}

.bm-lymphatic-schedule-button {
  margin: 0;
}

.bm-lymphatic-schedule-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  color: #fff !important;
  line-height: 1.5;
}

.bm-lymphatic-schedule-button .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-lymphatic-faq {
  background: var(--bm-nyc-gray);
}

.bm-lymphatic-faq-list {
  display: grid;
  max-width: 44rem;
  gap: 0.75rem;
  margin: 0 auto;
}

.bm-lymphatic-faq-item {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-lymphatic-faq-item[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-lymphatic-faq-item:hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.bm-lymphatic-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 3.75rem;
  margin: 0;
  padding: 1rem 3.5rem 1rem 4rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  list-style: none;
}

.bm-lymphatic-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-lymphatic-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  content: "";
  transform: translateY(-50%);
}

.bm-lymphatic-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}

.bm-lymphatic-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-lymphatic-faq-item > p {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
  padding: 1rem 1.5rem 1rem 4rem;
}

@media (min-width: 640px) {
  .bm-lymphatic-card {
    width: calc(50% - 0.75rem);
  }
}

@media (min-width: 768px) {
  .bm-lymphatic-copy h2,
  .bm-lymphatic-narrow > h2,
  .bm-lymphatic-page .bm-nyc-section-heading h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-lymphatic-page :is(.bm-nyc-locations, .bm-nyc-contact) .bm-nyc-section-heading h2,
  .bm-lymphatic-faq .bm-nyc-section-heading h2 {
    line-height: 2.5rem;
  }

  .bm-lymphatic-therapy .bm-nyc-section-heading h2 {
    font-size: 2.125rem;
  }

  .bm-lymphatic-types-grid {
    flex-direction: row;
  }

  .bm-lymphatic-faq-item summary {
    font-size: 1rem;
  }
}

@media (min-width: 1024px) {
  .bm-lymphatic-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-lymphatic-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-lymphatic-card {
    width: calc(33.333% - 1rem);
  }
}

@media (min-width: 1280px) {
  .bm-lymphatic-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-lymphatic-page :is(.bm-lymphatic-about, .bm-lymphatic-expect, .bm-lymphatic-benefits, .bm-lymphatic-side-effects, .bm-lymphatic-aftercare, .bm-lymphatic-focus, .bm-lymphatic-therapy) {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .bm-lymphatic-card.is-horizontal {
    align-items: flex-start;
  }

  .bm-lymphatic-faq-item summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4rem;
  }

  .bm-lymphatic-faq-item > p {
    padding-left: 1.5rem;
  }
}

/* Post-operative lymphatic massage page rebuild */
.bm-postop-page {
  --bm-postop-icon-layers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.84l8.57 3.9a2 2 0 0 0 1.66 0l8.57-3.9a1 1 0 0 0 0-1.84Z'/%3E%3Cpath d='m22 12-9.17 4.18a2 2 0 0 1-1.66 0L2 12'/%3E%3Cpath d='m22 17-9.17 4.18a2 2 0 0 1-1.66 0L2 17'/%3E%3C/svg%3E");
  --bm-postop-icon-network: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='16' y='16' width='6' height='6' rx='1'/%3E%3Crect x='2' y='16' width='6' height='6' rx='1'/%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Cpath d='M5 16v-3a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3'/%3E%3Cpath d='M12 8v8'/%3E%3C/svg%3E");
  --bm-postop-icon-brain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z'/%3E%3Cpath d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z'/%3E%3Cpath d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4'/%3E%3Cpath d='M17.599 6.5a3 3 0 0 0 .399-1.375'/%3E%3Cpath d='M6.003 5.125A3 3 0 0 0 6.401 6.5'/%3E%3Cpath d='M3.477 10.896a4 4 0 0 1 .585-.396'/%3E%3Cpath d='M19.938 10.5a4 4 0 0 1 .585.396'/%3E%3Cpath d='M6 18a4 4 0 0 1-1.967-.516'/%3E%3Cpath d='M19.967 17.484A4 4 0 0 1 18 18'/%3E%3C/svg%3E");
  --bm-postop-icon-move: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20'/%3E%3Cpath d='m15 19-3 3-3-3'/%3E%3Cpath d='m19 9 3 3-3 3'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='m5 9-3 3 3 3'/%3E%3Cpath d='m9 5 3-3 3 3'/%3E%3C/svg%3E");
  --bm-postop-icon-scissors: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Cpath d='M8.12 8.12 12 12'/%3E%3Cpath d='M20 4 8.12 15.88'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M14.8 14.8 20 20'/%3E%3C/svg%3E");
  --bm-postop-icon-bone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 10c.7-.7 1.69-1 2.66-.75A3 3 0 0 0 22.75 6.2a3 3 0 0 0-5-2.95A3 3 0 0 0 14.75.25a3 3 0 0 0-3 3.09c.25.97-.05 1.96-.75 2.66L6 11c-.7.7-1.69 1-2.66.75A3 3 0 0 0 .25 14.8a3 3 0 0 0 5 2.95 3 3 0 0 0 3 2.99 3 3 0 0 0 3-3.09c-.25-.97.05-1.96.75-2.66Z'/%3E%3C/svg%3E");
  --bm-postop-icon-person: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M8 21h8'/%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E");
  --bm-postop-icon-heart-pulse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3Cpath d='M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27'/%3E%3C/svg%3E");
  --bm-postop-icon-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11.5V9a2 2 0 0 0-4 0v2.5'/%3E%3Cpath d='M14 10V7a2 2 0 0 0-4 0v4.5'/%3E%3Cpath d='M10 11V8a2 2 0 1 0-4 0v7'/%3E%3Cpath d='M6 15v-1a2 2 0 1 0-4 0v1c0 4.4 3.6 8 8 8h2a8 8 0 0 0 8-8v-3.5a2 2 0 0 0-4 0'/%3E%3C/svg%3E");
  --bm-postop-icon-waves: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5s2.5 2 5 2 2.5-2 5-2c1.3 0 1.9.5 2.5 1'/%3E%3Cpath d='M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2c1.3 0 1.9.5 2.5 1'/%3E%3Cpath d='M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2c1.3 0 1.9.5 2.5 1'/%3E%3C/svg%3E");
  --bm-postop-icon-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
  --bm-postop-icon-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89 17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");
}

.bm-postop-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-postop-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-postop-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-postop-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-postop-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-postop-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-postop-page .bm-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bm-postop-page .bm-trust-item::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-postop-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-postop-page a:hover {
  color: var(--bm-nyc-gold);
}

.bm-postop-narrow {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-postop-narrow .bm-nyc-section-heading {
  margin-bottom: 2rem;
}

.bm-postop-page .bm-nyc-section-heading .bm-nyc-eyebrow {
  line-height: 1.428571;
}

.bm-postop-page .bm-nyc-section-heading h2,
.bm-postop-narrow > h2,
.bm-postop-section-title {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-postop-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow),
.bm-postop-narrow > p {
  color: var(--bm-nyc-text);
}

.bm-postop-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  line-height: 1.5;
}

.bm-postop-narrow > p {
  line-height: 1.625;
}

.bm-postop-narrow > p {
  margin-bottom: 1rem;
}

.bm-postop-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-postop-page :is(.bm-postop-techniques, .bm-postop-benefits, .bm-postop-who, .bm-postop-types, .bm-postop-comparison, .bm-postop-why, .bm-postop-cloud) .bm-nyc-section-heading {
  max-width: none;
}

.bm-postop-safety-card,
.bm-postop-callout {
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 1rem;
  background: rgba(45, 74, 94, 0.05);
  padding: 1.5rem;
}

.bm-postop-safety-card {
  margin-top: 2rem;
  padding: 2rem;
  text-align: center;
}

.bm-postop-safety-icon,
.bm-postop-title-icon,
.bm-postop-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.bm-postop-safety-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.25rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
}

.bm-postop-safety-icon::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: #fff;
  -webkit-mask: var(--bm-icon-shield) center / contain no-repeat;
  mask: var(--bm-icon-shield) center / contain no-repeat;
}

.bm-postop-safety-card h3 {
  margin: 0 0 1rem;
  color: var(--bm-nyc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
}

.bm-postop-safety-card p,
.bm-postop-callout p {
  margin: 0 0 1rem;
  color: #374151;
  line-height: 1.625;
  text-align: left;
}

.bm-postop-safety-card p:last-child,
.bm-postop-callout p:last-child {
  margin-bottom: 0;
}

.bm-postop-diagram {
  max-width: 64rem;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.bm-postop-diagram figure {
  max-width: 48rem;
  margin: 0 auto;
  border-radius: 0.75rem;
  overflow: hidden;
}

.bm-postop-detail-list,
.bm-postop-types-list {
  display: grid;
  max-width: 64rem;
  gap: 1.5rem;
  margin: 0 auto;
}

.bm-postop-types-list {
  gap: 1rem;
  max-width: 56rem;
}

.bm-postop-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-nyc-shadow);
  padding: 1.5rem;
  transition:
    box-shadow 300ms ease,
    transform 300ms ease,
    border-color 300ms ease;
}

.bm-postop-card:hover,
.bm-postop-card:focus-within {
  box-shadow: var(--bm-nyc-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-postop-card.is-detail {
  padding: 1.5rem;
}

.bm-postop-card.is-horizontal {
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
}

.bm-postop-card-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.bm-postop-card-icon,
.bm-postop-title-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background: rgba(197, 153, 58, 0.1);
}

.bm-postop-title-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.1);
}

.bm-postop-card-icon::before,
.bm-postop-title-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-postop-icon-mask, var(--bm-icon-droplets)) center / contain no-repeat;
  mask: var(--bm-postop-icon-mask, var(--bm-icon-droplets)) center / contain no-repeat;
}

.bm-postop-title-icon::before {
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
}

.bm-postop-icon-droplets {
  --bm-postop-icon-mask: var(--bm-icon-droplets);
}

.bm-postop-icon-heart {
  --bm-postop-icon-mask: var(--bm-icon-heart);
}

.bm-postop-icon-move {
  --bm-postop-icon-mask: var(--bm-postop-icon-move);
}

.bm-postop-icon-brain {
  --bm-postop-icon-mask: var(--bm-postop-icon-brain);
}

.bm-postop-icon-shield {
  --bm-postop-icon-mask: var(--bm-icon-shield);
}

.bm-postop-icon-layers {
  --bm-postop-icon-mask: var(--bm-postop-icon-layers);
}

.bm-postop-icon-network {
  --bm-postop-icon-mask: var(--bm-postop-icon-network);
}

.bm-postop-icon-scissors {
  --bm-postop-icon-mask: var(--bm-postop-icon-scissors);
}

.bm-postop-icon-bone {
  --bm-postop-icon-mask: var(--bm-postop-icon-bone);
}

.bm-postop-icon-stethoscope {
  --bm-postop-icon-mask: var(--bm-lymphatic-icon-stethoscope);
}

.bm-postop-icon-person {
  --bm-postop-icon-mask: var(--bm-postop-icon-person);
}

.bm-postop-icon-heart-pulse {
  --bm-postop-icon-mask: var(--bm-postop-icon-heart-pulse);
}

.bm-postop-icon-hand {
  --bm-postop-icon-mask: var(--bm-postop-icon-hand);
}

.bm-postop-icon-smile {
  --bm-postop-icon-mask: var(--bm-icon-smile);
}

.bm-postop-icon-waves {
  --bm-postop-icon-mask: var(--bm-postop-icon-waves);
}

.bm-postop-icon-target {
  --bm-postop-icon-mask: var(--bm-postop-icon-target);
}

.bm-postop-icon-star {
  --bm-postop-icon-mask: var(--bm-icon-star);
}

.bm-postop-icon-award {
  --bm-postop-icon-mask: var(--bm-postop-icon-award);
}

.bm-postop-icon-map {
  --bm-postop-icon-mask: var(--bm-icon-map-pin);
}

.bm-postop-icon-sliders {
  --bm-postop-icon-mask: var(--bm-icon-sliders-horizontal);
}

.bm-postop-card h3 {
  margin: 0;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-postop-card.is-horizontal h3,
.bm-postop-types-list .bm-postop-card h3 {
  margin-bottom: 0.25rem;
  font-size: 1rem;
}

.bm-postop-card.is-horizontal p {
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-postop-types-list .bm-postop-card p {
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-postop-types-list .bm-postop-card {
  border-radius: 0.75rem;
  padding: 1.25rem;
}

.bm-postop-card p {
  margin: 0 0 1rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-postop-card p:last-child {
  margin-bottom: 0;
}

.bm-postop-card .bm-postop-card-label {
  margin-bottom: 0.75rem;
  color: #1f2937;
  font-weight: 600;
}

.bm-postop-list {
  display: grid;
  gap: 0.25rem;
  margin: 0 0 1rem;
  padding-left: 1.5rem;
}

.bm-postop-list li {
  color: var(--bm-nyc-text);
  line-height: 1.5;
}

.bm-postop-callout .bm-postop-list li {
  color: #374151;
}

.bm-postop-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

.bm-postop-benefit-grid {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-postop-who-grid {
  max-width: 64rem;
  margin: 0 auto;
}

.bm-postop-benefit-note,
.bm-postop-grid-note,
.bm-postop-types-note,
.bm-postop-comparison-note {
  max-width: 48rem;
  margin: 2rem auto 0;
  color: #6b7280;
  text-align: center;
}

.bm-postop-timeline {
  position: relative;
  display: grid;
  gap: 1.25rem;
  margin-top: 1.5rem;
  padding-left: 3rem;
}

.bm-postop-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-postop-timeline-item {
  position: relative;
}

.bm-postop-timeline-number {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

.bm-postop-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-postop-timeline-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.9375rem;
  line-height: 1.625;
}

.bm-postop-session-length {
  margin-top: 2.5rem;
}

.bm-postop-session-length h3,
.bm-postop-care-title h2 {
  margin: 0 0 0.75rem;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-postop-care-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.bm-postop-table-wrap {
  max-width: 64rem;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  box-shadow: var(--bm-nyc-shadow);
}

.bm-postop-table-wrap figure,
.bm-postop-table-wrap table {
  margin: 0;
  width: 100%;
}

.bm-postop-table-wrap table {
  border-collapse: collapse;
  text-align: left;
  font-size: 0.875rem;
}

.bm-postop-table-wrap th {
  background: var(--bm-nyc-blue);
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  padding: 1rem;
}

.bm-postop-table-wrap td {
  color: var(--bm-nyc-text);
  line-height: 1.5;
  padding: 1rem;
}

.bm-postop-table-wrap tbody tr:nth-child(odd) {
  background: #fff;
}

.bm-postop-table-wrap tbody tr:nth-child(even) {
  background: #f9fafb;
}

.bm-postop-table-wrap td:first-child {
  color: var(--bm-nyc-ink);
  font-weight: 600;
}

.bm-postop-mobile-comparison {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.bm-postop-mobile-comparison .bm-postop-compare-card {
  border-radius: 0.5rem;
  background: #fff;
  padding: 1rem;
}

.bm-postop-compare-card h3 {
  margin: 0 0 0.75rem;
  color: var(--bm-nyc-ink);
  font-size: 1rem;
  font-weight: 700;
}

.bm-postop-compare-card p {
  margin: 0 0 0.5rem;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.5;
}

.bm-postop-compare-card p:last-child {
  margin-bottom: 0;
}

.bm-postop-desktop-table {
  display: none;
}

.bm-postop-cloud {
  background: var(--bm-nyc-blue);
}

.bm-postop-cloud .bm-nyc-section-heading h2 {
  color: #fff;
}

.bm-postop-cloud-list {
  display: flex;
  max-width: 60rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
  margin: 0 auto;
}

.bm-postop-cloud-list p {
  margin: 0;
  line-height: 1.3;
}

.bm-postop-cloud-list :where(a, span) {
  display: inline-block;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-decoration: none;
  transition:
    color 300ms ease,
    transform 300ms ease;
}

.bm-postop-cloud-list :where(a, span):hover {
  color: var(--bm-nyc-gold);
  transform: scale(1.05);
}

.bm-postop-word-base :where(a, span) {
  font-size: 1rem;
  line-height: 1.5rem;
}

.bm-postop-word-lg :where(a, span) {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.bm-postop-word-xl :where(a, span) {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.bm-postop-word-2xl :where(a, span),
.bm-postop-word-3xl :where(a, span) {
  font-size: 1.5rem;
  line-height: 2rem;
}

.bm-postop-faq {
  background: var(--bm-nyc-gray);
}

.bm-postop-faq-list {
  display: grid;
  max-width: 44rem;
  gap: 0.75rem;
  margin: 0 auto;
}

.bm-postop-faq-item {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-postop-faq-item[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-postop-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 3.75rem;
  margin: 0;
  padding: 1rem 3.5rem 1rem 4rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  list-style: none;
}

.bm-postop-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-postop-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  content: "";
  transform: translateY(-50%);
}

.bm-postop-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}

.bm-postop-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-postop-faq-item > p {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
  padding: 1rem 1.5rem 1rem 4rem;
}

.bm-postop-faq-cta {
  max-width: 48rem;
  margin: 3rem auto 0;
  text-align: center;
}

.bm-postop-faq-cta p {
  margin: 0 0 0.75rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-postop-faq-cta p:last-child {
  margin-bottom: 0;
}

@media (min-width: 640px) {
  .bm-postop-benefit-grid .bm-postop-card,
  .bm-postop-who-grid .bm-postop-card {
    width: calc(50% - 0.75rem);
  }
}

@media (min-width: 768px) {
  .bm-postop-page .bm-nyc-section-heading h2,
  .bm-postop-narrow > h2,
  .bm-postop-section-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-postop-page :is(.bm-postop-intro, .bm-postop-importance, .bm-postop-risks, .bm-postop-expect, .bm-postop-faq) .bm-nyc-section-heading h2 {
    font-size: 2.125rem;
  }

  .bm-postop-card.is-detail {
    padding: 2rem;
  }

  .bm-postop-types-list .bm-postop-card {
    padding: 1.5rem;
  }

  .bm-postop-faq-item summary {
    font-size: 1rem;
  }

  .bm-postop-word-3xl :where(a, span) {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-postop-cloud-list {
    gap: 1.25rem 2rem;
  }

  .bm-postop-word-base :where(a, span) {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .bm-postop-word-lg :where(a, span) {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .bm-postop-word-xl :where(a, span) {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .bm-postop-word-2xl :where(a, span),
  .bm-postop-word-3xl :where(a, span) {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-postop-card.is-horizontal p {
    font-size: 1rem;
    line-height: 1.625;
  }

  .bm-postop-why .bm-postop-card p,
  .bm-postop-who .bm-postop-card p {
    font-size: 0.9375rem;
  }
}

@media (min-width: 1024px) {
  .bm-postop-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-postop-why .bm-postop-card {
    width: calc(33.333% - 1rem);
  }

  .bm-postop-desktop-table {
    display: block;
  }

  .bm-postop-mobile-comparison {
    display: none;
  }
}

@media (min-width: 1280px) {
  .bm-postop-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-postop-page :is(.bm-postop-intro, .bm-postop-importance, .bm-postop-techniques, .bm-postop-benefits, .bm-postop-risks, .bm-postop-expect, .bm-postop-who, .bm-postop-aftercare, .bm-postop-types, .bm-postop-comparison, .bm-postop-why, .bm-postop-cloud, .bm-postop-faq) {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .bm-postop-card.is-horizontal {
    align-items: flex-start;
  }

  .bm-postop-faq-item summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4rem;
  }

  .bm-postop-faq-item > p {
    padding-left: 1.5rem;
  }
}

/* Post-mastectomy massage page rebuild */
.bm-mastectomy-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-mastectomy-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-mastectomy-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-mastectomy-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-mastectomy-page .bm-hero-cta .wp-block-button__link:hover {
  background: #b08832 !important;
}

.bm-mastectomy-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-mastectomy-page a:hover {
  color: var(--bm-nyc-gold);
}

.bm-mastectomy-page .bm-massage-nyc-hero a,
.bm-mastectomy-word-cloud-section a,
.bm-mastectomy-page .bm-hero-cta .wp-block-button__link {
  text-decoration: none;
}

.bm-mastectomy-split {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-mastectomy-copy > :where(p, h2, .wp-block-group) {
  margin-bottom: 0;
}

.bm-mastectomy-copy > :where(p, h2, .wp-block-group):not(:first-child) {
  margin-top: 1.5rem;
}

.bm-mastectomy-copy .bm-nyc-eyebrow {
  margin-bottom: 0;
}

.bm-mastectomy-copy h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-mastectomy-copy p:not(.bm-nyc-eyebrow),
.bm-mastectomy-narrow > p,
.bm-mastectomy-page .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-mastectomy-note {
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.bm-mastectomy-note p {
  margin: 0;
  color: #374151;
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-mastectomy-video-wrap,
.bm-mastectomy-image-card {
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: var(--bm-nyc-shadow);
}

.bm-mastectomy-video,
.bm-mastectomy-video .wp-block-embed__wrapper,
.bm-mastectomy-image-card figure {
  margin: 0;
}

.bm-mastectomy-video .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}

.bm-mastectomy-video iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.bm-mastectomy-image-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-mastectomy-quote {
  margin-top: 1.5rem;
  border-left: 4px solid var(--bm-nyc-blue);
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.bm-mastectomy-quote p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.625;
}

.bm-mastectomy-word-cloud-section .bm-nyc-eyebrow {
  color: var(--bm-nyc-gold);
}

.bm-mastectomy-cloud-inner {
  max-width: 64rem;
}

.bm-mastectomy-word-cloud-section .bm-nyc-section-heading {
  max-width: none;
  margin-bottom: 3rem;
}

.bm-mastectomy-word-cloud-section .bm-nyc-word-cloud a {
  color: rgba(255, 255, 255, 0.8) !important;
}

.bm-mastectomy-narrow {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-mastectomy-contribution .bm-nyc-section-heading {
  margin-bottom: 2rem;
}

.bm-mastectomy-contribution .bm-nyc-section-heading h2,
.bm-mastectomy-frequency .bm-nyc-section-heading h2,
.bm-mastectomy-ready .bm-nyc-section-heading h2,
.bm-mastectomy-faq .bm-nyc-section-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

.bm-mastectomy-lead {
  margin-bottom: 2.5rem;
}

.bm-mastectomy-timeline {
  position: relative;
  display: grid;
  gap: 1.25rem;
  padding-left: 3rem;
}

.bm-mastectomy-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-mastectomy-timeline-item,
.bm-mastectomy-stage-item {
  position: relative;
}

.bm-mastectomy-timeline-number,
.bm-mastectomy-stage-number {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 700;
}

.bm-mastectomy-timeline-number {
  top: 1.25rem;
  left: -3rem;
  width: 2.25rem;
  height: 2.25rem;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
}

.bm-mastectomy-timeline-number p,
.bm-mastectomy-stage-number p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: 1;
}

.bm-mastectomy-timeline-card,
.bm-mastectomy-stage-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-mastectomy-timeline-card h3,
.bm-mastectomy-stage-card h3 {
  margin: 0 0 0.375rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-mastectomy-timeline-card p,
.bm-mastectomy-stage-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 0.9375rem;
  line-height: 1.625;
}

.bm-mastectomy-after {
  margin-top: 2.5rem;
}

.bm-mastectomy-frequency .bm-nyc-section-heading {
  max-width: 48rem;
  margin-bottom: 2.5rem;
}

.bm-mastectomy-stage-grid-wrap {
  max-width: 64rem;
  margin: 0 auto;
}

.bm-mastectomy-stage-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-mastectomy-stage-item {
  padding-left: 3.5rem;
}

.bm-mastectomy-stage-number {
  top: 1.25rem;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
  border: 2px solid var(--bm-nyc-blue);
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: var(--bm-nyc-blue);
}

.bm-mastectomy-centered-after {
  max-width: 48rem;
  margin: 2.5rem auto 0;
  text-align: center;
}

.bm-mastectomy-ready .bm-nyc-section-heading {
  margin-bottom: 1.5rem;
}

.bm-mastectomy-ready .bm-nyc-section-heading h2 {
  text-align: center;
}

.bm-mastectomy-ready .bm-nyc-eyebrow {
  text-align: center;
}

.bm-mastectomy-ready .bm-mastectomy-narrow > p {
  margin-bottom: 1rem;
}

.bm-mastectomy-disclaimer {
  margin: 2rem 0;
}

.bm-mastectomy-staff-note {
  margin: 1.5rem 0;
}

.bm-mastectomy-staff-note p {
  font-style: italic;
}

.bm-mastectomy-gratuity {
  max-width: 36rem;
  margin: 1.5rem auto;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
}

.bm-mastectomy-gratuity-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.bm-mastectomy-gratuity-head::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-mastectomy-gratuity-label {
  margin: 0;
  color: var(--bm-nyc-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.bm-mastectomy-gratuity > p:not(.bm-mastectomy-gratuity-label) {
  margin: 0;
  color: #4a5568;
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-mastectomy-gratuity-options {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.bm-mastectomy-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.04);
  color: var(--bm-nyc-blue);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  padding: 0.375rem 0.875rem;
}

.bm-mastectomy-chip::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-nyc-gold);
  -webkit-mask: var(--bm-icon-dollar) center / contain no-repeat;
  mask: var(--bm-icon-dollar) center / contain no-repeat;
}

.bm-mastectomy-chip.is-wallet::before {
  -webkit-mask-image: var(--bm-icon-wallet);
  mask-image: var(--bm-icon-wallet);
}

.bm-mastectomy-ready-cta {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.bm-mastectomy-faq .bm-nyc-section-heading {
  margin-bottom: 3rem;
}

.bm-mastectomy-faq-list {
  display: grid;
  gap: 0.75rem;
}

.bm-mastectomy-faq-item {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-mastectomy-faq-item[open] {
  border-color: var(--bm-nyc-blue);
}

.bm-mastectomy-faq-item summary {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 3.75rem;
  margin: 0;
  padding: 1rem 3.5rem 1rem 4rem;
  color: var(--bm-nyc-ink);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  list-style: none;
}

.bm-mastectomy-faq-item summary::-webkit-details-marker {
  display: none;
}

.bm-mastectomy-faq-item summary::before {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  content: "";
  transform: translateY(-50%);
}

.bm-mastectomy-faq-item summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-nyc-blue);
  content: "";
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}

.bm-mastectomy-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-mastectomy-faq-item > p {
  margin: 0;
  border-top: 1px solid #f3f4f6;
  color: var(--bm-nyc-text);
  font-size: 0.875rem;
  line-height: 1.625;
  padding: 1rem 1.5rem 1rem 4rem;
}

@media (min-width: 640px) {
  .bm-mastectomy-stage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-mastectomy-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-mastectomy-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
    line-height: 1.15;
  }

  .bm-mastectomy-copy h2,
  .bm-mastectomy-contribution .bm-nyc-section-heading h2,
  .bm-mastectomy-frequency .bm-nyc-section-heading h2,
  .bm-mastectomy-ready .bm-nyc-section-heading h2,
  .bm-mastectomy-faq .bm-nyc-section-heading h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-mastectomy-page .bm-nyc-section-heading h2 {
    line-height: 2.5rem;
  }

  .bm-mastectomy-page .bm-nyc-section-heading .bm-nyc-eyebrow {
    line-height: 1.428571;
  }

  .bm-mastectomy-narrow {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-mastectomy-faq-item summary {
    font-size: 1rem;
  }
}

@media (min-width: 1024px) {
  .bm-mastectomy-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-mastectomy-page .bm-massage-nyc-hero-copy {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-mastectomy-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-mastectomy-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-mastectomy-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-mastectomy-page :is(.bm-mastectomy-intro, .bm-mastectomy-about, .bm-mastectomy-word-cloud-section, .bm-mastectomy-contribution, .bm-mastectomy-frequency, .bm-mastectomy-ready, .bm-mastectomy-faq) {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .bm-mastectomy-faq-item summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4rem;
  }

  .bm-mastectomy-faq-item > p {
    padding-left: 1.5rem;
  }
}

/* Space location page rebuilds */
.bm-space-section,
.bm-space-gallery-section,
.bm-space-illustration-section,
.bm-space-location-section,
.bm-space-service-cloud-section,
.bm-space-cta {
  margin-block-start: 0;
  padding: clamp(4rem, 7vw, 6rem) 1rem;
}

.bm-space-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.bm-space-inner.is-narrow {
  max-width: 64rem;
}

.bm-space-inner.is-cloud {
  max-width: 66rem;
}

.bm-space-copy {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-space-copy p,
.bm-space-cta p,
.bm-space-faq-list p {
  color: var(--bm-mission-text);
  line-height: 1.75;
}

.bm-space-copy > * + *,
.bm-space-cta p + p {
  margin-top: 1.5rem;
}

.bm-space-gallery-section {
  background: var(--wp--preset--color--bm-lavender);
}

.bm-space-gallery {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bm-space-gallery img {
  display: block;
  width: 100%;
  height: 16rem;
  border-radius: 1rem;
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.14),
    0 2px 8px rgba(15, 23, 42, 0.08);
  object-fit: cover;
}

.bm-space-illustration-section,
.bm-space-location-section,
.bm-space-cta {
  background: #f9fafb;
}

.bm-space-illustration-section {
  padding-bottom: 0;
}

.bm-space-illustration {
  display: flex;
  justify-content: center;
}

.bm-space-illustration img {
  display: block;
  width: min(20rem, 76vw);
  height: auto;
}

.bm-space-location-card {
  max-width: 48rem;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-space-map {
  position: relative;
  height: 18rem;
  overflow: hidden;
}

.bm-space-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.4);
}

.bm-space-map-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 0.55rem;
  background: #fff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
  color: var(--bm-mission-blue) !important;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.55rem 0.75rem;
  text-decoration: none !important;
}

.bm-space-map-link::after {
  content: "";
  width: 0.85rem;
  height: 0.85rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-external-link) center / contain no-repeat;
  mask: var(--bm-icon-external-link) center / contain no-repeat;
}

.bm-space-location-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  text-align: center;
}

.bm-space-location-details h3,
.bm-space-directions h3 {
  color: var(--bm-mission-ink);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.2;
}

.bm-space-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.85rem;
  color: var(--bm-mission-text);
  font-size: 0.9rem;
  line-height: 1.55;
}

.bm-space-detail::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: var(--bm-mission-blue);
  -webkit-mask: var(--bm-space-detail-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
  mask: var(--bm-space-detail-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
}

.bm-space-detail[data-icon="phone"] {
  --bm-space-detail-icon: var(--bm-icon-phone);
}

.bm-space-detail-phone {
  --bm-space-detail-icon: var(--bm-icon-phone);
}

.bm-space-detail[data-icon="clock"] {
  align-items: flex-start;
  --bm-space-detail-icon: var(--bm-icon-clock);
}

.bm-space-detail-clock {
  align-items: flex-start;
  --bm-space-detail-icon: var(--bm-icon-clock);
}

.bm-space-hours div {
  text-align: left;
}

.bm-space-hours p {
  margin: 0;
}

.bm-space-location-details .bm-mission-button {
  margin-top: 1.5rem;
  box-shadow: none;
}

.bm-space-directions {
  max-width: 48rem;
  margin: 3rem auto 0;
  text-align: center;
}

.bm-space-directions h4 {
  margin: 0.75rem 0 1rem;
  color: var(--bm-mission-ink);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.3;
}

.bm-space-directions p + p {
  margin-top: 0.85rem;
}

.bm-space-card-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bm-space-card-grid article {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
}

.bm-space-card-grid h3 {
  color: var(--bm-mission-ink);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-space-card-grid p {
  margin-top: 0.5rem;
  color: var(--bm-mission-text);
  font-size: 0.9rem;
  line-height: 1.7;
}

.bm-space-service-cloud-section {
  background: var(--bm-mission-blue);
  color: #fff;
}

.bm-space-service-cloud-section .bm-mission-section-heading h2 {
  color: #fff;
}

.bm-space-service-cloud-section .bm-mission-eyebrow.is-gold {
  color: var(--bm-mission-gold);
}

.bm-space-service-cloud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.6rem;
}

.bm-space-service-cloud a {
  color: rgba(255, 255, 255, 0.82);
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  transition:
    color 160ms ease,
    transform 160ms ease;
}

.bm-space-service-cloud p {
  margin: 0;
  font-size: inherit;
  line-height: 1.15;
}

.bm-space-service-cloud p a {
  font-size: inherit;
}

.bm-space-service-cloud a:hover,
.bm-space-service-cloud a:focus-visible {
  color: var(--bm-mission-gold);
  transform: translateY(-1px);
}

.bm-space-service-cloud .is-xl {
  font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.bm-space-service-cloud .is-lg {
  font-size: clamp(1.2rem, 2.4vw, 1.5rem);
}

.bm-space-service-cloud .is-md {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.bm-space-service-cloud .is-sm {
  font-size: clamp(0.95rem, 1.6vw, 1.125rem);
}

.bm-space-bullet-list {
  display: grid;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.bm-space-bullet-list li {
  display: flex;
  gap: 0.75rem;
  color: var(--bm-mission-text);
  line-height: 1.7;
}

.bm-space-bullet-list li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: var(--bm-mission-blue);
}

.bm-space-section.is-soft {
  background: var(--wp--preset--color--bm-lavender);
}

.bm-space-faq-list {
  display: grid;
  gap: 1rem;
}

.bm-space-faq-list details {
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 160ms ease;
}

.bm-space-faq-list .wp-block-details {
  margin: 0;
}

.bm-space-faq-list details[open] {
  border-color: var(--bm-mission-blue);
}

.bm-space-faq-list summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--bm-mission-ink);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.35;
  list-style: none;
  padding: 1.25rem 3.75rem 1.25rem 1.5rem;
}

.bm-space-faq-list summary::-webkit-details-marker {
  display: none;
}

.bm-space-faq-list summary::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.1rem;
  background: var(--bm-mission-blue);
  -webkit-mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
  mask: var(--bm-icon-sliders-horizontal) center / contain no-repeat;
}

.bm-space-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 1.15rem;
  height: 1.15rem;
  background: var(--bm-mission-blue);
  content: "";
  transform: translateY(-50%);
  transition: transform 160ms ease;
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
}

.bm-space-faq-list details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-space-faq-list p {
  padding: 0 1.5rem 1.25rem 4.5rem;
}

.bm-space-cta {
  text-align: center;
}

@media (max-width: 900px) {
  .bm-mission-hero,
  .bm-mission-intro-grid,
  .bm-mission-contact-grid {
    grid-template-columns: 1fr;
  }

  .bm-mission-hero {
    min-height: 0;
  }

  .bm-mission-hero-copy {
    min-height: auto;
    padding: 3rem 1.25rem;
  }

  .bm-mission-hero-media {
    min-height: 16rem;
  }

  .bm-mission-intro-grid {
    margin-bottom: 3rem;
  }

  .bm-mission-contact-grid {
    max-width: 36rem;
  }

  .bm-space-gallery,
  .bm-space-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bm-mission-page {
    overflow-x: hidden;
  }

  .bm-mission-hero h1 {
    font-size: 2.35rem;
    line-height: 1.12;
  }

  .bm-mission-hero p:not(.bm-mission-badge) {
    font-size: 1rem;
  }

  .bm-mission-badge {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .bm-mission-trust-grid {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.9rem;
  }

  .bm-mission-trust-item {
    width: 100%;
  }

  .bm-mission-content,
  .bm-mission-booking {
    padding: 3.5rem 1rem;
  }

  .bm-mission-timeline {
    padding-left: 2rem;
  }

  .bm-mission-timeline::before {
    left: 0.32rem;
  }

  .bm-mission-point::before {
    left: -2rem;
  }

  .bm-mission-contact-card {
    padding: 1.5rem;
  }

  .bm-mission-contact-phone {
    font-size: 1.35rem;
  }

  .bm-mission-button {
    width: 100%;
  }

  .bm-space-section,
  .bm-space-gallery-section,
  .bm-space-illustration-section,
  .bm-space-location-section,
  .bm-space-service-cloud-section,
  .bm-space-cta {
    padding: 3.5rem 1rem;
  }

  .bm-space-illustration-section {
    padding-bottom: 0;
  }

  .bm-space-gallery,
  .bm-space-card-grid {
    grid-template-columns: 1fr;
  }

  .bm-space-gallery img {
    height: 14rem;
  }

  .bm-space-map {
    height: 15rem;
  }

  .bm-space-location-details {
    padding: 1.5rem;
  }

  .bm-space-detail {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .bm-space-faq-list summary {
    align-items: flex-start;
    padding: 1rem 3rem 1rem 1rem;
  }

  .bm-space-faq-list summary::before {
    width: 1rem;
    height: 1rem;
  }

  .bm-space-faq-list summary::after {
    right: 1rem;
  }

  .bm-space-faq-list p {
    padding: 0 1rem 1rem;
  }
}

/* Therapist page rebuilds */
.bm-therapist-page .bm-mission-hero h1 {
  max-width: 42rem;
}

.bm-therapist-section,
.bm-therapist-team-section,
.bm-therapist-location-section,
.bm-therapist-cta {
  margin-block-start: 0;
  padding: clamp(4rem, 7vw, 6rem) 1rem;
}

.bm-therapist-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.bm-therapist-intro-grid {
  display: grid;
  align-items: flex-start;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
}

.bm-therapist-copy {
  max-width: 58rem;
}

.bm-therapist-copy h2,
.bm-therapist-team-header h2,
.bm-therapist-section-heading h2 {
  color: var(--bm-mission-ink);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.bm-therapist-team-header h2 {
  max-width: 58rem;
}

.bm-therapist-copy p:not(.bm-mission-eyebrow),
.bm-therapist-section-heading p:not(.bm-mission-eyebrow),
.bm-therapist-ethical-callout p,
.bm-therapist-cdc,
.bm-therapist-bio,
.bm-therapist-info-row,
.bm-therapist-hours {
  color: var(--bm-mission-text);
  line-height: 1.75;
}

.bm-therapist-copy h2 + p,
.bm-therapist-copy p:not(.bm-mission-eyebrow) + p,
.bm-therapist-section-heading h2 + p {
  margin-top: 1rem;
}

.bm-therapist-illustration {
  display: flex;
  justify-content: center;
}

.bm-therapist-illustration img {
  display: block;
  width: min(20rem, 100%);
  height: auto;
}

.bm-therapist-team-section,
.bm-therapist-location-section {
  background: #f9fafb;
}

.bm-therapist-team-header,
.bm-therapist-section-heading {
  margin-bottom: 2rem;
}

.bm-therapist-section-heading {
  max-width: 58rem;
}

.bm-therapist-team-header {
  max-width: none;
  margin-bottom: 1rem;
}

.bm-therapist-ethical-callout {
  max-width: 48rem;
  margin-bottom: 2.5rem;
  border: 2px solid var(--bm-mission-blue);
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
}

.bm-therapist-owner-card,
.bm-therapist-directory,
.bm-therapist-location-info,
.bm-therapist-map {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

.bm-therapist-owner-card {
  position: relative;
  display: flex;
  max-width: none;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  margin-bottom: 2rem;
  padding: 1.25rem;
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-therapist-owner-card:hover,
.bm-therapist-owner-card:focus-within {
  border-color: var(--bm-mission-blue);
  box-shadow:
    0 14px 30px rgba(15, 23, 42, 0.16),
    0 4px 12px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.125rem);
}

.bm-therapist-owner-card-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
}

.bm-therapist-owner-card-link:focus-visible {
  outline: 3px solid var(--bm-mission-gold);
  outline-offset: 4px;
}

.bm-therapist-owner-card h3 {
  color: var(--bm-mission-ink);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.2;
}

.bm-therapist-owner-card p {
  margin-top: 0.25rem;
  color: var(--bm-mission-gold);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-therapist-avatar {
  display: block;
  width: 4rem;
  height: 4rem;
  flex: 0 0 auto;
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
  object-fit: cover;
}

.bm-therapist-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.bm-therapist-card .bm-therapist-avatar {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  object-fit: cover;
}

.bm-therapist-directory {
  overflow: hidden;
  padding: 0 1.25rem;
}

.bm-therapist-card {
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.bm-therapist-card:last-child {
  border-bottom: 0;
}

.bm-therapist-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--bm-mission-ink);
  cursor: pointer;
  list-style: none;
  margin: 0 -1.25rem;
  padding: 1.25rem;
  transition:
    color 160ms ease,
    background-color 160ms ease;
}

.bm-therapist-card summary::-webkit-details-marker {
  display: none;
}

.bm-therapist-card summary::marker {
  content: "";
}

.bm-therapist-page .bm-therapist-card summary::after {
  display: none;
  content: none;
}

.bm-therapist-card summary:hover,
.bm-therapist-card summary:focus-visible {
  background: #f9fafb;
  color: var(--bm-mission-blue);
}

.bm-therapist-card-head {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 1rem;
}

.bm-therapist-title-wrap {
  min-width: 0;
}

.bm-therapist-name {
  display: block;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bm-therapist-summary-chevron {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: var(--bm-mission-blue);
  transition: transform 160ms ease;
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
}

.bm-therapist-card[open] .bm-therapist-summary-chevron {
  transform: rotate(180deg);
}

.bm-therapist-expanded {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 12rem minmax(0, 1fr);
  padding: 0 0 1.75rem;
}

.bm-therapist-photo {
  display: block;
  width: 12rem;
  height: 12rem;
  border-radius: 1rem;
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.14),
    0 2px 8px rgba(15, 23, 42, 0.08);
  object-fit: cover;
}

.bm-therapist-page .bm-therapist-card .bm-therapist-photo {
  width: 12rem;
  height: 12rem;
  border-radius: 1rem;
  object-fit: cover;
}

.bm-therapist-page .bm-therapist-card .bm-therapist-photo img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.bm-therapist-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.bm-therapist-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-mission-blue);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.45rem 0.8rem;
}

.bm-therapist-pill.is-gold {
  background: rgba(197, 153, 58, 0.12);
  color: var(--bm-mission-gold);
}

.bm-therapist-pill::before {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-therapist-pill-icon, var(--bm-icon-clock)) center / contain no-repeat;
  mask: var(--bm-therapist-pill-icon, var(--bm-icon-clock)) center / contain no-repeat;
}

.bm-therapist-pill[data-icon="map"] {
  --bm-therapist-pill-icon: var(--bm-icon-map-pin);
}

.bm-therapist-pill-map {
  --bm-therapist-pill-icon: var(--bm-icon-map-pin);
}

.bm-therapist-bio {
  font-size: 0.95rem;
}

.bm-therapist-bio p + p {
  margin-top: 0.85rem;
}

.bm-therapist-bio a {
  color: var(--bm-mission-blue);
  font-weight: 700;
  text-decoration-color: var(--bm-mission-gold);
}

.bm-therapist-why-list {
  position: relative;
  display: grid;
  max-width: 56rem;
  gap: 1.5rem;
  padding-left: 3rem;
}

.bm-therapist-why-list::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-mission-blue), var(--bm-mission-gold));
  content: "";
}

.bm-therapist-why-list article,
.bm-therapist-why-list > .wp-block-group {
  position: relative;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  padding: 1.25rem;
}

.bm-therapist-number {
  position: absolute;
  top: 1rem;
  left: -3rem;
  z-index: 1;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bm-mission-blue);
  border-radius: 999px;
  background: #fff;
  color: var(--bm-mission-blue);
  font-weight: 800;
  line-height: 1;
}

.bm-therapist-why-list h3 {
  color: var(--bm-mission-ink);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-therapist-why-list p {
  margin-top: 0.4rem;
  color: var(--bm-mission-text);
  font-size: 0.95rem;
  line-height: 1.7;
}

.bm-therapist-cdc {
  max-width: 56rem;
  margin-top: 2rem;
}

.bm-therapist-location-grid {
  display: grid;
  align-items: stretch;
  gap: 2rem;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.bm-therapist-location-info {
  border: 2px solid var(--bm-mission-blue);
  padding: clamp(1.5rem, 3vw, 2rem);
}

.bm-therapist-location-info h3 {
  color: var(--bm-mission-ink);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-therapist-info-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.25rem;
}

.bm-therapist-info-row {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
}

.bm-therapist-info-row::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.35rem;
  background: var(--bm-mission-blue);
  -webkit-mask: var(--bm-therapist-info-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
  mask: var(--bm-therapist-info-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
}

.bm-therapist-info-row[data-icon="phone"] {
  --bm-therapist-info-icon: var(--bm-icon-phone);
}

.bm-therapist-info-phone {
  --bm-therapist-info-icon: var(--bm-icon-phone);
}

.bm-therapist-info-row[data-icon="email"] {
  --bm-therapist-info-icon: var(--bm-icon-info);
}

.bm-therapist-info-email {
  --bm-therapist-info-icon: var(--bm-icon-info);
}

.bm-therapist-info-row[data-icon="external"] {
  --bm-therapist-info-icon: var(--bm-icon-external-link);
}

.bm-therapist-info-external {
  --bm-therapist-info-icon: var(--bm-icon-external-link);
}

.bm-therapist-hours {
  margin-top: 1.75rem;
  border-top: 1px solid #e5e7eb;
  padding-top: 1.25rem;
  font-size: 0.9rem;
}

.bm-therapist-hours > p {
  margin-bottom: 0.75rem;
  color: var(--bm-mission-blue);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-therapist-hours div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.bm-therapist-hours div + div {
  margin-top: 0.25rem;
}

.bm-therapist-hours span:first-child {
  font-weight: 700;
}

.bm-therapist-map {
  min-height: 26rem;
}

.bm-therapist-cta {
  background: var(--bm-mission-blue);
  color: #fff;
  text-align: center;
}

.bm-therapist-cta-inner {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-therapist-cta h3 {
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-therapist-cta p {
  max-width: 38rem;
  margin: 1rem auto 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
}

.bm-therapist-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

a.bm-therapist-button-outline {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.75rem;
  color: #fff !important;
  font-weight: 800;
  line-height: 1.25;
  padding: 0.9rem 1.5rem;
  text-align: center;
  text-decoration: none !important;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

a.bm-therapist-button-outline:hover,
a.bm-therapist-button-outline:focus-visible {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

.bm-therapist-cta .wp-block-button.bm-therapist-button-outline {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.bm-therapist-cta .wp-block-button.bm-therapist-button-outline:hover,
.bm-therapist-cta .wp-block-button.bm-therapist-button-outline:focus-visible {
  background: transparent;
  box-shadow: none;
  transform: none;
}

.bm-therapist-cta .wp-block-button.bm-mission-button .wp-block-button__link,
.bm-therapist-cta .wp-block-button.bm-therapist-button-outline .wp-block-button__link {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  border-radius: 0.75rem;
  color: #fff !important;
  font-weight: 800;
  line-height: 1.25;
  padding: 0.9rem 1.5rem;
  text-align: center;
  text-decoration: none !important;
}

.bm-therapist-cta .wp-block-button.bm-mission-button .wp-block-button__link {
  background: var(--bm-mission-gold);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
}

.bm-therapist-cta .wp-block-button.bm-therapist-button-outline .wp-block-button__link {
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: transparent;
  box-shadow: none;
  padding: calc(0.9rem - 2px) calc(1.5rem - 2px);
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    transform 160ms ease;
}

.bm-therapist-cta .wp-block-button.bm-therapist-button-outline .wp-block-button__link:hover,
.bm-therapist-cta .wp-block-button.bm-therapist-button-outline .wp-block-button__link:focus-visible {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .bm-therapist-intro-grid,
  .bm-therapist-location-grid {
    grid-template-columns: 1fr;
  }

  .bm-therapist-illustration img {
    width: min(18rem, 76vw);
  }
}

@media (max-width: 600px) {
  .bm-therapist-section,
  .bm-therapist-team-section,
  .bm-therapist-location-section,
  .bm-therapist-cta {
    padding: 3.5rem 1rem;
  }

  .bm-therapist-directory {
    padding: 0 1rem;
  }

  .bm-therapist-card summary {
    margin: 0 -1rem;
    padding: 1.25rem 1rem;
  }

  .bm-therapist-card-head {
    gap: 0.8rem;
  }

  .bm-therapist-card summary {
    align-items: flex-start;
  }

  .bm-therapist-avatar {
    width: 3.25rem;
    height: 3.25rem;
  }

  .bm-therapist-name {
    font-size: 0.95rem;
  }

  .bm-therapist-expanded {
    grid-template-columns: 1fr;
  }

  .bm-therapist-photo {
    width: min(12rem, 100%);
    height: 12rem;
    aspect-ratio: 1;
  }

  .bm-therapist-why-list {
    padding-left: 2.5rem;
  }

  .bm-therapist-why-list::before {
    left: 0.85rem;
  }

  .bm-therapist-number {
    left: -2.5rem;
  }

  .bm-therapist-hours div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }

  .bm-therapist-map {
    min-height: 18rem;
  }

  .bm-therapist-cta-actions {
    width: 100%;
  }

  .bm-therapist-cta .wp-block-button.bm-mission-button,
  .bm-therapist-cta .wp-block-button.bm-mission-button .wp-block-button__link,
  .bm-therapist-cta .wp-block-button.bm-therapist-button-outline,
  .bm-therapist-cta .wp-block-button.bm-therapist-button-outline .wp-block-button__link,
  a.bm-therapist-button-outline {
    width: 100%;
  }
}

/* Trigger point therapy page rebuild */
.bm-trigger-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-trigger-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-trigger-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-trigger-page .bm-hero-cta .wp-block-button__link,
.bm-trigger-book-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-trigger-page .bm-hero-cta .wp-block-button__link:hover,
.bm-trigger-book-cta .wp-block-button__link:hover {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.bm-trigger-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
}

.bm-trigger-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-trigger-page .bm-massage-nyc-hero a,
.bm-trigger-page .bm-hero-cta .wp-block-button__link,
.bm-trigger-page .bm-trigger-book-cta .wp-block-button__link,
.bm-trigger-page .bm-nyc-addon-header a,
.bm-trigger-page .bm-nyc-map-link,
.bm-trigger-page .bm-nyc-location-button .wp-block-button__link {
  text-decoration: none;
}

.bm-trigger-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-trigger-narrow {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.bm-trigger-heading {
  margin-bottom: 2rem;
  text-align: center;
}

.bm-trigger-heading > :where(p, h2, h3) {
  margin: 0;
}

.bm-trigger-heading > :where(h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-trigger-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-trigger-heading h3 {
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-trigger-text-block > p,
.bm-trigger-narrow > p {
  margin: 0 0 1.5rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-trigger-text-block > p:last-child,
.bm-trigger-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-trigger-intro .bm-trigger-text-block:first-child .bm-trigger-heading {
  margin-bottom: 2.625rem;
}

.bm-trigger-spacer {
  height: 4rem !important;
}

.bm-trigger-list {
  margin: 0 0 2rem !important;
  margin-block-end: 2rem !important;
  padding-left: 0.25rem;
  list-style: none;
}

.bm-trigger-list li {
  position: relative;
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
  padding-left: 1.25rem;
}

.bm-trigger-list li + li {
  margin-top: 0.75rem;
}

.bm-trigger-list li::before {
  position: absolute;
  top: 0.6875rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-trigger-treatment .bm-trigger-heading {
  margin-bottom: 2rem;
}

.bm-trigger-treatment .bm-trigger-narrow > p:nth-of-type(3) {
  margin-bottom: 2.5rem;
}

.bm-trigger-timeline {
  position: relative;
  display: grid;
  max-width: 48rem;
  gap: 1.25rem;
  margin: 0 auto;
  padding-left: 3rem;
}

.bm-trigger-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-trigger-timeline-item {
  position: relative;
}

.bm-trigger-timeline-number {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background-color 300ms ease;
}

.bm-trigger-timeline-item:hover .bm-trigger-timeline-number,
.bm-trigger-timeline-item:focus-within .bm-trigger-timeline-number {
  background: var(--bm-nyc-gold);
}

.bm-trigger-timeline-number p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.bm-trigger-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-trigger-timeline-item:hover .bm-trigger-timeline-card,
.bm-trigger-timeline-item:focus-within .bm-trigger-timeline-card {
  border-color: var(--bm-nyc-blue);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-trigger-timeline-card h3,
.bm-trigger-timeline-card p {
  display: inline;
  margin: 0;
  color: var(--bm-nyc-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-trigger-timeline-card h3 {
  color: var(--bm-nyc-ink);
  font-weight: 700;
}

.bm-trigger-who .bm-trigger-heading {
  margin-bottom: 2rem;
}

.bm-trigger-who-list {
  margin-bottom: 2rem !important;
  margin-block-end: 2rem !important;
}

.bm-trigger-book {
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
}

.bm-trigger-book-inner {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
  text-align: center;
}

.bm-trigger-book-inner h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.333334;
}

.bm-trigger-book-inner p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-trigger-book-inner a:not(.wp-block-button__link) {
  color: #fff;
  text-decoration: underline;
}

.bm-trigger-book-inner a:not(.wp-block-button__link):hover {
  color: #fcd34d;
}

.bm-trigger-book-cta {
  justify-content: center;
  margin: 0;
}

.bm-trigger-book-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}

.bm-trigger-book-cta .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-trigger-addons .bm-nyc-addon-link {
  margin: 0;
}

.bm-trigger-addons .bm-nyc-addon-header h3 {
  white-space: nowrap;
}

.bm-trigger-faq .bm-trigger-heading {
  margin-bottom: 2.5rem;
}

.bm-trigger-faq-list {
  gap: 1rem;
}

.bm-trigger-faq-list .wp-block-details {
  border-radius: 0.75rem;
}

.bm-trigger-faq-list summary {
  min-height: 4.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 1.125rem;
}

.bm-trigger-faq-list .wp-block-details > p {
  padding-bottom: 1.25rem;
}

.bm-trigger-faq-note {
  margin: 2.5rem 0 0 !important;
  margin-block-start: 2.5rem !important;
  color: var(--bm-nyc-text);
  line-height: 1.625;
  text-align: center;
}

@media (min-width: 768px) {
  .bm-trigger-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-trigger-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
    line-height: 1.15;
  }

  .bm-trigger-heading h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-trigger-intro .bm-trigger-text-block:first-child .bm-trigger-heading {
    margin-bottom: 2.9375rem;
  }

  .bm-trigger-book-inner h3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-section-heading {
    max-width: none;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-section-heading .bm-nyc-eyebrow {
    line-height: 1.428572;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-section-heading h2 {
    margin-top: 0;
    line-height: 2.5rem;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
    max-width: 48rem;
    line-height: 1.5;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-location-card {
    min-height: 29.375rem;
  }

  .bm-trigger-page .bm-nyc-locations .bm-nyc-location-note {
    line-height: 1.428572;
  }

  .bm-trigger-page .bm-testimonials-block .bm-testimonials-card {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .bm-trigger-page .bm-massage-nyc-hero-copy {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-trigger-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-trigger-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-trigger-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-trigger-page .bm-massage-nyc-hero-copy {
    min-height: 29.8125rem;
  }

  .bm-trigger-addons .bm-nyc-addon-grid {
    gap: 1.3125rem 1rem;
  }

  .bm-trigger-page :is(.bm-trigger-intro, .bm-trigger-treatment, .bm-trigger-who, .bm-trigger-faq) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-trigger-faq-list summary {
    align-items: flex-start;
    min-height: 6rem;
    padding-right: 3rem;
    padding-left: 5rem;
    font-size: 1rem;
  }

  .bm-trigger-faq-list .wp-block-details > p {
    padding-left: 1.5rem;
  }
}

.bm-trigger-page .bm-testimonials-block .bm-testimonials-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-trigger-page .bm-testimonials-block .bm-testimonials-title {
  font-weight: 700;
  line-height: 1.111112;
}

.bm-trigger-page .bm-testimonials-block .bm-testimonials-quote {
  line-height: 1.625;
}

/* Myofascial release therapy page rebuild */
.bm-myofascial-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-myofascial-page .bm-massage-nyc-badge::before {
  background: #fbbf24;
}

.bm-myofascial-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-myofascial-page .bm-hero-cta .wp-block-button__link,
.bm-myofascial-book-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-myofascial-page .bm-hero-cta .wp-block-button__link:hover,
.bm-myofascial-book-cta .wp-block-button__link:hover {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.bm-myofascial-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
}

.bm-myofascial-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-myofascial-page .bm-massage-nyc-hero a,
.bm-myofascial-page .bm-hero-cta .wp-block-button__link,
.bm-myofascial-page .bm-myofascial-book-cta .wp-block-button__link,
.bm-myofascial-page .bm-nyc-addon-header a,
.bm-myofascial-page .bm-nyc-map-link,
.bm-myofascial-page .bm-nyc-location-button .wp-block-button__link {
  text-decoration: none;
}

.bm-myofascial-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-myofascial-narrow {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 0 auto;
}

.bm-myofascial-heading {
  margin-bottom: 2rem;
  text-align: center;
}

.bm-myofascial-heading > :where(p, h2, h3) {
  margin: 0;
}

.bm-myofascial-heading > :where(h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-myofascial-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-myofascial-heading h3,
.bm-myofascial-subheading {
  color: var(--bm-nyc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-myofascial-text-block > p,
.bm-myofascial-narrow > p {
  margin: 0 0 1.5rem;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-myofascial-text-block > p:last-child,
.bm-myofascial-narrow > p:last-child {
  margin-bottom: 0;
}

.bm-myofascial-intro .bm-myofascial-text-block:first-child .bm-myofascial-heading {
  margin-bottom: 2rem;
}

.bm-myofascial-intro .bm-myofascial-text-block:first-child .bm-myofascial-heading h2 {
  margin-bottom: 0;
}

.bm-myofascial-intro .bm-myofascial-text-block:first-child > p {
  margin-bottom: 2rem;
}

.bm-myofascial-spacer {
  height: 4rem !important;
}

.bm-myofascial-image-wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 2rem;
}

.bm-myofascial-image-wrap figure {
  max-width: 42rem;
  margin: 0;
}

.bm-myofascial-inline-image img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.bm-myofascial-list {
  margin: 0 0 2rem !important;
  margin-block-end: 2rem !important;
  padding-left: 0.25rem;
  list-style: none;
}

.bm-myofascial-list li {
  position: relative;
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
  padding-left: 1.25rem;
}

.bm-myofascial-list li + li {
  margin-top: 1rem;
}

.bm-myofascial-list li::before {
  position: absolute;
  top: 0.6875rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-myofascial-list strong,
.bm-myofascial-timeline-card span {
  color: var(--bm-nyc-ink);
  font-weight: 700;
}

.bm-myofascial-why .bm-myofascial-heading,
.bm-myofascial-faq .bm-myofascial-heading {
  margin-bottom: 2.5rem;
}

.bm-myofascial-timeline {
  position: relative;
  display: grid;
  max-width: 48rem;
  gap: 1.25rem;
  margin: 0 auto;
  padding-left: 3rem;
}

.bm-myofascial-timeline::before {
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-myofascial-timeline-item {
  position: relative;
}

.bm-myofascial-timeline-number {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background-color 300ms ease;
}

.bm-myofascial-timeline-item:hover .bm-myofascial-timeline-number,
.bm-myofascial-timeline-item:focus-within .bm-myofascial-timeline-number {
  background: var(--bm-nyc-gold);
}

.bm-myofascial-timeline-number p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.bm-myofascial-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-myofascial-timeline-item:hover .bm-myofascial-timeline-card,
.bm-myofascial-timeline-item:focus-within .bm-myofascial-timeline-card {
  border-color: var(--bm-nyc-blue);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-myofascial-timeline-card p {
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-myofascial-services .bm-myofascial-image-wrap {
  margin-bottom: 2rem;
}

.bm-myofascial-services .bm-myofascial-narrow > p {
  margin-bottom: 2rem;
}

.bm-myofascial-experience .bm-myofascial-heading {
  margin-bottom: 2rem;
}

.bm-myofascial-experience .bm-myofascial-narrow > p:nth-of-type(1) {
  margin-bottom: 2rem;
}

.bm-myofascial-experience .bm-myofascial-narrow > p:nth-of-type(2) {
  margin-bottom: 1.5rem;
}

.bm-myofascial-experience .bm-myofascial-heading.is-stacked {
  margin-top: 0;
}

.bm-myofascial-book {
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
}

.bm-myofascial-book-inner {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
  text-align: center;
}

.bm-myofascial-book-inner h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.333334;
}

.bm-myofascial-book-inner p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-myofascial-book-cta {
  justify-content: center;
  margin: 0;
}

.bm-myofascial-book-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}

.bm-myofascial-book-cta .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-myofascial-addons .bm-nyc-addon-link {
  margin: 0;
}

.bm-myofascial-addons .bm-nyc-addon-header h3 {
  white-space: nowrap;
}

.bm-myofascial-faq-list {
  gap: 1rem;
}

.bm-myofascial-faq-list .wp-block-details {
  border-radius: 1rem;
  background: #fff;
}

.bm-myofascial-faq-list summary {
  min-height: 4.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.5;
}

.bm-myofascial-faq-list .wp-block-details > p {
  padding-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .bm-myofascial-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-myofascial-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
    line-height: 1.15;
  }

  .bm-myofascial-heading h2 {
    font-size: 2.25rem;
  }

  .bm-myofascial-heading h3,
  .bm-myofascial-subheading {
    font-size: 1.875rem;
  }

  .bm-myofascial-book-inner h3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-section-heading {
    max-width: none;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-section-heading .bm-nyc-eyebrow {
    line-height: 1.428572;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-section-heading h2 {
    margin-top: 0;
    line-height: 2.5rem;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
    max-width: 48rem;
    line-height: 1.5;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-location-card {
    min-height: 29.375rem;
  }

  .bm-myofascial-page .bm-nyc-locations .bm-nyc-location-note {
    line-height: 1.428572;
  }

  .bm-myofascial-page .bm-testimonials-block .bm-testimonials-card {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .bm-myofascial-page .bm-massage-nyc-hero-copy {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-myofascial-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }
}

@media (min-width: 1280px) {
  .bm-myofascial-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-myofascial-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-myofascial-page .bm-massage-nyc-hero-copy {
    min-height: 30.625rem;
  }

  .bm-myofascial-page :is(.bm-myofascial-intro, .bm-myofascial-why, .bm-myofascial-services, .bm-myofascial-experience, .bm-myofascial-faq) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-myofascial-addons .bm-nyc-addon-grid {
    gap: 1.3125rem 1rem;
  }

  .bm-myofascial-spacer {
    margin-top: 2.75rem;
  }

  .bm-myofascial-faq-list summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4.25rem;
  }

  .bm-myofascial-faq-list .wp-block-details > p {
    padding-left: 1.5rem;
  }
}

.bm-myofascial-page .bm-testimonials-block .bm-testimonials-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-myofascial-page .bm-testimonials-block .bm-testimonials-title {
  font-weight: 700;
  line-height: 1.111112;
}

.bm-myofascial-page .bm-testimonials-block .bm-testimonials-quote {
  line-height: 1.625;
}

.bm-myofascial-faq .bm-myofascial-heading .bm-nyc-eyebrow {
  line-height: 1.428572;
}

.bm-myofascial-faq .bm-myofascial-heading h2 {
  line-height: 1.2;
}

@media (min-width: 768px) {
  .bm-myofascial-faq .bm-myofascial-heading h2 {
    line-height: 2.5rem;
  }
}

/* Physical therapy support page rebuild */
.bm-pt-support-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-pt-support-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-pt-support-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-pt-support-page .bm-massage-nyc-hero h1 {
  font-weight: 700;
}

.bm-pt-support-page .bm-massage-nyc-hero p:not(.bm-massage-nyc-badge) {
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
}

.bm-pt-support-page .bm-hero-cta .wp-block-button__link,
.bm-pt-support-book-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-pt-support-page .bm-hero-cta .wp-block-button__link:hover,
.bm-pt-support-book-cta .wp-block-button__link:hover {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.bm-pt-support-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
}

.bm-pt-support-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-pt-support-page .bm-massage-nyc-hero a,
.bm-pt-support-page .bm-hero-cta .wp-block-button__link,
.bm-pt-support-page .bm-pt-support-book-cta .wp-block-button__link,
.bm-pt-support-page .bm-nyc-addon-header a,
.bm-pt-support-page .bm-nyc-map-link,
.bm-pt-support-page .bm-nyc-location-button .wp-block-button__link {
  text-decoration: none;
}

.bm-pt-support-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-pt-support-narrow {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 0 auto;
}

.bm-pt-support-heading {
  margin-bottom: 2rem;
  text-align: center;
}

.bm-pt-support-intro .bm-pt-support-heading,
.bm-pt-support-ideal .bm-pt-support-heading,
.bm-pt-support-faq .bm-pt-support-heading {
  margin-bottom: 2.5rem;
}

.bm-pt-support-heading > :where(p, h2, h3),
.bm-pt-support-narrow > :where(p, h2, h3, ul),
.bm-pt-support-callout > p {
  margin-top: 0;
}

.bm-pt-support-heading > :where(h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-pt-support-page .bm-nyc-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-pt-support-heading h2,
.bm-pt-support-faq .bm-pt-support-heading h3,
.bm-pt-support-ideal .bm-pt-support-heading h3 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-pt-support-heading h3 {
  color: var(--bm-nyc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-pt-support-subheading {
  margin: 0 0 1.5rem;
  color: var(--bm-nyc-ink);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
}

.bm-pt-support-narrow > p,
.bm-pt-support-callout > p,
.bm-pt-support-timeline-card > p {
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-pt-support-narrow > p {
  margin: 0 0 1.5rem;
}

.bm-pt-support-narrow > p:last-child,
.bm-pt-support-callout > p,
.bm-pt-support-timeline-card > p {
  margin-bottom: 0;
}

.bm-pt-support-approach {
  background: #e5e7f2;
}

.bm-pt-support-list {
  display: grid;
  gap: 1rem;
  margin: 0 0 2rem !important;
  margin-block-end: 2rem !important;
  padding-left: 0.25rem;
  list-style: none;
}

.bm-pt-support-list li {
  position: relative;
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
  padding-left: 1.25rem;
}

.bm-pt-support-list li::before {
  position: absolute;
  top: 0.6875rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-pt-support-list strong {
  color: var(--bm-nyc-ink);
  font-weight: 700;
}

.bm-pt-support-timeline {
  position: relative;
  display: grid;
  gap: 1.5rem;
  margin: 0 0 4rem;
  margin-bottom: 4rem !important;
  padding-left: 3.5rem;
}

.bm-pt-support-timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.125rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-pt-support-timeline-item {
  position: relative;
}

.bm-pt-support-timeline-number {
  position: absolute;
  top: 0;
  left: -3.5rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

.bm-pt-support-timeline-number p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.bm-pt-support-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem;
  box-shadow: var(--bm-nyc-shadow);
  transition: box-shadow 300ms ease;
}

.bm-pt-support-timeline-item:hover .bm-pt-support-timeline-card,
.bm-pt-support-timeline-item:focus-within .bm-pt-support-timeline-card {
  box-shadow: var(--bm-nyc-shadow-hover);
}

.bm-pt-support-timeline-card h4 {
  margin: 0 0 0.25rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.555556;
}

.bm-pt-support-callout {
  margin-top: 2.5rem;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-pt-support-book {
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
}

.bm-pt-support-book-inner {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
  text-align: center;
}

.bm-pt-support-book-inner h2 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.333334;
}

.bm-pt-support-book-inner p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-pt-support-book-cta {
  justify-content: center;
  margin: 0;
}

.bm-pt-support-book-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}

.bm-pt-support-book-cta .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-pt-support-addons .bm-nyc-addon-link {
  margin: 0;
}

.bm-pt-support-addons .bm-nyc-addon-header h3 {
  white-space: nowrap;
}

.bm-pt-support-faq-list {
  gap: 1rem;
}

.bm-pt-support-faq-list .wp-block-details {
  border-radius: 0.75rem;
}

.bm-pt-support-faq-list summary {
  min-height: 4.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-pt-support-faq-list .wp-block-details > p {
  padding-bottom: 1.25rem;
}

.bm-pt-support-page .bm-testimonials-block .bm-testimonials-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-pt-support-page .bm-testimonials-block .bm-testimonials-title {
  font-weight: 700;
  line-height: 1.111112;
}

.bm-pt-support-page .bm-testimonials-block .bm-testimonials-quote {
  line-height: 1.625;
}

@media (min-width: 768px) {
  .bm-pt-support-intro {
    padding-bottom: 8.125rem;
  }

  .bm-pt-support-approach {
    padding-bottom: 4.5rem;
  }

  .bm-pt-support-ideal {
    padding-bottom: 6.3125rem;
  }

  .bm-pt-support-addons {
    padding-bottom: 4.1875rem;
  }

  .bm-pt-support-faq {
    padding-bottom: 7rem;
  }

  .bm-pt-support-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-pt-support-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
    line-height: 1.15;
  }

  .bm-pt-support-heading h2,
  .bm-pt-support-faq .bm-pt-support-heading h3,
  .bm-pt-support-ideal .bm-pt-support-heading h3 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-pt-support-heading h3 {
    font-size: 1.875rem;
  }

  .bm-pt-support-subheading {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .bm-pt-support-book-inner h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-pt-support-book-inner {
    max-width: 52rem;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-section-heading {
    max-width: none;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-section-heading .bm-nyc-eyebrow {
    line-height: 1.428572;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-section-heading h2 {
    margin-top: 0;
    line-height: 2.5rem;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
    max-width: 48rem;
    line-height: 1.5;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-location-card {
    min-height: 29.375rem;
  }

  .bm-pt-support-page .bm-nyc-locations .bm-nyc-location-note {
    line-height: 1.428572;
  }

  .bm-pt-support-page .bm-testimonials-block .bm-testimonials-card {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .bm-pt-support-page .bm-massage-nyc-hero-copy {
    min-height: auto;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-pt-support-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-pt-support-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }
}

@media (min-width: 1280px) {
  .bm-pt-support-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-pt-support-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-pt-support-page :is(.bm-pt-support-intro, .bm-pt-support-approach, .bm-pt-support-services, .bm-pt-support-ideal, .bm-pt-support-faq) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-pt-support-page .bm-pt-support-intro {
    padding-bottom: 3.5625rem;
  }

  .bm-pt-support-page .bm-pt-support-approach {
    padding-bottom: 2.6875rem;
  }

  .bm-pt-support-page .bm-pt-support-ideal {
    padding-bottom: 4.1875rem;
  }

  .bm-pt-support-page .bm-pt-support-addons {
    padding-bottom: 3.1875rem;
  }

  .bm-pt-support-page .bm-pt-support-faq {
    padding-bottom: 5.5rem;
  }

  .bm-pt-support-timeline {
    padding-left: 3.5rem;
  }

  .bm-pt-support-addons .bm-nyc-addon-grid {
    gap: 1.3125rem 1rem;
  }

  .bm-pt-support-faq-list summary {
    align-items: flex-start;
    padding-right: 3rem;
    padding-left: 4.25rem;
  }

  .bm-pt-support-faq-list .wp-block-details > p {
    padding-left: 1.5rem;
  }

  .bm-pt-support-page .bm-testimonials-block {
    padding-bottom: 3.875rem;
  }
}

/* Achedaway heated muscle scraper page rebuild */
.bm-iastm-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
  line-height: 1.333334;
  padding: 0.5rem 1.25rem;
}

.bm-iastm-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-iastm-page .bm-massage-nyc-hero-copy {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-iastm-page .bm-massage-nyc-hero h1 {
  font-weight: 700;
}

.bm-iastm-page .bm-massage-nyc-hero p:not(.bm-massage-nyc-badge) {
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
}

.bm-iastm-page .bm-hero-cta .wp-block-button__link,
.bm-iastm-book-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-nyc-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-iastm-page .bm-hero-cta .wp-block-button__link:hover,
.bm-iastm-book-cta .wp-block-button__link:hover {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.125rem);
}

.bm-iastm-page a {
  color: var(--bm-nyc-blue);
  font-weight: 500;
  text-decoration: underline;
}

.bm-iastm-page a:hover {
  color: var(--bm-nyc-blue-dark);
}

.bm-iastm-page .bm-massage-nyc-hero a,
.bm-iastm-page .bm-hero-cta .wp-block-button__link,
.bm-iastm-page .bm-iastm-book-cta .wp-block-button__link,
.bm-iastm-page .bm-nyc-addon-header a,
.bm-iastm-page .bm-nyc-map-link,
.bm-iastm-page .bm-nyc-location-button .wp-block-button__link {
  text-decoration: none;
}

.bm-iastm-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-iastm-narrow {
  box-sizing: border-box;
  max-width: 52rem;
  margin: 0 auto;
}

.bm-iastm-heading {
  margin-bottom: 2.5rem;
  text-align: center;
}

.bm-iastm-features .bm-iastm-heading {
  margin-bottom: 2.5rem;
}

.bm-iastm-heading > :where(p, h2, h3),
.bm-iastm-narrow > :where(p, h2, h3, ul),
.bm-iastm-callout > p {
  margin-top: 0;
}

.bm-iastm-heading > :where(h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-iastm-page .bm-nyc-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-iastm-heading h2,
.bm-iastm-faq .bm-iastm-heading h2,
.bm-iastm-visit .bm-iastm-heading h2 {
  color: var(--bm-nyc-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-iastm-heading h3 {
  color: var(--bm-nyc-ink);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-iastm-narrow > p,
.bm-iastm-callout > p,
.bm-iastm-timeline-card > p {
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-iastm-narrow > p {
  margin: 0 0 1.5rem;
}

.bm-iastm-intro .bm-iastm-narrow > p:nth-of-type(3),
.bm-iastm-visit .bm-iastm-centered-copy {
  margin-bottom: 2rem;
}

.bm-iastm-narrow > p:last-child,
.bm-iastm-callout > p,
.bm-iastm-timeline-card > p {
  margin-bottom: 0;
}

.bm-iastm-centered-copy {
  text-align: center;
}

.bm-iastm-image-wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 2rem;
}

.bm-iastm-image-wrap figure {
  width: 100%;
  margin: 0;
}

.bm-iastm-image-wrap.is-product figure {
  max-width: 24rem;
}

.bm-iastm-image-wrap.is-middle figure,
.bm-iastm-image-wrap.is-bottom figure {
  max-width: 42rem;
}

.bm-iastm-inline-image img {
  display: block;
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.bm-iastm-features {
  background: #e5e7f2;
}

.bm-iastm-timeline {
  position: relative;
  display: grid;
  gap: 1.5rem;
  margin: 0 !important;
  padding-left: 3.5rem;
}

.bm-iastm-timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.125rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--bm-nyc-blue), var(--bm-nyc-gold));
  content: "";
}

.bm-iastm-timeline-item {
  position: relative;
}

.bm-iastm-timeline-number {
  position: absolute;
  top: 0;
  left: -3.5rem;
  z-index: 1;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
}

.bm-iastm-timeline-number p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.bm-iastm-timeline-card {
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem;
  box-shadow: var(--bm-nyc-shadow);
  transition: box-shadow 300ms ease;
}

.bm-iastm-timeline-item:hover .bm-iastm-timeline-card,
.bm-iastm-timeline-item:focus-within .bm-iastm-timeline-card {
  box-shadow: var(--bm-nyc-shadow-hover);
}

.bm-iastm-timeline-card h4 {
  margin: 0 0 0.25rem;
  color: var(--bm-nyc-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.555556;
}

.bm-iastm-callout {
  margin-top: 2.5rem;
  border: 2px solid var(--bm-nyc-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-iastm-book {
  margin-block-start: 0;
  background: var(--bm-nyc-blue);
  padding: 3.5rem 0;
}

.bm-iastm-book-inner {
  box-sizing: border-box;
  max-width: 48rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
  text-align: center;
}

.bm-iastm-book-inner h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.333334;
}

.bm-iastm-book-inner p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-iastm-book-cta {
  justify-content: center;
  margin: 0;
}

.bm-iastm-book-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}

.bm-iastm-book-cta .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-iastm-addons .bm-nyc-addon-link {
  margin: 0;
}

.bm-iastm-addons .bm-nyc-addon-header h3 {
  white-space: nowrap;
}

.bm-iastm-faq-list {
  gap: 1rem;
}

.bm-iastm-faq-list .wp-block-details {
  border-radius: 0.75rem;
}

.bm-iastm-faq-list summary {
  min-height: 4.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-iastm-faq-list .wp-block-details > :where(p, ul) {
  margin-top: 0;
  color: var(--bm-nyc-text);
  line-height: 1.625;
}

.bm-iastm-faq-list .wp-block-details > p {
  padding-bottom: 1.25rem;
}

.bm-iastm-list {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 1rem !important;
  padding-left: 0.25rem;
  list-style: none;
}

.bm-iastm-list li {
  position: relative;
  margin: 0;
  color: var(--bm-nyc-text);
  line-height: 1.5;
  padding-left: 1.25rem;
}

.bm-iastm-list li::before {
  position: absolute;
  top: 0.625rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-nyc-blue);
  content: "";
}

.bm-iastm-page .bm-testimonials-block .bm-testimonials-eyebrow {
  font-weight: 700;
  line-height: 1.428572;
}

.bm-iastm-page .bm-testimonials-block .bm-testimonials-title {
  font-weight: 700;
  line-height: 1.111112;
}

.bm-iastm-page .bm-testimonials-block .bm-testimonials-quote {
  line-height: 1.625;
}

@media (min-width: 768px) {
  .bm-iastm-intro {
    padding-bottom: 8.9375rem;
  }

  .bm-iastm-visit {
    padding-bottom: 6.3125rem;
  }

  .bm-iastm-addons {
    padding-bottom: 4.1875rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
    line-height: 1.15;
  }

  .bm-iastm-heading h2,
  .bm-iastm-faq .bm-iastm-heading h2,
  .bm-iastm-visit .bm-iastm-heading h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-iastm-heading h3 {
    font-size: 1.875rem;
  }

  .bm-iastm-book-inner h3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-section-heading {
    max-width: none;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-section-heading .bm-nyc-eyebrow {
    line-height: 1.428572;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-section-heading h2 {
    margin-top: 0;
    line-height: 2.5rem;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
    max-width: 48rem;
    line-height: 1.5;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-location-card {
    min-height: 29.375rem;
  }

  .bm-iastm-page .bm-nyc-locations .bm-nyc-location-note {
    line-height: 1.428572;
  }

  .bm-iastm-page .bm-testimonials-block .bm-testimonials-card {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
}

@media (min-width: 1024px) {
  .bm-iastm-page .bm-massage-nyc-hero-copy {
    min-height: auto;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }
}

@media (min-width: 1280px) {
  .bm-iastm-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-iastm-page :is(.bm-iastm-intro, .bm-iastm-features, .bm-iastm-visit, .bm-iastm-faq) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .bm-iastm-page .bm-massage-nyc-hero h1 {
    font-size: 2.125rem;
    line-height: 2.8125rem;
  }

  .bm-iastm-page .bm-iastm-intro {
    padding-bottom: 4.25rem;
  }

  .bm-iastm-page .bm-iastm-visit {
    padding-bottom: 4.1875rem;
  }

  .bm-iastm-page .bm-iastm-addons {
    padding-bottom: 3.1875rem;
  }

  .bm-iastm-timeline {
    padding-left: 3.5rem;
  }

  .bm-iastm-addons .bm-nyc-addon-grid {
    gap: 1.3125rem 1rem;
  }

  .bm-iastm-faq-list summary {
    align-items: flex-start;
    padding-right: 4rem;
    padding-left: 4.25rem;
  }

  .bm-iastm-faq-list .wp-block-details > p {
    padding-left: 1.5rem;
  }

  .bm-iastm-page .bm-testimonials-block {
    padding-bottom: 3.875rem;
  }
}

/* Massage pricing page rebuild */
.bm-pricing-page {
  --bm-pricing-blue: #2d4a5e;
  --bm-pricing-blue-dark: #1a3040;
  --bm-pricing-gold: #c5993a;
  --bm-pricing-muted: #4b5563;
  --bm-pricing-lavender: #e5e7f2;
  --bm-pricing-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  color: #111827;
}

.bm-pricing-page *,
.bm-pricing-quiz-block * {
  box-sizing: border-box;
}

.bm-pricing-page > *,
.bm-pricing-page .wp-block-group,
.bm-pricing-page .wp-block-image,
.bm-pricing-page .wp-block-buttons,
.bm-pricing-page .wp-block-button,
.bm-pricing-page p,
.bm-pricing-page h1,
.bm-pricing-page h2,
.bm-pricing-page h3,
.bm-pricing-page h4,
.bm-pricing-page ul {
  margin-block-start: 0;
}

.bm-pricing-page a {
  color: var(--bm-pricing-blue);
  text-underline-offset: 0.18em;
}

.bm-pricing-page .bm-massage-nyc-hero {
  min-height: 540px;
  grid-template-columns: 1fr;
  background: var(--bm-pricing-blue);
}

.bm-pricing-page .bm-massage-nyc-hero-copy {
  min-height: 550px;
  padding: 4rem 1.5rem;
}

.bm-pricing-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  padding: 0.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.15em;
}

.bm-pricing-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  color: #fbbf24;
}

.bm-pricing-page .bm-massage-nyc-hero h1 {
  max-width: 38rem;
  margin-bottom: 1.5rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-pricing-page .bm-massage-nyc-hero p:not(.bm-massage-nyc-badge) {
  max-width: 32rem;
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-pricing-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-pricing-gold) !important;
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  padding: 1rem 2rem;
}

.bm-pricing-page .bm-hero-cta .wp-block-button__link:hover,
.bm-pricing-page .bm-hero-cta .wp-block-button__link:focus-visible {
  background: #b08832 !important;
}

.bm-pricing-page .bm-massage-nyc-hero-image {
  display: block;
  min-height: 16rem;
}

.bm-pricing-intro,
.bm-pricing-cards,
.bm-pricing-policy {
  margin-block-start: 0;
}

.bm-pricing-intro {
  padding: 4rem 0 3.25rem;
}

.bm-pricing-inner {
  width: min(100%, 72rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-pricing-wide {
  width: min(100%, 80rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-pricing-intro-head {
  margin-bottom: 3rem;
}

.bm-pricing-eyebrow {
  margin: 0 0 1rem;
  color: var(--bm-pricing-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.bm-pricing-intro-copy {
  max-width: 56rem;
  margin: 0 auto;
  color: var(--bm-pricing-muted);
  line-height: 1.625;
  text-align: center;
}

.bm-pricing-intro-copy strong {
  color: #111827;
}

.bm-pricing-page h2 {
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-pricing-intro h2 {
  margin: 0 0 2rem;
  text-align: center;
}

.bm-pricing-info-grid {
  display: grid;
  gap: 2rem;
}

.bm-pricing-bullet-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-pricing-bullet-list li {
  position: relative;
  margin: 0;
  color: var(--bm-pricing-muted);
  line-height: 1.625;
  padding-left: 1.25rem;
}

.bm-pricing-bullet-list li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-pricing-blue);
}

.bm-pricing-sidebar {
  display: grid;
  gap: 1rem;
  align-self: start;
}

.bm-pricing-info-card,
.bm-pricing-addons-card,
.bm-pricing-gratuity {
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.25rem;
}

.bm-pricing-info-card,
.bm-pricing-gratuity {
  border: 2px solid var(--bm-pricing-blue);
}

.bm-pricing-info-card h4,
.bm-pricing-addons-card h4 {
  margin: 0 0 0.5rem;
  color: #111827;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-pricing-info-card p,
.bm-pricing-addons-card p {
  margin: 0;
  color: var(--bm-pricing-muted);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-pricing-gratuity {
  max-width: 36rem;
  text-align: center;
}

.bm-pricing-gratuity-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
  color: var(--bm-pricing-blue);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-pricing-gratuity-label::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-pricing-gold);
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-pricing-gratuity > p:not(.bm-pricing-gratuity-label) {
  margin: 0;
  color: var(--bm-pricing-muted);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-pricing-gratuity-methods {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.bm-pricing-gratuity-methods p {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  border: 1px solid rgba(45, 74, 94, 0.2);
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.04);
  color: var(--bm-pricing-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.375rem 0.875rem;
}

.bm-pricing-gratuity-methods p::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: var(--bm-pricing-gold);
  -webkit-mask: var(--bm-gratuity-icon, var(--bm-icon-dollar)) center / contain no-repeat;
  mask: var(--bm-gratuity-icon, var(--bm-icon-dollar)) center / contain no-repeat;
}

.bm-pricing-gratuity-methods p:nth-child(2)::before {
  --bm-gratuity-icon: var(--bm-icon-wallet);
}

.bm-pricing-addons-card {
  display: block;
  border: 2px solid var(--bm-pricing-gold);
  background: rgba(197, 153, 58, 0.05);
  text-decoration: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.bm-pricing-addons-card:hover,
.bm-pricing-addons-card:focus-visible {
  border-color: #b8882d;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
}

.bm-pricing-addons-card h4,
.bm-pricing-addons-link {
  color: var(--bm-pricing-gold);
}

.bm-pricing-addons-list {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

.bm-pricing-addons-list p {
  color: #374151;
}

.bm-pricing-addons-note {
  margin-top: 0.5rem !important;
  color: #6b7280 !important;
  font-size: 0.75rem !important;
  font-style: italic;
}

.bm-pricing-addons-link {
  display: inline-block;
  margin-top: 0.75rem !important;
  font-weight: 800 !important;
  text-decoration: underline;
}

.bm-pricing-page .bm-pricing-discount {
  margin-top: 2.5rem;
  border-radius: 1rem;
  background: var(--bm-pricing-blue);
  padding: 1.5rem;
  text-align: center;
}

.bm-pricing-discount h3 {
  margin: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.45;
}

.bm-pricing-discount a {
  color: var(--bm-pricing-gold);
}

.bm-pricing-page .bm-pricing-callout {
  margin-top: 2rem;
  text-align: center;
}

.bm-pricing-callout h3 {
  margin: 0;
  color: #111827;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-pricing-page .bm-pricing-returning {
  margin-top: 1.5rem;
  text-align: center;
}

.bm-pricing-returning h4 {
  margin: 0 0 0.75rem;
  color: #111827;
  font-weight: 800;
}

.bm-pricing-returning .wp-block-buttons {
  justify-content: center;
}

.bm-pricing-returning .wp-block-button__link {
  border-radius: 0.75rem !important;
  background: var(--bm-pricing-blue) !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 0.75rem 1.5rem;
  text-transform: uppercase;
}

.bm-pricing-cards {
  background: #f9fafb;
  padding: 2rem 0 4rem;
}

.bm-pricing-section-header {
  margin-bottom: 2rem;
  text-align: center;
}

.bm-pricing-section-header h2 {
  margin: 0;
}

.bm-pricing-section-header p {
  max-width: 42rem;
  margin: 1rem auto 0;
  color: var(--bm-pricing-muted);
  line-height: 1.5;
}

.bm-pricing-tabs {
  display: flex;
  width: fit-content;
  max-width: 100%;
  justify-content: center;
  gap: 0;
  margin: 0 auto 2.5rem;
  overflow: hidden;
  border: 2px solid var(--bm-pricing-blue);
  border-radius: 0.75rem;
}

.bm-pricing-tabs .wp-block-button,
.bm-pricing-tabs .wp-block-button__link {
  margin: 0;
}

.bm-pricing-tabs .wp-block-button__link {
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--bm-pricing-blue) !important;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  padding: 0.875rem 2rem;
  text-transform: uppercase;
}

.bm-pricing-tabs .wp-block-button.is-active .wp-block-button__link {
  background: var(--bm-pricing-blue) !important;
  color: #fff !important;
}

.bm-pricing-service-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-pricing-service-grid.is-hidden {
  display: none;
}

.bm-pricing-service-card,
.bm-pricing-package-card {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-pricing-shadow);
  transition:
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-pricing-service-card:hover,
.bm-pricing-package-card:hover {
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.14);
  transform: translateY(-0.25rem);
}

.bm-pricing-service-media,
.bm-pricing-package-media {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.bm-pricing-service-media {
  aspect-ratio: 4 / 3;
}

.bm-pricing-package-media {
  aspect-ratio: 16 / 7;
}

.bm-pricing-service-media::after,
.bm-pricing-package-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.2), transparent);
  pointer-events: none;
}

.bm-pricing-service-media .wp-block-image,
.bm-pricing-package-media .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0;
}

.bm-pricing-service-media img,
.bm-pricing-package-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.bm-pricing-service-card:hover img,
.bm-pricing-package-card:hover img {
  transform: scale(1.05);
}

.bm-pricing-service-title,
.bm-pricing-package-title {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  margin: 0;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-pricing-service-title a,
.bm-pricing-package-title a {
  color: inherit;
  text-decoration: none;
}

.bm-pricing-prices {
  padding: 1rem 1.25rem;
}

.bm-pricing-price-row {
  display: flex;
  gap: 1rem;
}

.bm-pricing-price {
  flex: 1 1 0;
  text-align: center;
}

.bm-pricing-price p {
  margin: 0;
}

.bm-pricing-duration {
  margin-bottom: 0.5rem !important;
  color: var(--bm-pricing-blue);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1rem !important;
  text-transform: uppercase;
}

.bm-pricing-amount {
  color: #111827;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.75rem !important;
}

.bm-pricing-amount + .bm-pricing-amount {
  margin-top: 0.15rem;
  color: #374151;
  font-size: 1rem;
  line-height: 1.5rem !important;
}

.bm-pricing-rate-label {
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 400;
}

.bm-pricing-card-actions,
.bm-pricing-package-actions {
  display: flex;
  gap: 0;
  margin: 0;
  border-top: 1px solid #f3f4f6;
}

.bm-pricing-card-actions .wp-block-button,
.bm-pricing-card-actions .wp-block-button__link {
  flex: 1 1 0;
  margin: 0;
}

.bm-pricing-card-actions .wp-block-button__link,
.bm-pricing-package-actions .wp-block-button__link {
  display: inline-flex;
  min-height: 3rem;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0 !important;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  padding: 0.75rem 0.9rem;
  text-transform: uppercase;
}

.bm-pricing-card-actions .wp-block-button__link,
.bm-pricing-package-actions .wp-block-button__link {
  min-height: 2.8125rem;
}

.bm-pricing-book-button .wp-block-button__link {
  background: var(--bm-pricing-blue) !important;
  color: #fff !important;
}

.bm-pricing-phone-button .wp-block-button__link {
  border-left: 1px solid #e5e7eb;
  background: #fff !important;
  color: var(--bm-pricing-blue) !important;
  letter-spacing: 0;
  text-transform: none;
}

.bm-pricing-phone-button .wp-block-button__link::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-phone) center / contain no-repeat;
  mask: var(--bm-icon-phone) center / contain no-repeat;
}

.bm-pricing-package-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
}

.bm-pricing-package-title {
  left: 1.25rem;
  font-size: 1.5rem;
}

.bm-pricing-package-actions {
  justify-content: center;
  padding: 1.25rem;
  text-align: center;
}

.bm-pricing-package-actions .wp-block-button__link {
  width: auto;
  border-radius: 0.75rem !important;
  background: var(--bm-pricing-blue) !important;
  color: #fff !important;
  padding-right: 2rem;
  padding-left: 2rem;
}

.bm-pricing-package-actions .wp-block-button__link::after {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-pricing-quiz-block {
  margin-block-start: 0;
  background: linear-gradient(to bottom, #e5e7f2, #d8dbe8);
  padding: 4rem 0;
}

.bm-pricing-quiz-inner {
  width: min(100%, 42rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-pricing-quiz-start-screen {
  text-align: center;
}

.bm-pricing-quiz-start-card {
  display: flex;
  width: 100%;
  max-width: 28rem;
  min-height: 8.875rem;
  margin: 0 auto;
  align-items: center;
  gap: 1.25rem;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-pricing-shadow, 0 12px 30px rgba(15, 23, 42, 0.08));
  color: #35363a;
  cursor: pointer;
  padding: 1.25rem;
  text-align: left;
  transition:
    border-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-pricing-quiz-start-card:hover,
.bm-pricing-quiz-start-card:focus-visible {
  border-color: #2d4a5e;
  box-shadow: 0 22px 46px rgba(15, 23, 42, 0.14);
  transform: translateY(-0.125rem);
}

.bm-pricing-quiz-start-icon,
.bm-pricing-quiz-result-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  background: linear-gradient(135deg, #2d4a5e, #1a3a4e);
  box-shadow: 0 12px 22px rgba(45, 74, 94, 0.22);
}

.bm-pricing-quiz-start-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
}

.bm-pricing-quiz-start-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #fcd34d;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-pricing-quiz-start-copy {
  display: block;
  flex: 1 1 auto;
}

.bm-pricing-quiz-start-title {
  display: block;
  color: #35363a;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-pricing-quiz-start-text {
  display: block;
  margin-top: 0.25rem;
  color: #464646;
  font-size: 0.875rem;
  line-height: 1.45;
}

.bm-pricing-quiz-chevron {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  color: #d1d5db;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.bm-pricing-quiz-start-card:hover .bm-pricing-quiz-chevron,
.bm-pricing-quiz-start-card:focus-visible .bm-pricing-quiz-chevron {
  color: #2d4a5e;
  transform: translateX(0.125rem);
}

.bm-pricing-quiz-workspace {
  width: 100%;
}

.bm-pricing-quiz-main-heading {
  margin-bottom: 2.5rem;
  text-align: center;
}

.bm-pricing-quiz-main-heading > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: #2d4a5e;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
  padding: 0.375rem 1rem;
  text-transform: uppercase;
}

.bm-pricing-quiz-main-heading > span span {
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-pricing-quiz-main-heading h2 {
  margin: 1rem 0 0;
  color: #35363a;
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-pricing-quiz-main-heading p,
.bm-pricing-quiz-question p {
  margin: 0.5rem 0 0;
  color: #464646;
  line-height: 1.5;
}

.bm-pricing-quiz-topline,
.bm-pricing-quiz-result-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.bm-pricing-quiz-topline h2 {
  margin: 0;
  color: #35363a;
  font-size: 1.125rem;
  font-weight: 800;
}

.bm-pricing-quiz-topline button,
.bm-pricing-quiz-result-nav button,
.bm-pricing-quiz-back-lite,
.bm-pricing-quiz-retake button {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border: 0;
  background: transparent;
  color: #464646;
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0;
}

.bm-pricing-quiz-result-nav button:first-child {
  border: 1px solid rgba(45, 74, 94, 0.15);
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.08);
  color: #2d4a5e;
  padding: 0.5rem 1rem;
}

.bm-pricing-quiz-progress {
  margin: 0 auto 2rem;
  max-width: 28rem;
}

.bm-pricing-quiz-progress > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.5rem;
  color: rgba(45, 74, 94, 0.7);
  font-size: 0.75rem;
  font-weight: 600;
}

.bm-pricing-quiz-progress > span {
  display: block;
  height: 0.375rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
}

.bm-pricing-quiz-progress > span span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(to right, #2d4a5e, #1a3a4e);
}

.bm-pricing-quiz-back-lite {
  margin-bottom: 1rem;
}

.bm-pricing-quiz-back-lite span,
.bm-pricing-quiz-result-nav button:first-child span {
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  transform: rotate(180deg);
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-pricing-quiz-topline button span,
.bm-pricing-quiz-result-nav button:nth-child(2) span,
.bm-pricing-quiz-retake button span {
  width: 0.875rem;
  height: 0.875rem;
  border: 2px solid currentColor;
  border-left-color: transparent;
  border-radius: 999px;
}

.bm-pricing-quiz-question {
  margin-bottom: 1.5rem;
}

.bm-pricing-quiz-question h3 {
  margin: 0;
  color: #35363a;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-pricing-quiz-options {
  display: grid;
  gap: 0.75rem;
}

.bm-pricing-quiz-options button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  color: #35363a;
  cursor: pointer;
  font: inherit;
  padding: 1rem;
  text-align: left;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.bm-pricing-quiz-options button:hover,
.bm-pricing-quiz-options button:focus-visible {
  border-color: #2d4a5e;
  background: #2d4a5e;
  box-shadow: 0 12px 22px rgba(45, 74, 94, 0.16);
  color: #fff;
}

.bm-pricing-quiz-options button > span:first-child {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.08);
  font-size: 1.125rem;
}

.bm-pricing-quiz-options button > span:nth-child(2) {
  flex: 1 1 auto;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
}

.bm-pricing-quiz-options button > span:last-child {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  color: #d1d5db;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-pricing-quiz-result {
  width: min(100%, 32rem);
  margin: 0 auto;
  text-align: center;
}

.bm-pricing-quiz-result-heading {
  margin-bottom: 1.5rem;
}

.bm-pricing-quiz-result-icon {
  width: 5rem;
  height: 5rem;
  margin-bottom: 1rem;
  border-radius: 1.5rem;
  color: #fff;
  font-size: 2.5rem;
}

.bm-pricing-quiz-result-heading p:first-of-type {
  margin: 0 0 0.5rem;
  color: #2d4a5e;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bm-pricing-quiz-result-heading h3 {
  margin: 0;
  color: #35363a;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-pricing-quiz-result-heading p:last-child {
  margin: 0.25rem auto 0;
  max-width: 28rem;
  color: #464646;
  line-height: 1.6;
}

.bm-pricing-quiz-panel,
.bm-pricing-quiz-disclaimer {
  margin-bottom: 1.5rem;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
  padding: 1.5rem;
}

.bm-pricing-quiz-panel h4 {
  margin: 0 0 0.75rem;
  color: #35363a;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bm-pricing-quiz-panel p {
  margin: 0;
  color: #464646;
  line-height: 1.625;
}

.bm-pricing-quiz-addons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.bm-pricing-quiz-addon {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border: 1px solid rgba(45, 74, 94, 0.15);
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.08);
  color: #2d4a5e;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.375rem 0.75rem;
}

.bm-pricing-quiz-addon span {
  width: 0.875rem;
  height: 0.875rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-settings) center / contain no-repeat;
  mask: var(--bm-icon-settings) center / contain no-repeat;
}

.bm-pricing-quiz-reset-note {
  margin-top: 0.75rem !important;
  font-size: 0.75rem;
  font-style: italic;
}

.bm-pricing-quiz-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: rgba(229, 231, 242, 0.6);
  text-align: left;
}

.bm-pricing-quiz-info-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  background: #2d4a5e;
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-pricing-quiz-disclaimer p {
  margin: 0;
  color: #35363a;
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-pricing-quiz-actions {
  display: grid;
  gap: 0.75rem;
}

.bm-pricing-quiz-primary,
.bm-pricing-quiz-phone-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.bm-pricing-quiz-primary {
  background: linear-gradient(to right, #2d4a5e, #1a3a4e);
  box-shadow: 0 12px 22px rgba(45, 74, 94, 0.22);
  color: #fff !important;
  padding: 1rem 1.5rem;
}

.bm-pricing-quiz-primary span,
.bm-pricing-quiz-phone-row span {
  width: 1rem;
  height: 1rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-calendar) center / contain no-repeat;
  mask: var(--bm-icon-calendar) center / contain no-repeat;
}

.bm-pricing-quiz-phone-row {
  display: grid;
  gap: 0.75rem;
}

.bm-pricing-quiz-phone-row a {
  border: 2px solid rgba(45, 74, 94, 0.2);
  color: #2d4a5e;
  font-size: 0.875rem;
  padding: 0.875rem 1.25rem;
}

.bm-pricing-quiz-phone-row span {
  -webkit-mask: var(--bm-icon-phone) center / contain no-repeat;
  mask: var(--bm-icon-phone) center / contain no-repeat;
}

.bm-pricing-quiz-phone-row.is-contact a {
  background: linear-gradient(to right, #2d4a5e, #1a3a4e);
  box-shadow: 0 12px 22px rgba(45, 74, 94, 0.22);
  color: #fff;
}

.bm-pricing-quiz-retake {
  margin-top: 2rem;
  text-align: center;
}

.bm-pricing-policy {
  padding: 4rem 0;
}

.bm-pricing-policy .bm-pricing-inner {
  width: min(100%, 56rem);
}

.bm-pricing-policy h2 {
  margin: 0 0 2.5rem;
  text-align: center;
}

.bm-pricing-policy-card {
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 2px solid var(--bm-pricing-blue);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}

.bm-pricing-policy-card:last-child {
  margin-bottom: 0;
}

.bm-pricing-policy-header {
  display: flex;
  min-height: 3.875rem;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 2px solid var(--bm-pricing-blue);
  background: var(--bm-pricing-blue);
  padding: 1rem 1.5rem;
}

.bm-pricing-policy-header h3 {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-pricing-policy-alert {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  border-right: 0.625rem solid transparent;
  border-bottom: 1.125rem solid var(--bm-pricing-gold);
  border-left: 0.625rem solid transparent;
}

.bm-pricing-policy-body {
  padding: 2rem 1.5rem;
}

.bm-pricing-policy-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-pricing-policy-list li {
  position: relative;
  margin: 0;
  color: var(--bm-pricing-muted);
  line-height: 1.625;
  padding-left: 1.25rem;
}

.bm-pricing-policy-list li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--bm-pricing-gold);
}

.bm-pricing-policy-link {
  margin: 1.25rem 0 0;
  font-size: 0.875rem;
}

.bm-pricing-policy-link a {
  font-weight: 700;
}

.bm-pricing-commitment p {
  margin: 0;
  color: var(--bm-pricing-muted);
  line-height: 1.625;
}

.bm-pricing-commitment hr {
  height: 1px;
  margin: 1.5rem 0;
  border: 0;
  background: #e5e7eb;
}

.bm-pricing-owner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.bm-pricing-owner .wp-block-image {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
  border-radius: 999px;
}

.bm-pricing-owner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-pricing-owner-name,
.bm-pricing-owner-title {
  margin: 0 !important;
  line-height: 1.25 !important;
}

.bm-pricing-owner-name {
  color: #111827 !important;
  font-weight: 800;
}

.bm-pricing-owner-title {
  color: #6b7280 !important;
  font-size: 0.875rem;
}

@media (min-width: 640px) {
  .bm-pricing-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-pricing-package-grid,
  .bm-pricing-quiz-phone-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-pricing-quiz-start-card {
    min-height: 6.625rem;
    padding: 1.5rem;
  }

  .bm-pricing-quiz-start-title {
    font-size: 1.25rem;
  }

  .bm-pricing-quiz-options button {
    padding: 1.25rem;
  }

  .bm-pricing-quiz-options button > span:nth-child(2) {
    font-size: 1rem;
  }

  .bm-pricing-quiz-result-heading h3 {
    font-size: 1.875rem;
  }
}

@media (min-width: 768px) {
  .bm-pricing-intro {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }

  .bm-pricing-cards {
    padding-top: 2.5rem;
    padding-bottom: 6.375rem;
  }

  .bm-pricing-policy,
  .bm-pricing-quiz-block {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-pricing-inner,
  .bm-pricing-wide,
  .bm-pricing-quiz-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-pricing-page h2,
  .bm-pricing-quiz-main-heading h2 {
    font-size: 2.25rem;
  }

  .bm-pricing-discount {
    padding: 2rem;
  }

  .bm-pricing-discount h3 {
    font-size: 1.25rem;
  }

  .bm-pricing-service-title {
    font-size: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .bm-pricing-page .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-pricing-page .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-pricing-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-pricing-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }

  .bm-pricing-info-grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }

  .bm-pricing-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .bm-pricing-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-pricing-page .bm-massage-nyc-hero h1 {
    font-size: 3.4375rem;
  }
}

@media (max-width: 600px) {
  .bm-pricing-page .bm-massage-nyc-hero h1 {
    font-size: 2.25rem;
    line-height: 1.16;
  }

  .bm-pricing-tabs {
    width: 100%;
  }

  .bm-pricing-tabs .wp-block-button {
    flex: 1 1 0;
  }

  .bm-pricing-tabs .wp-block-button__link {
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .bm-pricing-card-actions .wp-block-button__link {
    font-size: 0.75rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .bm-pricing-cards {
    padding-bottom: 3rem;
  }

  .bm-pricing-policy {
    padding-bottom: 4.375rem;
  }
}

/* Massage add-ons page rebuild */
.bm-addons-page {
  --bm-addons-blue: #2d4a5e;
  --bm-addons-blue-dark: #1f3544;
  --bm-addons-gold: #c5993a;
  --bm-addons-gold-dark: #b08832;
  --bm-addons-ink: #111827;
  --bm-addons-text: #4b5563;
  --bm-addons-muted: #6b7280;
  --bm-addons-shadow:
    0 8px 24px rgba(0, 0, 0, 0.15),
    0 2px 8px rgba(0, 0, 0, 0.08);
  --bm-addons-shadow-hover:
    0 12px 32px rgba(0, 0, 0, 0.18),
    0 4px 12px rgba(0, 0, 0, 0.1);
  color: var(--bm-addons-ink);
  font-family: var(--wp--preset--font-family--dm-sans), ui-sans-serif, system-ui, sans-serif;
}

.bm-addons-page *,
.bm-addons-page *::before,
.bm-addons-page *::after {
  box-sizing: border-box;
}

.bm-addons-page :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-button, p, h1, h2, h3, h4) {
  margin-block-start: 0;
}

.bm-addons-page a {
  text-underline-offset: 0.16em;
}

.bm-addons-page .bm-massage-nyc-hero {
  min-height: 540px;
  grid-template-columns: 1fr;
  background: var(--bm-addons-blue);
}

.bm-addons-page .bm-massage-nyc-hero-copy {
  padding: 4rem 1.5rem;
}

.bm-addons-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  padding: 0.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  letter-spacing: 0.15em;
}

.bm-addons-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-addons-page .bm-massage-nyc-hero h1 {
  max-width: 38rem;
  margin-bottom: 1.5rem;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-addons-page .bm-massage-nyc-hero p:not(.bm-massage-nyc-badge) {
  max-width: 32rem;
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-addons-page .bm-hero-cta .wp-block-button__link {
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-addons-gold) !important;
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
}

.bm-addons-page .bm-hero-cta .wp-block-button__link:hover,
.bm-addons-page .bm-hero-cta .wp-block-button__link:focus-visible {
  background: var(--bm-addons-gold-dark) !important;
}

.bm-addons-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-addons-page .bm-trust-item {
  display: inline-flex;
  gap: 0.625rem;
}

.bm-addons-intro {
  padding: 4rem 0;
}

.bm-addons-cards {
  padding: 0 0 4rem;
}

.bm-addons-narrow,
.bm-addons-wide {
  width: min(100%, var(--bm-addons-content-width, 56rem));
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-addons-wide {
  --bm-addons-content-width: 80rem;
}

.bm-addons-eyebrow,
.bm-addons-page .bm-nyc-eyebrow {
  margin: 0 0 1rem;
  color: var(--bm-addons-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.bm-addons-page h2 {
  margin: 0;
  color: var(--bm-addons-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

.bm-addons-intro h2,
.bm-addons-cards h2 {
  margin-bottom: 2rem;
}

.bm-addons-intro p:not(.bm-addons-eyebrow) {
  margin: 0;
  color: var(--bm-addons-text);
  line-height: 1.625;
}

.bm-addons-intro p:not(.bm-addons-eyebrow) + p {
  margin-top: 1.5rem;
}

.bm-addons-card-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-addons-card {
  overflow: hidden;
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-addons-shadow);
  transition:
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-addons-card:hover,
.bm-addons-card:focus-within {
  box-shadow: var(--bm-addons-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-addons-card-image {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.bm-addons-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-addons-card-copy {
  padding: 1.5rem 1.5rem 1.0625rem;
  text-align: center;
}

.bm-addons-card-copy h4 {
  margin: 0 0 0.5rem;
  color: var(--bm-addons-blue);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-addons-price {
  margin: 0 0 1rem;
  color: var(--bm-addons-ink);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
}

.bm-addons-description {
  margin: 0;
  color: var(--bm-addons-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-addons-contact,
.bm-addons-locations {
  background: #fff;
}

.bm-addons-contact .bm-nyc-section-heading,
.bm-addons-locations .bm-nyc-section-heading {
  margin-bottom: 3rem;
}

.bm-addons-contact .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow),
.bm-addons-locations .bm-nyc-section-heading > p:not(.bm-nyc-eyebrow) {
  margin-top: 1rem;
  color: var(--bm-addons-text);
}

.bm-addons-contact .bm-nyc-section-heading a {
  color: var(--bm-addons-blue);
  font-weight: 500;
}

.bm-addons-contact .bm-nyc-contact-card,
.bm-addons-locations .bm-nyc-location-card {
  border-radius: 1rem;
  box-shadow: var(--bm-addons-shadow);
}

.bm-addons-contact .bm-nyc-contact-card:hover,
.bm-addons-contact .bm-nyc-contact-card:focus-within,
.bm-addons-locations .bm-nyc-location-card:hover,
.bm-addons-locations .bm-nyc-location-card:focus-within {
  box-shadow: var(--bm-addons-shadow-hover);
}

.bm-addons-contact .bm-nyc-contact-card {
  padding: 2rem;
}

.bm-addons-page .bm-nyc-contact-card .bm-nyc-eyebrow {
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  text-align: center;
}

.bm-addons-page .bm-nyc-contact-button .wp-block-button__link,
.bm-addons-page .bm-nyc-location-button .wp-block-button__link {
  border-radius: 0.5rem !important;
  font-weight: 600;
}

.bm-addons-page .bm-nyc-gratuity {
  box-sizing: border-box;
}

.bm-addons-page .bm-nyc-chip-row {
  flex-wrap: wrap;
}

.bm-addons-page .bm-testimonials-block {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bm-addons-page .bm-testimonials-title {
  color: #fff;
  font-size: 1.875rem;
}

.bm-addons-page .bm-testimonials-quote {
  line-height: 1.625;
}

.bm-addons-locations .bm-nyc-map-wrap {
  height: 14rem;
}

.bm-addons-locations .bm-nyc-map-wrap .wp-block-shortcode,
.bm-addons-locations .bm-nyc-map-wrap .bm-space-map,
.bm-addons-locations .bm-nyc-map-wrap iframe {
  width: 100%;
  height: 100%;
}

.bm-addons-locations .bm-nyc-map-wrap .wp-block-shortcode {
  margin: 0;
}

.bm-addons-locations .bm-space-map {
  position: relative;
  overflow: hidden;
}

.bm-addons-locations .bm-space-map iframe {
  display: block;
  border: 0;
  filter: grayscale(40%);
  transition: filter 500ms ease;
}

.bm-addons-locations .bm-nyc-location-card:hover iframe,
.bm-addons-locations .bm-nyc-location-card:focus-within iframe {
  filter: grayscale(0);
}

.bm-addons-locations .bm-space-map-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: var(--bm-addons-blue) !important;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.375rem 0.75rem;
  text-decoration: none !important;
}

.bm-addons-locations .bm-nyc-location-body h3 {
  line-height: 1.4;
}

.bm-addons-locations .bm-nyc-location-row.is-hours {
  margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
  .bm-addons-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-addons-page .bm-massage-nyc-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-addons-page .bm-massage-nyc-hero h1,
  .bm-addons-page h2,
  .bm-addons-page .bm-testimonials-title {
    font-size: 2.25rem;
  }

  .bm-addons-intro {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-addons-cards {
    padding-bottom: 6rem;
  }

  .bm-addons-narrow,
  .bm-addons-wide {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-addons-page .bm-testimonials-block {
    padding-top: 6rem;
    padding-bottom: 5.125rem;
  }

  .bm-addons-contact {
    padding-bottom: 7.125rem;
  }

  .bm-addons-locations {
    padding-bottom: 5.3125rem;
  }
}

@media (min-width: 1024px) {
  .bm-addons-page .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-addons-page .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-addons-page .bm-massage-nyc-hero h1 {
    font-size: 3.25rem;
  }

  .bm-addons-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }
}

@media (min-width: 1280px) {
  .bm-addons-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-addons-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-addons-page .bm-massage-nyc-hero h1 {
    font-size: 2.25rem;
    line-height: 1.16;
  }

  .bm-addons-page .bm-trust-grid {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .bm-addons-page .bm-trust-item {
    width: 100%;
  }

  .bm-addons-contact .bm-nyc-contact-card {
    padding: 2rem 1.5rem;
  }
}

/* Insurance information page rebuild */
.bm-insurance-page {
  --bm-insurance-blue: #2d4a5e;
  --bm-insurance-blue-dark: #1f3544;
  --bm-insurance-gold: #c5993a;
  --bm-insurance-gold-dark: #b08832;
  --bm-insurance-ink: #111827;
  --bm-insurance-text: #4b5563;
  --bm-insurance-gray: #f9fafb;
  --bm-insurance-border: #e5e7eb;
  color: var(--bm-insurance-ink);
  font-family: var(--wp--preset--font-family--dm-sans), ui-sans-serif, system-ui, sans-serif;
}

.bm-insurance-page *,
.bm-insurance-page *::before,
.bm-insurance-page *::after {
  box-sizing: border-box;
}

.bm-insurance-page :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-button, .wp-block-embed, p, h1, h2, h3, h4) {
  margin-block-start: 0;
}

.bm-insurance-page a {
  color: var(--bm-insurance-blue);
  text-decoration-color: var(--bm-insurance-gold);
  text-underline-offset: 0.16em;
}

.bm-insurance-page a:hover,
.bm-insurance-page a:focus-visible {
  color: var(--bm-insurance-gold);
}

.bm-insurance-page .bm-massage-nyc-hero {
  min-height: 540px;
  grid-template-columns: 1fr;
  background: var(--bm-insurance-blue);
}

.bm-insurance-page .bm-massage-nyc-hero-copy {
  padding: 4.84375rem 1.5rem;
}

.bm-insurance-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  padding: 0.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.35;
}

.bm-insurance-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-insurance-page .bm-massage-nyc-hero h1 {
  max-width: 38rem;
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-insurance-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-insurance-page .bm-trust-item {
  display: inline-flex;
  gap: 0.625rem;
}

.bm-insurance-intro,
.bm-insurance-tax {
  padding: 4rem 0;
}

.bm-insurance-intro {
  padding-bottom: 4.125rem;
}

.bm-insurance-coverage {
  background: var(--bm-insurance-gray);
  padding: 4rem 0 4.6875rem;
}

.bm-insurance-wide,
.bm-insurance-medium,
.bm-insurance-narrow {
  width: min(100%, var(--bm-insurance-content-width, 80rem));
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-insurance-medium {
  --bm-insurance-content-width: 48rem;
}

.bm-insurance-narrow {
  --bm-insurance-content-width: 56rem;
}

.bm-insurance-intro-grid {
  display: grid;
  align-items: center;
  gap: 3rem;
}

.bm-insurance-eyebrow {
  margin: 0 0 1rem;
  color: var(--bm-insurance-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-transform: uppercase;
}

.bm-insurance-coverage .bm-insurance-eyebrow,
.bm-insurance-coverage h3,
.bm-insurance-section-intro {
  text-align: center;
}

.bm-insurance-page h2 {
  margin: 0 0 1.5rem;
  color: var(--bm-insurance-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-insurance-page h3 {
  margin: 0;
  color: var(--bm-insurance-ink);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-insurance-page p {
  color: var(--bm-insurance-text);
  line-height: 1.625;
}

.bm-insurance-intro-copy p:not(.bm-insurance-eyebrow) {
  margin: 0;
}

.bm-insurance-intro-copy p:not(.bm-insurance-eyebrow) + p {
  margin-top: 1rem;
}

.bm-insurance-seal-wrap {
  display: flex;
  justify-content: center;
}

.bm-insurance-seal {
  width: 18rem;
  max-width: 100%;
  margin: 0;
  filter: drop-shadow(0 10px 8px rgba(15, 23, 42, 0.09)) drop-shadow(0 4px 3px rgba(15, 23, 42, 0.1));
}

.bm-insurance-seal img {
  display: block;
  width: 100%;
  height: auto;
}

.bm-insurance-video-wrap {
  max-width: 48rem;
  margin: 3.5rem auto 0;
}

.bm-insurance-video,
.bm-insurance-video .wp-block-embed__wrapper {
  overflow: hidden;
  border-radius: 1rem;
}

.bm-insurance-video {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  margin: 0;
  background: #fff;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-insurance-video .wp-block-embed__wrapper,
.bm-insurance-video iframe {
  width: 100%;
  height: 100%;
}

.bm-insurance-video iframe {
  display: block;
  border: 0;
}

.bm-insurance-coverage h3 {
  max-width: 42rem;
  margin: 0 auto 1rem;
}

.bm-insurance-section-intro {
  margin: 0 auto 2.5rem;
}

.bm-insurance-timeline {
  position: relative;
  display: grid;
  gap: 1.25rem;
  padding-left: 3rem;
}

.bm-insurance-timeline::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 1.0625rem;
  width: 0.125rem;
  border-radius: 999px;
  background: linear-gradient(to bottom, var(--bm-insurance-blue), var(--bm-insurance-gold));
}

.bm-insurance-step {
  position: relative;
}

.bm-insurance-step-number {
  position: absolute;
  top: 1.25rem;
  left: -3rem;
  display: inline-flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: 999px;
  background: var(--bm-insurance-blue);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  transition: background-color 300ms ease;
}

.bm-insurance-step:hover .bm-insurance-step-number,
.bm-insurance-step:focus-within .bm-insurance-step-number {
  background: var(--bm-insurance-gold);
}

.bm-insurance-step-card {
  border: 1px solid var(--bm-insurance-border);
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-insurance-step:hover .bm-insurance-step-card,
.bm-insurance-step:focus-within .bm-insurance-step-card {
  border-color: var(--bm-insurance-blue);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-insurance-step-card h4 {
  margin: 0 0 0.375rem;
  color: var(--bm-insurance-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.45;
}

.bm-insurance-step-card p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.625;
}

.bm-insurance-tax h3 {
  margin-bottom: 2rem;
}

.bm-insurance-tax {
  padding-bottom: 4.4375rem;
}

.bm-insurance-tax-copy {
  display: grid;
  gap: 1.5rem;
}

.bm-insurance-tax-copy p {
  margin: 0;
}

.bm-insurance-cta {
  background: var(--bm-insurance-blue);
  padding: 3.5625rem 0;
}

.bm-insurance-cta-inner {
  display: flex;
  max-width: 48rem;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.bm-insurance-cta h3 {
  margin: 0 0 1rem;
  color: #fff;
}

.bm-insurance-cta p {
  max-width: 36rem;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.8);
}

.bm-insurance-cta-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-insurance-gold) !important;
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-insurance-cta-button .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-insurance-cta-button .wp-block-button__link:hover,
.bm-insurance-cta-button .wp-block-button__link:focus-visible {
  background: var(--bm-insurance-gold-dark) !important;
  box-shadow: 0 22px 32px rgba(0, 0, 0, 0.18);
  transform: translateY(-0.125rem);
}

@media (min-width: 768px) {
  .bm-insurance-page .bm-massage-nyc-hero h1,
  .bm-insurance-page h2 {
    font-size: 2.25rem;
  }

  .bm-insurance-page h3 {
    font-size: 1.875rem;
  }

  .bm-insurance-intro,
  .bm-insurance-coverage,
  .bm-insurance-tax {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-insurance-coverage {
    padding-bottom: 3.1875rem;
  }

  .bm-insurance-tax {
    padding-bottom: 5.8125rem;
  }

  .bm-insurance-cta {
    padding-top: 3.4375rem;
    padding-bottom: 3.4375rem;
  }

  .bm-insurance-wide,
  .bm-insurance-medium,
  .bm-insurance-narrow {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-insurance-seal {
    width: 20rem;
  }
}

@media (min-width: 1024px) {
  .bm-insurance-page .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-insurance-page .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-top: 0;
    padding-right: 4rem;
    padding-bottom: 1.375rem;
    padding-left: 4rem;
  }

  .bm-insurance-page .bm-massage-nyc-hero h1 {
    max-width: 44rem;
    font-size: 3.25rem;
  }

  .bm-insurance-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }

  .bm-insurance-intro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-insurance-seal {
    width: 24rem;
  }
}

@media (min-width: 1280px) {
  .bm-insurance-page .bm-massage-nyc-hero-copy {
    padding-right: 2rem;
    padding-left: 5rem;
  }

  .bm-insurance-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-insurance-page .bm-massage-nyc-hero h1 {
    font-size: 2.25rem;
    line-height: 1.16;
  }

  .bm-insurance-page .bm-trust-grid {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .bm-insurance-page .bm-trust-item {
    width: 100%;
  }
}

/* Discounts and referrals page rebuild */
.bm-discounts-page {
  --bm-discounts-blue: #2d4a5e;
  --bm-discounts-blue-dark: #1e3648;
  --bm-discounts-gold: #c5993a;
  --bm-discounts-gold-dark: #b08832;
  --bm-discounts-ink: #111827;
  --bm-discounts-text: #4b5563;
  --bm-discounts-muted: #9ca3af;
  --bm-discounts-gray: #f9fafb;
  --bm-discounts-border: #e5e7eb;
  --bm-discounts-shadow:
    0 8px 24px rgba(0, 0, 0, 0.15),
    0 2px 8px rgba(0, 0, 0, 0.08);
  --bm-discounts-shadow-hover:
    0 12px 32px rgba(0, 0, 0, 0.18),
    0 4px 12px rgba(0, 0, 0, 0.1);
  --bm-discounts-icon-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='black'/%3E%3C/svg%3E");
  --bm-discounts-icon-cake: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8'/%3E%3Cpath d='M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1'/%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M7 8v3'/%3E%3Cpath d='M12 8v3'/%3E%3Cpath d='M17 8v3'/%3E%3Cpath d='M7 4h.01'/%3E%3Cpath d='M12 4h.01'/%3E%3Cpath d='M17 4h.01'/%3E%3C/svg%3E");
  color: var(--bm-discounts-ink);
  font-family: var(--wp--preset--font-family--dm-sans), ui-sans-serif, system-ui, sans-serif;
}

.bm-discounts-page *,
.bm-discounts-page *::before,
.bm-discounts-page *::after {
  box-sizing: border-box;
}

.bm-discounts-page :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-button, p, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}

.bm-discounts-page a {
  text-decoration-color: var(--bm-discounts-gold);
  text-underline-offset: 0.16em;
}

.bm-discounts-page .bm-massage-nyc-hero {
  min-height: 540px;
  grid-template-columns: 1fr;
  background: var(--bm-discounts-blue);
}

.bm-discounts-page .bm-massage-nyc-hero-copy {
  padding: 4.84375rem 1.5rem;
}

.bm-discounts-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  padding: 0.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.35;
}

.bm-discounts-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-discounts-page .bm-massage-nyc-hero h1 {
  max-width: 36rem;
  margin: 0;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-discounts-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-discounts-page .bm-trust-item {
  display: inline-flex;
  gap: 0.625rem;
}

.bm-discounts-page .bm-trust-item::before {
  display: block;
}

.bm-discounts-intro,
.bm-discounts-birthday,
.bm-discounts-note {
  padding: 4rem 0;
}

.bm-discounts-list {
  background: var(--bm-discounts-gray);
  padding: 4rem 0;
}

.bm-discounts-note {
  background: var(--bm-discounts-gray);
}

.bm-discounts-wide,
.bm-discounts-medium {
  width: min(100%, var(--bm-discounts-content-width, 80rem));
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-discounts-medium {
  --bm-discounts-content-width: 56rem;
}

.bm-discounts-eyebrow {
  margin: 0 0 1rem;
  color: var(--bm-discounts-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
}

.bm-discounts-intro h2 {
  max-width: 56rem;
  margin: 0 auto 2rem;
  color: var(--bm-discounts-ink);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

.bm-discounts-intro h2 a {
  color: var(--bm-discounts-ink);
}

.bm-discounts-intro h2 a:hover,
.bm-discounts-intro h2 a:focus-visible {
  color: var(--bm-discounts-blue);
}

.bm-discounts-intro-text {
  max-width: 42rem;
  margin: 0 auto;
  color: var(--bm-discounts-text);
  line-height: 1.625;
  text-align: center;
}

.bm-discounts-feature-card {
  overflow: hidden;
  margin-bottom: 3rem;
  border: 2px solid var(--bm-discounts-blue);
  border-radius: 1rem;
  background: var(--bm-discounts-blue);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.bm-discounts-feature-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.bm-discounts-feature-icon,
.bm-discounts-birthday-icon {
  display: flex;
  width: 3.5rem;
  height: 3.5rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

.bm-discounts-feature-icon::before,
.bm-discounts-birthday-icon::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  background: var(--bm-discounts-gold);
  -webkit-mask: var(--bm-discounts-icon-tag) center / contain no-repeat;
  mask: var(--bm-discounts-icon-tag) center / contain no-repeat;
}

.bm-discounts-feature-card h4 {
  margin: 0 0 0.5rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-discounts-feature-card h5 {
  margin: 0 0 0.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.bm-discounts-feature-card h6 {
  margin: 0 0 1rem;
  color: var(--bm-discounts-gold);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-discounts-feature-card p:not(.bm-discounts-disclaimer) {
  max-width: 32rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-discounts-disclaimer {
  margin: 1rem 0 0;
  color: var(--bm-discounts-muted);
  font-size: 0.75rem;
  font-style: italic;
  line-height: 1.625;
}

.bm-discounts-disclaimer.is-light {
  color: rgba(255, 255, 255, 0.6);
}

.bm-discounts-card-grid {
  display: grid;
  gap: 1.5rem;
}

.bm-discounts-card {
  border: 1px solid var(--bm-discounts-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-discounts-shadow);
  padding: 1.5rem;
  transition:
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.bm-discounts-card:hover,
.bm-discounts-card:focus-within {
  border-color: var(--bm-discounts-blue);
  box-shadow: var(--bm-discounts-shadow-hover);
}

.bm-discounts-card h4 {
  margin: 0 0 0.25rem;
  color: var(--bm-discounts-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-discounts-card h5 {
  margin: 0 0 0.25rem;
  color: var(--bm-discounts-gold);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.bm-discounts-card h6 {
  margin: 0 0 1rem;
  color: var(--bm-discounts-blue);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-discounts-card p:not(.bm-discounts-disclaimer) {
  margin: 0 0 1rem;
  color: var(--bm-discounts-text);
  font-size: 0.9375rem;
  line-height: 1.625;
}

.bm-discounts-card .wp-block-buttons {
  margin: 0;
}

.bm-discounts-referral-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem !important;
  background: var(--bm-discounts-blue) !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.625rem 1.25rem;
}

.bm-discounts-referral-button .wp-block-button__link::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-discounts-referral-button .wp-block-button__link:hover,
.bm-discounts-referral-button .wp-block-button__link:focus-visible {
  background: var(--bm-discounts-blue-dark) !important;
}

.bm-discounts-birthday-card,
.bm-discounts-note-card {
  width: min(calc(100% - 2rem), 48rem);
  margin: 0 auto;
  border: 2px solid var(--bm-discounts-blue);
  border-radius: 1rem;
  background: #fff;
}

.bm-discounts-note-card {
  width: min(calc(100% - 2rem), 44rem);
}

.bm-discounts-birthday-card {
  padding: 2rem;
}

.bm-discounts-birthday-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bm-discounts-birthday-icon {
  background: rgba(197, 153, 58, 0.1);
}

.bm-discounts-birthday-icon::before {
  -webkit-mask-image: var(--bm-discounts-icon-cake);
  mask-image: var(--bm-discounts-icon-cake);
}

.bm-discounts-birthday h5 {
  margin: 0 0 0.5rem;
  color: var(--bm-discounts-ink);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.bm-discounts-birthday h6 {
  margin: 0 0 1.5rem;
  color: var(--bm-discounts-gold);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-discounts-birthday p:not(.bm-discounts-disclaimer) {
  max-width: 36rem;
  margin: 0 0 1rem;
  color: var(--bm-discounts-text);
  line-height: 1.625;
}

.bm-discounts-birthday .bm-discounts-disclaimer {
  margin-top: 0;
  line-height: 1.333333;
}

.bm-discounts-note-card {
  padding: 1.5rem;
}

.bm-discounts-note-card h4 {
  margin: 0 0 1rem;
  color: var(--bm-discounts-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.bm-discounts-note-card p {
  margin: 0;
  color: var(--bm-discounts-text);
  line-height: 1.625;
}

.bm-discounts-note-card p + p {
  margin-top: 1rem;
}

.bm-discounts-note-card a {
  color: var(--bm-discounts-blue);
}

.bm-discounts-note-card a:hover,
.bm-discounts-note-card a:focus-visible {
  color: var(--bm-discounts-gold);
}

.bm-discounts-cta {
  background: var(--bm-discounts-blue);
  padding: 3.5rem 0;
}

.bm-discounts-cta-inner {
  display: flex;
  max-width: 48rem;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.bm-discounts-cta h3 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-discounts-cta p {
  max-width: 36rem;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-discounts-cta-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-discounts-gold) !important;
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  padding: 1rem 2rem;
  transition:
    background-color 300ms ease,
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-discounts-cta-button .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-discounts-cta-button .wp-block-button__link:hover,
.bm-discounts-cta-button .wp-block-button__link:focus-visible {
  background: var(--bm-discounts-gold-dark) !important;
  box-shadow: 0 22px 32px rgba(0, 0, 0, 0.18);
  transform: translateY(-0.125rem);
}

@media (min-width: 768px) {
  .bm-discounts-page .bm-massage-nyc-hero h1,
  .bm-discounts-intro h2 {
    font-size: 2.25rem;
  }

  .bm-discounts-intro h2 {
    max-width: none;
    line-height: 1.111111;
  }

  .bm-discounts-birthday h5,
  .bm-discounts-cta h3 {
    font-size: 1.875rem;
  }

  .bm-discounts-intro,
  .bm-discounts-list,
  .bm-discounts-birthday,
  .bm-discounts-note {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-discounts-wide,
  .bm-discounts-medium {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-discounts-medium {
    padding-right: 0;
    padding-left: 0;
  }

  .bm-discounts-feature-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-discounts-feature-card h5 {
    font-size: 1.875rem;
  }

  .bm-discounts-birthday-card {
    padding: 2.5rem;
  }

  .bm-discounts-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .bm-discounts-page .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-discounts-page .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-top: 0;
    padding-right: 4rem;
    padding-bottom: 1.375rem;
    padding-left: 4rem;
  }

  .bm-discounts-page .bm-massage-nyc-hero h1 {
    max-width: 36rem;
    font-size: 3.25rem;
  }

  .bm-discounts-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }
}

@media (min-width: 1280px) {
  .bm-discounts-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-discounts-page .bm-massage-nyc-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 600px) {
  .bm-discounts-page .bm-massage-nyc-hero h1 {
    font-size: 2.25rem;
    line-height: 1.16;
  }

  .bm-discounts-page .bm-trust-grid {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .bm-discounts-page .bm-trust-item {
    width: 100%;
  }

  .bm-discounts-feature-card {
    min-height: 26.875rem;
  }
}

/* Massage blog page rebuild */
.bm-blog-page {
  --bm-blog-blue: #2d4a5e;
  --bm-blog-blue-dark: #1f3544;
  --bm-blog-gold: #c5993a;
  --bm-blog-ink: #111827;
  --bm-blog-text: #4b5563;
  --bm-blog-muted: #6b7280;
  --bm-blog-border: #e5e7eb;
  --bm-blog-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  --bm-blog-shadow-hover:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  --bm-blog-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 21-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/svg%3E");
  --bm-blog-icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  --bm-blog-icon-chevron-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
  --bm-blog-icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
  color: var(--bm-blog-ink);
}

.bm-blog-page :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-button, p, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}

.bm-blog-page .bm-massage-nyc-hero {
  min-height: 540px;
  background: var(--bm-blog-blue);
}

.bm-blog-page .bm-massage-nyc-hero-copy {
  padding: 4rem 1.5rem;
}

.bm-blog-page .bm-massage-nyc-badge {
  margin-bottom: 2rem;
  padding: 0.5rem 1.25rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.bm-blog-page .bm-massage-nyc-badge::before {
  width: 0.875rem;
  height: 0.875rem;
  background: #fbbf24;
}

.bm-blog-page .bm-massage-nyc-hero h1 {
  max-width: 36rem;
  margin: 0 0 1rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25;
}

.bm-blog-page .bm-massage-nyc-hero-image {
  min-height: 16rem;
}

.bm-blog-page .bm-trust-item {
  display: inline-flex;
  gap: 0.625rem;
}

.bm-blog-page .bm-trust-item::before {
  display: block;
}

.bm-blog-listing {
  padding: 4rem 0;
}

.bm-blog-inner {
  width: min(100%, 72rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-blog-intro {
  max-width: 48rem;
  margin: 0 auto 2.25rem;
  color: var(--bm-blog-blue);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.375;
  text-align: center;
}

.bm-blog-search-wrap {
  margin: 0 0 2.5rem;
}

.bm-blog-search.wp-block-search {
  max-width: 36rem;
  margin: 0 auto;
}

.bm-blog-search .wp-block-search__inside-wrapper {
  position: relative;
  display: block;
  border: 0;
  padding: 0;
}

.bm-blog-search .wp-block-search__input {
  box-sizing: border-box;
  width: 100%;
  height: 3.375rem;
  min-height: 0;
  border: 1px solid var(--bm-blog-border);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-blog-shadow);
  color: var(--bm-blog-ink);
  font: inherit;
  font-size: 1rem;
  outline: 0;
  padding: 0.875rem 3rem;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-blog-search .wp-block-search__input::placeholder {
  color: #9ca3af;
}

.bm-blog-search .wp-block-search__input:focus {
  border-color: var(--bm-blog-blue);
  box-shadow:
    0 0 0 2px rgba(45, 74, 94, 0.2),
    var(--bm-blog-shadow);
}

.bm-blog-search .wp-block-search__button {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 1.25rem;
  height: 1.25rem;
  min-width: 0;
  margin: 0;
  border: 0;
  background: #9ca3af !important;
  color: transparent !important;
  padding: 0;
  pointer-events: none;
  transform: translateY(-50%);
  -webkit-mask: var(--bm-blog-icon-search) center / contain no-repeat;
  mask: var(--bm-blog-icon-search) center / contain no-repeat;
}

.bm-blog-search .wp-block-search__button svg {
  display: none;
}

.bm-blog-count {
  margin: 0 0 2rem;
  color: var(--bm-blog-muted);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-blog-card-grid {
  display: grid;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-blog-card-grid > li {
  margin: 0;
}

.bm-blog-card {
  overflow: hidden;
  border: 1px solid var(--bm-blog-border);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-blog-shadow);
  transition:
    box-shadow 300ms ease,
    transform 300ms ease;
}

.bm-blog-card:hover,
.bm-blog-card:focus-within {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  transform: translateY(-0.25rem);
}

.bm-blog-card-media {
  height: 13rem;
  overflow: hidden;
  background: #f3f4f6;
}

.bm-blog-card-media:empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: var(--bm-blog-blue);
}

.bm-blog-card-media:empty::before {
  content: "";
  width: 2.25rem;
  height: 2.25rem;
  background: var(--bm-blog-gold);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-blog-card-media:empty::after {
  content: "Body Mechanics";
  color: var(--bm-blog-blue);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.bm-blog-card-image {
  width: 100%;
  height: 100%;
  margin: 0;
}

.bm-blog-card-image a {
  display: block;
  height: 100%;
}

.bm-blog-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.bm-blog-card:hover .bm-blog-card-image img,
.bm-blog-card:focus-within .bm-blog-card-image img {
  transform: scale(1.05);
}

.bm-blog-card:nth-child(10) .bm-blog-card-image img {
  object-position: 50% 70%;
}

.bm-blog-card-body {
  padding: 1.25rem 1.25rem 0.9375rem;
}

.bm-blog-card-title {
  margin: 0 0 0.75rem;
  color: var(--bm-blog-ink);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.375;
}

.bm-blog-card-title a {
  color: inherit;
  text-decoration: none;
}

.bm-blog-card:hover .bm-blog-card-title,
.bm-blog-card:focus-within .bm-blog-card-title {
  color: var(--bm-blog-blue);
}

.bm-blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin: 0 0 0.75rem;
}

.bm-blog-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
  color: var(--bm-blog-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.bm-blog-meta-item::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-blog-icon-user) center / contain no-repeat;
  mask: var(--bm-blog-icon-user) center / contain no-repeat;
}

.bm-blog-meta-item.is-date::before {
  -webkit-mask-image: var(--bm-icon-calendar);
  mask-image: var(--bm-icon-calendar);
}

.bm-blog-card-excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 1rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--bm-blog-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-blog-card-excerpt .wp-block-post-excerpt__excerpt {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.bm-blog-read-more {
  margin: 0;
}

.bm-blog-read-more a,
.bm-blog-read-more.wp-block-read-more {
  color: var(--bm-blog-gold);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.45;
  text-decoration: none;
}

.bm-blog-card:hover .bm-blog-read-more a,
.bm-blog-card:focus-within .bm-blog-read-more a,
.bm-blog-card:hover .bm-blog-read-more.wp-block-read-more,
.bm-blog-card:focus-within .bm-blog-read-more.wp-block-read-more {
  color: var(--bm-blog-blue);
}

.bm-blog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 3rem;
}

.bm-blog-pagination.wp-block-buttons .wp-block-button {
  margin: 0;
}

.bm-blog-pagination .wp-block-button__link {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bm-blog-border);
  border-radius: 0.5rem !important;
  background: #fff !important;
  color: var(--bm-blog-muted) !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  padding: 0 !important;
  text-decoration: none;
  transition:
    border-color 200ms ease,
    color 200ms ease,
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next, .page-numbers) {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bm-blog-border);
  border-radius: 0.5rem !important;
  background: #fff !important;
  color: var(--bm-blog-muted) !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  padding: 0 !important;
  text-decoration: none;
  transition:
    border-color 200ms ease,
    color 200ms ease,
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.bm-blog-pagination .wp-block-button__link:hover,
.bm-blog-pagination .wp-block-button__link:focus-visible,
.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next, .page-numbers):hover,
.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next, .page-numbers):focus-visible {
  border-color: var(--bm-blog-blue);
  color: var(--bm-blog-blue) !important;
}

.bm-blog-pagination .is-active .wp-block-button__link {
  border-color: var(--bm-blog-blue);
  background: var(--bm-blog-blue) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff !important;
}

.bm-blog-pagination .page-numbers.current {
  border-color: var(--bm-blog-blue);
  background: var(--bm-blog-blue) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  color: #fff !important;
}

.bm-blog-page-control .wp-block-button__link {
  overflow: hidden;
  color: transparent !important;
  font-size: 0;
}

.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
  overflow: hidden;
  color: transparent !important;
  font-size: 0;
}

.bm-blog-page-control .wp-block-button__link::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-blog-muted);
  -webkit-mask: var(--bm-blog-icon-chevron-left) center / contain no-repeat;
  mask: var(--bm-blog-icon-chevron-left) center / contain no-repeat;
}

.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next)::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-blog-muted);
  -webkit-mask: var(--bm-blog-icon-chevron-left) center / contain no-repeat;
  mask: var(--bm-blog-icon-chevron-left) center / contain no-repeat;
}

.bm-blog-page-control.is-next .wp-block-button__link::before {
  -webkit-mask-image: var(--bm-blog-icon-chevron-right);
  mask-image: var(--bm-blog-icon-chevron-right);
}

.bm-blog-pagination .wp-block-query-pagination-next::before {
  -webkit-mask-image: var(--bm-blog-icon-chevron-right);
  mask-image: var(--bm-blog-icon-chevron-right);
}

.bm-blog-page-control .wp-block-button__link:hover::before,
.bm-blog-page-control .wp-block-button__link:focus-visible::before,
.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next):hover::before,
.bm-blog-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next):focus-visible::before {
  background: var(--bm-blog-blue);
}

.bm-blog-ellipsis {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #9ca3af;
  line-height: 1;
}

.bm-blog-contact .bm-nyc-section-heading {
  margin-bottom: 3rem;
}

.bm-blog-contact {
  padding-bottom: 6rem;
}

@media (min-width: 640px) {
  .bm-blog-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-blog-listing {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .bm-blog-contact {
    padding-top: 6rem;
    padding-bottom: 7.5rem;
  }

  .bm-blog-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-blog-intro {
    font-size: 1.875rem;
  }

  .bm-blog-page .bm-massage-nyc-hero h1 {
    font-size: 3rem;
  }

  .bm-blog-search .wp-block-search__inside-wrapper {
    padding-top: 0.3125rem;
  }

  .bm-blog-count {
    margin-bottom: 1.8125rem;
  }
}

@media (min-width: 1024px) {
  .bm-blog-page .bm-massage-nyc-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-blog-page .bm-massage-nyc-hero-copy {
    min-height: 540px;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-blog-page .bm-massage-nyc-hero h1 {
    max-width: none;
    font-size: 3.1875rem;
  }

  .bm-blog-page .bm-massage-nyc-hero-image {
    min-height: 540px;
  }
}

@media (min-width: 1280px) {
  .bm-blog-page .bm-massage-nyc-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }
}

@media (max-width: 600px) {
  .bm-blog-page .bm-trust-grid {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .bm-blog-page .bm-trust-item {
    width: 100%;
  }
}

/* Accessibility statement page rebuild */
.bm-accessibility-page {
  --bm-accessibility-blue: #2d4a5e;
  --bm-accessibility-blue-light: #3a5d75;
  --bm-accessibility-gold: #c5993a;
  --bm-accessibility-amber: #fbbf24;
  --bm-accessibility-lavender: #e5e7f2;
  --bm-accessibility-text: #35363a;
  --bm-accessibility-border: #e5e7eb;
  --bm-accessibility-resource-border: #f3f4f6;
  --bm-accessibility-resource-bg: #f9fafb;
  --bm-accessibility-shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --bm-accessibility-shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --bm-accessibility-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --bm-accessibility-icon-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16l4.586-4.586a2 2 0 0 1 2.828 0L16 16'/%3E%3Cpath d='m14 14 1.586-1.586a2 2 0 0 1 2.828 0L20 14'/%3E%3Cpath d='M14 8h.01'/%3E%3Crect width='18' height='16' x='3' y='4' rx='2'/%3E%3C/svg%3E");
  overflow-x: hidden;
  color: #111827;
}

.bm-accessibility-page :where(.wp-block-group, .wp-block-buttons, .wp-block-button, p, h1, h2, h3) {
  margin-block-start: 0;
}

.bm-accessibility-hero {
  display: block;
  min-height: 540px;
  margin-block-start: 0;
}

.bm-accessibility-hero-copy {
  box-sizing: border-box;
  display: flex;
  min-height: 327px;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-accessibility-blue);
  padding: 4rem 1.5rem;
}

.bm-accessibility-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1rem;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-accessibility-page .bm-accessibility-badge {
  line-height: 1rem;
}

.bm-accessibility-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-accessibility-amber);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-accessibility-title {
  max-width: 36rem;
  margin: 0 0 1.5rem;
  margin-block-end: 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-accessibility-hero-copy > .bm-accessibility-title {
  margin-block-end: 1.5rem !important;
}

.bm-accessibility-hero-placeholder-desktop {
  display: none;
}

.bm-accessibility-hero-placeholder-mobile {
  display: flex;
  height: 12rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--bm-accessibility-blue-light);
}

.bm-accessibility-hero-placeholder p {
  margin: 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-accessibility-hero-placeholder-inner {
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
}

.bm-accessibility-hero-placeholder-icon {
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
}

.bm-accessibility-hero-placeholder-icon::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: currentColor;
  -webkit-mask: var(--bm-accessibility-icon-image) center / contain no-repeat;
  mask: var(--bm-accessibility-icon-image) center / contain no-repeat;
}

.bm-accessibility-page .bm-trust-bar {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.bm-accessibility-page .bm-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-accessibility-page .bm-trust-item::before {
  display: block;
}

.bm-accessibility-content {
  margin-block-start: 0;
  background: var(--bm-accessibility-lavender);
  padding: 4rem 0;
}

.bm-accessibility-inner {
  box-sizing: border-box;
  width: min(100%, 56rem);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bm-accessibility-intro-card,
.bm-accessibility-contact-card {
  box-sizing: border-box;
  border: 2px solid var(--bm-accessibility-blue);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-accessibility-shadow-lg);
  padding: 2rem;
}

.bm-accessibility-intro-card {
  margin-bottom: 3rem;
}

.bm-accessibility-intro-card p {
  margin: 0;
  color: var(--bm-accessibility-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-accessibility-page a {
  color: var(--bm-accessibility-blue);
  text-underline-offset: 0.16em;
}

.bm-accessibility-intro-card a {
  text-decoration-color: var(--bm-accessibility-gold);
  text-decoration-thickness: 1px;
}

.bm-accessibility-page a:hover,
.bm-accessibility-page a:focus-visible {
  color: var(--bm-accessibility-gold);
}

.bm-accessibility-section-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.bm-accessibility-card,
.bm-accessibility-resources-card {
  box-sizing: border-box;
  border: 1px solid var(--bm-accessibility-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-accessibility-shadow-md);
  padding: 2rem;
}

.bm-accessibility-contact-card {
  margin-top: 3rem;
}

.bm-accessibility-resources-card {
  margin-top: 2rem;
}

.bm-accessibility-card-title {
  margin: 0 0 1.25rem;
  color: var(--bm-accessibility-blue);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-accessibility-card p,
.bm-accessibility-contact-card p,
.bm-accessibility-resources-card p {
  margin: 0;
  color: var(--bm-accessibility-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-accessibility-card p + p,
.bm-accessibility-contact-card p + p {
  margin-top: 1rem;
}

.bm-accessibility-phone-wrap,
.bm-accessibility-email-wrap {
  margin: 0;
}

.bm-accessibility-phone-wrap {
  padding-top: 0.5rem;
}

.bm-accessibility-contact-card .bm-accessibility-phone-wrap,
.bm-accessibility-contact-card .bm-accessibility-email-wrap {
  margin-top: 1rem !important;
}

.bm-accessibility-phone-wrap .wp-block-button,
.bm-accessibility-email-wrap .wp-block-button {
  margin: 0;
}

.bm-accessibility-phone-button .wp-block-button__link,
.bm-accessibility-email-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.875rem !important;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    color 200ms ease;
}

.bm-accessibility-phone-button .wp-block-button__link {
  background: var(--bm-accessibility-blue) !important;
  color: #fff !important;
  font-size: 1.125rem;
  line-height: 1.555556;
  padding: 0.75rem 1.5rem;
}

.bm-accessibility-phone-button .wp-block-button__link:hover,
.bm-accessibility-phone-button .wp-block-button__link:focus-visible {
  background: var(--bm-accessibility-blue-light) !important;
}

.bm-accessibility-email-button .wp-block-button__link {
  border: 2px solid var(--bm-accessibility-blue);
  background: transparent !important;
  color: var(--bm-accessibility-blue) !important;
  font-size: 1rem;
  line-height: 1.5;
  padding: 0.75rem 1.5rem;
}

.bm-accessibility-email-button .wp-block-button__link:hover,
.bm-accessibility-email-button .wp-block-button__link:focus-visible {
  background: var(--bm-accessibility-blue) !important;
  color: #fff !important;
}

.bm-accessibility-phone-button .wp-block-button__link::before,
.bm-accessibility-email-button .wp-block-button__link::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-phone) center / contain no-repeat;
  mask: var(--bm-icon-phone) center / contain no-repeat;
}

.bm-accessibility-email-button .wp-block-button__link::before {
  -webkit-mask-image: var(--bm-accessibility-icon-mail);
  mask-image: var(--bm-accessibility-icon-mail);
}

.bm-accessibility-phone-wrap + .bm-accessibility-small-note {
  margin-top: 1rem;
}

.bm-accessibility-email-wrap + .bm-accessibility-small-note {
  margin-top: 1rem;
}

.bm-accessibility-small-note {
  color: rgba(53, 54, 58, 0.7) !important;
  font-size: 0.875rem !important;
  line-height: 1.428571 !important;
}

.bm-accessibility-small-note.is-italic {
  font-style: italic;
}

.bm-accessibility-privacy-box {
  margin-top: 1.5rem;
  border-radius: 0.75rem;
  background: var(--bm-accessibility-lavender);
  padding: 1.5rem;
}

.bm-accessibility-privacy-title {
  margin: 0 0 0.75rem;
  color: var(--bm-accessibility-blue);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.428571;
  text-transform: uppercase;
}

.bm-accessibility-privacy-box p {
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-accessibility-resources-card > p {
  margin-bottom: 1.5rem;
}

.bm-accessibility-resource-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.bm-accessibility-resource-link {
  margin: 0 !important;
}

.bm-accessibility-resource-link a {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--bm-accessibility-resource-border);
  border-radius: 0.625rem;
  background: var(--bm-accessibility-resource-bg);
  color: var(--bm-accessibility-blue);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.428571;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    border-color 200ms ease;
}

.bm-accessibility-resource-link a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: var(--bm-accessibility-gold);
  -webkit-mask: var(--bm-icon-external-link) center / contain no-repeat;
  mask: var(--bm-icon-external-link) center / contain no-repeat;
}

.bm-accessibility-resource-link a:hover,
.bm-accessibility-resource-link a:focus-visible {
  border-color: var(--bm-accessibility-blue);
  background: rgba(45, 74, 94, 0.05);
  color: var(--bm-accessibility-blue);
}

.bm-accessibility-screen-reader-title {
  margin: 2rem 0 1rem;
  color: var(--bm-accessibility-blue);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.555556;
}

@media (min-width: 768px) {
  .bm-accessibility-content {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .bm-accessibility-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-accessibility-intro-card,
  .bm-accessibility-card,
  .bm-accessibility-contact-card,
  .bm-accessibility-resources-card {
    padding: 2.5rem;
  }

  .bm-accessibility-intro-card p {
    font-size: 1.125rem;
  }

  .bm-accessibility-card-title {
    font-size: 1.5rem;
    line-height: 1.333333;
  }
}

@media (min-width: 1024px) {
  .bm-accessibility-hero {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-accessibility-hero-copy {
    min-height: 540px;
    padding: 4rem;
  }

  .bm-accessibility-title {
    font-size: 3.25rem;
  }

  .bm-accessibility-hero-placeholder-desktop {
    display: flex;
    min-height: 540px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--bm-accessibility-blue-light);
  }

  .bm-accessibility-hero-placeholder-mobile {
    display: none;
  }
}

@media (min-width: 1280px) {
  .bm-accessibility-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-accessibility-title {
    font-size: 3.5rem;
  }
}

/* Data collection disclosure page rebuild */
.bm-data-page {
  --bm-data-blue: #2d4a5e;
  --bm-data-blue-light: #3a5d75;
  --bm-data-gold: #c5993a;
  --bm-data-amber: #fbbf24;
  --bm-data-lavender: #e5e7f2;
  --bm-data-text: #35363a;
  --bm-data-border: #e5e7eb;
  --bm-data-shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --bm-data-shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --bm-data-icon-baby: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h.01'/%3E%3Cpath d='M15 12h.01'/%3E%3Cpath d='M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/%3E%3Cpath d='M19 6.3A9 9 0 1 1 5 6.3'/%3E%3Cpath d='M9 4.3c.5-1.4 1.6-2.3 3-2.3s2.5.9 3 2.3'/%3E%3C/svg%3E");
  --bm-data-icon-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8a6 6 0 0 0-12 0c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E");
  --bm-data-icon-cookie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5'/%3E%3Cpath d='M8.5 8.5v.01'/%3E%3Cpath d='M16 15.5v.01'/%3E%3Cpath d='M12 12v.01'/%3E%3Cpath d='M11 17v.01'/%3E%3Cpath d='M7 14v.01'/%3E%3C/svg%3E");
  --bm-data-icon-database: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5'/%3E%3Cpath d='M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3'/%3E%3C/svg%3E");
  --bm-data-icon-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16l4.586-4.586a2 2 0 0 1 2.828 0L16 16'/%3E%3Cpath d='m14 14 1.586-1.586a2 2 0 0 1 2.828 0L20 14'/%3E%3Cpath d='M14 8h.01'/%3E%3Crect width='18' height='16' x='3' y='4' rx='2'/%3E%3C/svg%3E");
  --bm-data-icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  --bm-data-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --bm-data-icon-share: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='m8.59 13.51 6.83 3.98'/%3E%3Cpath d='m15.41 6.51-6.82 3.98'/%3E%3C/svg%3E");
  --bm-data-icon-userx: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m17 8 5 5'/%3E%3Cpath d='m22 8-5 5'/%3E%3C/svg%3E");
  overflow-x: hidden;
  color: #111827;
}

.bm-data-page :where(.wp-block-group, .wp-block-buttons, .wp-block-button, .wp-block-list, p, h1, h2) {
  margin-block-start: 0;
}

.bm-data-hero {
  display: block;
  min-height: 540px;
  margin-block-start: 0;
}

.bm-data-hero-copy {
  box-sizing: border-box;
  display: flex;
  min-height: 327px;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-data-blue);
  padding: 4rem 1.5rem;
}

.bm-data-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1rem;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-data-page .bm-data-badge {
  line-height: 1rem;
}

.bm-data-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-data-amber);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-data-title {
  max-width: 36rem;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-data-hero-copy > .bm-data-title {
  margin-block-end: 1.5rem !important;
}

.bm-data-hero-placeholder-desktop {
  display: none;
}

.bm-data-hero-placeholder-mobile {
  display: flex;
  height: 12rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--bm-data-blue-light);
}

.bm-data-hero-placeholder p {
  margin: 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-data-hero-placeholder-inner {
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
}

.bm-data-hero-placeholder-icon {
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
}

.bm-data-hero-placeholder-icon::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: currentColor;
  -webkit-mask: var(--bm-data-icon-image) center / contain no-repeat;
  mask: var(--bm-data-icon-image) center / contain no-repeat;
}

.bm-data-page .bm-trust-bar {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.bm-data-page .bm-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-data-page .bm-trust-item::before {
  display: block;
}

.bm-data-content {
  margin-block-start: 0;
  background: var(--bm-data-lavender);
  padding: 4rem 0;
}

.bm-data-inner {
  box-sizing: border-box;
  width: min(100%, 56rem);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bm-data-inner > * {
  margin: 0;
}

.bm-data-inner > *:not(:last-child) {
  margin-bottom: 2rem;
}

.bm-data-effective {
  color: rgba(53, 54, 58, 0.6);
  font-size: 0.875rem;
  line-height: 1.428571 !important;
  text-align: center;
}

.bm-data-intro-card,
.bm-data-contact-card {
  box-sizing: border-box;
  border: 2px solid var(--bm-data-blue);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-data-shadow-lg);
  padding: 2rem;
}

.bm-data-card {
  box-sizing: border-box;
  border: 1px solid var(--bm-data-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-data-shadow-md);
  padding: 2rem;
}

.bm-data-card.is-highlight {
  border-width: 2px;
  border-color: var(--bm-data-blue);
}

.bm-data-intro-card p,
.bm-data-card-body p,
.bm-data-contact-card p,
.bm-data-list {
  margin: 0;
  color: var(--bm-data-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-data-intro-card p {
  line-height: 1.625;
}

.bm-data-page a {
  color: var(--bm-data-blue);
  text-underline-offset: 0.16em;
}

.bm-data-intro-card a,
.bm-data-card-body a {
  text-decoration-color: var(--bm-data-gold);
  text-decoration-thickness: 1px;
}

.bm-data-page a:hover,
.bm-data-page a:focus-visible {
  color: var(--bm-data-gold);
}

.bm-data-card-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
}

.bm-data-card-icon {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-data-blue);
}

.bm-data-card-icon::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-data-card-icon, var(--bm-data-icon-database)) center / contain no-repeat;
  mask: var(--bm-data-card-icon, var(--bm-data-icon-database)) center / contain no-repeat;
}

.bm-data-card-icon.is-baby {
  --bm-data-card-icon: var(--bm-data-icon-baby);
}

.bm-data-card-icon.is-bell {
  --bm-data-card-icon: var(--bm-data-icon-bell);
}

.bm-data-card-icon.is-cookie {
  --bm-data-card-icon: var(--bm-data-icon-cookie);
}

.bm-data-card-icon.is-database {
  --bm-data-card-icon: var(--bm-data-icon-database);
}

.bm-data-card-icon.is-lock {
  --bm-data-card-icon: var(--bm-data-icon-lock);
}

.bm-data-card-icon.is-share {
  --bm-data-card-icon: var(--bm-data-icon-share);
}

.bm-data-card-icon.is-shield {
  --bm-data-card-icon: var(--bm-icon-shield);
}

.bm-data-card-icon.is-userx {
  --bm-data-card-icon: var(--bm-data-icon-userx);
}

.bm-data-card-title,
.bm-data-contact-title {
  margin: 0;
  color: var(--bm-data-blue);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-data-card-body > * + * {
  margin-block-start: 1rem !important;
}

.bm-data-subheading,
.bm-data-callout {
  color: var(--bm-data-blue) !important;
  font-weight: 600;
}

.bm-data-callout {
  font-size: 1.125rem !important;
  line-height: 1.555556 !important;
}

.bm-data-list {
  list-style: none;
  padding: 0;
  margin-left: 0.25rem;
}

.bm-data-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}

.bm-data-list li + li {
  margin-top: 0.5rem;
}

.bm-data-list li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  margin-top: 0.5rem;
  border-radius: 999px;
  background: var(--bm-data-gold);
}

.bm-data-contact-title {
  margin-bottom: 1.25rem;
}

.bm-data-contact-copy {
  margin: 0 0 1.5rem;
  margin-block-end: 1.5rem !important;
  line-height: 1.625;
}

.bm-data-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}

.bm-data-contact-actions .wp-block-button {
  margin: 0;
}

.bm-data-email-button .wp-block-button__link,
.bm-data-phone-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.875rem !important;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 200ms ease,
    color 200ms ease;
}

.bm-data-email-button .wp-block-button__link {
  border: 2px solid var(--bm-data-blue);
  background: transparent !important;
  color: var(--bm-data-blue) !important;
}

.bm-data-email-button .wp-block-button__link:hover,
.bm-data-email-button .wp-block-button__link:focus-visible {
  background: var(--bm-data-blue) !important;
  color: #fff !important;
}

.bm-data-phone-button .wp-block-button__link {
  background: var(--bm-data-blue) !important;
  color: #fff !important;
}

.bm-data-phone-button .wp-block-button__link:hover,
.bm-data-phone-button .wp-block-button__link:focus-visible {
  background: var(--bm-data-blue-light) !important;
}

.bm-data-email-button .wp-block-button__link::before,
.bm-data-phone-button .wp-block-button__link::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-data-icon-mail) center / contain no-repeat;
  mask: var(--bm-data-icon-mail) center / contain no-repeat;
}

.bm-data-phone-button .wp-block-button__link::before {
  -webkit-mask-image: var(--bm-icon-phone);
  mask-image: var(--bm-icon-phone);
}

.bm-data-address-box {
  margin-top: 1.5rem;
  border-radius: 0.75rem;
  background: var(--bm-data-lavender);
  padding: 1.5rem;
}

.bm-data-address-box p {
  margin: 0;
  color: var(--bm-data-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

@media (min-width: 768px) {
  .bm-data-content {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .bm-data-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-data-intro-card,
  .bm-data-card,
  .bm-data-contact-card {
    padding: 2.5rem;
  }

  .bm-data-intro-card p {
    font-size: 1.125rem;
  }

  .bm-data-card-title,
  .bm-data-contact-title {
    font-size: 1.5rem;
    line-height: 1.333333;
  }

  .bm-data-phone-button .wp-block-button__link {
    min-height: 3.25rem;
  }
}

@media (min-width: 1024px) {
  .bm-data-hero {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-data-hero-copy {
    min-height: 540px;
    padding: 4rem;
  }

  .bm-data-title {
    font-size: 3.25rem;
  }

  .bm-data-hero-placeholder-desktop {
    display: flex;
    min-height: 540px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--bm-data-blue-light);
  }

  .bm-data-hero-placeholder-mobile {
    display: none;
  }
}

@media (min-width: 1280px) {
  .bm-data-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-data-title {
    font-size: 3.5rem;
  }
}

/* Cancellation and general policies page rebuild */
.bm-cancel-page {
  --bm-cancel-blue: #2d4a5e;
  --bm-cancel-blue-light: #3a5d75;
  --bm-cancel-gold: #c5993a;
  --bm-cancel-amber: #fbbf24;
  --bm-cancel-lavender: #e5e7f2;
  --bm-cancel-text: #35363a;
  --bm-cancel-border: #e5e7eb;
  --bm-cancel-shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --bm-cancel-shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --bm-cancel-icon-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  --bm-cancel-icon-baby: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h.01'/%3E%3Cpath d='M15 12h.01'/%3E%3Cpath d='M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5'/%3E%3Cpath d='M19 6.3A9 9 0 1 1 5 6.3'/%3E%3Cpath d='M9 4.3c.5-1.4 1.6-2.3 3-2.3s2.5.9 3 2.3'/%3E%3C/svg%3E");
  --bm-cancel-icon-gift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0-5C11 3 12 8 12 8s1-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E");
  --bm-cancel-icon-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16l4.586-4.586a2 2 0 0 1 2.828 0L16 16'/%3E%3Cpath d='m14 14 1.586-1.586a2 2 0 0 1 2.828 0L20 14'/%3E%3Cpath d='M14 8h.01'/%3E%3Crect width='18' height='16' x='3' y='4' rx='2'/%3E%3C/svg%3E");
  --bm-cancel-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --bm-cancel-icon-package: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
  --bm-cancel-icon-xcircle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E");
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  overflow-x: hidden;
  color: #111827;
}

.bm-cancel-page :where(.wp-block-group, .wp-block-buttons, .wp-block-button, .wp-block-list, p, h1, h2) {
  margin-block-start: 0;
}

.bm-cancel-hero {
  display: block;
  min-height: 540px;
  margin-block-start: 0;
}

.bm-cancel-hero-copy {
  box-sizing: border-box;
  display: flex;
  min-height: 327px;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-cancel-blue);
  padding: 4rem 1.5rem;
}

.bm-cancel-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1rem;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-cancel-page .bm-cancel-badge {
  line-height: 1rem;
}

.bm-cancel-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-cancel-amber);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-cancel-title {
  max-width: 36rem;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.bm-cancel-hero-copy > .bm-cancel-title {
  margin-block-end: 1.5rem !important;
}

.bm-cancel-hero-placeholder-desktop {
  display: none;
}

.bm-cancel-hero-placeholder-mobile {
  display: flex;
  height: 12rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--bm-cancel-blue-light);
}

.bm-cancel-hero-placeholder p {
  margin: 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-cancel-hero-placeholder-inner {
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
}

.bm-cancel-hero-placeholder-icon {
  display: flex;
  width: 4rem;
  height: 4rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
}

.bm-cancel-hero-placeholder-icon::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: currentColor;
  -webkit-mask: var(--bm-cancel-icon-image) center / contain no-repeat;
  mask: var(--bm-cancel-icon-image) center / contain no-repeat;
}

.bm-cancel-page .bm-trust-bar {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.bm-cancel-page .bm-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-cancel-page .bm-trust-item::before {
  display: block;
}

.bm-cancel-content {
  margin-block-start: 0;
  background: var(--bm-cancel-lavender);
  padding: 4rem 0;
}

.bm-cancel-inner {
  box-sizing: border-box;
  width: min(100%, 56rem);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bm-cancel-inner > * {
  margin: 0;
}

.bm-cancel-inner > *:not(:last-child) {
  margin-bottom: 2rem;
}

.bm-cancel-card,
.bm-cancel-questions-card {
  box-sizing: border-box;
  border: 1px solid var(--bm-cancel-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-cancel-shadow-md);
  padding: 2rem;
}

.bm-cancel-card.is-highlight,
.bm-cancel-privacy-card {
  box-sizing: border-box;
  border: 2px solid var(--bm-cancel-blue);
  border-radius: 1rem;
  background: #fff;
  padding: 2rem;
}

.bm-cancel-card.is-highlight {
  box-shadow: var(--bm-cancel-shadow-md);
}

.bm-cancel-privacy-card {
  box-shadow: var(--bm-cancel-shadow-lg);
}

.bm-cancel-card-body p,
.bm-cancel-card-body .bm-cancel-list,
.bm-cancel-contact-copy {
  margin: 0;
  color: var(--bm-cancel-text);
  font-size: 1rem !important;
  line-height: 1.625 !important;
}

.bm-cancel-page a {
  color: var(--bm-cancel-blue);
  text-underline-offset: 0.16em;
}

.bm-cancel-card-body a,
.bm-cancel-contact-copy a {
  text-decoration-color: var(--bm-cancel-gold);
  text-decoration-thickness: 1px;
}

.bm-cancel-contact-copy a {
  font-weight: 600;
}

.bm-cancel-page a:hover,
.bm-cancel-page a:focus-visible {
  color: var(--bm-cancel-gold);
}

.bm-cancel-card-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
}

.bm-cancel-card-icon {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-cancel-blue);
}

.bm-cancel-card-icon::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-cancel-card-icon, var(--bm-cancel-icon-xcircle)) center / contain no-repeat;
  mask: var(--bm-cancel-card-icon, var(--bm-cancel-icon-xcircle)) center / contain no-repeat;
}

.bm-cancel-card-icon.is-baby {
  --bm-cancel-card-icon: var(--bm-cancel-icon-baby);
}

.bm-cancel-card-icon.is-clock {
  --bm-cancel-card-icon: var(--bm-icon-clock);
}

.bm-cancel-card-icon.is-gift {
  --bm-cancel-card-icon: var(--bm-cancel-icon-gift);
}

.bm-cancel-card-icon.is-heart {
  --bm-cancel-card-icon: var(--bm-icon-heart);
}

.bm-cancel-card-icon.is-package {
  --bm-cancel-card-icon: var(--bm-cancel-icon-package);
}

.bm-cancel-card-icon.is-shield {
  --bm-cancel-card-icon: var(--bm-icon-shield);
}

.bm-cancel-card-icon.is-xcircle {
  --bm-cancel-card-icon: var(--bm-cancel-icon-xcircle);
}

.bm-cancel-card-title,
.bm-cancel-contact-title {
  margin: 0;
  color: var(--bm-cancel-blue);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-cancel-card-body > * + * {
  margin-block-start: 1rem !important;
}

.bm-cancel-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 0.75rem;
  background: var(--bm-cancel-blue);
  color: #fff;
  padding: 1.25rem;
}

.bm-cancel-alert-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  color: var(--bm-cancel-gold);
}

.bm-cancel-alert-icon::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-cancel-icon-alert) center / contain no-repeat;
  mask: var(--bm-cancel-icon-alert) center / contain no-repeat;
}

.bm-cancel-alert p {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5 !important;
}

.bm-cancel-list {
  list-style: none;
  padding: 0;
  margin-left: 0.25rem;
}

.bm-cancel-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}

.bm-cancel-list li + li {
  margin-top: 0.5rem;
}

.bm-cancel-list li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  margin-top: 0.5rem;
  border-radius: 999px;
  background: var(--bm-cancel-gold);
}

.bm-cancel-contact-title {
  margin-bottom: 1rem;
}

.bm-cancel-questions-card .bm-cancel-contact-title {
  margin-bottom: 1.25rem;
}

.bm-cancel-contact-copy {
  margin-block-end: 1.5rem !important;
}

.bm-cancel-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
}

.bm-cancel-contact-actions .wp-block-button {
  margin: 0;
}

.bm-cancel-email-button .wp-block-button__link,
.bm-cancel-phone-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.875rem !important;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 200ms ease,
    color 200ms ease;
}

.bm-cancel-email-button .wp-block-button__link {
  border: 2px solid var(--bm-cancel-blue);
  background: transparent !important;
  color: var(--bm-cancel-blue) !important;
}

.bm-cancel-email-button .wp-block-button__link:hover,
.bm-cancel-email-button .wp-block-button__link:focus-visible {
  background: var(--bm-cancel-blue) !important;
  color: #fff !important;
}

.bm-cancel-phone-button .wp-block-button__link {
  background: var(--bm-cancel-blue) !important;
  color: #fff !important;
}

.bm-cancel-phone-button .wp-block-button__link:hover,
.bm-cancel-phone-button .wp-block-button__link:focus-visible {
  background: var(--bm-cancel-blue-light) !important;
}

.bm-cancel-email-button .wp-block-button__link::before,
.bm-cancel-phone-button .wp-block-button__link::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-cancel-icon-mail) center / contain no-repeat;
  mask: var(--bm-cancel-icon-mail) center / contain no-repeat;
}

.bm-cancel-phone-button .wp-block-button__link::before {
  -webkit-mask-image: var(--bm-icon-phone);
  mask-image: var(--bm-icon-phone);
}

@media (min-width: 768px) {
  .bm-cancel-content {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .bm-cancel-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-cancel-card,
  .bm-cancel-card.is-highlight,
  .bm-cancel-privacy-card,
  .bm-cancel-questions-card {
    padding: 2.5rem;
  }

  .bm-cancel-card-title,
  .bm-cancel-contact-title {
    font-size: 1.5rem;
    line-height: 1.333333;
  }

  .bm-cancel-phone-button .wp-block-button__link {
    min-height: 3.25rem;
  }
}

@media (min-width: 1024px) {
  .bm-cancel-hero {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-cancel-hero-copy {
    min-height: 540px;
    padding: 4rem;
  }

  .bm-cancel-title {
    font-size: 3.25rem;
  }

  .bm-cancel-hero-placeholder-desktop {
    display: flex;
    min-height: 540px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--bm-cancel-blue-light);
  }

  .bm-cancel-hero-placeholder-mobile {
    display: none;
  }
}

@media (min-width: 1280px) {
  .bm-cancel-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-cancel-title {
    font-size: 3.5rem;
  }
}

/* Homepage rebuild */
.bm-home-page {
  --bm-home-blue: #2d4a5e;
  --bm-home-blue-light: #3a5d75;
  --bm-home-gold: #c5993a;
  --bm-home-gold-dark: #b8882f;
  --bm-home-gold-on-dark: #ffd875;
  --bm-home-gold-button: #936719;
  --bm-home-gold-button-hover: #805916;
  --bm-home-lavender: #e5e7f2;
  --bm-home-text: #35363a;
  --bm-home-muted: #4a5568;
  --bm-home-border: #e5e7eb;
  --bm-home-shadow-md:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --bm-home-shadow-lg:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --bm-home-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --bm-home-icon-message-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M14.8 8.4a1.8 1.8 0 0 0-2.55 0L12 8.65l-.25-.25a1.8 1.8 0 0 0-2.55 2.55L12 13.75l2.8-2.8a1.8 1.8 0 0 0 0-2.55'/%3E%3C/svg%3E");
  --bm-home-icon-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E");
  --bm-home-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.5 2.3a.6.6 0 0 1 1 0l2.9 5.9 6.5.9a.6.6 0 0 1 .3 1L17.5 14l1.1 6.5a.6.6 0 0 1-.9.6L12 18.1l-5.8 3a.6.6 0 0 1-.9-.6L6.5 14 1.8 10a.6.6 0 0 1 .3-1l6.5-.9z'/%3E%3C/svg%3E");
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  overflow-x: hidden;
  color: #111827;
}

.bm-home-page :where(.wp-block-group, .wp-block-buttons, .wp-block-button, .wp-block-image, .wp-block-list, p, h1, h2, h3, h4, figure) {
  margin-block-start: 0;
}

.bm-home-page a {
  color: var(--bm-home-blue);
  text-underline-offset: 0.16em;
}

.bm-home-page a:hover,
.bm-home-page a:focus-visible {
  color: var(--bm-home-gold);
}

.bm-home-container {
  box-sizing: border-box;
  width: min(100%, 72rem);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bm-home-section-title {
  margin: 0 0 2rem;
  color: var(--bm-home-blue);
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
}

.bm-home-hero {
  position: relative;
  min-height: 574px;
  margin-block-start: 0;
  overflow: hidden;
  background: var(--bm-home-blue);
}

.bm-home-hero::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(45, 74, 94, 0.8);
  content: "";
}

.bm-home-hero-copy {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  min-height: 574px;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 1.5rem;
  text-align: center;
}

.bm-home-hero-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  align-self: center;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1rem;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-home-hero-badge::before,
.bm-home-quiz-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-home-gold);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-home-hero-title {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-home-hero-subtitle {
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

.bm-home-hero-locations-label {
  margin: 0 0 1rem;
  color: var(--bm-home-gold-on-dark);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25rem;
  text-transform: uppercase;
}

.bm-home-hero-location-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 0;
}

.bm-home-hero-location-actions .wp-block-button {
  margin: 0;
}

.bm-home-hero-location-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.875rem !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.428571;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  text-transform: uppercase;
}

.bm-home-hero-location-button .wp-block-button__link::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: var(--bm-home-gold);
  -webkit-mask: var(--bm-icon-map-pin) center / contain no-repeat;
  mask: var(--bm-icon-map-pin) center / contain no-repeat;
}

.bm-home-hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  min-height: 100%;
}

.bm-home-hero-media {
  width: 100%;
  height: 100%;
  margin: 0;
}

.bm-home-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-home-page .bm-trust-bar {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.bm-home-page .bm-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
}

.bm-home-top-reasons,
.bm-home-awards,
.bm-home-locations,
.bm-home-services,
.bm-home-testimonial,
.bm-home-stats,
.bm-home-quiz {
  margin-block-start: 0;
  padding: 4rem 0;
}

.bm-home-top-reasons {
  background: #fff;
}

.bm-home-top-copy {
  max-width: 56rem;
  margin: 0 auto 2.5rem;
  color: var(--bm-home-text);
  font-size: 1rem;
  line-height: 1.625;
  text-align: center;
}

.bm-home-top-copy a,
.bm-home-bullet-list a,
.bm-home-location-detail a {
  color: var(--bm-home-blue);
  text-decoration-color: var(--bm-home-gold);
}

.bm-home-service-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 0 0 2rem;
}

.bm-home-service-pills .wp-block-button,
.bm-home-centered-actions .wp-block-button,
.bm-home-split-actions .wp-block-button,
.bm-home-location-actions .wp-block-button,
.bm-home-booking-actions .wp-block-button {
  margin: 0;
}

.bm-home-service-pill .wp-block-button__link {
  display: inline-block;
  border: 2px solid rgba(45, 74, 94, 0.2);
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--bm-home-blue) !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  padding: 0.625rem 1.25rem;
  text-decoration: none;
}

.bm-home-service-pill .wp-block-button__link:hover,
.bm-home-service-pill .wp-block-button__link:focus-visible {
  border-color: var(--bm-home-gold);
  background: rgba(197, 153, 58, 0.05) !important;
  color: var(--bm-home-gold) !important;
}

.bm-home-centered-actions {
  display: flex;
  justify-content: center;
  margin: 0;
}

.bm-home-gold-button .wp-block-button__link,
.bm-home-quiz-button .wp-block-button__link,
.bm-home-blue-button .wp-block-button__link,
.bm-home-location-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.875rem !important;
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.428571;
  padding: 0.875rem 2rem;
  text-decoration: none;
  text-transform: uppercase;
}

.bm-home-gold-button .wp-block-button__link,
.bm-home-quiz-button .wp-block-button__link {
  background: var(--bm-home-gold-button) !important;
  box-shadow: var(--bm-home-shadow-lg);
}

.bm-home-blue-button .wp-block-button__link,
.bm-home-location-button .wp-block-button__link {
  background: var(--bm-home-blue) !important;
}

.bm-home-blue-button .wp-block-button__link {
  box-shadow: var(--bm-home-shadow-lg);
}

.bm-home-gold-button .wp-block-button__link:hover,
.bm-home-quiz-button .wp-block-button__link:hover,
.bm-home-gold-button .wp-block-button__link:focus-visible,
.bm-home-quiz-button .wp-block-button__link:focus-visible {
  background: var(--bm-home-gold-button-hover) !important;
}

.bm-home-blue-button .wp-block-button__link:hover,
.bm-home-location-button .wp-block-button__link:hover,
.bm-home-blue-button .wp-block-button__link:focus-visible,
.bm-home-location-button .wp-block-button__link:focus-visible {
  background: var(--bm-home-blue-light) !important;
}

.bm-home-gold-button.has-arrow .wp-block-button__link::after,
.bm-home-blue-button.has-arrow .wp-block-button__link::after,
.bm-home-quiz-button.has-arrow .wp-block-button__link::after,
.bm-home-service-card-link a::after {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-home-awards,
.bm-home-locations,
.bm-home-services,
.bm-home-booking {
  background: var(--bm-home-lavender);
}

.bm-home-awards-title {
  margin: 0 0 2rem;
  color: var(--bm-home-blue);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.333333;
  text-align: center;
}

.bm-home-awards-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0 0 3.5rem;
}

.bm-home-award-image,
.bm-home-press-logo,
.bm-home-booking-badge,
.bm-home-service-image {
  margin: 0;
}

.bm-home-award-image img {
  display: block;
  object-fit: contain;
}

.bm-home-award-image.is-small img {
  width: 7rem;
  height: 7rem;
}

.bm-home-award-image.is-large img {
  width: 10rem;
  height: 10rem;
}

.bm-home-press-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.bm-home-press-logo img {
  display: block;
  width: auto;
  height: 2rem;
  filter: grayscale(1);
  opacity: 0.7;
}

.bm-home-split {
  display: grid;
  margin-block-start: 0;
  overflow: hidden;
  background: #fff;
}

.bm-home-split-image {
  min-height: 300px;
  background-position: center;
  background-size: cover;
}

.bm-home-why-image {
  background-image: url("/images/running-group.jpg");
}

.bm-home-different-image {
  min-height: 350px;
  background-image: url("/images/massage-therapists-group.jpg");
}

.bm-home-split-copy {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 1.5rem;
}

.bm-home-split-title {
  margin: 0 0 2rem;
  color: var(--bm-home-blue);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.333333;
}

.bm-home-bullet-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bm-home-bullet-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  color: var(--bm-home-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-home-bullet-list li + li {
  margin-top: 1rem;
}

.bm-home-bullet-list li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  margin-top: 0.5rem;
  border-radius: 999px;
  background: var(--bm-home-gold);
}

.bm-home-split-actions {
  display: flex;
  margin: 2rem 0 0;
}

.bm-home-stats,
.bm-home-quiz,
.bm-home-testimonial {
  background: var(--bm-home-blue);
}

.bm-home-stats-container {
  box-sizing: border-box;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.bm-home-stats-kicker {
  margin: 0 0 2rem;
  color: var(--bm-home-gold-on-dark);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.25rem;
  text-align: center;
  text-transform: uppercase;
}

.bm-home-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.bm-home-stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 2rem 1.25rem;
  text-align: center;
}

.bm-home-stat-icon {
  display: flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem;
  border-radius: 0.75rem;
  background: var(--bm-home-gold);
}

.bm-home-stat-icon::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #fff;
  -webkit-mask: var(--bm-home-stat-icon, var(--bm-home-icon-message-heart)) center / contain no-repeat;
  mask: var(--bm-home-stat-icon, var(--bm-home-icon-message-heart)) center / contain no-repeat;
}

.bm-home-stat-icon.is-rating {
  --bm-home-stat-icon: var(--bm-home-icon-star);
}

.bm-home-stat-icon.is-years {
  --bm-home-stat-icon: var(--bm-icon-clock);
}

.bm-home-stat-icon.is-locations {
  --bm-home-stat-icon: var(--bm-icon-map-pin);
}

.bm-home-stat-value {
  margin: 0 0 0.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2.5rem;
}

.bm-home-stat-value span {
  color: var(--bm-home-gold-on-dark);
}

.bm-home-stat-label {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1rem;
  text-transform: uppercase;
}

.bm-home-location-grid {
  display: grid;
  gap: 2rem;
  margin: 2.5rem 0 0;
}

.bm-home-location-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid var(--bm-home-blue);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-home-shadow-lg);
}

.bm-home-location-image {
  height: 12rem;
  background-position: center;
  background-size: cover;
}

.bm-home-location-image.is-34 {
  background-image: url("/images/space-34th.jpg");
}

.bm-home-location-image.is-54 {
  background-image: url("/images/space-54th.jpg");
}

.bm-home-location-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 1.5rem;
}

.bm-home-location-title {
  margin: 0 0 1rem;
  color: var(--bm-home-blue);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-home-location-details {
  color: var(--bm-home-text);
  font-size: 0.875rem;
  line-height: 1.428571;
}

.bm-home-location-detail {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}

.bm-home-location-detail + .bm-home-location-detail {
  margin-top: 0.75rem;
}

.bm-home-location-detail::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  background: var(--bm-home-gold);
  -webkit-mask: var(--bm-home-location-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
  mask: var(--bm-home-location-icon, var(--bm-icon-map-pin)) center / contain no-repeat;
}

.bm-home-location-detail.is-phone::before {
  --bm-home-location-icon: var(--bm-icon-phone);
}

.bm-home-location-detail.is-mail::before {
  --bm-home-location-icon: var(--bm-home-icon-mail);
}

.bm-home-location-detail.is-hours::before {
  --bm-home-location-icon: var(--bm-icon-clock);
}

.bm-home-location-detail.is-phone,
.bm-home-location-detail.is-mail {
  align-items: center;
}

.bm-home-location-detail.is-phone::before,
.bm-home-location-detail.is-mail::before {
  margin-top: 0;
}

.bm-home-location-detail strong {
  display: block;
  color: var(--bm-home-blue);
  font-weight: 600;
}

.bm-home-location-detail .bm-home-hours-text span {
  display: block;
}

.bm-home-location-detail .bm-home-hours-weekend {
  margin-top: 0.25rem;
}

.bm-home-map-wrap {
  height: 9.375rem;
  margin: 1.25rem 0 0;
  overflow: hidden;
  border-radius: 0.75rem;
}

.bm-home-map-wrap .wp-block-shortcode,
.bm-home-map-wrap .bm-space-map,
.bm-home-map-wrap iframe {
  width: 100%;
  height: 100%;
}

.bm-home-map-wrap .wp-block-shortcode {
  margin: 0;
}

.bm-home-map-wrap .bm-space-map {
  position: relative;
  overflow: hidden;
}

.bm-home-map-wrap .bm-space-map-link {
  display: none;
}

.bm-home-map-wrap iframe {
  display: block;
  border: 0;
  filter: none;
}

.bm-home-location-actions {
  display: flex;
  margin: auto 0 0;
  padding-top: 1.5rem;
}

.bm-home-location-button .wp-block-button__link {
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1.428571;
  text-transform: none;
}

.bm-home-quiz-inner {
  box-sizing: border-box;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

.bm-home-quiz-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--bm-home-gold-on-dark);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25rem;
  padding: 0.5rem 1rem;
  text-transform: uppercase;
}

.bm-home-quiz-badge::before {
  width: 1rem;
  height: 1rem;
  background: currentColor;
}

.bm-home-quiz-copy {
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-home-quiz-copy strong {
  color: #fff;
  font-weight: 700;
}

.bm-home-quiz-button .wp-block-button__link {
  gap: 0.75rem;
  padding: 1rem 2rem;
  font-size: 1rem;
  line-height: 1.5;
}

.bm-home-services-grid {
  display: grid;
  gap: 2rem;
}

.bm-home-service-card {
  overflow: hidden;
  border: 1px solid var(--bm-home-border);
  border-radius: 1rem;
  background: #fff;
  box-shadow: var(--bm-home-shadow-md);
}

.bm-home-service-image {
  height: 12rem;
  overflow: hidden;
}

.bm-home-service-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-home-service-card-body {
  padding: 1.5rem;
}

.bm-home-service-card-title {
  margin: 0 0 0.75rem;
  color: var(--bm-home-blue);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-home-service-card-copy {
  margin: 0 0 1rem;
  color: var(--bm-home-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-home-service-card-link {
  margin: 0;
}

.bm-home-service-card-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--bm-home-gold-button);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.428571;
  text-decoration: none;
}

.bm-home-testimonial-inner {
  box-sizing: border-box;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.bm-home-testimonial-title {
  margin: 0 0 2.5rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.333333;
  text-align: center;
}

.bm-home-testimonial-card {
  position: relative;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: var(--bm-home-shadow-lg);
  padding: 2rem;
}

.bm-home-quote-icon {
  width: 2rem;
  height: 2rem;
  margin: 0 0 1rem;
  color: var(--bm-home-gold);
}

.bm-home-quote-icon::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: currentColor;
  -webkit-mask: var(--bm-home-icon-quote) center / contain no-repeat;
  mask: var(--bm-home-icon-quote) center / contain no-repeat;
}

.bm-home-testimonial-copy {
  margin: 0 0 1.5rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  font-style: italic;
  line-height: 1.625;
}

.bm-home-testimonial-author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.bm-home-testimonial-avatar {
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border-radius: 999px;
  background: var(--bm-home-gold);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.5rem;
  text-align: center;
}

.bm-home-testimonial-author-text p {
  margin: 0;
}

.bm-home-testimonial-name {
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
}

.bm-home-testimonial-location {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-home-booking {
  margin-block-start: 0;
  padding: 3.5rem 0;
}

.bm-home-booking-inner {
  box-sizing: border-box;
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

.bm-home-booking-badge img {
  display: block;
  width: auto;
  height: 8rem;
  margin: 0 auto 2rem;
}

.bm-home-booking-title {
  margin: 0 0 1rem;
  color: var(--bm-home-blue);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.333333;
}

.bm-home-booking-text {
  max-width: 42rem;
  margin: 0 auto 2rem;
  color: var(--bm-home-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-home-booking-actions {
  display: flex;
  justify-content: center;
  margin: 0;
}

@media (min-width: 768px) {
  .bm-home-container {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-home-stats-container {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-home-section-title {
    font-size: 2.25rem;
    line-height: 1.111111;
  }

  .bm-home-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-home-hero-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-home-hero-subtitle {
    font-size: 1.125rem;
    line-height: 1.555556;
  }

  .bm-home-top-reasons,
  .bm-home-awards,
  .bm-home-locations,
  .bm-home-services,
  .bm-home-testimonial,
  .bm-home-stats,
  .bm-home-quiz {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .bm-home-top-copy {
    font-size: 1.125rem;
  }

  .bm-home-awards-title,
  .bm-home-split-title,
  .bm-home-testimonial-title,
  .bm-home-booking-title {
    font-size: 1.875rem;
    line-height: 1.2;
  }

  .bm-home-awards-row {
    gap: 2.5rem;
  }

  .bm-home-award-image.is-small img {
    width: 9rem;
    height: 9rem;
  }

  .bm-home-award-image.is-large img {
    width: 13rem;
    height: 13rem;
  }

  .bm-home-press-logo img {
    height: 2.5rem;
  }

  .bm-home-press-row {
    gap: 2.5rem;
  }

  .bm-home-split-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-home-stat-value {
    font-size: 3rem;
    line-height: 1;
  }

  .bm-home-location-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-home-location-body {
    padding: 2rem;
  }

  .bm-home-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-home-testimonial-card {
    padding: 2.5rem;
  }

  .bm-home-testimonial-copy,
  .bm-home-booking-text {
    font-size: 1.125rem;
  }

  .bm-home-testimonial-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-home-quiz-inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-home-booking-inner {
    display: flex;
    align-items: center;
    gap: 3rem;
    padding-right: 3rem;
    padding-left: 3rem;
    text-align: left;
  }

  .bm-home-booking-badge img {
    height: 10rem;
    margin: 0;
  }

  .bm-home-booking-text {
    margin-right: 0;
    margin-left: 0;
  }

  .bm-home-booking-actions {
    justify-content: flex-start;
  }
}

@media (min-width: 1024px) {
  .bm-home-hero {
    display: grid;
    min-height: 600px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: transparent;
  }

  .bm-home-hero::before {
    content: none;
  }

  .bm-home-hero-copy {
    min-height: 600px;
    background: var(--bm-home-blue);
    padding: 4rem;
    text-align: left;
  }

  .bm-home-hero-badge {
    align-self: flex-start;
  }

  .bm-home-hero-title {
    font-size: 3rem;
    line-height: 1;
  }

  .bm-home-hero-subtitle {
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .bm-home-hero-location-actions {
    justify-content: flex-start;
  }

  .bm-home-hero-image {
    position: static;
    display: block;
    min-height: 600px;
  }

  .bm-home-hero-media {
    min-height: 600px;
  }

  .bm-home-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-home-split,
  .bm-home-split-copy,
  .bm-home-split-image {
    min-height: 500px;
  }

  .bm-home-different,
  .bm-home-different .bm-home-split-copy,
  .bm-home-different .bm-home-split-image {
    min-height: 600px;
  }

  .bm-home-split-copy {
    padding: 4rem;
  }

  .bm-home-stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-home-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .bm-home-hero-copy,
  .bm-home-split-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-home-hero-title {
    font-size: 3.75rem;
  }
}

.bm-home-page .bm-home-hero-badge {
  line-height: 1rem;
}

.bm-home-page .bm-home-hero-locations-label,
.bm-home-page .bm-home-stats-kicker,
.bm-home-page .bm-home-quiz-badge {
  line-height: 1.25rem;
}

.bm-home-page .bm-trust-item {
  line-height: 1.5;
}

.bm-home-page .bm-home-top-copy,
.bm-home-page .bm-home-quiz-copy,
.bm-home-page .bm-home-service-card-copy,
.bm-home-page .bm-home-testimonial-copy,
.bm-home-page .bm-home-booking-text {
  line-height: 1.625;
}

.bm-home-page .bm-home-stat-value {
  line-height: 2.5rem;
}

.bm-home-page .bm-home-stat-label {
  line-height: 1rem;
}

.bm-home-page .bm-home-location-detail {
  line-height: 1.428571;
}

.bm-home-page .bm-home-service-card-link,
.bm-home-page .bm-home-service-card-link a {
  line-height: 1.428571;
}

.bm-home-page .bm-home-testimonial-avatar {
  line-height: 2.5rem;
}

.bm-home-page .bm-home-testimonial-name {
  line-height: 1.5;
}

.bm-home-page .bm-home-testimonial-location {
  line-height: 1.25rem;
}

.klaviyo-close-form {
  min-width: 24px !important;
  min-height: 24px !important;
}

.bm-home-services .bm-home-section-title {
  margin-bottom: 2.5rem;
}

.bm-home-different .bm-home-split-copy,
.bm-home-different .bm-home-split-image {
  width: 100%;
  min-width: 0;
}

.bm-home-page .bm-home-bullet-list li {
  position: relative;
  display: block;
  padding-left: 1.25rem;
  line-height: 1.625;
}

.bm-home-page .bm-home-bullet-list li::before {
  position: absolute;
  top: 0.5rem;
  left: 0;
  margin-top: 0;
}

@media (min-width: 768px) {
  .bm-home-page .bm-home-stat-value {
    line-height: 1;
  }

  .bm-home-page .bm-home-quiz-copy {
    font-size: 1.25rem;
    line-height: 1.625;
  }
}

/* Massage myths quiz page */
.bm-myths-page,
.bm-myths-quiz-block {
  --bm-myths-blue: #2d4a5e;
  --bm-myths-blue-dark: #1a3545;
  --bm-myths-gold: #c5993a;
  --bm-myths-lavender: #e5e7f2;
  --bm-myths-ink: #35363a;
  --bm-myths-text: #464646;
  --bm-myths-green: #16a34a;
  --bm-myths-red: #dc2626;
  --bm-myths-icon-x-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E");
  --bm-myths-icon-restart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
  color: var(--bm-myths-ink);
  font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif;
}

.bm-myths-page *,
.bm-myths-page *::before,
.bm-myths-page *::after,
.bm-myths-quiz-block *,
.bm-myths-quiz-block *::before,
.bm-myths-quiz-block *::after {
  box-sizing: border-box;
}

.bm-myths-page :where(.wp-block-group, .wp-block-buttons, .wp-block-button, p, h1, h2, h3, figure),
.bm-myths-quiz-block :where(p, h1, h2, h3, div, main, button) {
  margin-block-start: 0;
}

.bm-myths-quiz-block {
  margin-block-start: 0;
  background: linear-gradient(to bottom, #fff, rgba(229, 231, 242, 0.2), rgba(229, 231, 242, 0.4));
}

.bm-myths-quiz-main {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  padding: 2rem 1rem;
}

.bm-myths-quiz-shell {
  width: 100%;
  max-width: 40rem;
}

.bm-myths-welcome,
.bm-myths-results {
  text-align: center;
}

.bm-myths-brain {
  display: inline-flex;
  width: 5rem;
  height: 5rem;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, var(--bm-myths-blue), var(--bm-myths-blue-dark));
  box-shadow: 0 10px 15px -3px rgba(45, 74, 94, 0.2), 0 4px 6px -4px rgba(45, 74, 94, 0.2);
  color: #fff;
  font-size: 2.5rem;
  line-height: 1;
}

.bm-myths-welcome-title {
  margin: 0 0 0.5rem;
  color: var(--bm-myths-ink);
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 2.25rem;
}

.bm-myths-welcome-copy {
  max-width: 32rem;
  margin: 0 auto 2rem;
  color: var(--bm-myths-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-myths-start-button,
.bm-myths-next-button,
.bm-myths-book-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 1rem;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  transition:
    box-shadow 180ms ease,
    transform 180ms ease,
    background-color 180ms ease;
}

.bm-myths-start-button,
.bm-myths-next-button {
  gap: 0.5rem;
  background: linear-gradient(135deg, var(--bm-myths-blue), var(--bm-myths-blue-dark));
  box-shadow: 0 10px 15px -3px rgba(45, 74, 94, 0.25), 0 4px 6px -4px rgba(45, 74, 94, 0.25);
  color: #fff;
  font-weight: 600;
}

.bm-myths-start-button {
  padding: 1rem 2.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.bm-myths-start-button:hover,
.bm-myths-start-button:focus-visible,
.bm-myths-next-button:hover,
.bm-myths-next-button:focus-visible {
  box-shadow: 0 20px 25px -5px rgba(45, 74, 94, 0.22), 0 8px 10px -6px rgba(45, 74, 94, 0.22);
  transform: scale(1.02);
}

.bm-myths-disclaimer {
  display: flex;
  max-width: 32rem;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 2rem auto 0;
  border: 1px solid rgba(45, 74, 94, 0.1);
  border-radius: 1rem;
  background: rgba(229, 231, 242, 0.6);
  padding: 1.25rem;
  text-align: left;
}

.bm-myths-disclaimer p,
.bm-myths-disclaimer div {
  margin: 0;
  color: var(--bm-myths-ink);
  font-size: 0.8125rem;
  line-height: 1.625;
}

.bm-myths-disclaimer strong {
  font-weight: 800;
}

.bm-myths-icon {
  display: inline-block;
  flex: 0 0 auto;
  background: currentColor;
}

.bm-myths-icon-arrow {
  width: 1.125rem;
  height: 1.125rem;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-myths-icon-info {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  color: var(--bm-myths-blue);
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-myths-icon-calendar {
  width: 1.125rem;
  height: 1.125rem;
  -webkit-mask: var(--bm-icon-calendar) center / contain no-repeat;
  mask: var(--bm-icon-calendar) center / contain no-repeat;
}

.bm-myths-icon-phone {
  width: 1rem;
  height: 1rem;
  -webkit-mask: var(--bm-icon-phone) center / contain no-repeat;
  mask: var(--bm-icon-phone) center / contain no-repeat;
}

.bm-myths-icon-check-circle {
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-myths-icon-x-circle {
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask: var(--bm-myths-icon-x-circle) center / contain no-repeat;
  mask: var(--bm-myths-icon-x-circle) center / contain no-repeat;
}

.bm-myths-icon-restart {
  width: 0.875rem;
  height: 0.875rem;
  -webkit-mask: var(--bm-myths-icon-restart) center / contain no-repeat;
  mask: var(--bm-myths-icon-restart) center / contain no-repeat;
}

.bm-myths-restart-bar {
  position: sticky;
  top: var(--bm-header-height);
  z-index: 40;
  margin-block-start: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(14px);
}

.bm-myths-restart-bar > div {
  display: flex;
  max-width: 40rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 auto;
  padding: 0.75rem 1.5rem;
}

.bm-myths-restart-bar span {
  color: var(--bm-myths-blue);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.bm-myths-restart-bar button,
.bm-myths-retake {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border: 0;
  background: transparent;
  color: var(--bm-myths-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0;
  transition: color 160ms ease;
}

.bm-myths-restart-bar button:hover,
.bm-myths-restart-bar button:focus-visible,
.bm-myths-retake:hover,
.bm-myths-retake:focus-visible {
  color: var(--bm-myths-blue);
}

.bm-myths-progress {
  max-width: 28rem;
  margin: 0 auto 2rem;
}

.bm-myths-progress-labels {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.375rem;
}

.bm-myths-progress-labels span {
  color: rgba(45, 74, 94, 0.7);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1rem;
}

.bm-myths-progress-track {
  height: 0.375rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
}

.bm-myths-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(to right, var(--bm-myths-blue), var(--bm-myths-blue-dark));
  transition: width 500ms ease-out;
}

.bm-myths-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0 0 1rem;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.08);
  color: var(--bm-myths-blue);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1rem;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
}

.bm-myths-question-title {
  margin: 0 0 0.375rem;
  color: var(--bm-myths-ink);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.4;
}

.bm-myths-question-help {
  margin: 0 0 1.5rem;
  color: var(--bm-myths-text);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.bm-myths-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.bm-myths-option {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(45, 74, 94, 0.3);
  border-radius: 1rem;
  background: rgba(229, 231, 242, 0.4);
  color: var(--bm-myths-ink);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.625;
  padding: 1rem 1.25rem;
  text-align: left;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    box-shadow 200ms ease,
    color 200ms ease,
    opacity 200ms ease;
}

.bm-myths-option > span:first-child {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: var(--bm-myths-blue);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1;
  transition:
    background-color 200ms ease,
    color 200ms ease;
}

.bm-myths-option > span:nth-child(2) {
  flex: 1 1 auto;
}

.bm-myths-option:not(:disabled):hover,
.bm-myths-option:not(:disabled):focus-visible {
  border-color: var(--bm-myths-blue);
  background: var(--bm-myths-blue);
  box-shadow: 0 4px 6px -1px rgba(45, 74, 94, 0.12), 0 2px 4px -2px rgba(45, 74, 94, 0.12);
  color: #fff;
}

.bm-myths-option:not(:disabled):hover > span:first-child,
.bm-myths-option:not(:disabled):focus-visible > span:first-child {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.bm-myths-option[data-state="correct"],
.bm-myths-option[data-state="highlight-correct"] {
  border-color: #4ade80;
  background: #f0fdf4;
  color: var(--bm-myths-ink);
  cursor: default;
}

.bm-myths-option[data-state="correct"] > span:first-child,
.bm-myths-option[data-state="highlight-correct"] > span:first-child {
  background: var(--bm-myths-green);
  color: #fff;
}

.bm-myths-option[data-state="incorrect"] {
  border-color: #f87171;
  background: #fef2f2;
  color: var(--bm-myths-ink);
  cursor: default;
}

.bm-myths-option[data-state="incorrect"] > span:first-child {
  background: var(--bm-myths-red);
  color: #fff;
}

.bm-myths-option[data-state="dimmed"] {
  border-color: #d1d5db;
  background: #f9fafb;
  color: var(--bm-myths-ink);
  cursor: default;
  opacity: 0.45;
}

.bm-myths-option[data-state="dimmed"] > span:first-child {
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-myths-blue);
}

.bm-myths-feedback {
  margin-top: 1.5rem;
  border: 1px solid;
  border-radius: 1rem;
  padding: 1.25rem;
}

.bm-myths-feedback[data-state="correct"] {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.bm-myths-feedback[data-state="incorrect"] {
  border-color: #fecaca;
  background: #fef2f2;
}

.bm-myths-feedback-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.5;
}

.bm-myths-feedback[data-state="correct"] .bm-myths-feedback-title {
  color: var(--bm-myths-green);
}

.bm-myths-feedback[data-state="incorrect"] .bm-myths-feedback-title {
  color: var(--bm-myths-red);
}

.bm-myths-feedback-copy {
  color: var(--bm-myths-text);
  font-size: 0.875rem;
  line-height: 1.7;
}

.bm-myths-feedback-copy p {
  margin: 0;
}

.bm-myths-source-heading {
  margin-top: 0.75rem !important;
  margin-bottom: 0.25rem !important;
  color: rgba(45, 74, 94, 0.7);
  font-size: 0.75rem !important;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1rem !important;
  text-transform: uppercase;
}

.bm-myths-source a {
  color: var(--bm-myths-blue);
  text-underline-offset: 0.16em;
}

.bm-myths-source a:hover,
.bm-myths-source a:focus-visible {
  color: var(--bm-myths-blue-dark);
}

.bm-myths-next-button {
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.875rem 2rem;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.bm-myths-next-button .bm-myths-icon {
  width: 1rem;
  height: 1rem;
}

.bm-myths-score-ring {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

.bm-myths-score-ring svg {
  width: 8.75rem;
  height: 8.75rem;
  transform: rotate(-90deg);
}

.bm-myths-score-ring circle[data-bm-myths-score-ring] {
  transition: stroke-dashoffset 1.5s ease-out;
}

.bm-myths-score-ring > div {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bm-myths-score-ring span:first-child {
  color: var(--bm-myths-ink);
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
}

.bm-myths-score-ring span:last-child {
  color: var(--bm-myths-text);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
}

.bm-myths-results-title {
  margin: 0 0 0.5rem;
  color: var(--bm-myths-ink);
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 2rem;
}

.bm-myths-results-copy {
  max-width: 28rem;
  margin: 0 auto 2rem;
  color: var(--bm-myths-text);
  font-size: 1rem;
  line-height: 1.625;
}

.bm-myths-cta-stack {
  display: flex;
  max-width: 28rem;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 auto;
}

.bm-myths-book-button {
  gap: 0.5rem;
  background: var(--bm-myths-gold);
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.14), 0 4px 6px -4px rgba(15, 23, 42, 0.14);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 1rem 2rem;
}

.bm-myths-book-button:hover,
.bm-myths-book-button:focus-visible {
  background: #b08832;
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.16), 0 8px 10px -6px rgba(15, 23, 42, 0.16);
  transform: translateY(-0.125rem);
}

.bm-myths-phone-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.bm-myths-phone-grid a {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 2px solid rgba(45, 74, 94, 0.2);
  border-radius: 1rem;
  color: var(--bm-myths-blue);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
  padding: 0.875rem 1.25rem;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    border-color 160ms ease;
}

.bm-myths-phone-grid a:hover,
.bm-myths-phone-grid a:focus-visible {
  border-color: rgba(45, 74, 94, 0.3);
  background: rgba(45, 74, 94, 0.05);
}

.bm-myths-retake {
  margin: 1.5rem auto 0;
}

@media (min-width: 640px) {
  .bm-myths-quiz-main {
    padding: 3rem 1.5rem;
  }

  .bm-myths-welcome-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .bm-myths-welcome-copy {
    font-size: 1.125rem;
  }

  .bm-myths-question-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .bm-myths-results-title {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .bm-myths-phone-grid {
    flex-direction: row;
  }
}

/* Runners massage page */
.bm-runners-page {
  --bm-runners-blue: #2d4a5e;
  --bm-runners-blue-dark: #1f3544;
  --bm-runners-gold: #c5993a;
  --bm-runners-soft: #e5e7f2;
  --bm-runners-gray: #f9fafb;
  --bm-runners-ink: #111827;
  --bm-runners-text: #4b5563;
  --bm-runners-muted: #6b7280;
  --bm-runners-shadow:
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 2px 8px rgba(0, 0, 0, 0.06);
  --bm-runners-shadow-hover:
    0 18px 36px rgba(0, 0, 0, 0.16),
    0 6px 14px rgba(0, 0, 0, 0.08);
  --bm-icon-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 8 2a6 6 0 0 0 4-1v11a6 6 0 0 1-4 1c-3 0-5-2-8-2a6 6 0 0 0-4 1'/%3E%3C/svg%3E");
  --bm-icon-heart-pulse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3Cpath d='M3.22 12H9.5l.8-1.5 2.2 5 1.8-3.5h6.5'/%3E%3C/svg%3E");
  --bm-icon-settings: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --bm-icon-shield-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");
  overflow-x: hidden;
}

.bm-runners-page :where(h1, h2, h3, p, figure, blockquote, ul) {
  margin-top: 0;
}

.bm-runners-page p {
  line-height: 1.625;
}

.bm-runners-page a {
  color: var(--bm-runners-blue);
  text-underline-offset: 0.16em;
}

.bm-runners-page a:hover,
.bm-runners-page a:focus-visible {
  color: var(--bm-runners-blue-dark);
}

.bm-runners-hero {
  display: grid;
  min-height: 540px;
  margin-block-start: 0;
  background: var(--bm-runners-blue);
}

.bm-runners-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--bm-runners-blue);
  padding: 4rem 1.5rem;
}

.bm-runners-badge {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.35;
  padding: 0.5rem 1.25rem;
  text-transform: uppercase;
}

.bm-runners-badge::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: #fbbf24;
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-runners-hero h1 {
  max-width: 34rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

.bm-runners-hero p:not(.bm-runners-badge) {
  max-width: 32rem;
  margin-bottom: 2.5rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.125rem;
  line-height: 1.625;
}

.bm-runners-hero .wp-block-buttons,
.bm-runners-hero .wp-block-button {
  margin: 0;
}

.bm-runners-hero .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-runners-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.16), 0 4px 6px -4px rgba(15, 23, 42, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}

.bm-runners-hero .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-runners-hero .wp-block-button__link:hover,
.bm-runners-hero .wp-block-button__link:focus-visible {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.18), 0 8px 10px -6px rgba(15, 23, 42, 0.18);
  transform: translateY(-0.125rem);
}

.bm-runners-hero-image {
  position: relative;
  height: 16rem;
  margin: 0;
  overflow: hidden;
}

.bm-runners-hero-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.bm-runners-section {
  margin-block-start: 0;
  padding: 4rem 0;
}

.bm-runners-section.is-soft {
  background: var(--bm-runners-soft);
}

.bm-runners-section.is-gray {
  background: var(--bm-runners-gray);
}

.bm-runners-section.is-blue {
  background: var(--bm-runners-blue);
}

.bm-runners-intro {
  padding-bottom: calc(4rem + 2.125rem);
}

.bm-runners-cloud {
  padding-bottom: calc(4rem + 2.25rem);
}

.bm-runners-inner {
  box-sizing: border-box;
  max-width: 80rem;
  margin: 0 auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

.bm-runners-narrow {
  max-width: 52rem;
  margin: 0 auto;
}

.bm-runners-medium {
  max-width: 64rem;
  margin: 0 auto;
}

.bm-runners-section-heading {
  max-width: 56rem;
  margin: 0 auto 3rem;
  text-align: center;
}

.bm-runners-section-heading > :where(p, h2, h3) {
  margin-bottom: 0;
}

.bm-runners-section-heading > :where(p, h2, h3):not(:first-child) {
  margin-top: 1rem;
}

.bm-runners-eyebrow {
  margin-bottom: 1rem;
  color: var(--bm-runners-blue);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-transform: uppercase;
}

.bm-runners-eyebrow.is-gold {
  color: var(--bm-runners-gold);
}

.bm-runners-section.is-blue .bm-runners-section-heading h2 {
  color: #fff;
}

.bm-runners-section.is-blue .bm-runners-eyebrow {
  color: var(--bm-runners-gold);
}

.bm-runners-section-heading h2,
.bm-runners-section-heading h3 {
  color: var(--bm-runners-ink);
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
}

.bm-runners-narrow > :where(p, ul, .wp-block-group, .wp-block-quote, .wp-block-image) {
  margin-bottom: 1.5rem;
}

.bm-runners-narrow > :where(p, ul, .wp-block-group, .wp-block-quote, .wp-block-image):last-child {
  margin-bottom: 0;
}

.bm-runners-narrow p,
.bm-runners-narrow li {
  color: var(--bm-runners-text);
}

.bm-runners-link-gold a,
.bm-runners-narrow a,
.bm-runners-faq-list a {
  color: var(--bm-runners-blue);
  font-weight: 500;
  text-decoration-color: var(--bm-runners-gold);
  text-decoration-line: underline;
  text-underline-offset: 0.16em;
}

.bm-runners-link-gold a:hover,
.bm-runners-narrow a:hover,
.bm-runners-faq-list a:hover {
  color: var(--bm-runners-gold);
}

.bm-runners-notice {
  border: 2px solid var(--bm-runners-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-runners-notice > :where(p, ul) {
  margin-bottom: 0;
}

.bm-runners-notice > :where(p, ul):not(:first-child) {
  margin-top: 1rem;
}

.bm-runners-notice p {
  color: var(--bm-runners-ink);
  font-weight: 700;
}

.bm-runners-bullet-list {
  display: grid;
  gap: 0.5rem;
  padding-left: 0;
}

.bm-runners-bullet-list li {
  position: relative;
  list-style: none;
  padding-left: 1.1rem;
}

.bm-runners-bullet-list li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: var(--bm-runners-gold);
  content: "";
}

.bm-runners-word-cloud {
  display: flex;
  max-width: 64rem;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
}

.bm-runners-word-cloud p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
  line-height: 1.15;
  transition:
    color 200ms ease,
    transform 200ms ease;
}

.bm-runners-word-cloud p:hover {
  color: var(--bm-runners-gold);
  transform: scale(1.05);
}

.bm-runner-word-3xl {
  font-size: 1.5rem;
}

.bm-runner-word-2xl {
  font-size: 1.25rem;
}

.bm-runner-word-xl {
  font-size: 1.125rem;
}

.bm-runner-word-lg {
  font-size: 1rem;
}

.bm-runner-word-base {
  font-size: 0.875rem;
}

.bm-runner-word-italic {
  font-style: italic;
}

.bm-runners-image-grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.bm-runners-image-grid figure {
  overflow: hidden;
  margin: 0;
  border-radius: 0.75rem;
  box-shadow: var(--bm-runners-shadow);
}

.bm-runners-image-grid img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bm-runners-quote {
  margin: 2rem 0;
  border-left: 4px solid var(--bm-runners-blue);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 1rem;
}

.bm-runners-quote p {
  margin: 0;
  color: var(--bm-runners-text);
  font-size: 0.90625rem;
  font-style: italic;
  line-height: 1.7334;
}

.bm-runners-timeline-label {
  margin-bottom: 1.5rem;
  color: var(--bm-runners-gold);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.bm-runners-timeline {
  position: relative;
  display: flex;
  margin-bottom: 2rem;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.bm-runners-timeline-items {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.bm-runners-timeline-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bm-runners-timeline-icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 0.5rem;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 999px;
  background: var(--bm-runners-blue);
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.16), 0 4px 6px -4px rgba(15, 23, 42, 0.16);
}

.bm-runners-timeline-icon::before,
.bm-runners-card-icon::before {
  content: "";
  display: block;
  background: currentColor;
}

.bm-runners-timeline-icon::before {
  width: 1.5rem;
  height: 1.5rem;
  color: #fff;
  -webkit-mask: var(--bm-icon-clock) center / contain no-repeat;
  mask: var(--bm-icon-clock) center / contain no-repeat;
}

.bm-runners-timeline-icon.is-flag {
  background: var(--bm-runners-gold);
}

.bm-runners-timeline-icon.is-flag::before {
  -webkit-mask-image: var(--bm-icon-flag);
  mask-image: var(--bm-icon-flag);
}

.bm-runners-timeline-icon.is-heart::before {
  -webkit-mask-image: var(--bm-icon-heart-pulse);
  mask-image: var(--bm-icon-heart-pulse);
}

.bm-runners-timeline-item h3 {
  margin-bottom: 0.1rem;
  color: var(--bm-runners-ink);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.4;
}

.bm-runners-timeline-item p {
  margin: 0;
  color: var(--bm-runners-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.bm-runners-card-grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 4rem;
}

.bm-runners-frequency-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.bm-runners-info-card,
.bm-runners-frequency-card,
.bm-runners-benefit-card {
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}

.bm-runners-info-card,
.bm-runners-frequency-card {
  padding: 1.25rem;
}

.bm-runners-info-card:hover,
.bm-runners-info-card:focus-within,
.bm-runners-frequency-card:hover,
.bm-runners-frequency-card:focus-within,
.bm-runners-benefit-card:hover,
.bm-runners-benefit-card:focus-within {
  border-color: var(--bm-runners-blue);
  box-shadow: var(--bm-runners-shadow-hover);
  transform: translateY(-0.25rem);
}

.bm-runners-card-icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 0.75rem;
  place-items: center;
  border-radius: 0.5rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-runners-blue);
}

.bm-runners-card-icon::before {
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask: var(--bm-icon-clock) center / contain no-repeat;
  mask: var(--bm-icon-clock) center / contain no-repeat;
}

.bm-runners-card-icon.is-heart::before {
  -webkit-mask-image: var(--bm-icon-heart-pulse);
  mask-image: var(--bm-icon-heart-pulse);
}

.bm-runners-card-icon.is-alert {
  background: #fef2f2;
  color: #ef4444;
}

.bm-runners-card-icon.is-alert::before {
  -webkit-mask-image: var(--bm-icon-shield-alert);
  mask-image: var(--bm-icon-shield-alert);
}

.bm-runners-info-card h3 {
  margin-bottom: 0.25rem;
  color: var(--bm-runners-ink);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
}

.bm-runners-card-kicker {
  margin-bottom: 0.75rem;
  color: var(--bm-runners-gold);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
}

.bm-runners-info-card p:not(.bm-runners-card-kicker) {
  margin-bottom: 0;
  color: var(--bm-runners-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-runners-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.bm-runners-chip {
  border-radius: 999px;
  background: var(--bm-runners-soft);
  color: var(--bm-runners-blue);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1rem;
  padding: 0.25rem 0.75rem;
}

.bm-runners-chip.is-gold {
  background: rgba(197, 153, 58, 0.15);
  color: #9a7a2e;
}

.bm-runners-frequency-subtitle {
  margin-bottom: 0.5rem;
  color: var(--bm-runners-gold);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.bm-runners-frequency-heading {
  margin-bottom: 2rem;
  color: var(--bm-runners-ink);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}

.bm-runners-frequency-card {
  position: relative;
  text-align: center;
}

.bm-runners-frequency-card.is-minimum {
  border-color: var(--bm-runners-gold);
  background: linear-gradient(to bottom, #fffdf5, #fff);
}

.bm-runners-minimum-label {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 0.625rem 0 0.75rem;
  background: var(--bm-runners-gold);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1rem;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
}

.bm-runners-pips {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

.bm-runners-pip {
  width: 1.5rem;
  height: 0.375rem;
  margin: 0;
  border-radius: 999px;
  background: #e5e7eb;
}

.bm-runners-pip.is-filled {
  background: var(--bm-runners-gold);
}

.bm-runners-frequency-card h3 {
  margin-bottom: 0;
  color: var(--bm-runners-blue);
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1;
}

.bm-runners-frequency-card .bm-runners-card-kicker {
  margin-bottom: 0.75rem;
}

.bm-runners-frequency-card p:not(.bm-runners-card-kicker) {
  margin-bottom: 0;
  color: var(--bm-runners-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.bm-runners-frequency-title {
  margin-bottom: 0.25rem !important;
  color: var(--bm-runners-ink) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

.bm-runners-benefit-grid {
  display: grid;
  gap: 0.75rem;
}

.bm-runners-benefit-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
}

.bm-runners-benefit-number {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0.125rem 0 0;
  border-radius: 999px;
  background: var(--bm-runners-blue);
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
}

.bm-runners-benefit-card p:not(.bm-runners-benefit-number) {
  margin: 0;
  color: var(--bm-runners-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-runners-note {
  border: 2px solid var(--bm-runners-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-runners-note p {
  margin: 0;
  color: var(--bm-runners-ink);
  font-weight: 700;
}

.bm-runners-faq-list {
  display: grid;
  gap: 1rem;
}

.bm-runners-faq-list .wp-block-details {
  overflow: hidden;
  margin: 0;
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  transition: border-color 160ms ease;
}

.bm-runners-faq-list .wp-block-details[open] {
  border-color: var(--bm-runners-blue);
}

.bm-runners-faq-list summary {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: 5rem;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 3.5rem 1.25rem 5rem;
  color: var(--bm-runners-ink);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.5;
  list-style: none;
}

.bm-runners-faq-list summary::-webkit-details-marker {
  display: none;
}

.bm-runners-faq-list summary::before,
.bm-runners-faq-list summary::after {
  position: absolute;
  content: "";
}

.bm-runners-faq-list summary::before {
  top: 50%;
  left: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background-color: rgba(45, 74, 94, 0.1);
  background-image: var(--bm-icon-settings);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transform: translateY(-50%);
}

.bm-runners-faq-list summary::after {
  top: 50%;
  right: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--bm-runners-blue);
  -webkit-mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  mask: var(--bm-icon-chevron-down) center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 160ms ease;
}

.bm-runners-faq-list .wp-block-details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

.bm-runners-faq-list .wp-block-details > :where(p, ul) {
  margin: 0;
  padding: 0 1.25rem 1.25rem 5rem;
  color: var(--bm-runners-text);
  line-height: 1.625;
}

.bm-runners-faq-list .wp-block-details > ul {
  display: grid;
  gap: 0.25rem;
  padding-left: 6.25rem;
}

.bm-runners-page .bm-location-card .wp-block-shortcode {
  margin: 0;
}

.bm-runners-page .bm-location-card .bm-space-map {
  position: relative;
  height: 14rem;
  min-height: 14rem;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #e5e7eb;
  box-shadow: none;
}

.bm-runners-page .bm-location-card .bm-space-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.35);
  transition: filter 300ms ease;
}

.bm-runners-page .bm-location-card:hover .bm-space-map iframe,
.bm-runners-page .bm-location-card:focus-within .bm-space-map iframe {
  filter: grayscale(0);
}

.bm-runners-page .bm-location-card .bm-space-map-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
  color: var(--bm-runners-blue);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.45rem 0.75rem;
  text-decoration: none;
}

.bm-runners-page .bm-location-card .bm-space-map-link::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-external-link) center / contain no-repeat;
  mask: var(--bm-icon-external-link) center / contain no-repeat;
}

.bm-runners-page .bm-location-card .bm-location-detail {
  margin: 0.75rem 0 0;
}

.bm-runners-page .bm-location-card .bm-location-address {
  margin-top: 1rem;
}

.bm-runners-page .bm-location-card .bm-location-detail .wp-block-button__link {
  background: transparent !important;
  color: var(--bm-runners-text) !important;
  font-weight: 400;
  line-height: 1.7;
  padding: 0 !important;
  text-align: left;
}

.bm-runners-page .bm-location-card .bm-card-body > .wp-block-buttons:last-child {
  margin-top: 1.5rem;
}

.bm-runners-page .bm-location-card .bm-card-body > .wp-block-buttons:last-child .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.75rem 1.5rem !important;
  white-space: nowrap;
}

.bm-runners-contact .bm-contact-grid {
  max-width: 56rem;
  margin-right: auto;
  margin-left: auto;
}

.bm-runners-featured {
  margin-top: 3rem;
  text-align: center;
}

.bm-runners-featured > :where(p) {
  margin-bottom: 0;
}

.bm-runners-featured > :where(p):not(:first-child) {
  margin-top: 0.25rem;
}

.bm-runners-featured .bm-runners-featured-eyebrow {
  color: #9ca3af;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-runners-featured .bm-runners-featured-name {
  color: var(--bm-runners-ink);
  font-size: 1.125rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1.75rem;
}

.bm-runners-featured .bm-runners-featured-link {
  color: var(--bm-runners-blue);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.bm-runners-page .bm-testimonials-quote {
  line-height: 1.625;
}

@media (min-width: 640px) {
  .bm-runners-image-grid,
  .bm-runners-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-runners-timeline::before {
    position: absolute;
    top: 1.75rem;
    left: 50%;
    z-index: 0;
    display: block;
    width: 60%;
    height: 0.25rem;
    border-radius: 999px;
    background: linear-gradient(to right, var(--bm-runners-blue), var(--bm-runners-gold), var(--bm-runners-blue));
    content: "";
    transform: translateX(-50%);
  }

  .bm-runners-timeline-items {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }

  .bm-runners-timeline-item {
    width: 33.333%;
  }

  .bm-runners-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-runners-section {
    padding: 6rem 0;
  }

  .bm-runners-intro {
    padding-bottom: calc(6rem + 2.35rem);
  }

  .bm-runners-cloud {
    padding-bottom: calc(6rem + 1.125rem);
  }

  .bm-runners-card-grid {
    margin-bottom: 2.125rem;
  }

  .bm-runners-role {
    padding-bottom: calc(6rem + 1.5rem);
  }

  .bm-runners-faq {
    padding-bottom: calc(6rem + 0.875rem);
  }

  .bm-runners-locations {
    padding-bottom: calc(6rem + 1.25rem);
  }

  .bm-runners-contact {
    padding-bottom: calc(6rem + 2.375rem);
  }

  .bm-runners-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-runners-hero-copy {
    padding-right: 3rem;
    padding-left: 3rem;
  }

  .bm-runners-hero h1 {
    font-size: 3rem;
    line-height: 1;
  }

  .bm-runners-section-heading h2 {
    font-size: 2.25rem;
  }

  .bm-runner-word-3xl {
    font-size: 1.875rem;
  }

  .bm-runner-word-2xl {
    font-size: 1.5rem;
  }

  .bm-runner-word-xl {
    font-size: 1.25rem;
  }

  .bm-runner-word-lg {
    font-size: 1.125rem;
  }

  .bm-runner-word-base {
    font-size: 1rem;
  }

  .bm-runners-frequency-heading {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

@media (min-width: 1024px) {
  .bm-runners-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-runners-hero-copy {
    min-height: 540px;
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .bm-runners-hero h1 {
    font-size: 3.25rem;
  }

  .bm-runners-hero-image {
    height: auto;
    min-height: 540px;
  }

  .bm-runners-frequency-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .bm-runners-hero-copy {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  .bm-runners-hero h1 {
    font-size: 3.5rem;
  }
}

@media (max-width: 639px) {
  .bm-runners-frequency-grid {
    gap: 1rem;
  }

  .bm-runners-info-card,
  .bm-runners-frequency-card,
  .bm-runners-benefit-card {
    transform: none !important;
  }

  .bm-runners-page .bm-location-card .bm-card-body h3 {
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .bm-runners-page .bm-location-card .bm-location-detail {
    font-size: 0.875rem;
    line-height: 1.25;
  }

  .bm-runners-page .bm-location-card .bm-location-detail::before {
    margin-top: 0.125rem;
  }

  .bm-runners-page .bm-location-card .bm-location-detail .wp-block-button__link {
    font-size: 0.875rem;
    line-height: 1.25;
  }

  .bm-runners-faq-list summary {
    min-height: 5rem;
    padding: 1.25rem 3.5rem 1.25rem 5rem;
  }

  .bm-runners-faq-list summary::before {
    left: 1.25rem;
    width: 2.5rem;
    height: 2.5rem;
  }

  .bm-runners-faq-list summary::after {
    right: 1.25rem;
  }

  .bm-runners-faq-list .wp-block-details > :where(p, ul) {
    padding-left: 5rem;
  }

  .bm-runners-faq-list .wp-block-details > ul {
    padding-left: 6.25rem;
  }
}

/* Pre-event and post-event massage page */
.bm-pre-event-page {
  --bm-icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.bm-pre-event-page .bm-runners-hero h1 {
  max-width: 38rem;
}

.bm-pre-event-intro {
  padding-bottom: calc(4rem + 1.9375rem);
}

.bm-pre-event-before {
  padding-bottom: calc(4rem + 1.75rem);
}

.bm-pre-event-after {
  padding-bottom: calc(4rem + 2.1875rem);
}

.bm-pre-event-page .bm-runners-frequency {
  padding-bottom: 3.125rem;
}

.bm-pre-event-why {
  padding-bottom: calc(4rem + 1.5rem);
}

.bm-pre-event-faq {
  padding-bottom: calc(4rem + 1.1875rem);
}

.bm-pre-event-page .bm-runners-locations {
  padding-bottom: calc(4rem + 0.625rem);
}

.bm-pre-event-page .bm-runners-contact {
  padding-bottom: calc(4rem + 0.875rem);
}

.bm-pre-event-check-grid {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.bm-pre-event-check-grid.is-stacked {
  grid-template-columns: 1fr;
  gap: 1rem;
}

.bm-pre-event-check-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
  padding: 1rem;
}

.bm-pre-event-check-grid.is-stacked .bm-pre-event-check-card {
  padding: 1.25rem;
}

.bm-pre-event-check-card::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  background: var(--bm-runners-gold);
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-pre-event-check-card > .wp-block-group {
  margin: 0;
}

.bm-pre-event-check-card h4 {
  margin: 0;
  color: var(--bm-runners-ink);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.45;
}

.bm-pre-event-check-grid.is-stacked .bm-pre-event-check-card h4 {
  font-size: 1rem;
}

.bm-pre-event-check-card p {
  margin: 0.25rem 0 0;
  color: var(--bm-runners-text);
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-pre-event-page .bm-runners-notice h4 {
  margin: 0 0 1rem;
  color: var(--bm-runners-ink);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.5556;
}

.bm-pre-event-page .bm-runners-notice p {
  color: var(--bm-runners-text);
  font-weight: 400;
}

.bm-pre-event-page .bm-runners-notice p:not(:last-child) {
  margin-bottom: 1rem;
}

.bm-pre-event-page .bm-runners-card-icon.is-users::before {
  -webkit-mask-image: var(--bm-icon-users);
  mask-image: var(--bm-icon-users);
}

.bm-pre-event-page .bm-runners-card-icon.is-heart::before {
  -webkit-mask-image: var(--bm-icon-heart);
  mask-image: var(--bm-icon-heart);
}

.bm-pre-event-cta {
  margin-block-start: 0;
  background: var(--bm-runners-blue);
  padding: 3.5rem 0;
  text-align: center;
}

.bm-pre-event-cta .bm-runners-inner {
  max-width: 48rem;
}

.bm-pre-event-cta h2 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.3334;
}

.bm-pre-event-cta p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-pre-event-cta a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.bm-pre-event-cta .wp-block-buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 0;
}

.bm-pre-event-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 0.875rem 2rem;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}

.bm-pre-event-cta .wp-block-button:first-child .wp-block-button__link {
  background: var(--bm-runners-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.16), 0 4px 6px -4px rgba(15, 23, 42, 0.16);
  color: #fff !important;
}

.bm-pre-event-cta .wp-block-button:first-child .wp-block-button__link:hover,
.bm-pre-event-cta .wp-block-button:first-child .wp-block-button__link:focus-visible {
  background: #b08832 !important;
}

.bm-pre-event-cta .wp-block-button:last-child .wp-block-button__link {
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: transparent !important;
  color: #fff !important;
}

.bm-pre-event-cta .wp-block-button:last-child .wp-block-button__link:hover,
.bm-pre-event-cta .wp-block-button:last-child .wp-block-button__link:focus-visible {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1) !important;
}

.bm-pre-event-cta .wp-block-button__link:hover,
.bm-pre-event-cta .wp-block-button__link:focus-visible {
  box-shadow: var(--bm-runners-shadow-hover);
  transform: translateY(-0.125rem);
}

@media (min-width: 640px) {
  .bm-pre-event-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-pre-event-intro {
    padding-bottom: calc(6rem + 1.9375rem);
  }

  .bm-pre-event-before {
    padding-bottom: calc(6rem + 1.75rem);
  }

  .bm-pre-event-after {
    padding-bottom: calc(6rem + 1.9375rem);
  }

  .bm-pre-event-page .bm-runners-frequency {
    padding-bottom: calc(6rem + 6.1875rem);
  }

  .bm-pre-event-why {
    padding-bottom: calc(6rem + 1.1875rem);
  }

  .bm-pre-event-faq {
    padding-bottom: calc(6rem + 1.0625rem);
  }

  .bm-pre-event-page .bm-runners-locations {
    padding-bottom: calc(6rem + 0.25rem);
  }

  .bm-pre-event-page .bm-runners-contact {
    padding-bottom: calc(6rem + 2.375rem);
  }

  .bm-pre-event-cta h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

@media (max-width: 639px) {
  .bm-pre-event-cta .wp-block-buttons {
    align-items: center;
    flex-direction: column;
  }
}

/* Benefits of massage page */
.bm-benefits-page {
  --bm-benefits-blue-deep: #1e3a5f;
  --bm-benefits-blue-mid: #5c8eaf;
  --bm-benefits-blue-light: #9ecbd8;
}

.bm-benefits-page .bm-runners-hero h1 {
  max-width: 42rem;
  margin-bottom: 1.5rem !important;
  line-height: 1.25;
}

.bm-benefits-page .bm-runners-narrow > h2.wp-block-heading {
  margin-bottom: 1.5rem !important;
  line-height: 1.25;
}

.bm-benefits-intro {
  padding-bottom: 4rem;
}

.bm-benefits-list {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.bm-benefits-list-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
  padding: 1rem;
}

.bm-benefits-list-number {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin-top: 0.125rem;
  border-radius: 999px;
  background: var(--bm-runners-blue);
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
}

.bm-benefits-list-card p:not(.bm-benefits-list-number) {
  margin: 0;
  color: var(--bm-runners-text);
  line-height: 1.625;
}

.bm-benefits-venn {
  overflow: hidden;
  margin-bottom: 2rem !important;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
}

.bm-benefits-venn-header {
  border-bottom: 1px solid #f3f4f6;
  background: var(--bm-runners-blue);
  padding: 1rem 1.5rem;
  text-align: center;
}

.bm-benefits-venn-header h3 {
  margin: 0;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.4;
}

.bm-benefits-venn-header p {
  margin: 0.25rem 0 0;
  color: #fcd34d;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.45;
}

.bm-benefits-venn-body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.5rem;
}

.bm-benefits-venn-visual-wrap {
  width: min(100%, 22.5rem);
  flex: 0 0 auto;
  margin: 0 auto;
}

.bm-benefits-venn-visual {
  position: relative;
  aspect-ratio: 400 / 380;
}

.bm-benefits-venn-circle {
  position: absolute;
  width: 60%;
  aspect-ratio: 1;
  border-radius: 999px;
  color: #000;
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.bm-benefits-venn-circle p {
  position: absolute;
  width: 7rem;
  margin: 0;
  color: inherit;
  line-height: inherit;
}

.bm-benefits-venn-circle.is-biological {
  top: 7.9%;
  left: 6.25%;
  background: rgba(30, 58, 95, 0.65);
}

.bm-benefits-venn-circle.is-biological p {
  top: 48.5%;
  left: 29.2%;
  transform: translate(-50%, -50%);
}

.bm-benefits-venn-circle.is-psychological {
  top: 7.9%;
  right: 6.25%;
  background: rgba(92, 142, 175, 0.65);
}

.bm-benefits-venn-circle.is-psychological p {
  top: 48.5%;
  left: 70.8%;
  transform: translate(-50%, -50%);
}

.bm-benefits-venn-circle.is-social {
  right: 20%;
  bottom: 2.6%;
  background: rgba(158, 203, 216, 0.65);
}

.bm-benefits-venn-circle.is-social p {
  top: 70.4%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.bm-benefits-venn-center {
  position: absolute;
  top: 47.25%;
  left: 50%;
  margin: 0;
  color: var(--bm-runners-blue);
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.bm-benefits-venn-hint {
  margin: 0.5rem 0 0;
  color: #9ca3af;
  font-size: 0.75rem;
  line-height: 1.35;
  text-align: center;
}

.bm-benefits-venn-info {
  flex: 1 1 auto;
}

.bm-benefits-venn-info > p {
  margin: 0 0 1rem;
  color: var(--bm-runners-text);
  line-height: 1.625;
}

.bm-benefits-factor-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.bm-benefits-factor-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.bm-benefits-factor-dot {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin-top: 0.25rem;
  place-items: center;
  border-radius: 999px;
}

.bm-benefits-factor-dot::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: #fff;
}

.bm-benefits-factor-dot.is-social {
  background: var(--bm-benefits-blue-light);
}

.bm-benefits-factor-dot.is-psychological {
  background: var(--bm-benefits-blue-mid);
}

.bm-benefits-factor-dot.is-biological {
  background: var(--bm-benefits-blue-deep);
}

.bm-benefits-factor-row p {
  margin: 0;
  color: var(--bm-runners-text);
  line-height: 1.5;
}

.bm-benefits-factor-row strong {
  color: var(--bm-runners-blue);
}

.bm-benefits-factor-row em {
  display: block;
  margin-top: 0.25rem;
  color: var(--bm-runners-gold);
  font-size: 0.875rem;
  line-height: 1.45;
}

.bm-benefits-quote {
  margin-bottom: 1.5rem;
  border-left: 4px solid var(--bm-runners-blue);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  padding: 1.25rem;
}

.bm-benefits-quote p {
  margin: 0;
  color: var(--bm-runners-text);
  font-style: italic;
  line-height: 1.625;
}

.bm-benefits-law-card {
  overflow: hidden;
  margin-bottom: 2rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
}

.bm-benefits-law-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid #e5e7eb;
  background: #fdfaf3;
  padding: 0.75rem 1.25rem;
}

.bm-benefits-law-icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: rgba(197, 153, 58, 0.16);
  color: var(--bm-runners-gold);
}

.bm-benefits-law-icon::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: var(--bm-icon-shield) center / contain no-repeat;
  mask: var(--bm-icon-shield) center / contain no-repeat;
}

.bm-benefits-law-header p {
  margin: 0;
}

.bm-benefits-law-header p:first-child {
  color: var(--bm-runners-gold);
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1.4;
  text-transform: uppercase;
}

.bm-benefits-law-header p:last-child {
  color: var(--bm-runners-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.bm-benefits-law-body {
  border-left: 4px solid var(--bm-runners-gold);
  padding: 1rem 1.25rem;
}

.bm-benefits-law-body p {
  color: #374151;
  line-height: 1.625;
}

.bm-benefits-law-body p:not(:last-child) {
  margin-bottom: 0.75rem;
}

.bm-benefits-law-body p:last-child {
  color: var(--bm-runners-text);
  font-size: 0.875rem;
}

.bm-benefits-infographic {
  display: flex;
  justify-content: center;
  margin: 0;
  overflow: hidden;
}

.bm-benefits-infographic img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 10%, #000 90%, transparent 100%);
}

.bm-benefits-cloud .bm-runners-section-heading {
  margin-bottom: 3rem;
}

.bm-benefits-cloud .bm-runners-section-heading p {
  max-width: 48rem;
  margin: 1rem auto 0;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-benefits-word-cloud {
  display: flex;
  max-width: 64rem;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.5rem;
}

.bm-benefits-word-cloud p,
.bm-benefits-word-cloud a {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
  transition:
    color 200ms ease,
    transform 200ms ease;
}

.bm-benefits-word-cloud a:hover,
.bm-benefits-word-cloud a:focus-visible {
  color: var(--bm-runners-gold);
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .bm-benefits-intro {
    padding-bottom: 6rem;
  }

  .bm-benefits-venn-body {
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
    padding: 2rem;
  }

  .bm-benefits-venn-header h3 {
    font-size: 1.5rem;
  }
}

@media (max-width: 639px) {
  .bm-benefits-venn-body {
    padding: 1.5rem;
  }

  .bm-benefits-venn-circle {
    font-size: 0.8125rem;
  }
}

/* NYS massage page */
.bm-nys-page {
  --bm-icon-graduation-cap: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.42%2010.922a1%201%200%200%200-.019-1.838L12.83%205.18a2%202%200%200%200-1.66%200L2.6%209.08a1%201%200%200%200%200%201.832l8.57%203.908a2%202%200%200%200%201.66%200z%22%2F%3E%3Cpath%20d%3D%22M22%2010v6%22%2F%3E%3Cpath%20d%3D%22M6%2012.5V16a6%203%200%200%200%2012%200v-3.5%22%2F%3E%3C%2Fsvg%3E");
  --bm-icon-book-open: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%207v14%22%2F%3E%3Cpath%20d%3D%22M3%2018a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1h5a4%204%200%200%201%204%204%204%204%200%200%201%204-4h5a1%201%200%200%201%201%201v13a1%201%200%200%201-1%201h-6a3%203%200%200%200-3%203%203%203%200%200%200-3-3z%22%2F%3E%3C%2Fsvg%3E");
  --bm-icon-user-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22m16%2011%202%202%204-4%22%2F%3E%3C%2Fsvg%3E");
}

.bm-nys-page .bm-runners-hero h1 {
  max-width: 42rem;
  margin-bottom: 1.5rem !important;
  line-height: 1.25;
}

.bm-nys-page .bm-runners-hero p:not(.bm-runners-badge) {
  max-width: 32rem;
}

.bm-nys-intro .bm-runners-narrow {
  text-align: left;
}

.bm-nys-intro .bm-runners-eyebrow {
  margin-bottom: 1rem !important;
  text-align: center;
}

.bm-nys-intro h2 {
  margin-bottom: 2rem;
  color: var(--bm-runners-ink);
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.bm-nys-intro .bm-runners-narrow > p:not(.bm-runners-eyebrow) {
  margin-bottom: 1.5rem;
}

.bm-nys-intro .bm-runners-narrow > p:not(.bm-runners-eyebrow):last-child {
  margin-bottom: 0;
}

.bm-nys-section .bm-runners-narrow > :where(p, h3, .wp-block-group) {
  margin-bottom: 0;
}

.bm-nys-section .bm-runners-narrow > :where(p, h3, .wp-block-group):not(:first-child) {
  margin-top: 2rem;
}

.bm-nys-section .bm-runners-narrow > h3 {
  color: var(--bm-runners-ink);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.35;
}

.bm-nys-section-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem !important;
}

.bm-nys-section-heading h2 {
  margin: 0;
  color: var(--bm-runners-ink);
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-nys-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 0.75rem;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-runners-blue);
}

.bm-nys-icon::before,
.bm-nys-check-icon::before,
.bm-nys-shield-icon::before {
  content: "";
  display: block;
  background: currentColor;
}

.bm-nys-icon::before {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask: var(--bm-icon-graduation-cap) center / contain no-repeat;
  mask: var(--bm-icon-graduation-cap) center / contain no-repeat;
}

.bm-nys-icon.is-book::before {
  -webkit-mask-image: var(--bm-icon-book-open);
  mask-image: var(--bm-icon-book-open);
}

.bm-nys-icon.is-shield::before,
.bm-nys-shield-icon::before {
  -webkit-mask-image: var(--bm-icon-shield);
  mask-image: var(--bm-icon-shield);
}

.bm-nys-icon.is-heart::before {
  -webkit-mask-image: var(--bm-icon-heart);
  mask-image: var(--bm-icon-heart);
}

.bm-nys-icon.is-user-check::before {
  -webkit-mask-image: var(--bm-icon-user-check);
  mask-image: var(--bm-icon-user-check);
}

.bm-nys-card-list {
  display: grid;
  gap: 1rem;
}

.bm-nys-check-card,
.bm-nys-number-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
  padding: 1.25rem;
}

.bm-nys-check-card p,
.bm-nys-number-row p,
.bm-nys-inline-row p,
.bm-nys-help-card p {
  margin: 0;
  color: var(--bm-runners-text);
  line-height: 1.625;
}

.bm-nys-check-icon,
.bm-nys-shield-icon {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  margin-top: 0.125rem;
  place-items: center;
  color: var(--bm-runners-gold);
}

.bm-nys-check-icon::before,
.bm-nys-shield-icon::before {
  width: 1.25rem;
  height: 1.25rem;
  -webkit-mask: var(--bm-icon-check-circle) center / contain no-repeat;
  mask: var(--bm-icon-check-circle) center / contain no-repeat;
}

.bm-nys-shield-icon {
  color: var(--bm-runners-blue);
}

.bm-nys-note {
  margin-top: 2.5rem !important;
  border: 2px solid var(--bm-runners-blue);
  border-radius: 0.75rem;
  background: #fff;
  padding: 1.5rem;
}

.bm-nys-note p {
  margin: 0;
  color: #374151;
  font-weight: 700;
  line-height: 1.625;
}

.bm-nys-note.has-body p + p {
  margin-top: 0.75rem;
  color: var(--bm-runners-text);
  font-weight: 400;
}

.bm-nys-inline-list {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2.5rem !important;
}

.bm-nys-inline-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.bm-nys-number-grid {
  display: grid;
  gap: 0.75rem;
}

.bm-nys-number-card,
.bm-nys-help-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: var(--bm-runners-shadow);
  padding: 1rem;
}

.bm-nys-number-card p:not(.bm-nys-number-badge),
.bm-nys-help-card p {
  color: #374151;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
}

.bm-nys-number-badge {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: 999px;
  background: rgba(45, 74, 94, 0.1);
  color: var(--bm-runners-blue) !important;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1;
}

.bm-nys-help-card .bm-nys-check-icon {
  margin-top: 0;
}

.bm-nys-quote {
  margin-top: 2.5rem !important;
  border-left: 4px solid var(--bm-runners-blue);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  padding: 1.5rem;
}

.bm-nys-quote p {
  margin: 0;
  color: #374151;
  line-height: 1.625;
}

.bm-nys-cta {
  margin-block-start: 0;
  background: var(--bm-runners-blue);
  padding: 3.5rem 1rem;
  text-align: center;
}

.bm-nys-cta-inner {
  max-width: 48rem;
  margin: 0 auto;
}

.bm-nys-cta h3 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.25;
}

.bm-nys-cta p {
  max-width: 36rem;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.625;
}

.bm-nys-cta .wp-block-buttons,
.bm-nys-cta .wp-block-button {
  margin: 0;
}

.bm-nys-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.75rem !important;
  background: var(--bm-runners-gold) !important;
  box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.16), 0 4px 6px -4px rgba(15, 23, 42, 0.16);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
  padding: 1rem 2rem;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    box-shadow 200ms ease,
    transform 200ms ease;
}

.bm-nys-cta .wp-block-button__link::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
}

.bm-nys-cta .wp-block-button__link:hover,
.bm-nys-cta .wp-block-button__link:focus-visible {
  background: #b08832 !important;
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.18), 0 8px 10px -6px rgba(15, 23, 42, 0.18);
  transform: translateY(-0.125rem);
}

@media (min-width: 640px) {
  .bm-nys-number-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .bm-nys-intro h2,
  .bm-nys-section-heading h2 {
    font-size: 2.25rem;
  }

  .bm-nys-section .bm-runners-narrow > h3 + .wp-block-group {
    margin-top: 1rem;
  }

  .bm-nys-cta h3 {
    font-size: 1.875rem;
  }
}

@media (max-width: 639px) {
  .bm-nys-section-heading {
    align-items: flex-start;
  }

  .bm-nys-section-heading h2 {
    font-size: 1.75rem;
    line-height: 1.35;
  }

  .bm-nys-number-card,
  .bm-nys-help-card {
    align-items: flex-start;
  }
}

/* Single blog post template */
.bm-single-post {
  --bm-post-blue: #2d4a5e;
  --bm-post-blue-dark: #1f3544;
  --bm-post-gold: #c5993a;
  --bm-post-ink: #111827;
  --bm-post-text: #374151;
  --bm-post-muted: #6b7280;
  --bm-post-border: #e5e7eb;
  --bm-post-soft: #f9fafb;
  --bm-post-shadow:
    0 20px 25px -5px rgba(15, 23, 42, 0.18),
    0 8px 10px -6px rgba(15, 23, 42, 0.14);
  --bm-post-icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  margin-block-start: 0;
  background: #fff;
  color: var(--bm-post-ink);
}

.bm-single-post :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-button, p, h1, h2, h3, h4, h5, h6, figure, ul, ol) {
  margin-block-start: 0;
}

.bm-single-post-article {
  margin-block-start: 0;
}

.bm-single-post-hero {
  margin-block-start: 0;
  background: var(--bm-post-blue);
  padding: 4.5rem 1rem 5.75rem;
}

.bm-single-post-hero-inner {
  width: min(100%, 56rem);
}

.bm-single-post-eyebrow {
  margin: 0 0 1.25rem;
}

.bm-single-post-eyebrow a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.bm-single-post-eyebrow a::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  background: var(--bm-post-gold);
  -webkit-mask: var(--bm-icon-sparkles) center / contain no-repeat;
  mask: var(--bm-icon-sparkles) center / contain no-repeat;
}

.bm-single-post-title {
  max-width: 56rem;
  margin: 0;
  color: #fff;
  font-size: clamp(2.25rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
}

.bm-single-post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 1.5rem;
  min-width: 0;
}

.bm-single-post-meta :where(.wp-block-post-author-name, .wp-block-post-date, .taxonomy-category) {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  min-width: 0;
}

.bm-single-post-meta a {
  color: inherit;
  text-decoration: none;
}

.bm-single-post-categories {
  max-width: 100%;
  flex-wrap: wrap;
  row-gap: 0.35rem;
  overflow-wrap: anywhere;
}

.bm-single-post-meta a:hover,
.bm-single-post-meta a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.bm-single-post-meta :where(.bm-single-post-author, .bm-single-post-date, .bm-single-post-categories)::before {
  content: "";
  width: 0.95rem;
  height: 0.95rem;
  flex: 0 0 auto;
  background: currentColor;
}

.bm-single-post-author::before {
  -webkit-mask: var(--bm-post-icon-user) center / contain no-repeat;
  mask: var(--bm-post-icon-user) center / contain no-repeat;
}

.bm-single-post-date::before {
  -webkit-mask: var(--bm-icon-calendar) center / contain no-repeat;
  mask: var(--bm-icon-calendar) center / contain no-repeat;
}

.bm-single-post-categories::before {
  -webkit-mask: var(--bm-icon-info) center / contain no-repeat;
  mask: var(--bm-icon-info) center / contain no-repeat;
}

.bm-single-post-media-shell {
  margin-block-start: 0;
  padding: 0 1rem;
  transform: translateY(-3rem);
}

.bm-single-post-media-shell:has(.bm-single-post-featured:empty) {
  display: none;
}

.bm-single-post-featured {
  overflow: hidden;
  width: min(100%, 54rem);
  margin: 0 auto;
  border-radius: 1rem;
  background: var(--bm-post-soft);
  box-shadow: var(--bm-post-shadow);
}

.bm-single-post-featured:empty {
  display: none;
}

.bm-single-post-featured img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  max-height: 36rem;
  object-fit: cover;
}

.bm-single-post-content-shell {
  margin-block-start: 0;
  padding: 1rem 1rem 0;
}

.bm-single-post-media-shell:has(.bm-single-post-featured:not(:empty)) + .bm-single-post-content-shell {
  padding-top: 0;
}

.bm-single-post-content {
  color: var(--bm-post-text);
  font-size: 1.0625rem;
  line-height: 1.78;
  overflow-wrap: anywhere;
}

.bm-single-post-content > * {
  margin-block-start: 0;
}

.bm-single-post-content > * + * {
  margin-top: 1.15rem;
}

.bm-single-post-content :where(p, li) {
  color: var(--bm-post-text);
  font-size: inherit;
  line-height: inherit;
}

.bm-single-post-content :where(h2, h3, h4, h5, h6) {
  color: var(--bm-post-ink);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.18;
}

.bm-single-post-content :where(h2) {
  margin-top: 3.25rem;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.bm-single-post-content :where(h3) {
  margin-top: 2.25rem;
  font-size: 1.35rem;
}

.bm-single-post-content :where(h4, h5, h6) {
  margin-top: 1.75rem;
  font-size: 1.1rem;
}

.bm-single-post-content > :where(h2, h3, h4):first-child {
  margin-top: 0;
}

.bm-single-post-content :where(h2, h3, h4, h5, h6) + * {
  margin-top: 0.85rem;
}

.bm-single-post-content :where(a) {
  color: var(--bm-post-blue);
  font-weight: 700;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.bm-single-post-content :where(a:hover, a:focus-visible) {
  color: var(--bm-post-gold);
}

.bm-single-post-content :where(ul, ol) {
  display: grid;
  gap: 0.7rem;
  margin: 1.35rem 0;
  padding-left: 1.5rem;
}

.bm-single-post-content :where(li)::marker {
  color: var(--bm-post-gold);
  font-weight: 800;
}

.bm-single-post-content :where(strong, b) {
  color: var(--bm-post-ink);
  font-weight: 800;
}

.bm-single-post-content :where(blockquote, .wp-block-quote) {
  margin: 2rem 0;
  border-left: 4px solid var(--bm-post-gold);
  border-radius: 0.75rem;
  background: var(--bm-post-soft);
  padding: 1.25rem 1.5rem;
}

.bm-single-post-content :where(blockquote p, .wp-block-quote p) {
  color: var(--bm-post-ink);
  font-size: 1.125rem;
  line-height: 1.7;
}

.bm-single-post-content :where(img) {
  max-width: 100%;
  height: auto;
  border-radius: 0.875rem;
}

.bm-single-post-content > img,
.bm-single-post-content :where(.wp-block-image, figure) {
  margin: 2rem auto;
}

.bm-single-post-content > img {
  display: block;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.bm-single-post-content :where(.wp-block-image img, figure img) {
  display: block;
  width: 100%;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.bm-single-post-content :where(figcaption, .wp-element-caption) {
  margin-top: 0.75rem;
  color: var(--bm-post-muted);
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: center;
}

.bm-single-post-content :where(hr, .wp-block-separator) {
  width: 100%;
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid var(--bm-post-border);
}

.bm-single-post-content :where(table) {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.95rem;
}

.bm-single-post-content :where(th, td) {
  border: 1px solid var(--bm-post-border);
  padding: 0.875rem 1rem;
  text-align: left;
  vertical-align: top;
}

.bm-single-post-content :where(th) {
  background: var(--bm-post-soft);
  color: var(--bm-post-ink);
  font-weight: 800;
}

.bm-single-post-content :where(.wp-block-embed, iframe) {
  max-width: 100%;
}

.bm-single-post-content iframe {
  border-radius: 0.875rem;
}

.bm-single-post-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem !important;
  background: var(--bm-post-blue) !important;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.9rem 1.4rem;
  text-decoration: none;
}

.bm-single-post-content .wp-block-button__link:hover,
.bm-single-post-content .wp-block-button__link:focus-visible {
  background: var(--bm-post-blue-dark) !important;
}

.bm-single-post-footer {
  margin-block-start: 0;
  padding: 3rem 1rem 5rem;
}

.bm-single-post-divider {
  margin: 0 0 1.5rem;
  border: 0;
  border-top: 1px solid var(--bm-post-border);
}

.bm-single-post-actions {
  margin: 0 0 1.5rem;
}

.bm-single-post-actions .wp-block-button {
  margin: 0;
}

.bm-single-post-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border-radius: 0.75rem !important;
  background: var(--bm-post-blue) !important;
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 0.9rem 1.25rem;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    transform 200ms ease;
}

.bm-single-post-actions .wp-block-button__link::before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  mask: var(--bm-icon-arrow-right) center / contain no-repeat;
  transform: rotate(180deg);
}

.bm-single-post-actions .wp-block-button__link:hover,
.bm-single-post-actions .wp-block-button__link:focus-visible {
  background: var(--bm-post-blue-dark) !important;
  transform: translateY(-0.08rem);
}

.bm-single-post-nav {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.bm-single-post-nav :where(.wp-block-post-navigation-link, .post-navigation-link-previous, .post-navigation-link-next) {
  min-height: 100%;
}

.bm-single-post-nav-item {
  display: flex;
  min-height: 6.5rem;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--bm-post-border);
  border-radius: 0.875rem;
  background: #fff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  padding: 1rem;
}

.bm-single-post-nav-item:empty {
  display: none;
}

.bm-single-post-nav-item a {
  color: var(--bm-post-ink);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.bm-single-post-nav-item a:hover,
.bm-single-post-nav-item a:focus-visible {
  color: var(--bm-post-blue);
}

.bm-single-post-nav-item .post-navigation-link__label {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--bm-post-muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .bm-single-post-hero {
    padding-top: 5.5rem;
    padding-bottom: 6.5rem;
  }

  .bm-single-post-media-shell {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-single-post-content-shell {
    padding-top: 1.5rem;
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .bm-single-post-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-single-post-nav-item.is-next {
    text-align: right;
  }
}

@media (max-width: 600px) {
  .bm-single-post-hero {
    padding-top: 3.5rem;
    padding-bottom: 4.5rem;
  }

  .bm-single-post-title {
    font-size: 2.25rem;
    line-height: 1.12;
  }

  .bm-single-post-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.6rem;
  }

  .bm-single-post-media-shell {
    transform: translateY(-2rem);
  }

  .bm-single-post-featured {
    border-radius: 0.75rem;
  }

  .bm-single-post-featured img {
    aspect-ratio: 4 / 3;
  }

  .bm-single-post-content {
    font-size: 1rem;
    line-height: 1.72;
  }

  .bm-single-post-content :where(h2) {
    margin-top: 2.5rem;
  }
}

/* Reusable Gutenberg pattern hover states. */
.bm-card,
.bm-contact-card,
.bm-location-card,
.bm-service-card,
.bm-swedish-benefit-card,
.bm-timeline-item,
.bm-addon-card,
.bm-raised-image,
.bm-gratuity,
.bm-chip,
.bm-faq-list .wp-block-details,
.bm-faq-list .bm-faq-item {
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

.bm-card:hover,
.bm-card:focus-within,
.bm-contact-card:hover,
.bm-contact-card:focus-within,
.bm-location-card:hover,
.bm-location-card:focus-within,
.bm-service-card:hover,
.bm-service-card:focus-within,
.bm-swedish-benefit-card:hover,
.bm-swedish-benefit-card:focus-within,
.bm-timeline-item:hover,
.bm-timeline-item:focus-within {
  border-color: var(--wp--preset--color--bm-blue) !important;
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.14),
    0 6px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.25rem);
}

.bm-contact-card .bm-icon-circle,
.bm-trust-item,
.bm-trust-item::before,
.bm-timeline-item::before {
  transition:
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.bm-contact-card:hover .bm-icon-circle,
.bm-contact-card:focus-within .bm-icon-circle {
  background: var(--wp--preset--color--bm-blue);
  color: #fff;
  transform: scale(1.04);
}

.bm-trust-item:hover,
.bm-trust-item:focus-within {
  transform: translateY(-1px);
}

.bm-trust-item:hover::before,
.bm-trust-item:focus-within::before {
  background: var(--wp--preset--color--bm-gold);
  transform: scale(1.08);
}

.bm-timeline-item:hover::before,
.bm-timeline-item:focus-within::before {
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.2);
  transform: scale(1.05);
}

.bm-addon-card {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.bm-addon-card figure {
  overflow: hidden;
  border-radius: 0.625rem;
}

.bm-addon-card img,
.bm-raised-image img,
.bm-service-card a {
  transition:
    color 160ms ease,
    transform 300ms ease;
}

.bm-addon-card:hover,
.bm-addon-card:focus-within {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.16);
  transform: translateY(-0.125rem);
}

.bm-addon-card:hover img,
.bm-addon-card:focus-within img,
.bm-raised-image:hover img,
.bm-raised-image:focus-within img {
  transform: scale(1.04);
}

.bm-raised-image:hover,
.bm-raised-image:focus-within {
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.14),
    0 6px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.125rem);
}

.bm-service-card a:hover,
.bm-service-card a:focus-visible {
  color: var(--wp--preset--color--bm-blue-dark);
  text-decoration: none;
}

.bm-gratuity:hover,
.bm-gratuity:focus-within {
  box-shadow:
    0 12px 24px rgba(15, 23, 42, 0.1),
    0 4px 10px rgba(15, 23, 42, 0.06);
  transform: translateY(-0.125rem);
}

.bm-chip:hover,
.bm-chip:focus-within,
.bm-gratuity .wp-block-group:has(> .bm-chip-icon):hover,
.bm-gratuity .wp-block-group:has(> .bm-chip-icon):focus-within {
  border-color: rgba(45, 74, 94, 0.36) !important;
  background: rgba(45, 74, 94, 0.08) !important;
}

.bm-faq-list .wp-block-details:hover,
.bm-faq-list .wp-block-details:focus-within,
.bm-faq-list .bm-faq-item:hover,
.bm-faq-list .bm-faq-item:focus-within {
  border-color: rgba(45, 74, 94, 0.55);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.0625rem);
}

.bm-faq-list .wp-block-details[open],
.bm-faq-list .bm-faq-item[open] {
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.bm-faq-list .wp-block-details[open]:hover,
.bm-faq-list .wp-block-details[open]:focus-within,
.bm-faq-list .bm-faq-item[open]:hover,
.bm-faq-list .bm-faq-item[open]:focus-within {
  border-color: var(--wp--preset--color--bm-blue) !important;
}

.bm-faq-list .wp-block-details:hover summary::before,
.bm-faq-list .wp-block-details:focus-within summary::before,
.bm-faq-list .wp-block-details[open] summary::before,
.bm-faq-list .bm-faq-item:hover summary::before,
.bm-faq-list .bm-faq-item:focus-within summary::before,
.bm-faq-list .bm-faq-item[open] summary::before {
  background-color: rgba(45, 74, 94, 0.16);
}

@media (prefers-reduced-motion: reduce) {
  .bm-card,
  .bm-contact-card,
  .bm-location-card,
  .bm-service-card,
  .bm-swedish-benefit-card,
  .bm-timeline-item,
  .bm-addon-card,
  .bm-raised-image,
  .bm-gratuity,
  .bm-chip,
  .bm-faq-list .wp-block-details,
  .bm-faq-list .bm-faq-item,
  .bm-contact-card .bm-icon-circle,
  .bm-trust-item,
  .bm-trust-item::before,
  .bm-timeline-item::before,
  .bm-addon-card img,
  .bm-raised-image img,
  .bm-service-card img {
    transition: none !important;
  }

  .bm-card:hover,
  .bm-card:focus-within,
  .bm-contact-card:hover,
  .bm-contact-card:focus-within,
  .bm-location-card:hover,
  .bm-location-card:focus-within,
  .bm-service-card:hover,
  .bm-service-card:focus-within,
  .bm-swedish-benefit-card:hover,
  .bm-swedish-benefit-card:focus-within,
  .bm-timeline-item:hover,
  .bm-timeline-item:focus-within,
  .bm-addon-card:hover,
  .bm-addon-card:focus-within,
  .bm-raised-image:hover,
  .bm-raised-image:focus-within,
  .bm-gratuity:hover,
  .bm-gratuity:focus-within,
  .bm-faq-list .wp-block-details:hover,
  .bm-faq-list .wp-block-details:focus-within,
  .bm-faq-list .bm-faq-item:hover,
  .bm-faq-list .bm-faq-item:focus-within,
  .bm-contact-card:hover .bm-icon-circle,
  .bm-contact-card:focus-within .bm-icon-circle,
  .bm-trust-item:hover,
  .bm-trust-item:focus-within,
  .bm-trust-item:hover::before,
  .bm-trust-item:focus-within::before,
  .bm-timeline-item:hover::before,
  .bm-timeline-item:focus-within::before,
  .bm-addon-card:hover img,
  .bm-addon-card:focus-within img,
  .bm-raised-image:hover img,
  .bm-raised-image:focus-within img,
  .bm-service-card:hover img,
  .bm-service-card:focus-within img {
    transform: none !important;
  }
}

/* Keep Gutenberg button hover paint on the rounded link, not the square wrapper. */
.wp-block-button:has(> .wp-block-button__link),
.wp-block-button:has(> .wp-block-button__link):hover,
.wp-block-button:has(> .wp-block-button__link):focus-within {
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.wp-block-button > .wp-block-button__link {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-clip: padding-box;
}

.wp-block-button > .wp-block-button__link:hover,
.wp-block-button > .wp-block-button__link:focus-visible {
  background-clip: padding-box;
}

/* Shared word-cloud hover states. */
:where(
  .bm-word-cloud,
  .bm-nyc-word-cloud,
  .bm-runners-word-cloud,
  .bm-benefits-word-cloud,
  .bm-medical-word-cloud,
  .bm-postop-cloud-list,
  .bm-space-service-cloud,
  .bm-tmj-symptom-cloud
) :where(p, a, span),
  .bm-mastectomy-word-cloud-section a {
  transition:
    color 300ms ease,
    transform 300ms ease !important;
}

:where(
  .bm-word-cloud,
  .bm-nyc-word-cloud,
  .bm-runners-word-cloud,
  .bm-benefits-word-cloud,
  .bm-medical-word-cloud,
  .bm-postop-cloud-list,
  .bm-space-service-cloud,
  .bm-tmj-symptom-cloud
) :where(a, span),
.bm-mastectomy-word-cloud-section a {
  display: inline-block;
}

:where(
  .bm-word-cloud,
  .bm-nyc-word-cloud,
  .bm-runners-word-cloud,
  .bm-benefits-word-cloud,
  .bm-medical-word-cloud,
  .bm-postop-cloud-list,
  .bm-space-service-cloud,
  .bm-tmj-symptom-cloud
) :where(p, a, span):hover,
:where(
  .bm-word-cloud,
  .bm-nyc-word-cloud,
  .bm-runners-word-cloud,
  .bm-benefits-word-cloud,
  .bm-medical-word-cloud,
  .bm-postop-cloud-list,
  .bm-space-service-cloud,
  .bm-tmj-symptom-cloud
) :where(a, span):focus-visible,
.bm-mastectomy-word-cloud-section a:hover,
.bm-mastectomy-word-cloud-section a:focus-visible {
  color: var(--bm-nyc-gold, var(--bm-runners-gold, var(--bm-mission-gold, var(--wp--preset--color--bm-gold, #c5993a)))) !important;
  filter: none !important;
  text-decoration: none;
  transform: scale(1.05) !important;
}

/* Shared behavior for legacy page-specific components. */

:where(
  .bm-prenatal-numbered-item,
  .bm-prenatal-numbered-list > li,
  .bm-postop-timeline-card,
  .bm-mastectomy-timeline-card,
  .bm-mastectomy-stage-card,
  .bm-tmj-timeline-card,
  .bm-trigger-timeline-card,
  .bm-myofascial-timeline-card,
  .bm-pt-support-timeline-card,
  .bm-iastm-timeline-card,
  .bm-benefits-list-card,
  .bm-nys-number-card,
  .bm-nys-help-card,
  .bm-benefits-law-card,
  .bm-benefits-venn,
  .bm-mission-contact-card,
  .bm-nyc-contact-card,
  .bm-accessibility-contact-card,
  .bm-data-contact-card,
  .bm-mission-gratuity,
  .bm-nyc-gratuity,
  .bm-mastectomy-gratuity,
  .bm-pricing-gratuity
) {
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

:where(
  .bm-prenatal-numbered-item,
  .bm-prenatal-numbered-list > li,
  .bm-postop-timeline-card,
  .bm-mastectomy-timeline-card,
  .bm-mastectomy-stage-card,
  .bm-tmj-timeline-card,
  .bm-trigger-timeline-card,
  .bm-myofascial-timeline-card,
  .bm-pt-support-timeline-card,
  .bm-iastm-timeline-card,
  .bm-benefits-list-card,
  .bm-nys-number-card,
  .bm-nys-help-card,
  .bm-benefits-law-card,
  .bm-benefits-venn,
  .bm-mission-contact-card,
  .bm-nyc-contact-card,
  .bm-accessibility-contact-card,
  .bm-data-contact-card,
  .bm-mission-gratuity,
  .bm-nyc-gratuity,
  .bm-mastectomy-gratuity,
  .bm-pricing-gratuity
):hover,
:where(
  .bm-prenatal-numbered-item,
  .bm-prenatal-numbered-list > li,
  .bm-postop-timeline-card,
  .bm-mastectomy-timeline-card,
  .bm-mastectomy-stage-card,
  .bm-tmj-timeline-card,
  .bm-trigger-timeline-card,
  .bm-myofascial-timeline-card,
  .bm-pt-support-timeline-card,
  .bm-iastm-timeline-card,
  .bm-benefits-list-card,
  .bm-nys-number-card,
  .bm-nys-help-card,
  .bm-benefits-law-card,
  .bm-benefits-venn,
  .bm-mission-contact-card,
  .bm-nyc-contact-card,
  .bm-accessibility-contact-card,
  .bm-data-contact-card,
  .bm-mission-gratuity,
  .bm-nyc-gratuity,
  .bm-mastectomy-gratuity,
  .bm-pricing-gratuity
):focus-within {
  border-color: var(--wp--preset--color--bm-blue, #2d4a5e) !important;
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.14),
    0 6px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.125rem);
}

:where(
  .bm-postop-timeline-number,
  .bm-mastectomy-timeline-number,
  .bm-mastectomy-stage-number,
  .bm-tmj-timeline-number,
  .bm-trigger-timeline-number,
  .bm-myofascial-timeline-number,
  .bm-pt-support-timeline-number,
  .bm-iastm-timeline-number,
  .bm-benefits-list-number,
  .bm-nys-number-badge,
  .bm-prenatal-number
),
.bm-prenatal-numbered-item::before,
.bm-prenatal-numbered-list > li::before {
  transition:
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.bm-postop-timeline-item:hover .bm-postop-timeline-number,
.bm-postop-timeline-item:focus-within .bm-postop-timeline-number,
.bm-mastectomy-timeline-item:hover .bm-mastectomy-timeline-number,
.bm-mastectomy-timeline-item:focus-within .bm-mastectomy-timeline-number,
.bm-mastectomy-stage-item:hover .bm-mastectomy-stage-number,
.bm-mastectomy-stage-item:focus-within .bm-mastectomy-stage-number,
.bm-tmj-timeline-item:hover .bm-tmj-timeline-number,
.bm-tmj-timeline-item:focus-within .bm-tmj-timeline-number,
.bm-trigger-timeline-item:hover .bm-trigger-timeline-number,
.bm-trigger-timeline-item:focus-within .bm-trigger-timeline-number,
.bm-myofascial-timeline-item:hover .bm-myofascial-timeline-number,
.bm-myofascial-timeline-item:focus-within .bm-myofascial-timeline-number,
.bm-pt-support-timeline-item:hover .bm-pt-support-timeline-number,
.bm-pt-support-timeline-item:focus-within .bm-pt-support-timeline-number,
.bm-iastm-timeline-item:hover .bm-iastm-timeline-number,
.bm-iastm-timeline-item:focus-within .bm-iastm-timeline-number,
.bm-benefits-list-card:hover .bm-benefits-list-number,
.bm-benefits-list-card:focus-within .bm-benefits-list-number,
.bm-nys-number-card:hover .bm-nys-number-badge,
.bm-nys-number-card:focus-within .bm-nys-number-badge,
.bm-prenatal-numbered-item:hover .bm-prenatal-number,
.bm-prenatal-numbered-item:focus-within .bm-prenatal-number,
.bm-prenatal-numbered-item:hover::before,
.bm-prenatal-numbered-item:focus-within::before,
.bm-prenatal-numbered-list > li:hover::before,
.bm-prenatal-numbered-list > li:focus-within::before {
  background: var(--wp--preset--color--bm-gold, #c5993a) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(197, 153, 58, 0.26);
  transform: scale(1.05);
}

:where(
  .bm-nyc-faq-list,
  .bm-runners-faq-list,
  .bm-medical-faq-list,
  .bm-lymphatic-faq-list,
  .bm-postop-faq-list,
  .bm-mastectomy-faq-list,
  .bm-space-faq-list,
  .bm-trigger-faq-list,
  .bm-myofascial-faq-list,
  .bm-pt-support-faq-list,
  .bm-iastm-faq-list,
  .bm-tmj-faq-list
) :where(.wp-block-details, details, .bm-tmj-faq-item) {
  transition:
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms ease;
}

:where(
  .bm-nyc-faq-list,
  .bm-runners-faq-list,
  .bm-medical-faq-list,
  .bm-lymphatic-faq-list,
  .bm-postop-faq-list,
  .bm-mastectomy-faq-list,
  .bm-space-faq-list,
  .bm-trigger-faq-list,
  .bm-myofascial-faq-list,
  .bm-pt-support-faq-list,
  .bm-iastm-faq-list,
  .bm-tmj-faq-list
) :where(.wp-block-details, details, .bm-tmj-faq-item):hover,
:where(
  .bm-nyc-faq-list,
  .bm-runners-faq-list,
  .bm-medical-faq-list,
  .bm-lymphatic-faq-list,
  .bm-postop-faq-list,
  .bm-mastectomy-faq-list,
  .bm-space-faq-list,
  .bm-trigger-faq-list,
  .bm-myofascial-faq-list,
  .bm-pt-support-faq-list,
  .bm-iastm-faq-list,
  .bm-tmj-faq-list
) :where(.wp-block-details, details, .bm-tmj-faq-item):focus-within {
  border-color: rgba(45, 74, 94, 0.55) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
  transform: translateY(-0.0625rem);
}

:where(
  .bm-nyc-faq-list,
  .bm-runners-faq-list,
  .bm-medical-faq-list,
  .bm-lymphatic-faq-list,
  .bm-postop-faq-list,
  .bm-mastectomy-faq-list,
  .bm-space-faq-list,
  .bm-trigger-faq-list,
  .bm-myofascial-faq-list,
  .bm-pt-support-faq-list,
  .bm-iastm-faq-list,
  .bm-tmj-faq-list
) :where(.wp-block-details, details, .bm-tmj-faq-item)[open] {
  border-color: var(--wp--preset--color--bm-blue, #2d4a5e) !important;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

:where(.bm-map-frame, .bm-space-map) iframe {
  transition:
    filter 300ms ease,
    transform 500ms ease;
}

:where(.bm-map-frame, .bm-space-map):hover iframe,
:where(.bm-map-frame, .bm-space-map):focus-within iframe,
:where(.bm-location-card, .bm-nyc-location-card):hover :where(.bm-map-frame, .bm-space-map) iframe,
:where(.bm-location-card, .bm-nyc-location-card):focus-within :where(.bm-map-frame, .bm-space-map) iframe {
  filter: grayscale(0);
}

.bm-benefits-venn-circle,
.bm-benefits-factor-row,
.bm-tmj-hotspot-dot,
.bm-tmj-hotspot-label,
.bm-tmj-legend-chip,
.bm-tmj-anatomy-panel,
.bm-tmj-pointer-icon,
.bm-tmj-pointer-icon::before {
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease,
    color 180ms ease,
    filter 220ms ease,
    opacity 180ms ease,
    transform 220ms ease;
}

.bm-benefits-venn-circle {
  clip-path: circle(50% at 50% 50%);
}

.bm-benefits-venn-visual:hover .bm-benefits-venn-circle {
  opacity: 0.82;
}

.bm-benefits-venn-circle.is-biological,
.bm-benefits-venn-circle.is-psychological {
  z-index: 2;
}

.bm-benefits-venn-circle.is-social {
  z-index: 1;
}

.bm-benefits-venn-center {
  z-index: 3;
  pointer-events: none;
}

.bm-benefits-venn-circle:hover,
.bm-benefits-venn-circle:focus-within {
  z-index: 4;
  filter: saturate(1.08);
  opacity: 1 !important;
  transform: translateY(-0.125rem);
}

.bm-benefits-factor-row:hover,
.bm-benefits-factor-row:focus-within {
  transform: translateX(0.125rem);
}

.bm-benefits-venn:hover,
.bm-benefits-venn:focus-within {
  border-color: #e5e7eb !important;
  box-shadow: var(--bm-runners-shadow);
  transform: none;
}

.bm-benefits-venn-info {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-start;
}

.bm-benefits-venn-default-panel,
.bm-benefits-venn-active-panel {
  transition:
    opacity 300ms ease,
    transform 300ms ease;
}

.bm-benefits-venn-default-panel.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.bm-benefits-venn-default-panel > p {
  margin: 0 0 1rem;
  color: var(--bm-runners-text);
  line-height: 1.625;
}

.bm-benefits-venn-active-panel {
  position: absolute;
  inset: 0;
  background: #fff;
  color: #374151;
  opacity: 1;
  z-index: 2;
}

.bm-benefits-venn-active-panel[hidden] {
  display: none;
}

.bm-benefits-venn-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  background: var(--bm-benefits-active-color, var(--bm-runners-blue));
  color: #fff;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.25;
  padding: 0.375rem 1rem;
}

.bm-benefits-venn-pill span {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
}

.bm-benefits-venn-description {
  margin: 0;
  color: #374151;
  font-size: 1rem;
  line-height: 1.625;
}

.bm-benefits-venn-impact {
  margin-top: 1rem;
  border-left: 4px solid var(--bm-runners-gold);
  border-radius: 0.5rem;
  background: #fdfaf3;
  padding: 0.75rem 1rem;
}

.bm-benefits-venn-impact p {
  margin: 0;
  color: #374151;
  font-size: 0.875rem;
  line-height: 1.625;
}

.bm-benefits-venn-impact .bm-benefits-venn-impact-label {
  margin-bottom: 0.25rem;
  color: var(--bm-runners-gold);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-benefits-venn-center-note {
  margin: 0.75rem 0 0;
  color: #6b7280;
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.5;
}

.bm-benefits-venn-circle {
  overflow: hidden;
  isolation: isolate;
  background: transparent !important;
  cursor: pointer;
  outline: none;
  opacity: 1 !important;
}

.bm-benefits-venn-circle::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: var(--bm-benefits-circle-color, var(--bm-runners-blue));
  opacity: 0.65;
  transition:
    opacity 300ms ease,
    filter 300ms ease;
}

.bm-benefits-venn-circle p {
  z-index: 1;
}

.bm-benefits-venn-circle.is-biological {
  --bm-benefits-circle-color: var(--bm-benefits-blue-deep);
}

.bm-benefits-venn-circle.is-psychological {
  --bm-benefits-circle-color: var(--bm-benefits-blue-mid);
}

.bm-benefits-venn-circle.is-social {
  --bm-benefits-circle-color: var(--bm-benefits-blue-light);
}

.bm-benefits-venn.is-benefits-venn-active .bm-benefits-venn-circle::before {
  opacity: 0.25;
}

.bm-benefits-venn.is-benefits-venn-active .bm-benefits-venn-circle.is-active::before,
.bm-benefits-venn-circle.is-active::before,
.bm-benefits-venn-circle:hover::before,
.bm-benefits-venn-circle:focus-visible::before {
  opacity: 0.85;
}

.bm-benefits-venn-circle:hover,
.bm-benefits-venn-circle:focus-visible,
.bm-benefits-venn-circle.is-active {
  z-index: 4;
  filter: none;
  opacity: 1 !important;
  transform: none !important;
}

.bm-benefits-venn-circle:focus-visible,
.bm-benefits-venn-center:focus-visible {
  outline: 2px solid var(--bm-runners-gold);
  outline-offset: 3px;
}

.bm-benefits-venn-visual:hover .bm-benefits-venn-circle {
  opacity: 1 !important;
}

.bm-benefits-venn-center {
  display: grid;
  width: 5rem;
  height: 5rem;
  place-items: center;
  border-radius: 999px;
  cursor: pointer;
  outline: none;
  pointer-events: auto;
  top: 48.7%;
  transition:
    color 180ms ease,
    opacity 180ms ease;
}

.bm-benefits-venn-center:hover,
.bm-benefits-venn-center:focus-visible,
.bm-benefits-venn-center.is-active {
  color: var(--bm-runners-blue);
  opacity: 1;
  transform: translate(-50%, -50%) !important;
}

.bm-benefits-venn-center.is-dimmed {
  opacity: 0.7;
}

.bm-benefits-factor-row:hover,
.bm-benefits-factor-row:focus-within {
  transform: none;
}

.bm-tmj-hotspot:hover .bm-tmj-hotspot-dot,
.bm-tmj-hotspot:focus-within .bm-tmj-hotspot-dot {
  box-shadow:
    0 0 0 0.25rem rgba(255, 255, 255, 0.86),
    0 8px 18px rgba(15, 23, 42, 0.24);
  transform: scale(1.18);
}

.bm-tmj-hotspot:hover .bm-tmj-hotspot-label,
.bm-tmj-hotspot:focus-within .bm-tmj-hotspot-label,
.bm-tmj-legend-chip:hover,
.bm-tmj-legend-chip:focus-within {
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
  color: var(--wp--preset--color--bm-blue-dark, #1a3545);
}

.bm-tmj-anatomy-panel:hover,
.bm-tmj-anatomy-panel:focus-within {
  border-color: var(--wp--preset--color--bm-blue, #2d4a5e);
  box-shadow:
    0 18px 36px rgba(15, 23, 42, 0.12),
    0 6px 14px rgba(15, 23, 42, 0.07);
  transform: translateY(-0.125rem);
}

.bm-tmj-anatomy-panel:hover .bm-tmj-pointer-icon,
.bm-tmj-anatomy-panel:focus-within .bm-tmj-pointer-icon {
  background: var(--wp--preset--color--bm-blue, #2d4a5e);
  transform: scale(1.04);
}

.bm-tmj-anatomy-panel:hover .bm-tmj-pointer-icon::before,
.bm-tmj-anatomy-panel:focus-within .bm-tmj-pointer-icon::before {
  background: #fff;
}

.bm-tmj-hotspot,
.bm-tmj-legend-chip {
  cursor: pointer;
}

.bm-tmj-hotspot:focus-visible .bm-tmj-hotspot-dot,
.bm-tmj-legend-chip:focus-visible {
  outline: 3px solid rgba(45, 74, 94, 0.35);
  outline-offset: 3px;
}

.bm-tmj-hotspot-dot {
  position: relative;
}

.bm-tmj-hotspot-dot::after {
  position: absolute;
  inset: -2px;
  z-index: -1;
  border-radius: inherit;
  background: var(--bm-tmj-active-color, currentColor);
  content: "";
  opacity: 0.34;
  transform: scale(1);
  animation: bm-tmj-hotspot-pulse 1.6s ease-out infinite;
}

.bm-tmj-hotspot.is-active {
  z-index: 6;
}

.bm-tmj-hotspot.is-active .bm-tmj-hotspot-dot,
.bm-tmj-hotspot:hover .bm-tmj-hotspot-dot,
.bm-tmj-hotspot:focus-within .bm-tmj-hotspot-dot {
  box-shadow:
    0 0 0 0.25rem color-mix(in srgb, var(--bm-tmj-active-color, #2d4a5e) 26%, transparent),
    0 8px 18px rgba(15, 23, 42, 0.24);
  transform: scale(1.4);
}

.bm-tmj-hotspot.is-active .bm-tmj-hotspot-dot::after,
.bm-tmj-hotspot:hover .bm-tmj-hotspot-dot::after,
.bm-tmj-hotspot:focus-within .bm-tmj-hotspot-dot::after {
  animation: none;
  opacity: 0;
}

.bm-tmj-hotspot.is-active .bm-tmj-hotspot-label,
.bm-tmj-hotspot:hover .bm-tmj-hotspot-label,
.bm-tmj-hotspot:focus-within .bm-tmj-hotspot-label {
  background: var(--bm-tmj-active-color, #2d4a5e);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
  color: #fff;
}

.bm-tmj-legend-chip.is-active,
.bm-tmj-legend-chip:hover,
.bm-tmj-legend-chip:focus-visible {
  background: var(--bm-tmj-active-color, #2d4a5e);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
  color: #fff;
  transform: translateY(-1px);
}

.bm-tmj-legend-chip.is-active::before,
.bm-tmj-legend-chip:hover::before,
.bm-tmj-legend-chip:focus-visible::before {
  background: #fff;
}

.bm-tmj-anatomy-panel.is-active {
  align-items: stretch;
  justify-content: flex-start;
  border-color: var(--bm-tmj-active-color, #2d4a5e) !important;
  text-align: left;
}

.bm-tmj-panel-content {
  animation: bm-tmj-panel-fade-in 220ms ease-out;
}

.bm-tmj-panel-content p {
  margin: 0;
}

.bm-tmj-panel-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.bm-tmj-panel-dot {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--bm-tmj-active-color, #2d4a5e);
}

.bm-tmj-panel-active-title {
  margin: 0;
  color: #111827;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.bm-tmj-panel-description {
  color: #6b7280;
  line-height: 1.625;
}

.bm-tmj-panel-connection {
  margin-top: 1.5rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--bm-tmj-active-color, #2d4a5e) 10%, transparent);
  padding: 1rem;
}

.bm-tmj-panel-eyebrow {
  margin-bottom: 0.25rem !important;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.bm-tmj-panel-connection p:last-child {
  color: #374151;
  line-height: 1.625;
}

@keyframes bm-tmj-hotspot-pulse {
  0% {
    opacity: 0.34;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(2.4);
  }
}

@keyframes bm-tmj-panel-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.375rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(
    .bm-word-cloud,
    .bm-nyc-word-cloud,
    .bm-runners-word-cloud,
    .bm-benefits-word-cloud,
    .bm-medical-word-cloud,
    .bm-postop-cloud-list,
    .bm-space-service-cloud,
    .bm-tmj-symptom-cloud
  ) :where(p, a, span),
  .bm-mastectomy-word-cloud-section a,
  :where(
    .bm-prenatal-numbered-item,
    .bm-prenatal-numbered-list > li,
    .bm-postop-timeline-card,
    .bm-mastectomy-timeline-card,
    .bm-mastectomy-stage-card,
    .bm-tmj-timeline-card,
    .bm-trigger-timeline-card,
    .bm-myofascial-timeline-card,
    .bm-pt-support-timeline-card,
    .bm-iastm-timeline-card,
    .bm-benefits-list-card,
    .bm-nys-number-card,
    .bm-nys-help-card,
    .bm-benefits-law-card,
    .bm-benefits-venn,
    .bm-mission-contact-card,
    .bm-nyc-contact-card,
    .bm-accessibility-contact-card,
    .bm-data-contact-card,
    .bm-mission-gratuity,
    .bm-nyc-gratuity,
    .bm-mastectomy-gratuity,
    .bm-pricing-gratuity
  ),
  :where(
    .bm-nyc-faq-list,
    .bm-runners-faq-list,
    .bm-medical-faq-list,
    .bm-lymphatic-faq-list,
    .bm-postop-faq-list,
    .bm-mastectomy-faq-list,
    .bm-space-faq-list,
    .bm-trigger-faq-list,
    .bm-myofascial-faq-list,
    .bm-pt-support-faq-list,
    .bm-iastm-faq-list,
    .bm-tmj-faq-list
  ) :where(.wp-block-details, details, .bm-tmj-faq-item),
  .bm-benefits-venn-circle,
  .bm-benefits-venn-circle::before,
  .bm-benefits-venn-center,
  .bm-benefits-venn-default-panel,
  .bm-benefits-venn-active-panel,
  .bm-benefits-factor-row,
  .bm-tmj-hotspot-dot,
  .bm-tmj-hotspot-label,
  .bm-tmj-legend-chip,
  .bm-tmj-anatomy-panel,
  .bm-tmj-panel-content,
  .bm-tmj-pointer-icon,
  .bm-tmj-pointer-icon::before,
  .bm-tmj-hotspot-dot::after {
    animation: none !important;
    transition: none !important;
  }

  :where(
    .bm-word-cloud,
    .bm-nyc-word-cloud,
    .bm-runners-word-cloud,
    .bm-benefits-word-cloud,
    .bm-medical-word-cloud,
    .bm-postop-cloud-list,
    .bm-space-service-cloud,
    .bm-tmj-symptom-cloud
  ) :where(p, a, span):hover,
  .bm-mastectomy-word-cloud-section a:hover,
  :where(
    .bm-prenatal-numbered-item,
    .bm-prenatal-numbered-list > li,
    .bm-postop-timeline-card,
    .bm-mastectomy-timeline-card,
    .bm-mastectomy-stage-card,
    .bm-tmj-timeline-card,
    .bm-trigger-timeline-card,
    .bm-myofascial-timeline-card,
    .bm-pt-support-timeline-card,
    .bm-iastm-timeline-card,
    .bm-benefits-list-card,
    .bm-nys-number-card,
    .bm-nys-help-card,
    .bm-benefits-law-card,
    .bm-benefits-venn,
    .bm-mission-contact-card,
    .bm-nyc-contact-card,
    .bm-accessibility-contact-card,
    .bm-data-contact-card,
    .bm-mission-gratuity,
    .bm-nyc-gratuity,
    .bm-mastectomy-gratuity,
    .bm-pricing-gratuity
  ):hover,
  :where(
    .bm-nyc-faq-list,
    .bm-runners-faq-list,
    .bm-medical-faq-list,
    .bm-lymphatic-faq-list,
    .bm-postop-faq-list,
    .bm-mastectomy-faq-list,
    .bm-space-faq-list,
    .bm-trigger-faq-list,
    .bm-myofascial-faq-list,
    .bm-pt-support-faq-list,
    .bm-iastm-faq-list,
    .bm-tmj-faq-list
  ) :where(.wp-block-details, details, .bm-tmj-faq-item):hover,
  .bm-benefits-venn-circle:hover,
  .bm-benefits-factor-row:hover,
  .bm-tmj-hotspot:hover .bm-tmj-hotspot-dot,
  .bm-tmj-anatomy-panel:hover,
  .bm-tmj-anatomy-panel:hover .bm-tmj-pointer-icon {
    transform: none !important;
  }
}
