/*
Theme Name: Masseo Blocks
Theme URI: http://localhost:8080
Author: Masseo
Author URI: http://localhost:8080
Description: A Gutenberg-first block theme for editable clinic and wellness UX testing.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: masseo-blocks
*/

:root {
	--masseo-primary-rgb: 209 68 20;
	--masseo-accent-rgb: 232 168 140;
	--masseo-appointment-rgb: 209 68 20;
	--masseo-charcoal-rgb: 156 58 26;
	--masseo-soft-rgb: 253 247 244;
	--masseo-mist-rgb: 236 201 188;
	--masseo-link: var(--wp--preset--color--brand);
	--masseo-link-hover: var(--wp--preset--color--brand-dark);
	--masseo-decorative: var(--wp--preset--color--muted);
}

html {
	scroll-behavior: smooth;
}

body {
	background:
		radial-gradient(circle at 12% 0%, rgb(var(--masseo-accent-rgb) / 14%), transparent 28rem),
		linear-gradient(180deg, #FDF7F4 0%, #ffffff 28rem);
	margin: 0;
	text-rendering: optimizeLegibility;
}

a {
	text-underline-offset: 0.2em;
}

:where(p, span, li, cite, strong, time, div).has-brand-color,
:where(p, span, li, cite, strong, time, div).has-accent-color,
:where(p, span, li, cite, strong, time, div).has-brand-dark-color,
.masseo-kicker.has-brand-color,
.masseo-kicker.has-accent-color,
.masseo-kicker.has-brand-dark-color,
.masseo-card-number.has-brand-color,
.masseo-card-number.has-accent-color,
.masseo-card-number.has-brand-dark-color,
.masseo-promo-meta,
.masseo-premium-metric strong,
.masseo-blog-card .wp-block-post-date,
.masseo-article-card .wp-block-post-date,
.masseo-single-date,
.masseo-premium-proof p:first-child::before,
.masseo-testimonial::before,
.masseo-single-content .wp-block-quote cite {
	color: var(--masseo-decorative) !important;
}

:where(.wp-site-blocks) a:where(:not(.wp-element-button):not(.wp-block-button__link)),
.masseo-contact-link,
.masseo-read-more,
.masseo-article-card .masseo-read-more,
.masseo-promo-card summary,
.masseo-approach-item summary,
.masseo-footer a:where(:not(.wp-element-button):not(.wp-block-button__link)),
.masseo-social-links .wp-social-link,
.masseo-blog-card .wp-block-post-title a,
.masseo-article-card .wp-block-post-title a,
.masseo-single-content a {
	color: var(--masseo-link);
}

:where(.wp-site-blocks) a:where(:not(.wp-element-button):not(.wp-block-button__link)):hover,
.masseo-contact-link:hover,
.masseo-read-more:hover,
.masseo-article-card .masseo-read-more:hover,
.masseo-promo-card summary:hover,
.masseo-approach-item summary:hover,
.masseo-footer a:where(:not(.wp-element-button):not(.wp-block-button__link)):hover,
.masseo-social-links .wp-social-link:hover,
.masseo-blog-card .wp-block-post-title a:hover,
.masseo-article-card .wp-block-post-title a:hover,
.masseo-single-content a:hover {
	color: var(--masseo-link-hover);
}

.masseo-promo-slider-button,
.masseo-blog-slider-button,
.masseo-staff-accordion > summary {
	color: var(--masseo-link);
}

.masseo-promo-slider-button:hover,
.masseo-blog-slider-button:hover,
.masseo-staff-accordion > summary:hover {
	color: var(--masseo-link-hover);
}

.wp-block-heading,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--wp--preset--color--ink);
	font-weight: 680;
	letter-spacing: -0.025em;
}

h1,
h1.wp-block-heading,
.wp-block-post-title {
	color: #2e2421 !important;
}

.has-display-font-size {
	font-size: clamp(2.25rem, 4.8vw, 3.75rem) !important;
	font-weight: 680;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.has-display-small-font-size {
	font-size: clamp(1.85rem, 3.4vw, 2.75rem) !important;
	font-weight: 680;
	letter-spacing: -0.03em;
	line-height: 1.14;
}

.wp-site-blocks {
	min-height: 100vh;
}

.wp-site-blocks > * {
	margin-block-start: 0 !important;
}

.wp-block-post-content {
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content > * {
	margin-block-start: 0 !important;
}

.wp-block-post-content > :first-child {
	margin-block-start: 0 !important;
}

.wp-block-post-content > :last-child {
	margin-block-end: 0 !important;
}

.masseo-header {
	backdrop-filter: blur(18px);
	background: rgb(255 255 255 / 88%) !important;
	position: sticky;
	top: 0;
	transition: padding 180ms ease, box-shadow 180ms ease, background-color 180ms ease, transform 220ms ease;
	z-index: 50;
}

.masseo-header > .alignwide {
	gap: clamp(0.8rem, 2vw, 1.5rem);
	min-width: 0;
}

.masseo-header.is-compact {
	background: rgb(255 255 255 / 94%) !important;
	box-shadow: 0 12px 32px rgb(var(--masseo-charcoal-rgb) / 8%);
	padding-bottom: 0.55rem !important;
	padding-top: 0.55rem !important;
}

.masseo-header.is-fixed {
	left: 0;
	position: fixed;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0);
	width: 100%;
}

.masseo-header.is-hidden:not(.is-mobile-menu-open) {
	transform: translateY(-110%);
}

.masseo-header-placeholder[hidden] {
	display: none;
}

.masseo-header__logo {
	background: transparent !important;
	margin: 0;
}

.masseo-header__logo a,
.masseo-header__logo .wp-block-site-logo {
	background: transparent !important;
}

.masseo-header__logo img,
.masseo-header__logo .custom-logo {
	background: transparent !important;
	display: block;
	height: auto;
	max-height: 3.3rem;
	transition: max-height 180ms ease;
	width: auto;
}

.masseo-header.is-compact .masseo-header__logo img,
.masseo-header.is-compact .masseo-header__logo .custom-logo {
	max-height: 2.35rem;
}

.masseo-header .wp-block-site-title a {
	text-decoration: none;
}

.masseo-header .wp-block-navigation {
	flex: 1 1 auto;
	min-width: 0;
}

.masseo-header .wp-block-navigation__container {
	flex-wrap: nowrap !important;
}

.masseo-header .wp-block-navigation-item__content {
	border-radius: 999px;
	padding: 0.5rem 0.7rem;
	white-space: nowrap;
}

.masseo-header .wp-block-navigation-item__content:hover,
.masseo-header .wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover {
	background: #d14414;
	color: #fff;
	text-decoration: none;
}

.masseo-header .wp-block-navigation__responsive-container-open {
	border-radius: 999px;
	padding: 0.6rem;
}

@media (max-width: 960px) {
	.masseo-header .wp-block-navigation__responsive-container-open {
		align-items: center;
		background: rgb(var(--masseo-soft-rgb) / 92%);
		border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
		color: var(--wp--preset--color--ink);
		display: inline-flex;
		height: 2.75rem;
		justify-content: center;
		margin: 0;
		padding: 0;
		width: 2.75rem;
	}

	.masseo-header .wp-block-navigation__responsive-container-open svg {
		height: 1.15rem;
		width: 1.15rem;
	}

	.masseo-header .wp-block-navigation__responsive-container,
	.masseo-mobile-nav-layer {
		background: transparent;
		display: block !important;
		inset: 0;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		transition: opacity 280ms ease, visibility 280ms ease;
		visibility: hidden;
		z-index: 1000000;
	}

	.masseo-header .wp-block-navigation__responsive-container.is-menu-open,
	.masseo-mobile-nav-layer.is-menu-open {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.masseo-header .wp-block-navigation__responsive-container::before,
	.masseo-mobile-nav-layer::before {
		background: rgb(var(--masseo-charcoal-rgb) / 42%);
		backdrop-filter: blur(4px);
		content: "";
		inset: 0;
		opacity: 0;
		position: absolute;
		transition: opacity 280ms ease;
		z-index: 0;
	}

	.masseo-header .wp-block-navigation__responsive-container.is-menu-open::before,
	.masseo-mobile-nav-layer.is-menu-open::before {
		opacity: 1;
	}

	.masseo-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.masseo-mobile-nav-layer.is-menu-open .wp-block-navigation__responsive-container-content {
		transform: translateX(0);
	}

	.masseo-header .wp-block-navigation__responsive-dialog,
	.masseo-mobile-nav-layer .wp-block-navigation__responsive-dialog {
		height: 100%;
		margin: 0;
		max-height: none;
		max-width: none;
		position: absolute;
		right: 0;
		top: 0;
		width: min(88vw, 22rem);
		z-index: 1;
	}

	.masseo-header .wp-block-navigation__responsive-container-content,
	.masseo-mobile-nav-layer .wp-block-navigation__responsive-container-content {
		background: #fff;
		box-shadow: -18px 0 48px rgb(var(--masseo-charcoal-rgb) / 14%);
		display: flex;
		flex-direction: column;
		gap: 1rem;
		height: 100%;
		justify-content: flex-start;
		overflow-y: auto;
		padding: 1.25rem 1.25rem 1.5rem;
		position: relative;
		transform: translateX(100%);
		transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
		width: 100%;
		z-index: 2;
	}

	.masseo-header .wp-block-navigation__responsive-container-close,
	.masseo-mobile-nav-layer .wp-block-navigation__responsive-container-close {
		align-items: center;
		background: rgb(var(--masseo-soft-rgb) / 92%);
		border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
		border-radius: 999px;
		color: var(--wp--preset--color--ink);
		display: inline-flex;
		height: 2.5rem;
		justify-content: center;
		margin: 0 0 0.5rem auto;
		padding: 0;
		width: 2.5rem;
	}

	.masseo-header .wp-block-navigation__responsive-container-close svg,
	.masseo-mobile-nav-layer .wp-block-navigation__responsive-container-close svg {
		height: 1rem;
		width: 1rem;
	}

	.masseo-header .wp-block-navigation__responsive-container .wp-block-navigation__container,
	.masseo-mobile-nav-layer .wp-block-navigation__container {
		align-items: stretch;
		flex-direction: column;
		gap: 0.35rem;
		width: 100%;
	}

	.masseo-header .wp-block-navigation__responsive-container .wp-block-navigation-item,
	.masseo-mobile-nav-layer .wp-block-navigation-item {
		width: 100%;
	}

	.masseo-header .wp-block-navigation__responsive-container .wp-block-navigation-item__content,
	.masseo-mobile-nav-layer .wp-block-navigation-item__content {
		border-radius: 0.85rem;
		display: block;
		font-size: 1rem;
		font-weight: 700;
		padding: 0.85rem 1rem;
		width: 100%;
	}

	.masseo-header .wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover,
	.masseo-mobile-nav-layer .wp-block-navigation-item__content:hover {
		background: rgb(var(--masseo-primary-rgb) / 8%);
		color: var(--wp--preset--color--ink);
	}

	.masseo-header .wp-block-navigation__responsive-container .masseo-mobile-nav-cta,
	.masseo-mobile-nav-layer .masseo-mobile-nav-cta {
		margin-top: auto;
		padding-top: 0.75rem;
		width: 100%;
	}

	.masseo-header .wp-block-navigation__responsive-container .masseo-mobile-nav-cta .wp-block-button__link,
	.masseo-mobile-nav-layer .masseo-mobile-nav-cta .wp-block-button__link {
		display: flex;
		justify-content: center;
		width: 100%;
	}
}

@media (min-width: 1121px) {
	.masseo-header .masseo-mobile-nav-cta {
		display: none !important;
	}
}

body.masseo-mobile-menu-open {
	overflow: hidden;
}

body.masseo-mobile-menu-open .wp-block-template-part:has(.masseo-header),
.masseo-header.is-mobile-menu-open {
	position: relative;
	transform: none !important;
	z-index: 1000000;
}

.masseo-header.is-mobile-menu-open .wp-block-navigation__responsive-container.is-menu-open,
.masseo-mobile-nav-layer.is-menu-open {
	z-index: 1000000;
}

@media (prefers-reduced-motion: reduce) {
	.masseo-header .wp-block-navigation__responsive-container,
	.masseo-mobile-nav-layer,
	.masseo-header .wp-block-navigation__responsive-container::before,
	.masseo-mobile-nav-layer::before,
	.masseo-header .wp-block-navigation__responsive-container-content,
	.masseo-mobile-nav-layer .wp-block-navigation__responsive-container-content {
		transition: none;
	}
}

.masseo-contact-strip {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	margin-top: 1.25rem;
}

.masseo-contact-strip > *,
.masseo-footer-contact > * {
	margin-block: 0 !important;
}

.masseo-contact-link {
	align-items: center;
	display: inline-flex;
	font-size: 0.94rem;
	font-weight: 800;
	gap: 0.45rem;
	line-height: 1.2;
	text-decoration: none;
}

.masseo-contact-link:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.22em;
}

.masseo-premium-hero .masseo-contact-strip .masseo-contact-link {
	color: var(--masseo-decorative);
}

.masseo-premium-hero .masseo-contact-strip .masseo-contact-link:hover {
	color: var(--wp--preset--color--ink);
}

.masseo-premium-hero .masseo-contact-strip .masseo-social-links .wp-social-link {
	color: var(--masseo-decorative) !important;
}

.masseo-premium-hero .masseo-contact-strip .masseo-social-links .wp-social-link:hover {
	color: var(--wp--preset--color--ink) !important;
}

.masseo-contact-link::before {
	background: currentColor;
	content: "";
	display: inline-block;
	flex: 0 0 1rem;
	height: 1rem;
	width: 1rem;
}

.masseo-contact-link--phone::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.25 2.5L7.5 6.25L5.833 7.5C6.548 8.948 7.719 10.119 9.167 10.833L10.417 9.167L14.167 10.417L13.333 14.167C7.917 14.167 3.333 9.583 3.333 4.167L6.25 2.5Z' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.25 2.5L7.5 6.25L5.833 7.5C6.548 8.948 7.719 10.119 9.167 10.833L10.417 9.167L14.167 10.417L13.333 14.167C7.917 14.167 3.333 9.583 3.333 4.167L6.25 2.5Z' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.masseo-contact-link--email::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.333 5.833L9.167 10L15 5.833M5 15H15C15.92 15 16.667 14.254 16.667 13.333V6.667C16.667 5.746 15.92 5 15 5H5C4.08 5 3.333 5.746 3.333 6.667V13.333C3.333 14.254 4.08 15 5 15Z' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.333 5.833L9.167 10L15 5.833M5 15H15C15.92 15 16.667 14.254 16.667 13.333V6.667C16.667 5.746 15.92 5 15 5H5C4.08 5 3.333 5.746 3.333 6.667V13.333C3.333 14.254 4.08 15 5 15Z' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.masseo-social-links {
	margin-top: 1rem;
}

.masseo-footer-contact {
	display: grid;
	gap: 0.55rem;
	justify-items: start;
	margin-top: 1rem;
	text-align: left;
}

.masseo-footer-contact.is-layout-constrained > * {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.masseo-social-links--inline {
	margin-top: 0;
}

.masseo-social-links .wp-social-link {
	background: transparent !important;
}

.masseo-social-links .wp-social-link a {
	background: transparent !important;
	color: inherit !important;
	padding: 0;
}

.masseo-social-links .wp-social-link {
	transition: transform 160ms ease, background-color 160ms ease;
}

.masseo-social-links .wp-social-link:hover {
	transform: translateY(-1px);
}

@keyframes masseoBlobFloatA {
	0% {
		border-radius: 42% 58% 64% 36% / 48% 40% 60% 52%;
		transform: translate3d(0, 0, 0) rotate(-8deg) scale(1);
	}

	50% {
		border-radius: 56% 44% 46% 54% / 42% 58% 46% 54%;
		transform: translate3d(1.2rem, -0.8rem, 0) rotate(-2deg) scale(1.035);
	}

	100% {
		border-radius: 46% 54% 58% 42% / 54% 46% 56% 44%;
		transform: translate3d(-0.8rem, 0.7rem, 0) rotate(-12deg) scale(0.985);
	}
}

@keyframes masseoBlobFloatB {
	0% {
		border-radius: 40% 60% 58% 42% / 58% 42% 58% 42%;
		transform: translate3d(0, 0, 0) rotate(-10deg) scale(1);
	}

	50% {
		border-radius: 58% 42% 46% 54% / 44% 56% 48% 52%;
		transform: translate3d(-1rem, 0.85rem, 0) rotate(-4deg) scale(1.025);
	}

	100% {
		border-radius: 46% 54% 62% 38% / 56% 44% 52% 48%;
		transform: translate3d(0.8rem, -0.6rem, 0) rotate(-14deg) scale(0.99);
	}
}

@keyframes masseoBlobFloatCentered {
	0% {
		border-radius: 42% 58% 48% 52% / 46% 38% 62% 54%;
		transform: translateY(-50%) translate3d(0, 0, 0) rotate(5deg) scale(1);
	}

	50% {
		border-radius: 58% 42% 54% 46% / 40% 60% 42% 58%;
		transform: translateY(-50%) translate3d(-0.8rem, 0.65rem, 0) rotate(9deg) scale(1.025);
	}

	100% {
		border-radius: 48% 52% 62% 38% / 56% 44% 52% 48%;
		transform: translateY(-50%) translate3d(0.7rem, -0.55rem, 0) rotate(2deg) scale(0.99);
	}
}

.masseo-home-hero {
	overflow: hidden;
	position: relative;
}

.masseo-home-hero::before {
	background:
		radial-gradient(circle, rgb(var(--masseo-mist-rgb) / 62%) 0 0.12rem, transparent 0.14rem);
	background-size: 1.25rem 1.25rem;
	content: "";
	height: 18rem;
	opacity: 0.45;
	position: absolute;
	right: -3rem;
	top: 4rem;
	width: 18rem;
}

.masseo-home-hero > * {
	position: relative;
	z-index: 1;
}

.masseo-home-hero h1 {
	max-width: 11ch;
}

.masseo-premium-hero,
.masseo-premium-section,
.masseo-premium-cta {
	overflow: hidden;
	position: relative;
}

.masseo-premium-hero {
	background: var(--wp--preset--color--soft);
	box-sizing: border-box;
	display: grid;
	min-height: clamp(44rem, 82svh, 56rem);
	place-items: center stretch;
}

.masseo-premium-hero::before {
	background: radial-gradient(circle, rgb(var(--masseo-mist-rgb) / 68%) 0 0.12rem, transparent 0.14rem);
	background-size: 1.35rem 1.35rem;
	content: "";
	height: 20rem;
	opacity: 0.42;
	position: absolute;
	right: -4rem;
	top: 5rem;
	width: 20rem;
}

.masseo-premium-hero::after {
	content: none;
}

.masseo-premium-hero > *,
.masseo-premium-section > *,
.masseo-premium-cta > * {
	position: relative;
	z-index: 1;
}

.masseo-premium-hero h1 {
	color: #2e2421 !important;
	font-size: clamp(3rem, 6.4vw, 6.25rem) !important;
	font-weight: 660;
	letter-spacing: -0.045em;
	line-height: 0.98;
	max-width: 11.5ch;
}

.masseo-premium-hero .masseo-kicker {
	color: #645550 !important;
}

.masseo-premium-hero .has-lead-font-size {
	color: #645550 !important;
	max-width: 34rem;
}

.masseo-premium-hero__layout {
	align-items: center !important;
	gap: clamp(2.5rem, 5vw, 5rem) !important;
	min-height: clamp(36rem, 70svh, 46rem);
	max-width: min(1320px, calc(100vw - 4rem)) !important;
	position: relative;
	width: 100%;
}

.masseo-premium-hero__layout > .wp-block-column:first-child {
	flex: 0 1 500px !important;
	max-width: 540px;
}

.masseo-premium-hero__layout > .wp-block-column:last-child {
	align-self: center;
	flex: 1 1 0 !important;
	position: relative;
}

.masseo-premium-hero__panel {
	backdrop-filter: blur(16px);
	background: rgb(255 255 255 / 82%) !important;
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 2rem;
	box-shadow: 0 28px 80px rgb(var(--masseo-charcoal-rgb) / 14%);
	overflow: hidden;
	position: relative;
}

.masseo-premium-hero .wp-block-button__link,
.masseo-premium-hero .wp-element-button {
	box-shadow: none;
}

.masseo-premium-hero__panel::before {
	background: linear-gradient(90deg, var(--wp--preset--color--brand), var(--wp--preset--color--accent));
	content: "";
	height: 0.35rem;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.masseo-premium-hero__panel h2 {
	margin-top: 0.25rem;
}

.masseo-promo-panel {
	animation: masseoPromoFloat 18s ease-in-out infinite alternate;
	backdrop-filter: none;
	background:
		var(--masseo-promo-image-current, url("/wp-content/uploads/2025/10/DSC03264-scaled-2.jpg")) center / cover no-repeat !important;
	border: 0;
	border-radius: 9rem 0 0 0;
	box-shadow: 0 28px 80px rgb(var(--masseo-charcoal-rgb) / 14%);
	isolation: isolate;
	margin-left: auto;
	max-width: 592px;
	min-height: clamp(30rem, 48vw, 40rem);
	overflow: visible;
	padding: clamp(1.25rem, 2.4vw, 2rem) !important;
	width: 100%;
}

.masseo-promo-panel::before {
	background: repeating-linear-gradient(
		62deg,
		rgb(var(--masseo-charcoal-rgb) / 14%) 0 0.12rem,
		transparent 0.12rem 1.25rem
	);
	border-radius: 999px;
	content: "";
	height: 18rem;
	opacity: 0.55;
	position: absolute;
	right: -4.2rem;
	top: -4rem;
	width: 18rem;
	z-index: -1;
}

.masseo-promo-panel::after {
	background:
		var(--masseo-promo-image-next, var(--masseo-promo-image-current, url("/wp-content/uploads/2025/10/DSC03264-scaled-2.jpg"))) center / cover no-repeat;
	border-radius: inherit;
	clip-path: circle(0% at 72% 28%);
	content: "";
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: scale(1.08) rotate(1.5deg);
	transform-origin: 68% 28%;
	z-index: 0;
}

.masseo-promo-panel.is-image-transitioning::after {
	animation: masseoImagePortalReveal 1280ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.masseo-promo-panel > * {
	position: relative;
	z-index: 1;
}

.masseo-promo-panel > .masseo-promo-hero-images {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
	z-index: 0;
}

.masseo-promo-panel > .masseo-premium-badge {
	background: rgb(255 255 255 / 88%);
	border: 1px solid rgb(255 255 255 / 72%);
	border-radius: 999px;
	bottom: calc(clamp(2rem, 4vw, 3.1rem) + 8.55rem + 0.75rem);
	color: var(--masseo-decorative);
	left: clamp(-4.5rem, -4vw, -2rem);
	margin: 0;
	padding: 0.55rem 0.8rem;
	position: absolute;
	width: fit-content;
	z-index: 5;
}

.masseo-promo-panel > .wp-block-heading {
	display: none !important;
}

.masseo-promo-panel > .wp-block-heading::after {
	content: none;
}

.masseo-promo-stack {
	display: grid;
	gap: 0.85rem;
	margin-top: 0;
}

.masseo-promo-stack[data-masseo-promo-slider-ready="true"] {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: block;
	padding: 0;
}

.masseo-promo-stack[data-masseo-promo-slider-ready="true"] .masseo-promo-card {
	animation: masseoPromoReveal 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

.masseo-promo-stack[data-masseo-promo-slider-ready="true"] .masseo-promo-card[hidden] {
	display: none;
}

.masseo-promo-panel .masseo-promo-stack {
	bottom: clamp(2rem, 4vw, 3.1rem);
	left: clamp(-4.5rem, -4vw, -2rem);
	margin-block-start: 0 !important;
	min-height: 8.6rem;
	position: absolute;
	width: min(68%, 370px);
	z-index: 4;
}

.masseo-promo-panel .masseo-promo-stack:not([data-masseo-promo-slider-ready="true"]) .masseo-promo-card:not(:first-child) {
	display: none;
}

.masseo-promo-panel .masseo-promo-card {
	animation: none;
	box-sizing: border-box;
	bottom: auto;
	cursor: pointer;
	left: 0;
	margin-block-start: 0 !important;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: translate3d(1rem, 0, 0) scale(0.985);
	transition: opacity 280ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1), visibility 280ms ease;
	visibility: hidden;
	width: 100%;
}

.masseo-promo-panel .masseo-promo-card > * {
	margin-block-start: 0 !important;
}

.masseo-promo-panel .masseo-promo-stack:not([data-masseo-promo-slider-ready="true"]) .masseo-promo-card:first-child,
.masseo-promo-panel .masseo-promo-card.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0) scale(1);
	visibility: visible;
	z-index: 3;
}

.masseo-promo-panel .masseo-promo-card.is-next,
.masseo-promo-panel .masseo-promo-card.is-after-next {
	pointer-events: none;
	top: 0;
	visibility: visible;
}

.masseo-promo-panel .masseo-promo-card.is-next {
	opacity: 0.82;
	transform: translate3d(0.65rem, 0, 0) scale(0.985);
	z-index: 2;
}

.masseo-promo-panel .masseo-promo-card.is-after-next {
	opacity: 0.62;
	transform: translate3d(1.3rem, 0, 0) scale(0.97);
	z-index: 1;
}

.masseo-promo-card {
	backdrop-filter: blur(14px) saturate(1.1);
	background:
		linear-gradient(90deg, rgb(255 255 255 / 95%) 0 0.75rem, transparent 0.75rem),
		radial-gradient(circle at 92% 20%, rgb(var(--masseo-accent-rgb) / 20%), transparent 6rem),
		linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(var(--masseo-soft-rgb) / 86%));
	border: 1px solid rgb(var(--masseo-mist-rgb) / 86%);
	border-left: 0.35rem solid var(--wp--preset--color--brand);
	border-radius: 1rem;
	box-shadow: 0 14px 36px rgb(var(--masseo-charcoal-rgb) / 8%);
	color: var(--wp--preset--color--ink);
	height: 8.25rem;
	min-height: 8.25rem;
	overflow: hidden;
	padding: 0.8rem 1rem 0.85rem 1.05rem;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.masseo-promo-card::before {
	background:
		radial-gradient(circle at center, rgb(var(--masseo-soft-rgb) / 96%) 0 0.42rem, transparent 0.44rem);
	content: "";
	height: 1rem;
	position: absolute;
	right: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.masseo-promo-card:hover,
.masseo-promo-card:focus-within {
	border-color: rgb(var(--masseo-primary-rgb) / 26%);
	box-shadow: 0 24px 62px rgb(var(--masseo-charcoal-rgb) / 12%);
	transform: translateY(-1px);
}

.masseo-promo-panel .masseo-promo-card:hover,
.masseo-promo-panel .masseo-promo-card:focus,
.masseo-promo-panel .masseo-promo-card:focus-within {
	border-color: rgb(var(--masseo-primary-rgb) / 32%);
	box-shadow: 0 18px 42px rgb(var(--masseo-charcoal-rgb) / 13%);
	transform: translate3d(0, 0, 0) scale(1);
}

.masseo-promo-card:hover::before,
.masseo-promo-card:focus-within::before {
	transform: translateY(-50%);
}

@keyframes masseoPromoReveal {
	from {
		opacity: 0;
		transform: translateY(0.7rem) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes masseoPromoFloat {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-0.45rem);
	}
}

@keyframes masseoImagePortalReveal {
	0% {
		clip-path: circle(0% at 72% 28%);
		filter: saturate(0.92) blur(7px);
		opacity: 1;
		transform: scale(1.08) rotate(1.5deg);
	}

	55% {
		clip-path: circle(78% at 58% 42%);
		filter: saturate(1.05) blur(1px);
		opacity: 1;
		transform: scale(1.025) rotate(-0.6deg);
	}

	100% {
		clip-path: circle(145% at 50% 50%);
		filter: saturate(1) blur(0);
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.masseo-premium-cta::before,
	.masseo-page-hero::after,
	.masseo-blog-section.has-soft-background-color::before,
	.masseo-single-hero::before,
	.masseo-footer.has-brand-dark-background-color::before {
		animation: none;
	}

	.masseo-promo-stack[data-masseo-promo-slider-ready="true"] .masseo-promo-card {
		animation: none;
	}

	.masseo-promo-panel {
		animation: none;
	}

	.masseo-promo-panel.is-image-transitioning::after {
		animation: none;
	}
}

.masseo-promo-card h3 {
	font-size: clamp(1rem, 1.6vw, 1.22rem);
	font-weight: 680;
	letter-spacing: -0.025em;
	line-height: 1.18;
	margin: 0.25rem 1.3rem 0 0;
}

.masseo-promo-card p {
	display: -webkit-box;
	font-size: 0.9rem;
	line-height: 1.38;
	margin-block: 0.45rem 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.masseo-promo-meta {
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.masseo-promo-card details {
	border-top: 1px solid currentColor;
	display: none;
	margin-top: 0.65rem;
	padding-top: 0.65rem;
}

.masseo-promo-card summary {
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 800;
}

.masseo-promo-card details p {
	font-size: 0.9rem;
	line-height: 1.45;
}

.masseo-promo-more {
	align-items: center;
	backdrop-filter: blur(12px);
	background: rgb(var(--masseo-primary-rgb) / 9%);
	border: 1px solid rgb(var(--masseo-primary-rgb) / 28%);
	border-radius: 999px;
	color: var(--masseo-link);
	display: flex;
	font-weight: 850;
	gap: 0.45rem;
	justify-content: center;
	margin-top: 1rem;
	padding: 0.8rem 1rem;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.masseo-promo-more::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.833 14.167L14.167 5.833M14.167 5.833H6.667M14.167 5.833V13.333' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.833 14.167L14.167 5.833M14.167 5.833H6.667M14.167 5.833V13.333' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-promo-more:hover {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff;
	transform: translateY(-1px);
}

.masseo-promo-panel > p:has(.masseo-promo-more),
.masseo-promo-panel .masseo-promo-more {
	display: none !important;
}

.masseo-promo-slider-controls {
	align-items: center;
	display: grid;
	gap: 0.65rem;
	grid-template-columns: auto 1fr auto;
	margin-top: 0.95rem;
}

.masseo-promo-panel .masseo-promo-slider-controls {
	bottom: -0.35rem;
	left: clamp(-4.5rem, -4vw, -2rem);
	margin-top: 0;
	max-width: min(68%, 370px);
	position: absolute;
	width: min(68%, 370px);
	z-index: 5;
}

.masseo-promo-slider-button,
.masseo-promo-slider-dot {
	backdrop-filter: blur(14px);
	background: rgb(255 255 255 / 56%);
	border: 1px solid rgb(255 255 255 / 56%);
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, width 220ms ease;
}

.masseo-promo-slider-button {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	height: 2.35rem;
	justify-content: center;
	padding: 0;
	width: 2.35rem;
}

.masseo-promo-slider-button span {
	background: currentColor;
	display: block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-promo-slider-button[data-direction="previous"] span {
	transform: rotate(180deg);
}

.masseo-promo-slider-dots {
	align-items: center;
	display: inline-flex;
	gap: 0.45rem;
	justify-content: center;
}

.masseo-promo-slider-dot {
	border-radius: 999px;
	box-shadow: none;
	height: 0.5rem;
	padding: 0;
	width: 0.5rem;
}

.masseo-promo-slider-dot.is-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	width: 1.8rem;
}

.masseo-promo-slider-button:hover,
.masseo-promo-slider-dot:hover {
	background: var(--wp--preset--color--brand-light);
	box-shadow: 0 12px 30px rgb(var(--masseo-charcoal-rgb) / 13%);
	transform: translateY(-1px);
}

.masseo-promo-slider-progress {
	background: rgb(var(--masseo-mist-rgb) / 62%);
	border-radius: 999px;
	grid-column: 1 / -1;
	height: 0.2rem;
	overflow: hidden;
}

.masseo-promo-panel .masseo-promo-slider-progress {
	background: rgb(255 255 255 / 72%);
	box-shadow: inset 0 0 0 1px rgb(var(--masseo-mist-rgb) / 34%);
}

.masseo-promo-slider-progress span {
	background: linear-gradient(90deg, var(--wp--preset--color--brand), var(--wp--preset--color--accent));
	border-radius: inherit;
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left;
}

.masseo-promo-slider-controls.is-rotating .masseo-promo-slider-progress span {
	animation: masseoPromoProgress 5200ms linear forwards;
}

@keyframes masseoPromoProgress {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.masseo-promo-slider-controls.is-rotating .masseo-promo-slider-progress span {
		animation: none;
	}
}

.masseo-promo-listing {
	box-sizing: border-box;
	display: grid;
	gap: 2rem;
	margin-top: 0;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.masseo-promo-listing__card {
	align-items: start;
	background: var(--wp--preset--color--soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.5rem;
	box-shadow: 0 16px 40px rgb(var(--masseo-charcoal-rgb) / 8%);
	box-sizing: border-box;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: minmax(0, 1fr);
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	padding: 1.35rem;
	width: 100%;
}

.masseo-promo-listing__card:has(.masseo-promo-listing__media),
.masseo-promo-listing__card--has-media {
	grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
}

.masseo-promo-listing__media {
	margin: 0;
	width: 100%;
}

.masseo-promo-listing__image {
	border-radius: 1rem;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.masseo-promo-listing__content {
	min-width: 0;
	width: 100%;
}

.masseo-promo-listing__title {
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	line-height: 1.2;
	margin: 0.35rem 0 0.75rem;
}

.masseo-promo-listing__body {
	color: var(--wp--preset--color--muted);
}

.masseo-promo-listing__body > :first-child {
	margin-top: 0;
}

.masseo-promo-listing__body > :last-child {
	margin-bottom: 0;
}

.masseo-promo-listing__price {
	color: var(--wp--preset--color--brand-dark);
	font-size: 1.05rem;
	font-weight: 800;
	margin: 1rem 0 0;
}

.masseo-promo-listing__actions {
	margin-top: 1.1rem;
}

.masseo-promo-listing__conditions {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: 1.15rem;
	padding-top: 0.9rem;
}

.masseo-promo-listing__conditions-label {
	color: var(--wp--preset--color--ink);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 0.4rem;
	text-transform: uppercase;
}

.masseo-promo-listing__conditions,
.masseo-promo-listing__conditions p,
.masseo-promo-listing__conditions li {
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
}

.masseo-promo-listing__empty {
	color: var(--wp--preset--color--muted);
	margin: 1.5rem 0 0;
}

@media (max-width: 780px) {
	.masseo-promo-listing__card:has(.masseo-promo-listing__media),
	.masseo-promo-listing__card--has-media {
		grid-template-columns: 1fr;
	}

	.masseo-promo-listing__media {
		max-width: 16rem;
	}
}

.masseo-premium-metrics {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.5rem;
}

.masseo-premium-metric {
	background: rgb(225 230 225 / 72%);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 1.1rem;
	padding: 1rem;
}

.masseo-premium-metric strong {
	display: block;
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	letter-spacing: -0.05em;
	line-height: 1;
}

.masseo-premium-metric span {
	color: var(--wp--preset--color--muted);
	display: block;
	font-size: 0.86rem;
	line-height: 1.35;
	margin-top: 0.45rem;
}

.masseo-premium-card-grid {
	display: grid !important;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.masseo-premium-card-grid > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.masseo-premium-card,
.masseo-premium-step,
.masseo-premium-proof {
	background: #fff;
	border: 1px solid rgb(var(--masseo-mist-rgb) / 76%);
	border-radius: 1.45rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 7%);
	height: 100%;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.masseo-premium-card {
	cursor: pointer;
}

.masseo-premium-card:hover,
.masseo-premium-step:hover,
.masseo-premium-proof:hover {
	border-color: rgb(var(--masseo-primary-rgb) / 26%);
	box-shadow: 0 22px 60px rgb(var(--masseo-charcoal-rgb) / 12%);
	transform: translateY(-2px);
}

.masseo-premium-card h3,
.masseo-premium-step h3 {
	margin-top: 0.45rem;
}

.masseo-premium-card a,
.masseo-premium-step a {
	font-weight: 800;
	text-decoration: none;
}

.masseo-premium-card a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.masseo-premium-badge {
	align-items: center;
	background: var(--wp--preset--color--brand-light);
	border-radius: 999px;
	color: var(--masseo-decorative);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	padding: 0.4rem 0.65rem;
	text-transform: uppercase;
	width: fit-content;
}

.masseo-premium-card--featured {
	background:
		radial-gradient(circle at 88% 12%, rgb(var(--masseo-accent-rgb) / 24%), transparent 10rem),
		linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(var(--masseo-soft-rgb) / 88%)) !important;
	border-color: rgb(var(--masseo-mist-rgb) / 88%);
	color: var(--wp--preset--color--ink);
}

.masseo-premium-card--featured .masseo-premium-badge {
	background: rgb(var(--masseo-mist-rgb) / 48%);
	color: var(--masseo-decorative);
}

.masseo-premium-card--featured a,
.masseo-premium-card--featured p,
.masseo-premium-card--featured h3 {
	color: var(--wp--preset--color--ink);
}

.masseo-premium-steps {
	counter-reset: premium-step;
	display: grid !important;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.masseo-premium-step {
	counter-increment: premium-step;
	padding-top: 4rem !important;
}

.masseo-premium-step::before {
	background: linear-gradient(135deg, var(--wp--preset--color--brand), var(--wp--preset--color--accent));
	border-radius: 999px;
	color: #fff;
	content: counter(premium-step, decimal-leading-zero);
	display: grid;
	font-weight: 850;
	height: 2.35rem;
	left: 1.5rem;
	place-items: center;
	position: absolute;
	top: 1.35rem;
	width: 2.35rem;
}

.masseo-premium-proof {
	background:
		linear-gradient(180deg, rgb(255 255 255 / 94%), #fff),
		radial-gradient(circle at 0 0, rgb(var(--masseo-accent-rgb) / 12%), transparent 14rem);
}

.masseo-premium-proof p:first-child {
	font-size: 1.08rem;
	line-height: 1.6;
	margin-top: 0;
}

.masseo-premium-proof p:first-child::before {
	content: "\"";
	display: block;
	font-size: 3.5rem;
	font-weight: 850;
	line-height: 0.65;
	margin-bottom: 0.35rem;
}

.masseo-premium-cta {
	background:
		radial-gradient(circle at 12% 0%, rgb(var(--masseo-accent-rgb) / 24%), transparent 26rem),
		linear-gradient(135deg, #fff 0%, rgb(var(--masseo-soft-rgb) / 92%) 54%, rgb(var(--masseo-mist-rgb) / 35%) 100%);
	color: var(--wp--preset--color--ink) !important;
}

.masseo-premium-cta.has-white-color,
.masseo-premium-cta :where(h2, p, .masseo-premium-badge) {
	color: var(--wp--preset--color--ink) !important;
}

.masseo-premium-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.masseo-premium-cta .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: var(--wp--preset--color--brand) !important;
	color: var(--wp--preset--color--white) !important;
}

.masseo-premium-cta::before {
	animation: masseoBlobFloatB 56s ease-in-out infinite alternate;
	background:
		radial-gradient(circle at 30% 30%, rgb(var(--masseo-accent-rgb) / 28%), transparent 35%),
		radial-gradient(circle at 72% 62%, rgb(255 255 255 / 78%), transparent 34%),
		linear-gradient(135deg, rgb(var(--masseo-primary-rgb) / 10%), rgb(var(--masseo-mist-rgb) / 26%));
	border-radius: 40% 60% 58% 42% / 58% 42% 58% 42%;
	content: "";
	height: clamp(12rem, 22vw, 22rem);
	opacity: 0.64;
	position: absolute;
	right: -4rem;
	top: -3rem;
	transform: rotate(-10deg);
	width: clamp(12rem, 22vw, 22rem);
}

.masseo-premium-cta .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgb(var(--masseo-primary-rgb) / 8%) !important;
	border-color: rgb(var(--masseo-primary-rgb) / 36%) !important;
	color: var(--wp--preset--color--brand-dark) !important;
}

.masseo-page-hero {
	background:
		radial-gradient(circle at 86% 8%, rgb(var(--masseo-accent-rgb) / 24%), transparent 22rem),
		linear-gradient(135deg, #fff 0%, rgb(var(--masseo-soft-rgb) / 92%) 48%, rgb(var(--masseo-mist-rgb) / 58%) 100%) !important;
	overflow: hidden;
	position: relative;
}

.masseo-page-hero::before {
	background: radial-gradient(circle, rgb(var(--masseo-mist-rgb) / 66%) 0 0.12rem, transparent 0.14rem);
	background-size: 1.25rem 1.25rem;
	content: "";
	height: 16rem;
	opacity: 0.42;
	position: absolute;
	right: -4rem;
	top: 3rem;
	width: 16rem;
}

.masseo-page-hero::after {
	animation: masseoBlobFloatCentered 52s ease-in-out infinite alternate;
	background:
		radial-gradient(circle at 30% 28%, rgb(var(--masseo-accent-rgb) / 28%), transparent 36%),
		linear-gradient(135deg, rgb(255 255 255 / 48%), rgb(var(--masseo-soft-rgb) / 46%));
	border: 1px solid rgb(255 255 255 / 62%);
	border-radius: 42% 58% 48% 52% / 46% 38% 62% 54%;
	box-shadow: 0 26px 70px rgb(var(--masseo-charcoal-rgb) / 10%);
	content: "";
	height: clamp(12rem, 22vw, 22rem);
	opacity: 0.18;
	pointer-events: none;
	position: absolute;
	right: clamp(1rem, 5vw, 4rem);
	top: 50%;
	transform: translateY(-50%) rotate(5deg);
	width: clamp(12rem, 22vw, 22rem);
}

.masseo-page-hero > * {
	position: relative;
	z-index: 1;
}

.masseo-page-hero--split h1 {
	max-width: 14ch;
}

.masseo-page-hero--split > .wp-block-columns {
	align-items: center !important;
}

.masseo-page-hero--split .masseo-hero-visual {
	align-self: center;
	max-width: 28rem;
}

.masseo-page-hero--split .masseo-hero-visual__stack {
	display: grid !important;
	gap: 0.9rem !important;
	max-width: none !important;
	width: 100% !important;
}

.masseo-page-hero--split .masseo-hero-media {
	margin: 0 !important;
	overflow: hidden;
	width: 100% !important;
}

.masseo-page-hero--split .masseo-hero-media img {
	border-radius: 1.5rem;
	display: block;
	height: clamp(16rem, 34vw, 24rem);
	object-fit: cover;
	width: 100%;
}

.masseo-page-hero--split .wp-block-column:has(.masseo-hero-panel),
.masseo-page-hero--split .masseo-hero-visual:has(.masseo-hero-panel) {
	align-self: center;
	flex-basis: min(28rem, 100%) !important;
	max-width: 28rem;
}

.masseo-page-hero--split .masseo-hero-panel {
	height: auto;
	margin: 0;
	max-width: none;
	min-height: 0;
	overflow: visible;
	width: 100%;
}

.masseo-page-hero--split .masseo-hero-panel h2 {
	margin-top: 0;
}

@media (max-width: 860px) {
	.masseo-page-hero--split .masseo-hero-visual {
		max-width: none;
		order: -1;
	}

	.masseo-page-hero--split .masseo-hero-media img {
		height: clamp(14rem, 58vw, 20rem);
	}
}

.masseo-default-page {
	margin-inline: auto;
	max-width: 1180px;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem) clamp(4rem, 7vw, 6rem);
}

.masseo-default-page__header {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	max-width: 760px;
}

.masseo-default-page__header h1 {
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.05;
	margin: 0;
}

.masseo-default-page__content {
	background: var(--wp--preset--color--white);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 1.35rem;
	box-shadow: 0 24px 70px rgb(var(--masseo-charcoal-rgb) / 10%);
	color: var(--wp--preset--color--ink);
	padding: clamp(1.35rem, 4vw, 2.75rem);
}

.masseo-default-page__content::after {
	clear: both;
	content: "";
	display: block;
}

.masseo-default-page__content > :first-child {
	margin-top: 0 !important;
}

.masseo-default-page__content > :last-child {
	margin-bottom: 0 !important;
}

.masseo-default-page__content > :where(p, ul, ol, blockquote, form, table, div) {
	margin-block: 1rem 0;
}

.masseo-default-page__content > :where(h1, h2, h3, h4, h5, h6) {
	margin-block: 2rem 0.75rem;
}

.masseo-default-page__content h1 {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	line-height: 1.12;
}

.masseo-default-page__content h2 {
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	line-height: 1.18;
}

.masseo-default-page__content h3 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.25;
}

.masseo-default-page__content :where(ul, ol) {
	padding-left: 1.35rem;
}

.masseo-default-page__content li + li {
	margin-top: 0.35rem;
}

.masseo-default-page__content img {
	border-radius: 1rem;
	height: auto;
	max-width: 100%;
}

.masseo-default-page__content .alignleft {
	float: left;
	margin: 0.35rem 1.25rem 1rem 0;
}

.masseo-default-page__content .alignright {
	float: right;
	margin: 0.35rem 0 1rem 1.25rem;
}

.masseo-default-page__content .aligncenter {
	display: block;
	margin: 1.25rem auto;
}

.masseo-default-page__content input[type="image"] {
	border-radius: 0;
	display: inline-block;
	margin-top: 0.75rem;
}

/* Page contenu Masseo template */
.masseo-page-contenu {
	box-sizing: border-box;
	padding-inline: clamp(1rem, 4vw, 2rem);
	width: 100%;
}

.masseo-page-contenu__header {
	margin-bottom: 0.25rem;
	max-width: 100%;
}

.masseo-page-contenu__header .wp-block-post-title {
	margin: 0.35rem 0 0;
}

.masseo-page-contenu__card {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1040px;
	overflow: visible;
	width: 100%;
}

.masseo-page-contenu__card .wp-block-post-content {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.masseo-page-contenu__card .wp-block-post-content .masseo-promo-listing,
.masseo-page-contenu__card .wp-block-post-content .masseo-newsletter {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.masseo-page-contenu__card .wp-block-post-content > :first-child {
	margin-top: 0 !important;
}

.masseo-page-contenu__card .wp-block-post-content > :last-child {
	margin-bottom: 0 !important;
}

.masseo-page-contenu__card .wp-block-post-content > :where(p, ul, ol, blockquote, figure, .wp-block-image, .wp-block-buttons, .wp-block-group, .wp-block-columns, table, form) {
	margin-block: 1rem 0;
}

.masseo-page-contenu__card .wp-block-post-content > :where(h1, h2, h3, h4, h5, h6) {
	margin-block: 1.75rem 0.65rem;
}

.masseo-page-contenu__card .wp-block-post-content > :where(h1, h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

/* Intro promotions: padding (not margin) so spacing can't collapse away. */
.masseo-page-contenu__card .wp-block-post-content > p.has-text-align-center:first-of-type {
	margin-block: 0 !important;
	padding-bottom: 2.5rem !important;
}

.masseo-page-contenu__card .wp-block-post-content > .masseo-promo-listing,
.masseo-page-contenu__card .wp-block-post-content > .wp-block-shortcode:has(.masseo-promo-listing) {
	margin-top: 0 !important;
	padding-top: 0.25rem;
}

.masseo-page-contenu__card .wp-block-post-content h2 {
	font-size: clamp(1.45rem, 2.2vw, 1.85rem);
	line-height: 1.2;
}

.masseo-page-contenu__card .wp-block-post-content h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	line-height: 1.25;
}

.masseo-page-contenu__card .wp-block-post-content p,
.masseo-page-contenu__card .wp-block-post-content li {
	color: var(--wp--preset--color--muted);
}

.masseo-page-contenu__card .wp-block-post-content :where(strong, b) {
	color: var(--wp--preset--color--ink);
}

.masseo-page-contenu__card .wp-block-post-content img {
	border-radius: 1rem;
	height: auto;
	max-width: 100%;
}

.masseo-page-contenu__card .wp-block-post-content .alignleft {
	float: left;
	margin: 0.35rem 1.25rem 1rem 0;
}

.masseo-page-contenu__card .wp-block-post-content .alignright {
	float: right;
	margin: 0.35rem 0 1rem 1.25rem;
}

.masseo-page-contenu__card .wp-block-post-content .aligncenter {
	display: block;
	margin: 1.25rem auto;
}

.masseo-page-contenu__card .wp-block-buttons.is-layout-flex {
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.65rem 0.75rem;
}

.masseo-page-contenu__card .wp-block-button {
	max-width: 100%;
}

.masseo-page-contenu__card .wp-block-button .wp-block-button__link,
.masseo-page-contenu__card .wp-block-button .wp-element-button {
	box-sizing: border-box;
	max-width: 100%;
	white-space: nowrap;
	width: max-content;
}

.masseo-gift-options,
.masseo-gift-options.wp-block-group,
.wp-block-group.masseo-gift-options {
	align-items: stretch !important;
	display: grid !important;
	gap: 0.75rem !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1rem;
	width: 100%;
}

.masseo-gift-options > *,
.masseo-gift-options > .wp-block-group {
	height: auto;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.masseo-gift-option,
.wp-block-group.masseo-gift-option {
	align-items: center;
	background: var(--wp--preset--color--soft);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 1rem;
	box-sizing: border-box;
	display: grid !important;
	gap: 0.15rem 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto auto;
	height: auto;
	max-width: none !important;
	min-height: 0;
	min-width: 0;
	padding: 0.9rem 1rem;
	width: 100% !important;
}

.masseo-gift-option__eyebrow {
	color: var(--wp--preset--color--brand) !important;
	font-size: 0.72rem !important;
	font-weight: 700;
	grid-column: 1;
	grid-row: 1;
	letter-spacing: 0.08em;
	margin: 0 !important;
	min-height: 0;
	text-transform: uppercase;
}

.masseo-gift-option__title {
	color: var(--wp--preset--color--brand-dark) !important;
	font-size: 1.1rem !important;
	grid-column: 1;
	grid-row: 2;
	line-height: 1.25 !important;
	margin: 0 !important;
	min-height: 0;
}

.masseo-gift-option__price {
	color: var(--wp--preset--color--muted) !important;
	font-size: 1rem !important;
	font-weight: 550;
	grid-column: 1;
	grid-row: 3;
	margin: 0 !important;
}

.masseo-gift-option__actions,
.masseo-gift-option .masseo-gift-option__actions {
	align-self: center;
	grid-column: 2;
	grid-row: 1 / span 3;
	margin: 0 !important;
}

.masseo-gift-option__actions .wp-block-buttons {
	margin: 0 !important;
}

.masseo-gift-option__actions .wp-block-button__link {
	min-width: 0;
	padding: 0.55rem 1rem !important;
	text-align: center;
}

@media (max-width: 720px) {
	.masseo-gift-options,
	.masseo-gift-options.wp-block-group,
	.wp-block-group.masseo-gift-options {
		grid-template-columns: 1fr;
	}
}

/* Hide duplicate H1 when page content still includes the page title. */
.masseo-uses-contenu-template .masseo-page-contenu__card .wp-block-post-content > h1:first-child,
.masseo-uses-contenu-template .masseo-page-contenu__card .wp-block-post-content > .wp-block-heading:first-child:is(h1) {
	display: none;
}

.masseo-kicker {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 0.85rem;
	text-transform: uppercase;
}

.masseo-hero-panel,
.masseo-content-card {
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 1.35rem;
	box-shadow: 0 24px 70px rgb(var(--masseo-charcoal-rgb) / 13%);
	overflow: hidden;
}

.masseo-page-contenu__card.masseo-content-card {
	overflow: visible;
}

.masseo-content-card.is-layout-constrained {
	margin-inline: auto;
	max-width: 1040px;
	width: 100%;
}

.masseo-page-contenu__card.masseo-content-card.is-layout-constrained {
	max-width: min(1040px, 100%);
}

/* Default content lists = Masseo check style (no class required). */
.wp-block-post-content ul:not(.wp-block-social-links):not(.wp-block-post-template):not(.masseo-treatment-nav):not(.masseo-index-list):not(.masseo-benefit-list):not(.masseo-profile-techniques),
.masseo-default-page__content ul,
.masseo-check-list,
.masseo-check-list.wp-block-list {
	display: grid;
	gap: 0.55rem;
	list-style: none !important;
	margin: 0.75rem 0 0;
	padding-inline-start: 0 !important;
	padding-left: 0 !important;
}

.wp-block-post-content ul:not(.wp-block-social-links):not(.wp-block-post-template):not(.masseo-treatment-nav):not(.masseo-index-list):not(.masseo-benefit-list):not(.masseo-profile-techniques) > li,
.masseo-default-page__content ul > li,
.masseo-check-list li,
.masseo-check-list .wp-block-list-item {
	align-items: flex-start;
	display: flex;
	gap: 0.65rem;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wp-block-post-content ul:not(.wp-block-social-links):not(.wp-block-post-template):not(.masseo-treatment-nav):not(.masseo-index-list):not(.masseo-benefit-list):not(.masseo-profile-techniques) > li::marker,
.masseo-default-page__content ul > li::marker,
.masseo-check-list li::marker,
.masseo-check-list .wp-block-list-item::marker {
	content: none !important;
	font-size: 0;
}

.wp-block-post-content ul:not(.wp-block-social-links):not(.wp-block-post-template):not(.masseo-treatment-nav):not(.masseo-index-list):not(.masseo-benefit-list):not(.masseo-profile-techniques) > li::before,
.masseo-default-page__content ul > li::before,
.masseo-check-list li::before,
.masseo-check-list .wp-block-list-item::before {
	background: var(--wp--preset--color--brand);
	border-radius: 999px;
	color: #fff;
	content: "";
	flex: 0 0 0.55rem;
	height: 0.55rem;
	margin-top: 0.55rem;
	width: 0.55rem;
}

.wp-block-post-content ol {
	display: grid;
	gap: 0.55rem;
	margin: 0.75rem 0 0;
	padding-inline-start: 1.25rem;
}

.wp-block-post-content ol > li {
	margin: 0;
	padding: 0;
}

/* Query loops / card grids must not inherit check-list dots. */
.wp-block-post-template,
ul.wp-block-post-template {
	list-style: none !important;
	padding-inline-start: 0 !important;
}

.wp-block-post-template > li::before,
.wp-block-post-template > .wp-block-post::before,
.wp-block-post-template > li::marker {
	content: none !important;
	display: none !important;
}

.masseo-stats {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 1rem;
}

.masseo-section,
.masseo-story,
.masseo-final-cta,
.masseo-content-section {
	position: relative;
}

/* Default table style: orange outline, rounded corners. */
.wp-block-table,
figure.wp-block-table {
	border: 1px solid var(--wp--preset--color--brand);
	border-radius: 1rem;
	overflow: hidden;
}

.wp-block-table table,
table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th,
.wp-block-table td {
	border: 0;
	border-bottom: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	padding: 0.75rem 1rem;
	text-align: left;
}

.wp-block-table thead th {
	background: var(--wp--preset--color--brand-light);
	border-bottom: 1px solid var(--wp--preset--color--brand);
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

.wp-block-table tbody tr:last-child th,
.wp-block-table tbody tr:last-child td {
	border-bottom: 0;
}

.wp-block-table tfoot th,
.wp-block-table tfoot td {
	border-top: 1px solid var(--wp--preset--color--brand);
}

.wp-block-table figcaption {
	color: var(--wp--preset--color--muted);
	padding: 0.75rem 1rem;
}

.masseo-photo-strip {
	margin-block: clamp(0.5rem, 2vw, 1.25rem);
	margin-inline: auto;
	max-width: 1180px;
	padding-inline: clamp(1rem, 4vw, 2rem);
	width: 100%;
}

.masseo-photo-strip__grid,
.wp-block-group.masseo-photo-strip__grid {
	align-items: stretch !important;
	display: grid !important;
	gap: 0.85rem !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr);
	justify-content: center !important;
	margin-inline: auto !important;
	max-width: 1180px !important;
	min-height: clamp(14rem, 28vw, 22rem);
	width: 100% !important;
}

.masseo-photo-strip__item,
.masseo-photo-strip .wp-block-image {
	height: 100%;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0;
	overflow: hidden;
	width: 100% !important;
}

.masseo-photo-strip__item img,
.masseo-photo-strip .wp-block-image img {
	border-radius: 1.25rem;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.masseo-photo-strip__item--portrait img {
	aspect-ratio: 4 / 5;
	height: 100%;
	min-height: clamp(14rem, 28vw, 22rem);
}

.masseo-photo-strip__item--wide img {
	aspect-ratio: 3 / 2;
	height: 100%;
	min-height: clamp(14rem, 28vw, 22rem);
}

@media (max-width: 780px) {
	.masseo-photo-strip__grid,
	.wp-block-group.masseo-photo-strip__grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.masseo-photo-strip__item--portrait img,
	.masseo-photo-strip__item--wide img {
		aspect-ratio: 16 / 10;
		min-height: 12rem;
	}
}

.masseo-service-card,
.masseo-content-panel,
.masseo-post-card,
.masseo-card,
.masseo-feature-card,
.masseo-step-card,
.masseo-action-card,
.masseo-profile-card,
.masseo-article-card,
.masseo-approach-index,
.masseo-approach-card,
.masseo-testimonial {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.35rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 8%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.masseo-service-card:hover,
.masseo-post-card:hover,
.masseo-card:hover,
.masseo-feature-card:hover,
.masseo-step-card:hover,
.masseo-action-card:hover,
.masseo-profile-card:hover,
.masseo-approach-card:hover {
	box-shadow: 0 18px 45px rgb(var(--masseo-charcoal-rgb) / 12%);
	transform: translateY(-2px);
}

.masseo-card-number {
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	margin: 0;
	text-transform: uppercase;
}

.masseo-card h3,
.masseo-feature-card h3,
.masseo-step-card h3,
.masseo-action-card h3,
.masseo-post-card h2,
.masseo-content-card h2,
.masseo-approach-card h3 {
	margin-top: 0.35rem;
}

.masseo-card a,
.masseo-feature-card a,
.masseo-step-card a,
.masseo-action-card a,
.masseo-content-card a {
	font-weight: 750;
	text-decoration: none;
}

.masseo-process-grid {
	display: grid !important;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.masseo-chair-section {
	box-sizing: border-box;
	overflow-x: hidden;
	width: 100%;
}

.masseo-chair-section > .alignwide,
.masseo-chair-section > .wp-block-columns,
.masseo-chair-section > .wp-block-group {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: min(1180px, calc(100vw - 2rem)) !important;
	width: 100%;
}

.masseo-chair-section.masseo-cta-band > * {
	max-width: min(980px, calc(100vw - 2rem)) !important;
}

.masseo-chair-rate-card {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.35rem;
	box-shadow: 0 18px 45px rgb(var(--masseo-charcoal-rgb) / 10%);
	margin-inline: auto;
	text-align: center;
}

.masseo-chair-benefits-layout {
	gap: clamp(1.5rem, 4vw, 3rem) !important;
}

.masseo-process-grid > .wp-block-column {
	margin: 0;
	min-width: 0;
	width: auto;
}

.masseo-process-grid .masseo-step-card {
	height: 100%;
}

.masseo-section-header {
	align-items: flex-end !important;
}

.masseo-blog-section.has-soft-background-color {
	background:
		radial-gradient(circle at 10% 0%, rgb(var(--masseo-accent-rgb) / 16%), transparent 24rem),
		linear-gradient(180deg, #fff 0%, rgb(var(--masseo-soft-rgb) / 82%) 100%) !important;
	overflow: hidden;
	position: relative;
}

.masseo-blog-section.has-soft-background-color::before {
	animation: masseoBlobFloatB 62s ease-in-out infinite alternate-reverse;
	background:
		radial-gradient(circle at 30% 28%, rgb(var(--masseo-accent-rgb) / 28%), transparent 32%),
		radial-gradient(circle at 72% 64%, rgb(var(--masseo-primary-rgb) / 12%), transparent 36%),
		linear-gradient(135deg, rgb(255 255 255 / 58%), rgb(var(--masseo-mist-rgb) / 36%));
	border-radius: 62% 38% 44% 56% / 44% 54% 46% 56%;
	content: "";
	height: clamp(15rem, 28vw, 28rem);
	left: -8rem;
	opacity: 0.56;
	pointer-events: none;
	position: absolute;
	top: 3rem;
	transform: rotate(12deg);
	width: clamp(15rem, 28vw, 28rem);
}

.masseo-blog-section.has-soft-background-color > * {
	position: relative;
	z-index: 1;
}

.masseo-section-header .wp-block-buttons {
	justify-content: flex-end;
}

.masseo-blog-section .masseo-section-header {
	align-items: flex-start !important;
	justify-content: space-between;
}

.masseo-blog-section .masseo-section-header > .wp-block-column:first-child {
	flex-basis: auto !important;
	flex-grow: 1;
}

.masseo-blog-section .masseo-section-header > .wp-block-column:last-child {
	flex-basis: auto !important;
	flex-grow: 0;
}

.masseo-blog-section .masseo-section-header .wp-block-buttons {
	justify-content: flex-end;
	margin-top: 0.45rem;
}

.masseo-blog-section .masseo-kicker {
	align-items: center;
	display: inline-flex;
	gap: 0.55rem;
}

.masseo-blog-section .masseo-kicker::before {
	background: var(--wp--preset--color--brand);
	content: "";
	display: inline-block;
	flex: 0 0 1rem;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6.253V19.253M12 6.253C10.832 5.477 9.246 5 7.5 5C5.754 5 4.168 5.477 3 6.253V19.253C4.168 18.477 5.754 18 7.5 18C9.246 18 10.832 18.477 12 19.253M12 6.253C13.168 5.477 14.754 5 16.5 5C18.246 5 19.832 5.477 21 6.253V19.253C19.832 18.477 18.246 18 16.5 18C14.754 18 13.168 18.477 12 19.253' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6.253V19.253M12 6.253C10.832 5.477 9.246 5 7.5 5C5.754 5 4.168 5.477 3 6.253V19.253C4.168 18.477 5.754 18 7.5 18C9.246 18 10.832 18.477 12 19.253M12 6.253C13.168 5.477 14.754 5 16.5 5C18.246 5 19.832 5.477 21 6.253V19.253C19.832 18.477 18.246 18 16.5 18C14.754 18 13.168 18.477 12 19.253' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-blog-heading {
	align-items: flex-start;
	display: flex;
	gap: 0.75rem;
	justify-content: flex-start;
	line-height: 1.08;
	margin-top: 0;
	text-align: left;
}

.masseo-blog-heading::before {
	content: none;
}

.masseo-blog-section > .alignwide,
.masseo-blog-query {
	max-width: min(1440px, calc(100vw - 2rem)) !important;
	width: 100%;
}

.masseo-blog-query {
	margin-top: 2.5rem;
	overflow: visible;
}

.masseo-blog-query .wp-block-post-template {
	cursor: grab;
	display: grid !important;
	gap: 1.25rem;
	grid-auto-columns: calc((100% - 2.5rem) / 3);
	grid-auto-flow: column;
	grid-template-columns: none !important;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding-left: 0;
	padding-bottom: 0.75rem;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 0;
	scrollbar-color: var(--wp--preset--color--brand) rgb(var(--masseo-mist-rgb) / 66%);
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
	-webkit-overflow-scrolling: touch;
	user-select: none;
}

.masseo-blog-query .wp-block-post-template::-webkit-scrollbar {
	display: none;
}

.masseo-blog-query .wp-block-post-template.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.masseo-blog-slider-controls {
	align-items: center;
	display: flex;
	gap: 0.65rem;
	justify-content: flex-end;
	margin-top: 0.85rem;
}

.masseo-blog-slider-controls[hidden] {
	display: none;
}

.masseo-blog-slider-button {
	align-items: center;
	backdrop-filter: blur(14px);
	background: rgb(255 255 255 / 72%);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 76%);
	border-radius: 999px;
	box-shadow: 0 12px 30px rgb(var(--masseo-charcoal-rgb) / 8%);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	height: 2.35rem;
	justify-content: center;
	padding: 0;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, opacity 180ms ease, transform 180ms ease;
	width: 2.35rem;
}

.masseo-blog-slider-button span {
	background: currentColor;
	display: block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-blog-slider-button[data-direction="previous"] span {
	transform: rotate(180deg);
}

.masseo-blog-slider-button:hover:not(:disabled) {
	background: var(--wp--preset--color--brand-light);
	box-shadow: 0 14px 34px rgb(var(--masseo-charcoal-rgb) / 13%);
	transform: translateY(-1px);
}

.masseo-blog-slider-button:disabled {
	cursor: default;
	opacity: 0.42;
}

.masseo-blog-query .wp-block-post {
	display: flex;
	min-width: 0;
	scroll-snap-align: start;
}

.masseo-blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-start;
	min-height: 15.5rem;
	overflow: hidden;
	position: relative;
	text-align: left;
	width: 100%;
}

.masseo-blog-card .wp-block-post-title {
	line-height: 1.25;
	margin-top: 0;
	text-align: left;
}

.masseo-blog-card .wp-block-post-title a {
	position: relative;
	z-index: 3;
}

.masseo-blog-card .wp-block-post-title a::after {
	content: none;
}

.masseo-blog-card .wp-block-post-date {
	align-items: center;
	display: inline-flex;
	font-weight: 750;
	gap: 0.45rem;
	margin-top: 0.75rem;
	text-align: left;
}

.masseo-blog-card .wp-block-post-date::before {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10H3M16 2V6M8 2V6M7.8 22H16.2C17.88 22 18.72 22 19.362 21.673C19.926 21.385 20.385 20.926 20.673 20.362C21 19.72 21 18.88 21 17.2V8.8C21 7.12 21 6.28 20.673 5.638C20.385 5.074 19.926 4.615 19.362 4.327C18.72 4 17.88 4 16.2 4H7.8C6.12 4 5.28 4 4.638 4.327C4.074 4.615 3.615 5.074 3.327 5.638C3 6.28 3 7.12 3 8.8V17.2C3 18.88 3 19.72 3.327 20.362C3.615 20.926 4.074 21.385 4.638 21.673C5.28 22 6.12 22 7.8 22Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10H3M16 2V6M8 2V6M7.8 22H16.2C17.88 22 18.72 22 19.362 21.673C19.926 21.385 20.385 20.926 20.673 20.362C21 19.72 21 18.88 21 17.2V8.8C21 7.12 21 6.28 20.673 5.638C20.385 5.074 19.926 4.615 19.362 4.327C18.72 4 17.88 4 16.2 4H7.8C6.12 4 5.28 4 4.638 4.327C4.074 4.615 3.615 5.074 3.327 5.638C3 6.28 3 7.12 3 8.8V17.2C3 18.88 3 19.72 3.327 20.362C3.615 20.926 4.074 21.385 4.638 21.673C5.28 22 6.12 22 7.8 22Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-blog-card .wp-block-post-excerpt {
	margin-top: 1rem;
	text-align: left;
}

.masseo-blog-card .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	line-height: 1.55;
	margin-bottom: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.masseo-blog-card .masseo-read-more {
	align-items: center;
	display: inline-flex;
	font-weight: 800;
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 1.25rem;
	position: relative;
	width: fit-content;
	z-index: 3;
}

.masseo-blog-card .masseo-read-more::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1.1rem;
	mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 17L17 7M17 7H7M17 7V17' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 17L17 7M17 7H7M17 7V17' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 160ms ease;
	width: 1.1rem;
}

.masseo-blog-card:hover .masseo-read-more::after {
	transform: translate(2px, -2px);
}

.masseo-single-hero {
	background:
		radial-gradient(circle at 15% 0%, rgb(var(--masseo-accent-rgb) / 24%), transparent 26rem),
		radial-gradient(circle at 92% 10%, rgb(var(--masseo-primary-rgb) / 10%), transparent 22rem),
		linear-gradient(180deg, #fff 0%, rgb(var(--masseo-soft-rgb) / 78%) 100%);
	overflow: hidden;
	position: relative;
	text-align: center;
}

.masseo-single-hero::before {
	animation: masseoBlobFloatA 58s ease-in-out infinite alternate-reverse;
	background:
		radial-gradient(circle at 32% 28%, rgb(var(--masseo-accent-rgb) / 30%), transparent 34%),
		linear-gradient(135deg, rgb(255 255 255 / 58%), rgb(var(--masseo-mist-rgb) / 36%));
	border-radius: 58% 42% 48% 52% / 44% 56% 44% 56%;
	content: "";
	height: clamp(13rem, 24vw, 24rem);
	left: -6rem;
	opacity: 0.48;
	pointer-events: none;
	position: absolute;
	top: 3rem;
	transform: rotate(12deg);
	width: clamp(13rem, 24vw, 24rem);
}

.masseo-single-hero > * {
	position: relative;
	z-index: 1;
}

.masseo-single-date {
	margin-bottom: 0.85rem;
}

.masseo-single-hero .wp-block-post-title {
	font-weight: 660;
	letter-spacing: -0.04em;
	line-height: 1.04;
	margin-inline: auto;
	max-width: min(820px, 100%);
	text-wrap: balance;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.masseo-single-hero .wp-block-post-excerpt {
	margin-inline: auto;
	max-width: 46rem;
}

.masseo-single-featured-image {
	margin-inline: auto;
	max-width: min(1080px, 100%);
}

.masseo-single-featured-image img {
	aspect-ratio: 16 / 8.5;
	border-radius: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 28px 80px rgb(var(--masseo-charcoal-rgb) / 14%);
	display: block;
	object-fit: cover;
	width: 100%;
}

.masseo-single-body {
	background: #fff;
}

.masseo-single-content {
	color: var(--wp--preset--color--ink);
	font-size: clamp(1.05rem, 1.15vw, 1.125rem);
	line-height: 1.8;
}

.masseo-single-content > * {
	margin-block-start: 0;
}

.masseo-single-content > * + * {
	margin-block-start: 1.35rem;
}

.masseo-single-content > :where(h2, h3, h4) {
	font-weight: 680;
	letter-spacing: -0.025em;
	margin-block-start: clamp(2.5rem, 5vw, 4rem);
	text-wrap: balance;
}

.masseo-single-content > h2 {
	font-size: clamp(1.8rem, 3vw, 2.55rem);
	line-height: 1.12;
}

.masseo-single-content > h3 {
	font-size: clamp(1.4rem, 2.1vw, 1.8rem);
	line-height: 1.2;
}

.masseo-single-content :where(p, li) {
	color: var(--wp--preset--color--muted);
}

.masseo-single-content a {
	font-weight: 750;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.22em;
}

.masseo-single-content :where(ul, ol) {
	padding-left: 1.25rem;
}

.masseo-single-content li + li {
	margin-top: 0.55rem;
}

.masseo-single-content .wp-block-image {
	margin-block: clamp(2rem, 5vw, 3.5rem);
}

.masseo-single-content .wp-block-image img {
	border-radius: clamp(1rem, 2vw, 1.5rem);
	box-shadow: 0 18px 54px rgb(var(--masseo-charcoal-rgb) / 10%);
	display: block;
}

.masseo-single-content :where(img.alignleft, img.alignright, .alignleft, .alignright) {
	clear: both;
	display: block;
	float: none !important;
	height: auto;
	margin: clamp(1.75rem, 4vw, 3rem) auto !important;
	max-width: 100%;
}

.masseo-single-content .wp-block-image.alignwide {
	margin-left: 50%;
	max-width: min(1080px, calc(100vw - 4rem));
	transform: translateX(-50%);
	width: min(1080px, calc(100vw - 4rem));
}

.masseo-single-content .wp-block-image figcaption {
	color: var(--wp--preset--color--muted);
	font-size: 0.9rem;
	margin-top: 0.75rem;
	text-align: center;
}

.masseo-single-content .wp-block-quote {
	background:
		radial-gradient(circle at 90% 0%, rgb(var(--masseo-accent-rgb) / 24%), transparent 12rem),
		linear-gradient(145deg, rgb(var(--masseo-soft-rgb) / 78%), #fff);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 86%);
	border-left: 4px solid var(--wp--preset--color--brand);
	border-radius: 1.25rem;
	margin-block: clamp(2rem, 5vw, 3.5rem);
	padding: clamp(1.35rem, 3vw, 2rem);
}

.masseo-single-content .wp-block-quote p {
	color: var(--wp--preset--color--ink);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	letter-spacing: -0.025em;
	line-height: 1.45;
}

.masseo-single-content .wp-block-quote cite {
	display: block;
	font-size: 0.95rem;
	font-style: normal;
	font-weight: 800;
	margin-top: 1rem;
}

.masseo-single-content .wp-block-separator {
	background: var(--wp--preset--color--border);
	border: 0;
	height: 1px;
	margin-block: clamp(2.5rem, 5vw, 4rem);
}

.masseo-article-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	position: relative;
	text-align: left;
}

.masseo-article-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	display: block;
	object-fit: cover;
	width: 100%;
}

.masseo-article-card .wp-block-post-date {
	align-items: center;
	display: inline-flex;
	font-weight: 750;
	gap: 0.45rem;
	margin-top: 0;
	text-align: left;
}

.masseo-article-card .wp-block-post-date::before {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10H3M16 2V6M8 2V6M7.8 22H16.2C17.88 22 18.72 22 19.362 21.673C19.926 21.385 20.385 20.926 20.673 20.362C21 19.72 21 18.88 21 17.2V8.8C21 7.12 21 6.28 20.673 5.638C20.385 5.074 19.926 4.615 19.362 4.327C18.72 4 17.88 4 16.2 4H7.8C6.12 4 5.28 4 4.638 4.327C4.074 4.615 3.615 4.074 3.327 4.638C3 5.28 3 6.12 3 7.8V16.2C3 17.88 3 18.72 3.327 19.362C3.615 19.926 4.074 20.385 4.638 20.673C5.28 21 6.12 21 7.8 21Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10H3M16 2V6M8 2V6M7.8 22H16.2C17.88 22 18.72 22 19.362 21.673C19.926 21.385 20.385 20.926 20.673 20.362C21 19.72 21 18.88 21 17.2V8.8C21 7.12 21 6.28 20.673 5.638C20.385 5.074 19.926 4.615 19.362 4.327C18.72 4 17.88 4 16.2 4H7.8C6.12 4 5.28 4 4.638 4.327C4.074 4.615 3.615 4.074 3.327 4.638C3 5.28 3 6.12 3 7.8V16.2C3 17.88 3 18.72 3.327 19.362C3.615 19.926 4.074 20.385 4.638 20.673C5.28 21 6.12 21 7.8 21Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-article-card .wp-block-post-title {
	line-height: 1.25;
	margin-top: 0.75rem;
	text-align: left;
}

.masseo-article-card .wp-block-post-title a {
	position: static;
	text-decoration: none;
}

.masseo-article-card .wp-block-post-title a::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.masseo-article-card .wp-block-post-excerpt {
	margin-top: 0.75rem;
	text-align: left;
}

.masseo-article-card .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	line-height: 1.55;
	margin-bottom: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.masseo-article-card .masseo-read-more {
	align-items: center;
	display: inline-flex;
	font-weight: 800;
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 1.25rem;
	position: relative;
	width: fit-content;
	z-index: 2;
}

.masseo-article-card .masseo-read-more::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1.1rem;
	mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 17L17 7M17 7H7M17 7V17' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 17L17 7M17 7H7M17 7V17' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 160ms ease;
	width: 1.1rem;
}

.masseo-article-card:hover .masseo-read-more::after {
	transform: translate(2px, -2px);
}

.masseo-testimonial {
	background: #fff;
	margin: 0;
	padding: 1.5rem;
}

.masseo-testimonial p {
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}

.masseo-testimonial::before {
	content: "\"";
	display: block;
	font-size: 4rem;
	font-weight: 800;
	line-height: 0.75;
	margin-bottom: 0.25rem;
}

.masseo-benefit-list {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.35rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 8%);
	display: grid;
	gap: 1rem;
	list-style: none;
	margin-inline: auto;
	max-width: 860px;
	padding: clamp(1.25rem, 4vw, 2rem);
}

.masseo-benefit-list li {
	align-items: flex-start;
	display: flex;
	gap: 0.75rem;
}

.masseo-benefit-list li::before {
	background: var(--wp--preset--color--brand);
	border-radius: 999px;
	content: "";
	flex: 0 0 0.65rem;
	height: 0.65rem;
	margin-top: 0.55rem;
	width: 0.65rem;
}

.masseo-treatment-section {
	overflow: hidden;
	position: relative;
}

.masseo-treatment-section > * {
	position: relative;
	z-index: 1;
}

.masseo-treatment-section::after {
	background: radial-gradient(circle, rgb(var(--masseo-mist-rgb) / 58%) 0 0.13rem, transparent 0.15rem);
	background-size: 1.3rem 1.3rem;
	content: "";
	height: 18rem;
	left: -5rem;
	position: absolute;
	top: 5rem;
	width: 18rem;
}

.masseo-treatment-switcher {
	align-items: flex-start !important;
	display: flex !important;
	flex-wrap: wrap;
	gap: 2rem;
}

.masseo-treatment-nav-card,
.masseo-treatment-panel {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.5rem;
	box-shadow: 0 18px 45px rgb(var(--masseo-charcoal-rgb) / 10%);
}

.masseo-treatment-nav-card {
	position: sticky;
	top: 6.5rem;
}

.masseo-treatment-nav {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	padding-left: 0;
}

.masseo-treatment-nav a {
	background: var(--wp--preset--color--soft);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 1rem;
	color: var(--wp--preset--color--ink);
	display: grid;
	font-weight: 800;
	gap: 0.2rem;
	padding: 0.8rem 0.9rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.masseo-treatment-nav a span {
	color: var(--wp--preset--color--muted);
	font-size: 0.86rem;
	font-weight: 550;
}

.masseo-treatment-nav a:hover,
.masseo-treatment-nav a.is-active {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff;
	transform: translateX(2px);
}

.masseo-treatment-nav a:hover span,
.masseo-treatment-nav a.is-active span {
	color: rgb(255 255 255 / 78%);
}

.masseo-treatment-select {
	display: none;
}

.masseo-treatment-select__label {
	color: var(--wp--preset--color--muted);
	display: block;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	margin-bottom: 0.55rem;
	text-transform: uppercase;
}

.masseo-treatment-select__control {
	appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23645550' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1rem;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	font: inherit;
	font-weight: 750;
	line-height: 1.35;
	padding: 0.9rem 2.75rem 0.9rem 1rem;
	width: 100%;
}

.masseo-treatment-select__control:focus {
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px rgb(var(--masseo-primary-rgb) / 18%);
	outline: none;
}

.masseo-treatment-panels {
	margin-top: 0;
	position: relative;
}

.masseo-treatment-panel {
	display: none;
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	scroll-margin-top: 7rem;
}

.masseo-treatment-panel .wp-block-columns {
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.masseo-treatment-panel .wp-block-column {
	flex-basis: auto !important;
	width: 100%;
}

.masseo-treatment-panel .wp-block-column > :first-child,
.masseo-treatment-panel .masseo-kicker {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.masseo-treatment-panel.is-active {
	display: block;
}

.masseo-treatment-panel[hidden] {
	display: none !important;
}

.masseo-treatment-image {
	height: 100%;
	margin: 0;
}

.masseo-treatment-image img {
	aspect-ratio: 16 / 7;
	border-radius: 1.2rem;
	height: 100%;
	max-height: 22rem;
	object-fit: cover;
	width: 100%;
}

.masseo-treatment-panel h3 {
	margin-top: 0.35rem;
}

.masseo-treatment-description {
	margin: 0 0 1rem;
}

.masseo-treatment-description > :first-child {
	margin-top: 0;
}

.masseo-treatment-description > :last-child {
	margin-bottom: 0;
}

.masseo-treatment-controls {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1rem;
}

.masseo-treatment-arrow {
	align-items: center;
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	gap: 0.65rem;
	justify-content: flex-start;
	padding: 0.85rem 1rem;
	text-align: left;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.masseo-treatment-arrow[data-direction="next"] {
	justify-content: flex-end;
	text-align: right;
}

.masseo-treatment-arrow:hover:not(:disabled) {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff;
	transform: translateY(-1px);
}

.masseo-treatment-arrow:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.masseo-treatment-arrow::before,
.masseo-treatment-arrow::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 10H15.833M15.833 10L10 4.167M15.833 10L10 15.833' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 1rem;
}

.masseo-treatment-arrow-label,
.masseo-treatment-arrow-title {
	display: block;
	line-height: 1.25;
}

.masseo-treatment-arrow-label {
	color: var(--wp--preset--color--muted);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.masseo-treatment-arrow-title {
	font-weight: 850;
}

.masseo-treatment-arrow:hover:not(:disabled) .masseo-treatment-arrow-label {
	color: rgb(255 255 255 / 72%);
}

.masseo-treatment-arrow[data-direction="previous"]::before {
	transform: rotate(180deg);
}

.masseo-treatment-arrow[data-direction="next"]::after {
	order: 2;
}

.masseo-treatment-arrow[data-direction="previous"]::after,
.masseo-treatment-arrow[data-direction="next"]::before {
	display: none;
}

.masseo-approaches-showcase {
	overflow: hidden;
	position: relative;
}

.masseo-approaches-showcase > * {
	position: relative;
	z-index: 1;
}

.masseo-approaches-showcase::after {
	background: radial-gradient(circle, rgb(var(--masseo-mist-rgb) / 58%) 0 0.13rem, transparent 0.15rem);
	background-size: 1.3rem 1.3rem;
	content: "";
	height: 18rem;
	left: -5rem;
	position: absolute;
	top: 5rem;
	width: 18rem;
}

.masseo-approach-layout {
	align-items: flex-start !important;
}

.masseo-approach-index {
	position: sticky;
	top: 6.5rem;
}

.masseo-index-list {
	display: grid;
	gap: 0.4rem;
	list-style: none;
	padding-left: 0;
}

.masseo-index-list li {
	background: var(--wp--preset--color--soft);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	font-size: 0.92rem;
	font-weight: 750;
	padding: 0.55rem 0.8rem;
}

.masseo-approach-grid {
	display: grid;
	gap: 0.9rem;
}

.masseo-approach-card {
	position: relative;
}

.masseo-approach-card::before {
	background: linear-gradient(180deg, var(--wp--preset--color--brand), var(--wp--preset--color--accent));
	border-radius: 999px;
	content: "";
	height: calc(100% - 2rem);
	left: 0;
	position: absolute;
	top: 1rem;
	width: 0.25rem;
}

.masseo-approach-card p:last-child {
	margin-bottom: 0;
}

.masseo-approach-list {
	display: grid;
	gap: 0.85rem;
}

.masseo-approach-item {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.1rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 7%);
	overflow: hidden;
}

.masseo-approach-item summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-weight: 800;
	gap: 1rem;
	justify-content: space-between;
	letter-spacing: -0.02em;
	list-style: none;
	padding: 1.2rem 1.35rem;
}

.masseo-approach-item summary::-webkit-details-marker {
	display: none;
}

.masseo-approach-item summary::after {
	background: var(--wp--preset--color--brand-light);
	border-radius: 999px;
	color: var(--masseo-decorative);
	content: "+";
	display: grid;
	flex: 0 0 2rem;
	font-size: 1.2rem;
	height: 2rem;
	line-height: 1;
	place-items: center;
	width: 2rem;
}

.masseo-approach-item[open] summary {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.masseo-approach-item[open] summary::after {
	content: "-";
}

.masseo-approach-item > p,
.masseo-approach-item > ul,
.masseo-approach-item > .wp-block-list {
	margin: 1rem 1.35rem;
}

.masseo-approach-item > p:last-child,
.masseo-approach-item > ul:last-child {
	margin-bottom: 1.35rem;
}

.masseo-profile-card {
	height: 100%;
	overflow: hidden;
}

.masseo-team-directory {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	grid-template-columns: 1fr;
}

.masseo-about-portrait {
	margin: 0;
}

.masseo-about-portrait img {
	border-radius: 1.35rem;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.masseo-about-values {
	align-items: stretch !important;
}

.masseo-about-value {
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 1.25rem;
	box-shadow: 0 12px 36px rgb(var(--masseo-charcoal-rgb) / 6%);
	height: 100%;
}

.masseo-about-value h3 {
	margin-top: 0;
}

.masseo-about-value p:last-child {
	margin-bottom: 0;
}

@media (max-width: 780px) {
	.masseo-about-split {
		flex-direction: column !important;
	}

	.masseo-about-portrait {
		max-width: 18rem;
	}
}

.masseo-amenities-split {
	align-items: stretch !important;
}

.masseo-amenities-video.wp-block-cover {
	border-radius: 1.35rem;
	box-shadow: 0 24px 70px rgb(var(--masseo-charcoal-rgb) / 13%);
	height: 100%;
	min-height: clamp(16rem, 32vw, 22rem);
	overflow: hidden;
}

.masseo-amenities-video .wp-block-cover__video-background {
	border-radius: inherit;
}

.masseo-amenities-split .masseo-content-card {
	height: 100%;
	margin: 0;
	max-width: none;
}

@media (max-width: 860px) {
	.masseo-amenities-split {
		flex-direction: column !important;
	}

	.masseo-amenities-split .wp-block-column:has(.masseo-amenities-video) {
		order: -1;
	}

	.masseo-amenities-video.wp-block-cover {
		min-height: clamp(14rem, 55vw, 20rem);
	}
}

.masseo-profile-card .wp-block-image {
	margin-bottom: 1rem;
	width: 100%;
}

.masseo-profile-card img {
	aspect-ratio: 4 / 4.6;
	border-radius: 1rem;
	display: block;
	object-fit: cover;
	width: 100%;
}

.masseo-profile-card .masseo-kicker {
	line-height: 1.35;
	margin-top: 0.35rem;
}

.masseo-profile-scene {
	padding-bottom: 0;
	position: relative;
}

.masseo-profile-scene::before {
	display: none;
}

.masseo-profile-card--feature {
	overflow: visible;
	position: relative;
	text-align: left;
	z-index: 1;
}

.masseo-profile-scene:nth-child(even) .masseo-profile-card--feature {
	margin-left: 0;
}

.masseo-profile-layout {
	align-items: flex-start !important;
}

.masseo-profile-scene:nth-child(even) .masseo-profile-layout {
	flex-direction: row;
}

.masseo-profile-photo {
	background: var(--wp--preset--color--soft);
	border-radius: 1rem;
	margin: 0;
	overflow: hidden;
}

.masseo-profile-card--feature .masseo-profile-photo img {
	aspect-ratio: 4 / 4.5;
	height: auto;
	object-fit: contain;
	object-position: center top;
}

.masseo-profile-scene:nth-child(even) .masseo-profile-photo {
	transform: none;
}

.masseo-profile-note {
	background: var(--wp--preset--color--soft);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 1rem;
	margin: 1rem 0;
	padding: 1rem;
}

.masseo-profile-note p {
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0;
}

.masseo-profile-techniques,
ul.masseo-profile-techniques {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.4rem !important;
	list-style: none !important;
	margin: 0.75rem 0 0 !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
}

.masseo-profile-techniques li,
.masseo-profile-techniques .wp-block-list-item {
	background: var(--wp--preset--color--brand-light);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 999px;
	color: var(--wp--preset--color--muted);
	display: inline-flex !important;
	font-size: 0.85rem;
	line-height: 1.35;
	margin: 0 !important;
	padding: 0.3rem 0.7rem !important;
}

.masseo-profile-techniques li::before,
.masseo-profile-techniques li::marker,
.masseo-profile-techniques li::after {
	content: none !important;
	display: none !important;
}

.masseo-profile-insights {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 1rem 0 0;
	max-width: none;
	position: relative;
	transform: none;
	z-index: 2;
}

.masseo-profile-scene:nth-child(even) .masseo-profile-insights {
	margin-left: 0;
	margin-right: 0;
	transform: none;
}

.masseo-profile-fact {
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 1rem;
	height: 100%;
}

.masseo-profile-fact h3 {
	margin-top: 0;
}

.masseo-profile-fact p {
	font-size: 0.94rem;
	line-height: 1.55;
	margin-bottom: 0;
}

.masseo-staff-profile {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.5rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 8%);
	overflow: visible;
	text-align: left;
}

.masseo-staff-entry {
	margin-inline: auto;
	margin-block-start: 0 !important;
	max-width: 1120px;
	position: relative;
	width: 100%;
}

.masseo-staff-entry + .masseo-staff-entry {
	margin-block-start: 0 !important;
}

.masseo-staff-accordion {
	margin-top: 1rem;
}

.masseo-staff-accordion > summary {
	align-items: center;
	background: var(--wp--preset--color--soft);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	border-radius: 999px;
	box-shadow: none;
	cursor: pointer;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 0.5rem;
	justify-content: flex-start;
	list-style: none;
	padding: 0.75rem 0.95rem;
}

.masseo-staff-accordion > summary::-webkit-details-marker {
	display: none;
}

.masseo-staff-accordion > summary::after {
	background: currentColor;
	content: "";
	flex: 0 0 1rem;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='black' stroke-width='1.667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 160ms ease;
	width: 1rem;
}

.masseo-staff-accordion[open] > summary::after {
	transform: rotate(180deg);
}

.masseo-staff-accordion[open] > summary {
	background: var(--wp--preset--color--brand-light);
}

.masseo-staff-accordion > *:not(summary) {
	margin-block-start: 0;
}

.masseo-staff-accordion .masseo-staff-profile__quote {
	margin: 0.85rem 0 0;
}

.masseo-staff-profile__quote + .masseo-staff-notes,
.masseo-staff-accordion .masseo-staff-notes {
	margin-top: 1.5rem;
}

.masseo-staff-entry > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.masseo-staff-accordion > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.masseo-staff-profile > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.masseo-staff-profile__techniques > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none !important;
}

.masseo-staff-profile__top {
	align-items: flex-start !important;
}

.masseo-staff-profile__photo {
	background: var(--wp--preset--color--soft);
	border-radius: 1.1rem;
	margin: 0;
	max-width: 220px;
	overflow: hidden;
}

.masseo-staff-profile__photo img {
	aspect-ratio: 4 / 4.6;
	display: block;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.masseo-staff-profile h2 {
	font-size: clamp(1.28rem, 1.45vw, 1.6rem) !important;
	line-height: 1.12;
	margin-top: 0;
}

.masseo-staff-role {
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.35;
	margin-bottom: 0;
	margin-top: 0.35rem;
}

.masseo-staff-profile h3 {
	margin-top: 1rem;
}

.masseo-staff-profile__quote {
	background: rgb(var(--masseo-soft-rgb) / 72%);
	border: 1px solid rgb(var(--masseo-mist-rgb) / 86%);
	border-left: 3px solid var(--wp--preset--color--brand);
	border-radius: 1rem;
	margin: 1rem 0 0;
	padding: 1rem;
}

.masseo-staff-profile__quote p {
	font-size: 0.98rem;
	line-height: 1.55;
	margin: 0;
}

.masseo-staff-profile__aside {
	display: grid;
	gap: 1rem;
}

.masseo-staff-profile__fact {
	border: 1px solid rgb(var(--masseo-mist-rgb) / 72%);
	border-radius: 1rem;
}

.masseo-staff-profile__fact h3 {
	margin-top: 0;
}

.masseo-staff-profile__fact p {
	font-size: 0.94rem;
	line-height: 1.55;
	margin-bottom: 0;
}

.masseo-staff-notes {
	box-sizing: border-box;
	display: grid;
	gap: 0 1.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-items: start;
	margin-top: 0;
	padding-top: 0;
	position: static;
	text-align: left;
	width: 100%;
}

.masseo-staff-note {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.masseo-staff-note + .masseo-staff-note {
	border-top: 0;
	margin-block-start: 0 !important;
	padding-top: 0;
}

.masseo-staff-profile .masseo-staff-note h3 {
	margin-top: 0;
	margin-bottom: 0.35rem;
}

.masseo-staff-note h3 + p {
	margin-top: 0;
}

.masseo-staff-note p:last-child {
	font-size: 0.95rem;
	line-height: 1.6;
	margin-bottom: 0;
}

.masseo-staff-profile__techniques {
	margin-top: 1rem;
}

.masseo-staff-profile__techniques h3 {
	margin-top: 0;
}

.masseo-cta-band {
	border-radius: 0;
	overflow: hidden;
}

.masseo-cta-band > * {
	position: relative;
	z-index: 1;
}

.masseo-cta-band::after {
	background: radial-gradient(circle, rgb(255 255 255 / 18%) 0 0.16rem, transparent 0.18rem);
	background-size: 1.35rem 1.35rem;
	bottom: -5rem;
	content: "";
	height: 18rem;
	position: absolute;
	right: -4rem;
	width: 18rem;
}

.masseo-final-cta {
	overflow: hidden;
}

.masseo-final-cta::after {
	background: radial-gradient(circle, rgb(255 255 255 / 18%) 0 0.16rem, transparent 0.18rem);
	background-size: 1.35rem 1.35rem;
	bottom: -4rem;
	content: "";
	height: 18rem;
	position: absolute;
	right: -4rem;
	width: 18rem;
}

.home .masseo-footer-cta,
.home .wp-block-group.has-brand-background-color:has(+ .masseo-footer),
.home footer > .wp-block-group.has-brand-background-color:first-child {
	display: none;
}

.masseo-footer-cta p[style*="text-transform:uppercase"],
footer > .wp-block-group.has-brand-background-color:first-child p[style*="text-transform:uppercase"] {
	color: var(--wp--preset--color--brand-light) !important;
}

.masseo-footer-cta .wp-block-heading,
footer > .wp-block-group.has-brand-background-color:first-child .wp-block-heading {
	color: var(--wp--preset--color--white) !important;
}

.masseo-icon-dot {
	background: linear-gradient(135deg, var(--wp--preset--color--brand), var(--wp--preset--color--accent));
	border-radius: 1rem;
	height: 3rem;
	position: relative;
	width: 3rem;
}

.masseo-icon-dot::after {
	background: #ffffff;
	border-radius: 999px;
	content: "";
	height: 0.7rem;
	left: 0.75rem;
	position: absolute;
	top: 0.75rem;
	width: 0.7rem;
}

.masseo-footer a:where(:not(.wp-element-button):not(.wp-block-button__link)) {
	font-weight: 500;
	text-decoration: none;
}

.masseo-footer a:where(:not(.wp-element-button):not(.wp-block-button__link)):hover {
	text-decoration: underline;
}

.masseo-footer h3 {
	color: var(--wp--preset--color--ink);
	margin-top: 0;
}

.masseo-footer.has-brand-dark-background-color {
	background:
		radial-gradient(circle at 12% 0%, rgb(var(--masseo-accent-rgb) / 22%), transparent 24rem),
		radial-gradient(circle at 82% 18%, rgb(var(--masseo-primary-rgb) / 8%), transparent 20rem),
		linear-gradient(180deg, #fff 0%, rgb(var(--masseo-soft-rgb) / 92%) 100%) !important;
	color: var(--wp--preset--color--ink) !important;
	overflow: hidden;
	position: relative;
}

.masseo-footer.has-brand-dark-background-color::before {
	animation: masseoBlobFloatB 68s ease-in-out infinite alternate;
	background:
		radial-gradient(circle at 34% 32%, rgb(var(--masseo-accent-rgb) / 24%), transparent 36%),
		linear-gradient(135deg, rgb(255 255 255 / 34%), rgb(var(--masseo-soft-rgb) / 42%));
	border-radius: 48% 52% 42% 58% / 46% 58% 42% 54%;
	content: "";
	height: clamp(12rem, 20vw, 20rem);
	opacity: 0.1;
	pointer-events: none;
	position: absolute;
	right: -3rem;
	top: 2rem;
	transform: rotate(8deg);
	width: clamp(12rem, 20vw, 20rem);
}

.masseo-footer.has-brand-dark-background-color > * {
	position: relative;
	z-index: 1;
}

.masseo-footer .wp-block-site-title a,
.masseo-footer :where(p, li),
.masseo-footer .has-text-color:where(:not(.wp-element-button):not(.wp-block-button__link)) {
	color: var(--wp--preset--color--muted) !important;
}

.masseo-footer h3,
.masseo-footer a:where(:not(.wp-element-button):not(.wp-block-button__link)) {
	color: var(--wp--preset--color--ink) !important;
}

.masseo-footer a.wp-block-button__link.has-brand-background-color,
.masseo-footer a.wp-element-button.has-brand-background-color {
	background: var(--wp--preset--color--brand) !important;
	background-color: var(--wp--preset--color--brand) !important;
	border-color: var(--wp--preset--color--brand) !important;
	color: #fff !important;
	text-decoration: none;
	white-space: nowrap;
	width: max-content;
	max-width: none;
}

.masseo-footer .wp-block-button,
.masseo-footer .wp-block-buttons {
	max-width: none;
}

.masseo-footer .masseo-footer-newsletter,
.masseo-footer .wp-block-buttons.masseo-footer-newsletter {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.75rem;
	max-width: none;
	width: 100%;
}

.masseo-footer .masseo-footer-newsletter .wp-block-button,
.masseo-footer .masseo-footer-newsletter .wp-block-button__link {
	max-width: none;
	width: max-content;
}

.masseo-footer a.wp-block-button__link.has-brand-background-color:hover,
.masseo-footer a.wp-element-button.has-brand-background-color:hover {
	background: #b83c12 !important;
	background-color: #b83c12 !important;
	border-color: #b83c12 !important;
	color: #fff !important;
	text-decoration: none;
}

.masseo-footer a.wp-block-button__link[href*="zc.vg"],
.masseo-footer a.wp-element-button[href*="zc.vg"] {
	max-width: none;
	white-space: nowrap;
	width: max-content;
}

.masseo-footer ul {
	list-style: none;
	margin-top: 0.85rem;
	padding-left: 0 !important;
}

.masseo-footer li + li {
	margin-top: 0.55rem;
}

.wp-block-button__link,
.wp-element-button {
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 10%);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button {
	background: rgb(var(--masseo-primary-rgb) / 7%) !important;
	border-color: rgb(var(--masseo-primary-rgb) / 34%) !important;
	color: var(--wp--preset--color--brand-dark) !important;
}

.wp-block-button .wp-block-button__link[href*="/reservation"],
.wp-block-button .wp-element-button[href*="/reservation"],
a.wp-block-button__link[href*="/reservation"],
a.wp-element-button[href*="/reservation"],
.wp-block-button .wp-block-button__link[href*="zc.vg"],
.wp-block-button .wp-element-button[href*="zc.vg"],
a.wp-block-button__link[href*="zc.vg"],
a.wp-element-button[href*="zc.vg"],
.masseo-newsletter-button .wp-block-button__link,
.masseo-newsletter-button .wp-element-button {
	background: #d14414 !important;
	background-color: #d14414 !important;
	border-color: #d14414 !important;
	color: #fff !important;
}

.wp-block-button .wp-block-button__link[href*="/reservation"]:hover,
.wp-block-button .wp-element-button[href*="/reservation"]:hover,
a.wp-block-button__link[href*="/reservation"]:hover,
a.wp-element-button[href*="/reservation"]:hover,
.wp-block-button .wp-block-button__link[href*="zc.vg"]:hover,
.wp-block-button .wp-element-button[href*="zc.vg"]:hover,
a.wp-block-button__link[href*="zc.vg"]:hover,
a.wp-element-button[href*="zc.vg"]:hover,
.masseo-newsletter-button .wp-block-button__link:hover,
.masseo-newsletter-button .wp-element-button:hover {
	background: #b83c12 !important;
	background-color: #b83c12 !important;
	border-color: #b83c12 !important;
	color: #fff !important;
}

.masseo-newsletter {
	border-radius: 1.35rem;
	box-sizing: border-box;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.masseo-newsletter__kicker {
	margin-bottom: 0.75rem;
}

.masseo-newsletter__text {
	margin-inline: auto;
	max-width: 38rem;
}

.masseo-newsletter-buttons {
	margin-top: 0.5rem;
}

/* Version foncée */
.masseo-newsletter--dark,
.masseo-newsletter.has-brand-dark-background-color {
	background: var(--wp--preset--color--brand-dark) !important;
	color: var(--wp--preset--color--white);
}

.masseo-newsletter--dark .masseo-newsletter__kicker,
.masseo-newsletter.has-brand-dark-background-color .masseo-newsletter__kicker,
.masseo-newsletter--dark .masseo-kicker,
.masseo-newsletter.has-brand-dark-background-color > .masseo-kicker {
	color: #fae9e3 !important;
}

.masseo-newsletter--dark .masseo-newsletter__title,
.masseo-newsletter--dark .wp-block-heading,
.masseo-newsletter.has-brand-dark-background-color .wp-block-heading {
	color: var(--wp--preset--color--white) !important;
}

.masseo-newsletter--dark .masseo-newsletter__text,
.masseo-newsletter.has-brand-dark-background-color .masseo-newsletter__text {
	color: #fae9e3 !important;
}

/* Version pâle */
.masseo-newsletter--light {
	background: var(--wp--preset--color--soft) !important;
	border: 1px solid rgb(var(--masseo-mist-rgb) / 78%);
	color: var(--wp--preset--color--ink);
}

.masseo-newsletter--light .masseo-newsletter__kicker,
.masseo-newsletter--light .masseo-kicker {
	color: var(--wp--preset--color--brand) !important;
}

.masseo-newsletter--light .masseo-newsletter__title,
.masseo-newsletter--light .wp-block-heading {
	color: var(--wp--preset--color--brand-dark) !important;
}

.masseo-newsletter--light .masseo-newsletter__text {
	color: var(--wp--preset--color--muted) !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	transform: translateY(-1px);
}

.wp-block-post-title a {
	text-decoration: none;
}

input,
textarea,
select {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.85rem;
	color: var(--wp--preset--color--ink);
	font: inherit;
	padding: 0.75rem 0.9rem;
}

input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible {
	outline: 3px solid rgb(var(--masseo-primary-rgb) / 28%);
	outline-offset: 3px;
}

.masseo-quote-form-card {
	margin-inline: auto;
}

.masseo-quote-form {
	display: grid;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.masseo-form-grid {
	display: grid;
	column-gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 1.25rem;
}

.masseo-quote-form label {
	color: var(--wp--preset--color--ink);
	display: grid;
	font-weight: 750;
	gap: 0.45rem;
}

.masseo-quote-form > label {
	margin-top: 0.25rem;
}

.masseo-quote-form input,
.masseo-quote-form textarea,
.masseo-quote-form select {
	box-sizing: border-box;
}

.masseo-quote-form input,
.masseo-quote-form textarea {
	width: 100%;
}

.masseo-quote-form textarea {
	resize: vertical;
}

.masseo-form-challenge {
	max-width: 14rem;
}

.masseo-quote-form button {
	border: 0;
	cursor: pointer;
	justify-self: start;
}

@media (max-width: 1280px) {
	.wp-site-blocks > :where(.wp-block-group, .wp-block-cover, .wp-block-template-part) > .alignwide,
	.wp-site-blocks .is-layout-constrained > .alignwide {
		max-width: min(1180px, calc(100vw - 4rem)) !important;
	}

	.wp-block-post-content > :where(.wp-block-group, section.wp-block-group).is-layout-constrained {
		padding-left: clamp(1.5rem, 4vw, 3rem) !important;
		padding-right: clamp(1.5rem, 4vw, 3rem) !important;
	}

	.wp-block-post-content > :where(.wp-block-group, section.wp-block-group).is-layout-constrained > .alignwide {
		max-width: 100% !important;
	}

	.wp-site-blocks .is-layout-constrained > .masseo-premium-hero__layout.alignwide {
		max-width: min(1320px, calc(100vw - 4rem)) !important;
	}

	.masseo-staff-entry {
		max-width: 1120px;
	}
}

@media (max-width: 1120px) {
	.masseo-header {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}

	.masseo-header .wp-block-buttons {
		display: none;
	}

	.masseo-header .wp-block-navigation {
		flex: 0 1 auto;
	}

	.masseo-header .wp-block-navigation-item__content {
		font-size: 0.9rem;
		padding: 0.45rem 0.48rem;
	}
}

@media (max-width: 960px) {
	.masseo-header .wp-block-navigation {
		flex: 0 0 auto;
	}

	.masseo-header > .alignwide {
		justify-content: space-between;
	}
}

@media (max-width: 782px) {
	.masseo-header {
		position: sticky;
	}

	.masseo-home-hero h1 {
		font-size: clamp(2rem, 11vw, 2.75rem);
		line-height: 1.05;
		max-width: none;
	}

	.masseo-premium-hero h1 {
		font-size: clamp(2.35rem, 14vw, 3.45rem) !important;
		max-width: none;
	}

	.masseo-premium-hero {
		min-height: auto;
	}

	.masseo-premium-hero__layout {
		gap: 1.5rem !important;
		min-height: auto;
	}

	.masseo-premium-hero__layout > .wp-block-column:first-child,
	.masseo-premium-hero__layout > .wp-block-column:last-child {
		align-self: auto;
		flex-basis: auto !important;
	}

	.masseo-promo-panel {
		border-radius: 4rem 0 0 0;
		margin-left: 0;
		max-width: none;
		min-height: 28rem;
		padding: 1rem !important;
	}

	.masseo-promo-panel::before {
		height: 12rem;
		right: -4rem;
		top: -3rem;
		width: 12rem;
	}

	.masseo-promo-panel .masseo-promo-stack {
		bottom: 3.2rem;
		left: 1rem;
		min-height: 8.55rem;
		width: min(82%, 24rem);
	}

	.masseo-promo-panel > .masseo-premium-badge {
		bottom: 12.45rem;
		left: 1rem;
	}

	.masseo-promo-panel .masseo-promo-card {
		width: 100%;
	}

	.masseo-promo-panel .masseo-promo-slider-controls {
		bottom: -0.25rem;
		left: 1rem;
		width: min(82%, 24rem);
	}

	.masseo-premium-metrics,
	.masseo-premium-card-grid,
	.masseo-premium-steps {
		grid-template-columns: 1fr;
	}

	.masseo-premium-hero__panel,
	.masseo-premium-card,
	.masseo-premium-step,
	.masseo-premium-proof {
		border-radius: 1.2rem;
	}

	.masseo-page-hero h1,
	.masseo-page-hero .has-display-font-size {
		font-size: clamp(2rem, 10vw, 2.65rem) !important;
		line-height: 1.08;
	}

	.masseo-single-hero .wp-block-post-title {
		font-size: clamp(2.15rem, 11vw, 3rem) !important;
		max-width: none;
	}

	.masseo-single-featured-image img {
		aspect-ratio: 4 / 3;
	}

	.masseo-single-content .wp-block-image.alignwide {
		max-width: 100%;
		transform: none;
		width: 100%;
	}

	.masseo-page-hero .has-display-small-font-size,
	.masseo-content-section .has-display-small-font-size,
	.masseo-section .has-display-small-font-size {
		font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
		line-height: 1.12;
	}

	.masseo-default-page {
		padding-inline: 1rem;
	}

	.masseo-default-page__content .alignleft,
	.masseo-default-page__content .alignright {
		display: block;
		float: none;
		margin: 1rem auto;
	}

	.masseo-card-grid {
		gap: 1rem;
	}

	.masseo-process-grid {
		grid-template-columns: 1fr;
	}

	.masseo-form-grid {
		grid-template-columns: 1fr;
	}

	.masseo-team-directory {
		grid-template-columns: 1fr;
	}

	.masseo-profile-layout,
	.masseo-profile-insights {
		gap: 1rem;
	}

	.masseo-profile-card--feature,
	.masseo-profile-scene:nth-child(even) .masseo-profile-card--feature {
		margin-left: 0;
		margin-right: 0;
	}

	.masseo-profile-scene::before {
		display: none;
	}

	.masseo-profile-scene:nth-child(even) .masseo-profile-layout {
		flex-direction: column;
	}

	.masseo-profile-photo,
	.masseo-profile-scene:nth-child(even) .masseo-profile-photo {
		transform: none;
	}

	.masseo-profile-insights,
	.masseo-profile-scene:nth-child(even) .masseo-profile-insights {
		grid-template-columns: 1fr;
		margin: 1rem 0 0;
		max-width: none;
		transform: none;
	}

	.masseo-staff-profile {
		border-radius: 1.15rem;
	}

	.masseo-staff-profile__top {
		gap: 1rem;
	}

	.masseo-staff-profile__photo img {
		aspect-ratio: 16 / 12;
		max-height: 22rem;
	}

	.masseo-staff-notes {
		gap: 1.25rem 0;
		grid-template-columns: 1fr;
	}

	.masseo-section-header .wp-block-buttons {
		justify-content: flex-start;
	}

	.masseo-blog-query .wp-block-post-template {
		grid-auto-columns: minmax(18rem, 84vw);
		grid-template-columns: none !important;
	}

	.masseo-blog-card {
		min-height: auto;
	}

	.masseo-header .wp-block-buttons {
		display: none;
	}

	.masseo-approach-layout {
		gap: 1.25rem;
	}

	.masseo-treatment-switcher {
		gap: 1.25rem;
	}

	.masseo-treatment-nav-card {
		padding: 1rem 1.1rem;
		position: relative;
		top: auto;
	}

	.masseo-treatment-nav-card > .masseo-kicker,
	.masseo-treatment-nav {
		display: none;
	}

	.masseo-treatment-select {
		display: block;
	}

	.masseo-treatment-controls {
		display: none;
	}

	.masseo-approach-index {
		position: relative;
		top: auto;
	}

	.masseo-index-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.masseo-index-list li {
		border-radius: 0.85rem;
	}
}

@media (max-width: 520px) {
	.masseo-index-list {
		grid-template-columns: 1fr;
	}
}

:where(.wp-site-blocks) a.wp-block-button__link:is(
	[href*="/reservation"],
	[href*="/soumission-en-ligne-massage-sur-chaise-en-entreprise"]
),
:where(.wp-site-blocks) a.wp-element-button:is(
	[href*="/reservation"],
	[href*="/soumission-en-ligne-massage-sur-chaise-en-entreprise"]
) {
	background: #d14414 !important;
	background-color: #d14414 !important;
	border-color: #d14414 !important;
	color: #fff !important;
}

:where(.wp-site-blocks) a.wp-block-button__link:is(
	[href*="/reservation"],
	[href*="/soumission-en-ligne-massage-sur-chaise-en-entreprise"]
):hover,
:where(.wp-site-blocks) a.wp-element-button:is(
	[href*="/reservation"],
	[href*="/soumission-en-ligne-massage-sur-chaise-en-entreprise"]
):hover {
	background: #b83c12 !important;
	background-color: #b83c12 !important;
	border-color: #b83c12 !important;
	color: #fff !important;
}

/* Boutique */
.masseo-boutique-section__header {
	margin-bottom: 2rem;
}

.masseo-boutique-gift__notes {
	display: grid;
	gap: 0.35rem;
	margin-top: 1rem;
}

.masseo-boutique-gift__cta {
	margin-top: 1.5rem;
}

.masseo-boutique-products {
	display: grid;
	gap: 1.25rem;
	margin-top: 2rem;
}

.masseo-boutique-product {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.35rem;
	box-shadow: 0 1px 2px rgb(var(--masseo-charcoal-rgb) / 8%);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.masseo-boutique-product__image {
	margin: 0;
}

.masseo-boutique-product__image img {
	aspect-ratio: 5 / 4;
	border-radius: 1.1rem;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.masseo-boutique-product h3 {
	margin-top: 0;
}

.masseo-boutique-price {
	color: var(--wp--preset--color--brand);
	font-size: 1.05rem;
	margin: 0.35rem 0 1rem;
}

.masseo-boutique-price-block {
	border-top: 1px solid var(--wp--preset--color--border);
	display: grid;
	gap: 0.35rem;
	margin-top: 1rem;
	padding-top: 1rem;
}

.masseo-boutique-price-block .masseo-boutique-price {
	margin: 0;
}

.masseo-boutique-product--gel .masseo-boutique-product__image img {
	aspect-ratio: auto;
	max-height: 22rem;
	object-fit: contain;
}

.masseo-boutique-subheading {
	margin: 2rem 0 0.5rem;
}

.masseo-boutique-variants {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block: 1rem 0;
}

.masseo-boutique-variant {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 1.25rem;
	padding: 1.15rem;
}

.masseo-boutique-variant h5 {
	margin: 0 0 0.5rem;
}

.masseo-boutique-variant p {
	margin: 0;
}

.masseo-boutique-variant p + p {
	margin-top: 0.65rem;
}

.masseo-boutique-accordions {
	display: grid;
	gap: 0.75rem;
	justify-items: start;
	margin-top: 1.75rem;
	text-align: left;
}

.masseo-boutique-accordions .masseo-staff-accordion {
	margin-inline: 0;
	margin-top: 0;
	width: 100%;
}

.masseo-boutique-accordions .masseo-staff-accordion > summary {
	display: inline-flex;
	justify-content: flex-start;
	margin-inline: 0;
	width: auto;
}

@media (max-width: 781px) {
	.masseo-boutique-variants {
		grid-template-columns: 1fr;
	}

	.masseo-boutique-product .wp-block-columns {
		flex-direction: column;
	}

	.masseo-boutique-product .wp-block-column {
		flex-basis: 100% !important;
	}
}
