
@charset "UTF-8";

/**
 * Independent project styles, loaded after the parent stylesheet.
 */

/**
 * Project tokens derived from the approved demo (DESIGN_CONTRACT.md).
 *
 * $color-primary, $color-secondary and $color-body come from Theme Options
 * through the parent Visual Settings compiler hook; the fallbacks below only
 * apply when that hook is absent. Other tokens have no editor-owned setting.
 */

/**
 * Self-hosted fonts, document defaults, typography, icons and core buttons.
 */
@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/dm-sans-400.ttf") format("truetype");
}

@font-face {
	font-family: "DM Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/dm-sans-600.ttf") format("truetype");
}

:root {
	--blossom-focus-color: #cf703a;
	--blossom-focus-width: 3px;
	--blossom-focus-offset: 5px;
	--blossom-focus-shadow: none;
	--header-offset: 110px;
}

html {
	background-color: #fcfaf7;
	color: #242237;
	font-family: "DM Sans", sans-serif;
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-offset);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	margin: 0;
	background-color: #fcfaf7;
	color: #242237;
	font-family: "DM Sans", sans-serif;
	font-size: 17px;
	line-height: 1.6;
}

@media (max-width: 600px) {
	body {
		font-size: 16px;
	}
}

h1, h2 {
	font-family: georgia, serif;
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.045em;
	margin: 0;
	color: inherit;
}

h1 {
	font-size: clamp(54px, 6.4vw, 98px);
}

h2 {
	font-size: clamp(40px, 4.8vw, 68px);
}

@media (max-width: 600px) {
	h2 {
		font-size: 41px;
	}
}

h3 {
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: 23px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
}

h1 em, h2 em {
	font-weight: 400;
}

p {
	margin: 0;
	color: #615e70;
	font-size: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover, a:focus {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.site-container {
	width: calc(100% - 112px);
	max-width: 1370px;
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 600px) {
	.site-container {
		width: calc(100% - 40px);
	}
}

.icon-arrow {
	display: inline-block;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
}

.icon-chevron {
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\'%3E%3Cpath d=\'m5 7 5 5 5-5\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\'%3E%3Cpath d=\'m5 7 5 5 5-5\'/%3E%3C/svg%3E") center/contain no-repeat;
}

.icon-star {
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
}

.wp-block-buttons {
	gap: 12px;
	margin: 0;
}

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
}

.wp-block-button__link .icon-arrow {
	transition: transform .2s;
}

.wp-block-button__link:hover, .wp-block-button__link:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

.wp-block-button__link:hover .icon-arrow, .wp-block-button__link:focus .icon-arrow {
	transform: translateX(3px);
}

.wp-block-button__link::after {
	display: inline-block;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	content: "";
	transition: transform .2s;
}

.wp-block-button__link:hover::after, .wp-block-button__link:focus::after {
	transform: translateX(3px);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: #b5aedc;
	background-color: transparent;
	color: #3427bc;
	padding: 17px 27px;
	border-width: 1px;
	border-style: solid;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover, .wp-block-button.is-style-outline > .wp-block-button__link:focus {
	border-color: #b5aedc;
	background-color: #f0edfa;
	box-shadow: none;
	color: #3427bc;
}

.wp-block-button.is-style-white > .wp-block-button__link {
	border-color: #fff;
	background-color: #fff;
	color: #3427bc;
}

.wp-block-button.is-style-white > .wp-block-button__link:hover, .wp-block-button.is-style-white > .wp-block-button__link:focus {
	border-color: #f0edfa;
	background-color: #f0edfa;
	color: #3427bc;
}

.wp-block-paragraph.is-style-eyebrow, .is-style-eyebrow {
	display: block;
	margin: 0 0 23px;
	color: #3427bc;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	.wp-block-paragraph.is-style-eyebrow, .is-style-eyebrow {
		margin-bottom: 18px;
		font-size: 12px;
	}
}

.wp-block-image.is-style-soft-corners {
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
}

.wp-block-image.is-style-soft-corners img {
	width: 100%;
	height: 330px;
	object-fit: cover;
}

@media (max-width: 700px) {
	.wp-block-image.is-style-soft-corners img {
		height: 250px;
	}
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link.screen-reader-text:focus {
	top: 10px;
	left: 15px;
	z-index: 100;
	width: auto;
	height: auto;
	padding: 15px;
	clip: auto;
	background-color: #fff;
	color: #242237;
}

.is-reveal-pending {
	opacity: 0;
	transform: translateY(24px);
}

.is-reveal-ready {
	transition: opacity .75s cubic-bezier(.25, .46, .45, .94), transform .75s cubic-bezier(.25, .46, .45, .94);
}

@-webkit-keyframes ladywax-rise {
	from {
		opacity: 0;
		transform: translateY(22px);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes ladywax-rise {
	from {
		opacity: 0;
		transform: translateY(22px);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

@-webkit-keyframes ladywax-settle {
	from {
		transform: scale(1.05);
	}
	
	to {
		transform: none;
	}
}

@keyframes ladywax-settle {
	from {
		transform: scale(1.05);
	}
	
	to {
		transform: none;
	}
}

/**
 * Top bar, sticky header, mega menu, mobile navigation and overlay.
 *
 * The parent main.js keeps controlling aria-expanded and the is-open class.
 * It reads the mobile breakpoint from the toggle's visibility, so moving the
 * breakpoint from the parent's 1024px to the demo's 900px only needs styles.
 * The parent scopes its header rules to #header-main; the overrides below use
 * the same ID deliberately, so they win by source order rather than by more
 * specific selectors.
 */
.site-topbar {
	padding: 9px 0;
	background-color: #efedf8;
	color: #393052;
	font-size: 13px;
}

@media (max-width: 600px) {
	.site-topbar {
		padding: 7px 0;
	}
}

.site-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}

@media (max-width: 900px) {
	.site-topbar-inner {
		justify-content: center;
	}
}

.site-topbar-tagline {
	color: inherit;
}

@media (max-width: 900px) {
	.site-topbar-tagline {
		display: none;
	}
}

.site-topbar-rating {
	display: flex;
	align-items: center;
	gap: 10px;
}

@media (max-width: 900px) {
	.site-topbar-rating {
		font-size: 12px;
	}
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid #e6e1ed;
	background-color: #fcfaf7;
}

#header-main {
	border-bottom: 0;
	background-color: transparent;
}

#header-main .header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	height: 99px;
}

@media (max-width: 900px) {
	#header-main .header-inner {
		height: 80px;
	}
}

@media (max-width: 600px) {
	#header-main .header-inner {
		gap: 12px;
	}
}

#header-main .header-branding {
	flex-shrink: 0;
}

#header-main .header-branding .custom-logo {
	width: 187px;
	max-width: none;
}

@media (max-width: 600px) {
	#header-main .header-branding .custom-logo {
		width: 124px;
	}
}

#header-main .header-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
	flex-shrink: 0;
}

#header-main .header-button .icon-arrow {
	transition: transform .2s;
}

#header-main .header-button:hover, #header-main .header-button:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

#header-main .header-button:hover .icon-arrow, #header-main .header-button:focus .icon-arrow {
	transform: translateX(3px);
}

@media (max-width: 900px) {
	#header-main .header-button {
		min-height: 44px;
		margin-left: auto;
		font-size: 13px;
	}
	
	#header-main .header-button .icon-arrow {
		display: none;
	}
}

@media (max-width: 600px) {
	#header-main .header-button {
		padding: 11px 12px;
		border-radius: 4px;
		font-size: 12px;
	}
}

#header-main .mobile-menu-toggle {
	order: 3;
	width: 45px;
	height: 45px;
	color: #242237;
}

@media (min-width: 901px) {
	#header-main .mobile-menu-toggle.is-navigation-ready {
		display: none;
	}
}

@media (max-width: 900px) {
	#header-main .mobile-menu-toggle.is-navigation-ready {
		display: flex;
	}
}

#header-main .mobile-menu-toggle-icon {
	width: 25px;
	height: 0;
}

#header-main .mobile-menu-toggle-icon::before {
	top: -5px;
	height: 1.6px;
}

#header-main .mobile-menu-toggle-icon::after {
	top: 4px;
	height: 1.6px;
}

#header-main .header-nav {
	font-size: 15px;
	font-weight: 600;
}

#header-main .header-nav .menu {
	margin: 0;
	list-style: none;
}

#header-main .header-nav .menu-item-has-children > .menu-item-dropdown-toggle {
	color: inherit;
}

#header-main .header-nav .menu-item-has-children > .menu-item-dropdown-toggle .menu-item-dropdown-icon::after {
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\'%3E%3Cpath d=\'m5 7 5 5 5-5\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 20 20\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\'%3E%3Cpath d=\'m5 7 5 5 5-5\'/%3E%3C/svg%3E") center/contain no-repeat;
	content: "";
}

#header-main .header-nav .mega-menu-intro {
	padding: 28px;
	border-radius: 6px;
	background-color: #f0ecf7;
}

#header-main .header-nav .mega-menu-eyebrow {
	display: block;
	margin: 0 0 23px;
	color: #3427bc;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	#header-main .header-nav .mega-menu-eyebrow {
		margin-bottom: 18px;
		font-size: 12px;
	}
}

#header-main .header-nav .mega-menu-heading {
	font-family: georgia, serif;
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.045em;
	margin-bottom: 25px;
	color: #242237;
	font-size: 36px;
}

#header-main .header-nav .mega-menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
}

#header-main .header-nav .mega-menu-button .icon-arrow {
	transition: transform .2s;
}

#header-main .header-nav .mega-menu-button:hover, #header-main .header-nav .mega-menu-button:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

#header-main .header-nav .mega-menu-button:hover .icon-arrow, #header-main .header-nav .mega-menu-button:focus .icon-arrow {
	transform: translateX(3px);
}

#header-main .header-nav .mega-menu-button::after {
	display: inline-block;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	content: "";
}

#header-main .header-nav .mega-menu-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

#header-main .header-nav .mega-menu-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

#header-main .header-nav .mega-menu-links a::after {
	display: inline-block;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.7\' stroke-linecap=\'round\' stroke-linejoin=\'round\'%3E%3Cpath d=\'M4 12h15M13 5l7 7-7 7\'/%3E%3C/svg%3E") center/contain no-repeat;
	content: "";
	transition: transform .2s;
}

#header-main .header-nav .mega-menu-links a:hover::after {
	transform: translateX(3px);
}

#header-main .header-nav .header-nav-booking {
	display: none;
}

@media (min-width: 901px) {
	#header-main .header-nav.is-navigation-ready {
		display: block;
		position: static;
		border: 0;
		background: none;
	}
	
	#header-main .header-nav .menu {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 29px;
		padding: 0;
	}
	
	#header-main .header-nav .menu > .menu-item > a {
		display: inline;
		padding: 0;
	}
	
	#header-main .header-nav .menu-item-has-children {
		position: static;
		flex-wrap: nowrap;
		gap: 8px;
	}
	
	#header-main .header-nav .menu-item-has-children > a {
		flex: none;
	}
	
	#header-main .header-nav .menu-item-has-children > .menu-item-dropdown-toggle {
		min-width: 24px;
		min-height: 24px;
	}
	
	#header-main .header-nav .menu-item-mega {
		padding: 12px 0;
	}
	
	#header-main .header-nav .mega-menu {
		display: none;
		position: absolute;
		top: 100%;
		right: 56px;
		left: 56px;
		z-index: 41;
		grid-template-columns: 1fr 2fr;
		gap: 35px;
		width: auto;
		min-width: 0;
		margin: 0;
		padding: 30px;
		border: 0;
		border-radius: 0 0 12px 12px;
		background-color: #fff;
		box-shadow: 0 20px 30px rgba(33, 19, 67, .09);
		line-height: 1.6;
	}
	
	#header-main .header-nav .mega-menu::before {
		display: block;
		top: -30px;
		height: 30px;
	}
}

@media (min-width: 901px) and (max-width: 1150px) {
	#header-main .header-nav .mega-menu {
		right: 32px;
		left: 32px;
	}
}

@media (min-width: 901px) {
	#header-main .header-nav .menu-item-dropdown-toggle[aria-expanded=true] ~ .mega-menu {
		display: grid;
	}
	
	#header-main .header-nav .mega-menu-links {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-content: start;
		gap: 12px 30px;
	}
	
	#header-main .header-nav .mega-menu-links .menu-item a {
		display: flex;
		padding: 18px 0;
		border-bottom: 1px solid #e7e1ec;
	}
}

@media (max-width: 900px) {
	#header-main .header-nav {
		position: fixed;
		top: var(--header-bottom, 80px);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 39;
		padding: 30px;
		overflow: auto;
		border-bottom: 0;
		background-color: #fcfaf7;
		font-size: 21px;
		font-weight: 400;
	}
	
	#header-main .header-nav .menu {
		padding: 0;
	}
	
	#header-main .header-nav .menu > .menu-item {
		border-bottom: 1px solid #e7e1ec;
	}
	
	#header-main .header-nav .menu > .menu-item > a {
		padding: 16px 0;
	}
	
	#header-main .header-nav .mega-menu {
		padding: 0 0 10px;
		background: none;
	}
	
	#header-main .header-nav .mega-menu-intro {
		display: none;
	}
	
	#header-main .header-nav .mega-menu-links .menu-item a {
		display: flex;
		justify-content: flex-start;
		gap: 12px;
		padding: 10px 15px;
		font-size: 16px;
	}
	
	#header-main .header-nav .mega-menu-links .menu-item a::after {
		width: 18px;
		height: 18px;
	}
	
	#header-main .header-nav .header-nav-booking {
		display: flex;
		flex-direction: column;
		gap: 25px;
		margin-top: 25px;
	}
	
	#header-main .header-nav .header-nav-booking-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 26px;
		min-height: 56px;
		padding: 17px 27px;
		border: 1px solid #3427bc;
		border-radius: 5px;
		background-color: #3427bc;
		color: #fff;
		font-family: "DM Sans", sans-serif;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.6;
		text-decoration: none;
		transition: background-color .2s, box-shadow .2s;
		justify-content: flex-start;
		gap: 10px;
		padding: 16px;
		font-size: 16px;
	}
	
	#header-main .header-nav .header-nav-booking-button .icon-arrow {
		transition: transform .2s;
	}
	
	#header-main .header-nav .header-nav-booking-button:hover, #header-main .header-nav .header-nav-booking-button:focus {
		border-color: #22178f;
		background-color: #22178f;
		box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
		color: #fff;
		text-decoration: none;
	}
	
	#header-main .header-nav .header-nav-booking-button:hover .icon-arrow, #header-main .header-nav .header-nav-booking-button:focus .icon-arrow {
		transform: translateX(3px);
	}
	
	#header-main .header-nav .header-nav-booking-button:nth-child(n+2) {
		border-color: #b5aedc;
		background-color: transparent;
		color: #3427bc;
	}
	
	#header-main .header-nav .header-nav-booking-button:nth-child(n+2):hover, #header-main .header-nav .header-nav-booking-button:nth-child(n+2):focus {
		border-color: #b5aedc;
		background-color: #f0edfa;
		box-shadow: none;
		color: #3427bc;
	}
}

#header-main .mobile-menu-toggle[aria-expanded=true] .mobile-menu-toggle-icon::before, #header-main .mobile-menu-toggle[aria-expanded=true] .mobile-menu-toggle-icon::after {
	top: 0;
}

.site-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 35;
	background-color: rgba(23, 16, 41, .4);
	backdrop-filter: blur(2px);
}

@media (min-width: 901px) {
	.site-header:has(.menu-item-mega > .menu-item-dropdown-toggle[aria-expanded=true]) + .site-overlay {
		display: block;
	}
}

.has-open-navigation {
	overflow: hidden;
}

/**
 * Block styles registered in Frontend\Block_Styles and the homepage sections.
 *
 * Sections are core Group blocks with a section style; split layouts are core
 * Columns blocks with the split style. Grid replaces the core flex layout so
 * the columns keep the demo's proportions and breakpoints.
 */
.front-page-content > * {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-group.is-style-section, .wp-block-group.is-style-section-white, .wp-block-group.is-style-section-blue {
	margin: 0;
	padding: 105px 0;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-section, .wp-block-group.is-style-section-white, .wp-block-group.is-style-section-blue {
		padding: 75px 0;
	}
}

@media (max-width: 600px) {
	.wp-block-group.is-style-section, .wp-block-group.is-style-section-white, .wp-block-group.is-style-section-blue {
		padding: 65px 0;
	}
}

.wp-block-group.is-style-section > .wp-block-group__inner-container, .wp-block-group.is-style-section-white > .wp-block-group__inner-container, .wp-block-group.is-style-section-blue > .wp-block-group__inner-container {
	width: calc(100% - 112px);
	max-width: 1370px;
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-section > .wp-block-group__inner-container, .wp-block-group.is-style-section-white > .wp-block-group__inner-container, .wp-block-group.is-style-section-blue > .wp-block-group__inner-container {
		width: calc(100% - 40px);
	}
}

.wp-block-group.is-style-section-white {
	background-color: #fff;
}

.wp-block-group.is-style-section-blue {
	padding: 70px 0;
	background-color: #3427bc;
	color: #fff;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-section-blue {
		padding: 55px 0;
	}
}

.wp-block-group.is-style-section-blue p {
	color: #e4defc;
}

.wp-block-group.is-style-section-blue .is-style-eyebrow {
	color: #e4defc;
}

.wp-block-group.is-style-section-head {
	margin-bottom: 42px;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-section-head {
		margin-bottom: 28px;
	}
}

.wp-block-group.is-style-section-head > .wp-block-group__inner-container {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-section-head > .wp-block-group__inner-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
}

.wp-block-group.is-style-section-head h2 em {
	color: #6f679d;
}

.wp-block-group.is-style-section-head > .wp-block-group__inner-container > p {
	max-width: 370px;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-section-head > .wp-block-group__inner-container > p {
		max-width: 650px;
	}
}

.wp-block-group.is-style-intro {
	max-width: 900px;
	margin: 0 auto;
	padding: 95px 0 10px;
	text-align: center;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-intro {
		padding: 65px 20px 0;
	}
}

.wp-block-group.is-style-intro h2 {
	font-size: 43px;
	line-height: 1.25;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-intro h2 {
		font-size: 30px;
	}
}

.wp-block-group.is-style-intro h2 em {
	color: #5147a6;
}

.wp-block-paragraph.is-style-note {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	color: #242237;
	font-size: 14px;
}

@media (max-width: 600px) {
	.wp-block-paragraph.is-style-note {
		margin-top: 19px;
		font-size: 13px;
	}
}

.wp-block-paragraph.is-style-note::before {
	display: inline-block;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.6\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'black\' stroke-width=\'1.6\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
	background-color: #3427bc;
	content: "";
}

.wp-block-columns.is-style-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin: 0;
}

.wp-block-columns.is-style-split > .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
}

.wp-block-columns.is-style-split .wp-block-cover {
	flex: 1;
	min-height: 100%;
	padding: 0;
	overflow: hidden;
}

.wp-block-columns.is-style-split .wp-block-cover .wp-block-cover__inner-container {
	position: static;
	width: 100%;
}

.wp-block-group.is-style-hours-badge {
	position: absolute;
	top: clamp(32px, 3.3vw, 64px);
	left: clamp(28px, 3.3vw, 64px);
	z-index: 2;
	max-width: calc(100% - 64px);
	padding: 23px 28px;
	border: 1px solid #e9e4f1;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0 8px 32px rgba(36, 34, 55, .07);
	color: #2c2580;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-hours-badge {
		top: 28px;
		left: 25px;
		max-width: calc(100% - 50px);
		padding: 18px 20px;
	}
}

@media (max-width: 600px) {
	.wp-block-group.is-style-hours-badge {
		top: 24px;
		left: 24px;
		max-width: calc(100% - 48px);
		padding: 17px 21px;
	}
}

.wp-block-group.is-style-hours-badge > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-hours-badge > .wp-block-group__inner-container {
		gap: 5px;
	}
}

.wp-block-group.is-style-hours-badge p {
	margin: 0;
	color: #615e70;
	font-size: 14px;
	line-height: 1.6;
}

.wp-block-group.is-style-hours-badge p:first-child {
	font-size: 10px;
	line-height: 1.5;
	letter-spacing: .09em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-hours-badge p:first-child {
		font-size: 9px;
	}
}

.wp-block-group.is-style-hours-badge p:nth-child(2) strong {
	color: #2c2580;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-hours-badge p:nth-child(2) strong {
		font-size: 20px;
	}
}

@media (max-width: 600px) {
	.wp-block-group.is-style-hours-badge p:nth-child(2) strong {
		font-size: 21px;
	}
}

.wp-block-group.is-style-hours-badge p:last-child strong {
	margin-left: 5px;
	color: #3427bc;
	font-weight: 600;
}

.wp-block-group.is-style-photo-caption {
	position: absolute;
	right: 38px;
	bottom: 37px;
	left: 38px;
	z-index: 1;
	color: #fff;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-photo-caption {
		right: 25px;
		left: 25px;
	}
}

@media (max-width: 600px) {
	.wp-block-group.is-style-photo-caption {
		bottom: 25px;
		left: 24px;
	}
}

.wp-block-group.is-style-photo-caption p {
	margin: 0;
	color: inherit;
	font-size: 14px;
	text-transform: uppercase;
}

.wp-block-group.is-style-photo-caption p:last-child {
	font-family: georgia, serif;
	font-size: 34px;
	font-style: italic;
	line-height: 1.15;
	text-transform: none;
}

@media (max-width: 900px) {
	.wp-block-group.is-style-photo-caption p:last-child {
		font-size: 28px;
	}
}

.wp-block-group.is-style-photo-label {
	position: absolute;
	bottom: 30px;
	left: 30px;
	z-index: 1;
	max-width: 320px;
	padding: 22px 27px;
	border-radius: 6px;
	background-color: #fcfaf7;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-photo-label {
		bottom: 20px;
		left: 20px;
		padding: 18px 22px;
	}
}

.wp-block-group.is-style-photo-label p {
	margin: 0;
	color: #615e70;
	font-size: 14px;
}

.wp-block-group.is-style-photo-label p:first-child {
	color: #242237;
	font-family: georgia, serif;
	font-size: 28px;
	line-height: 1.3;
}

@media (max-width: 600px) {
	.wp-block-group.is-style-photo-label p:first-child {
		font-size: 25px;
	}
}

.wp-block-list.is-style-benefits {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: benefit;
}

.wp-block-list.is-style-benefits li {
	position: relative;
	padding: 20px 0 20px 46px;
	border-bottom: 1px solid #d9d3e5;
	color: #615e70;
	font-size: 15px;
	counter-increment: benefit;
}

.wp-block-list.is-style-benefits li::before {
	position: absolute;
	top: 20px;
	left: 0;
	color: #6154ac;
	font-family: georgia, serif;
	font-size: 24px;
	line-height: 1.1;
	content: counter(benefit, decimal-leading-zero);
}

.wp-block-list.is-style-benefits strong {
	display: block;
	margin-bottom: 6px;
	color: #242237;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.wp-block-list.is-style-benefits br {
	display: none;
}

.wp-block-columns.is-style-split.hero {
	min-height: 690px;
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.hero {
		min-height: 600px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero {
		grid-template-columns: 1fr;
	}
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child {
	justify-content: center;
	align-items: flex-start;
	padding: 75px 7vw 70px;
	padding-left: max(56px, calc(( 100vw - 1370px ) / 2));
	background-color: #fff;
}

@media (min-width: 1600px) {
	.wp-block-columns.is-style-split.hero > .wp-block-column:first-child {
		padding-right: 110px;
	}
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.hero > .wp-block-column:first-child {
		padding: 50px 28px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero > .wp-block-column:first-child {
		padding: 43px 23px;
	}
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > * {
	animation: ladywax-rise .8s cubic-bezier(.25, .46, .45, .94) both;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > * {
		animation: none;
	}
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > :nth-child(2) {
	animation-delay: .1s;
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > :nth-child(3) {
	animation-delay: .2s;
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > :nth-child(4) {
	animation-delay: .3s;
}

.wp-block-columns.is-style-split.hero > .wp-block-column:first-child > :nth-child(5) {
	animation-delay: .4s;
}

.wp-block-columns.is-style-split.hero h1 {
	margin-bottom: 28px;
	color: #2c2580;
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.hero h1 {
		font-size: 57px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero h1 {
		margin-bottom: 24px;
		font-size: 61px;
	}
}

.wp-block-columns.is-style-split.hero h1 em {
	color: #6f679d;
}

.wp-block-columns.is-style-split.hero h1 + p {
	max-width: 450px;
	margin-bottom: 29px;
	font-size: 18px;
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.hero h1 + p {
		font-size: 17px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero h1 + p {
		font-size: 16px;
		line-height: 1.7;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero .wp-block-buttons {
		flex-wrap: nowrap;
		width: 100%;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero .wp-block-button__link {
		gap: 14px;
		min-height: 50px;
		padding: 14px 19px;
		font-size: 14px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero .wp-block-button.is-style-outline {
		display: none;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.hero > .wp-block-column:last-child {
		min-height: 370px;
	}
}

.wp-block-columns.is-style-split.hero .wp-block-cover {
	background-color: #e6dce2;
}

.wp-block-columns.is-style-split.hero .wp-block-cover::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(35, 24, 54, .25), transparent 60%);
	content: "";
}

.wp-block-columns.is-style-split.hero .wp-block-cover__image-background {
	animation: ladywax-settle 1.7s cubic-bezier(.25, .46, .45, .94) both;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-columns.is-style-split.hero .wp-block-cover__image-background {
		animation: none;
	}
}

.wp-block-columns.is-style-split.comfort {
	background-color: #efedf8;
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.comfort {
		grid-template-columns: 1fr;
	}
}

.wp-block-columns.is-style-split.comfort > .wp-block-column:first-child {
	min-height: 700px;
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.comfort > .wp-block-column:first-child {
		min-height: 430px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.comfort > .wp-block-column:first-child {
		min-height: 350px;
	}
}

.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child {
	padding: 75px 7vw;
}

@media (max-width: 1150px) {
	.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child {
		padding: 55px 40px;
	}
}

@media (max-width: 900px) {
	.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child {
		padding: 60px 40px;
	}
}

@media (max-width: 600px) {
	.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child {
		padding: 48px 23px;
	}
}

.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child > h2 {
	margin-bottom: 28px;
}

.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child > .wp-block-paragraph:not(.is-style-eyebrow) {
	margin-bottom: 25px;
}

.wp-block-columns.is-style-split.comfort > .wp-block-column:last-child > .wp-block-buttons {
	margin-top: 30px;
}

.wp-block-columns.faq-columns {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 100px;
	margin: 0;
}

@media (max-width: 1150px) {
	.wp-block-columns.faq-columns {
		gap: 55px;
	}
}

@media (max-width: 900px) {
	.wp-block-columns.faq-columns {
		grid-template-columns: 1fr;
		gap: 35px;
	}
}

.wp-block-columns.faq-columns > .wp-block-column {
	min-width: 0;
	margin: 0;
}

.wp-block-columns.faq-columns h2 {
	margin-bottom: 25px;
}

.wp-block-columns.faq-columns p {
	max-width: 400px;
}

.wp-block-columns.faq-columns .faq-toggle-item {
	border-bottom: 1px solid #ded6e5;
}

.wp-block-columns.faq-columns .faq-toggle-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 23px 4px 23px 0;
	color: #242237;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	list-style: none;
	cursor: pointer;
}

@media (max-width: 600px) {
	.wp-block-columns.faq-columns .faq-toggle-question {
		font-size: 17px;
	}
}

.wp-block-columns.faq-columns .faq-toggle-question::-webkit-details-marker {
	display: none;
}

.wp-block-columns.faq-columns .faq-toggle-icon {
	position: relative;
	flex-shrink: 0;
	width: 13px;
	height: 13px;
}

.wp-block-columns.faq-columns .faq-toggle-icon::before, .wp-block-columns.faq-columns .faq-toggle-icon::after {
	position: absolute;
	background-color: #3427bc;
	content: "";
}

.wp-block-columns.faq-columns .faq-toggle-icon::before {
	top: 50%;
	left: 0;
	width: 100%;
	height: 1.5px;
	transform: translateY(-50%);
}

.wp-block-columns.faq-columns .faq-toggle-icon::after {
	top: 0;
	left: 50%;
	width: 1.5px;
	height: 100%;
	transform: translateX(-50%);
	transition: transform .15s ease;
}

.wp-block-columns.faq-columns .faq-toggle-item[open] .faq-toggle-icon::after {
	transform: translateX(-50%) scaleY(0);
}

.wp-block-columns.faq-columns .faq-toggle-answer {
	padding: 0 0 23px;
}

.wp-block-columns.faq-columns .faq-toggle-answer p {
	max-width: none;
	font-size: 16px;
}

.wp-block-group.final-cta h2 {
	font-size: 50px;
}

@media (max-width: 1100px) {
	.wp-block-group.final-cta h2 {
		font-size: 43px;
	}
}

.wp-block-group.final-cta h2 + p {
	max-width: 580px;
	margin-top: 17px;
}

.wp-block-group.final-cta .wp-block-columns {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	align-items: center;
	gap: 65px;
	margin: 0;
}

@media (max-width: 1100px) {
	.wp-block-group.final-cta .wp-block-columns {
		gap: 35px;
	}
}

@media (max-width: 700px) {
	.wp-block-group.final-cta .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

.wp-block-group.final-cta .wp-block-columns > .wp-block-column {
	min-width: 0;
	margin: 0;
}

/**
 * Footer columns, colophon and the fixed mobile booking bar.
 */
.site-footer {
	padding: 64px 0 24px;
	background-color: #f5f1ec;
}

@media (max-width: 600px) {
	.site-footer {
		padding-bottom: 95px;
	}
}

#prefooter, #colophon {
	padding: 0;
	border: 0;
	background: none;
	color: #777080;
}

#prefooter .prefooter-branding {
	display: block;
}

#prefooter .prefooter-column {
	display: block;
}

#prefooter ul li + li {
	margin-top: 0;
}

#prefooter a:hover, #prefooter a:focus {
	text-decoration: none;
}

#colophon .colophon-inner {
	align-items: flex-start;
	padding-bottom: 0;
}

#colophon .colophon-copyright {
	color: inherit;
}

#prefooter .prefooter-inner, #colophon .prefooter-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 45px;
}

@media (max-width: 900px) {
	#prefooter .prefooter-inner, #colophon .prefooter-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	#prefooter .prefooter-inner, #colophon .prefooter-inner {
		gap: 32px 20px;
	}
}

@media (max-width: 600px) {
	#prefooter .prefooter-branding, #colophon .prefooter-branding {
		grid-column: 1/-1;
	}
}

#prefooter .prefooter-branding .custom-logo, #colophon .prefooter-branding .custom-logo {
	width: 187px;
	max-width: none;
	mix-blend-mode: multiply;
}

#prefooter .prefooter-tagline, #colophon .prefooter-tagline {
	margin-top: 20px;
	color: #615e70;
	font-size: 15px;
}

@media (max-width: 600px) {
	#prefooter .prefooter-column:last-child, #colophon .prefooter-column:last-child {
		grid-column: 1/-1;
	}
}

#prefooter .prefooter-title, #colophon .prefooter-title {
	margin: 12px 0 20px;
	color: #242237;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
}

#prefooter .prefooter-column .menu, #colophon .prefooter-column .menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#prefooter .prefooter-column a, #prefooter .prefooter-column p, #colophon .prefooter-column a, #colophon .prefooter-column p {
	display: block;
	margin: 9px 0;
	color: #625b70;
	font-size: 14px;
}

#prefooter .prefooter-column a:hover, #prefooter .prefooter-column a:focus, #colophon .prefooter-column a:hover, #colophon .prefooter-column a:focus {
	color: #3427bc;
}

#prefooter .colophon-inner, #colophon .colophon-inner {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-top: 45px;
	padding-top: 22px;
	border-top: 1px solid #dcd5e0;
	color: #777080;
	font-size: 12px;
}

@media (max-width: 600px) {
	#prefooter .colophon-inner, #colophon .colophon-inner {
		flex-direction: column;
		gap: 13px;
	}
}

#prefooter .colophon-copyright, #colophon .colophon-copyright {
	margin: 0;
	color: inherit;
	font-size: inherit;
}

#prefooter .colophon-nav .menu, #colophon .colophon-nav .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#prefooter .colophon-nav .menu a, #colophon .colophon-nav .menu a {
	color: #625b70;
}

.mobile-booking-bar {
	display: none;
}

@media (max-width: 600px) {
	.mobile-booking-bar {
		display: flex;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 30;
		padding: 12px 20px;
		border-top: 1px solid #e4ddeb;
		background-color: #fcfaf7;
	}
}

.mobile-booking-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
	justify-content: space-between;
	width: 100%;
	min-height: 48px;
	padding: 12px 20px;
}

.mobile-booking-button .icon-arrow {
	transition: transform .2s;
}

.mobile-booking-button:hover, .mobile-booking-button:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

.mobile-booking-button:hover .icon-arrow, .mobile-booking-button:focus .icon-arrow {
	transform: translateX(3px);
}

/**
 * Child ACF blocks: salon choice, price list, reviews, salon cards and booking buttons.
 */
.salon-choice {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid #e7e1ec;
	background-color: #fff;
	width: calc(100% - 112px);
	max-width: 1370px;
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 600px) {
	.salon-choice {
		width: calc(100% - 40px);
	}
}

@media (max-width: 900px) {
	.salon-choice {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.salon-choice {
		width: 100%;
		border-right: 0;
		border-left: 0;
	}
}

.salon-choice-intro, .salon-choice-tile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 27px 32px;
	border-right: 1px solid #e7e1ec;
}

@media (max-width: 900px) {
	.salon-choice-intro {
		display: none;
	}
}

.salon-choice-heading {
	color: #242237;
	font-size: 19px;
	font-weight: 600;
}

.salon-choice-label {
	color: #3427bc;
	font-size: 14px;
}

.salon-choice-tile {
	border-right-color: rgba(255, 255, 255, .25);
	background-color: #3427bc;
	color: #fff;
	transition: background-color .2s;
}

@media (max-width: 600px) {
	.salon-choice-tile {
		gap: 10px;
		padding: 22px 19px;
	}
}

.salon-choice-tile strong {
	display: block;
	font-size: 19px;
}

@media (max-width: 600px) {
	.salon-choice-tile strong {
		font-size: 16px;
	}
}

.salon-choice-tile span span {
	display: block;
	font-size: 14px;
}

@media (max-width: 600px) {
	.salon-choice-tile span span {
		font-size: 12px;
	}
}

.salon-choice-tile .icon-arrow {
	transition: transform .2s;
}

.salon-choice-tile:hover, .salon-choice-tile:focus {
	background-color: #22178f;
	color: #fff;
}

.salon-choice-tile:hover .icon-arrow, .salon-choice-tile:focus .icon-arrow {
	transform: translateX(4px);
}

.salon-choice-tile:focus-visible {
	--blossom-focus-color: #fff;
	outline-offset: -6px;
}

.price-list-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

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

@media (max-width: 600px) {
	.price-list-cards {
		display: flex;
		margin-right: -20px;
		padding: 0 20px 18px 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
}

.price-card {
	display: flex;
	flex-direction: column;
	min-height: 285px;
	padding: 30px 25px;
	border: 1px solid #e0dbe7;
	border-radius: 8px;
	transition: box-shadow .25s, border-color .25s, translate .25s;
}

.price-card.price-card-lilac {
	background-color: #e8e1f3;
}

.price-card.price-card-sand {
	background-color: #ede8df;
}

.price-card.price-card-blue {
	background-color: #e6e9f0;
}

.price-card.price-card-blush {
	background-color: #f1e0de;
}

@media (max-width: 1100px) {
	.price-card {
		padding: 25px 20px;
	}
}

@media (max-width: 700px) {
	.price-card {
		min-height: 265px;
	}
}

@media (max-width: 600px) {
	.price-card {
		flex: 0 0 82%;
		scroll-snap-align: start;
	}
}

.price-card:focus-within, .price-card:hover {
	border-color: #9c91c3;
	box-shadow: 0 10px 22px rgba(52, 39, 188, .09);
}

.price-card:focus-within .price-card-link, .price-card:hover .price-card-link {
	background-color: #3427bc;
	color: #fff;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.price-card:hover {
		translate: 0 -4px;
	}
	
	.price-card:hover .price-card-link .icon-arrow {
		transform: translateX(2px);
	}
}

@media (max-width: 1150px) {
	.price-card-title {
		font-size: 20px;
	}
}

.price-card-text {
	margin: 14px 0 28px;
	font-size: 15px;
}

.price-card-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid #bfb6cf;
}

.price-card-row strong {
	color: #3427bc;
	font-size: 20px;
	font-weight: 600;
}

.price-card-link {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .7);
	color: #3427bc;
	transition: background-color .2s, color .2s;
}

.price-card-link .icon-arrow {
	transition: transform .2s;
}

.price-card-link:hover, .price-card-link:focus {
	color: #fff;
}

.price-list-more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin-top: 30px;
}

@media (max-width: 600px) {
	.price-list-more {
		flex-direction: column;
		align-items: flex-start;
	}
}

.price-list-note {
	max-width: 660px;
	font-size: 15px;
}

@media (max-width: 600px) {
	.price-list-note {
		font-size: 14px;
	}
}

.price-list-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
	border-color: #b5aedc;
	background-color: transparent;
	color: #3427bc;
	flex-shrink: 0;
}

.price-list-toggle .icon-arrow {
	transition: transform .2s;
}

.price-list-toggle:hover, .price-list-toggle:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

.price-list-toggle:hover .icon-arrow, .price-list-toggle:focus .icon-arrow {
	transform: translateX(3px);
}

.price-list-toggle:hover, .price-list-toggle:focus {
	border-color: #b5aedc;
	background-color: #f0edfa;
	box-shadow: none;
	color: #3427bc;
}

.price-list-toggle .icon-chevron {
	width: 20px;
	height: 20px;
	transition: transform .2s;
}

.price-list-toggle[aria-expanded=true] .icon-chevron {
	transform: rotate(180deg);
}

.price-list-toggle[hidden] {
	display: none;
}

.price-list-full {
	margin-top: 30px;
	column-gap: 22px;
	columns: 2;
}

@media (max-width: 900px) {
	.price-list-full {
		columns: 1;
	}
}

.price-list-full[hidden] {
	display: none;
}

.price-category {
	margin-bottom: 22px;
	padding: 28px 30px;
	break-inside: avoid;
	border: 1px solid #e0dbe7;
	border-radius: 8px;
	background-color: #fff;
}

@media (max-width: 600px) {
	.price-category {
		padding: 22px 20px;
	}
}

.price-category-title {
	margin-bottom: 8px;
}

.price-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.price-table th, .price-table td {
	padding: 14px 0;
	border-bottom: 1px solid #e7e1ec;
	text-align: left;
	vertical-align: top;
}

.price-table tbody tr:last-child th, .price-table tbody tr:last-child td {
	border-bottom: 0;
}

.price-table th {
	padding-right: 16px;
	color: #242237;
	font-weight: 400;
}

.price-table .price-table-duration {
	width: 76px;
	padding-right: 16px;
	color: #615e70;
	white-space: nowrap;
}

.price-table .price-table-price {
	width: 92px;
	color: #3427bc;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.reviews-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 23px;
	padding: 25px 30px;
	border-radius: 8px;
	background-color: #f4f1f8;
}

@media (max-width: 1100px) {
	.reviews-summary {
		flex-wrap: wrap;
	}
}

@media (max-width: 700px) {
	.reviews-summary {
		gap: 20px;
		padding: 20px;
	}
}

.reviews-source {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	color: #333;
	font-weight: 600;
}

.reviews-source img {
	width: 74px;
	height: auto;
}

.reviews-ratings {
	display: flex;
	gap: 34px;
}

@media (max-width: 700px) {
	.reviews-ratings {
		order: 3;
		justify-content: space-between;
		gap: 25px;
		width: 100%;
	}
}

.reviews-rating {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 15px;
}

.reviews-rating strong {
	color: #3427bc;
	font-size: 30px;
	font-weight: 600;
}

@media (max-width: 700px) {
	.reviews-rating strong {
		font-size: 27px;
	}
}

.reviews-rating small {
	display: block;
	color: #615e70;
	font-size: 12px;
}

.reviews-controls {
	display: flex;
	gap: 10px;
}

@media (max-width: 700px) {
	.reviews-controls {
		margin-left: auto;
	}
}

.reviews-controls[hidden] {
	display: none;
}

.reviews-control {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid #b5aedc;
	border-radius: 50%;
	background-color: #fff;
	color: #3427bc;
	transition: background-color .2s;
}

.reviews-control:hover, .reviews-control:focus {
	border-color: #b5aedc;
	background-color: #e7e1f4;
	color: #3427bc;
}

.reviews-control.reviews-previous .icon-arrow {
	transform: rotate(180deg);
}

.reviews-carousel {
	display: flex;
	gap: 20px;
	padding-bottom: 12px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.review-card {
	display: flex;
	flex: 0 0 calc(( 100% - 60px ) / 4);
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	min-height: 280px;
	padding: 25px 22px;
	border: 1px solid #e3deeb;
	border-radius: 8px;
	background-color: #fcfaf7;
	scroll-snap-align: start;
}

@media (max-width: 1100px) {
	.review-card {
		flex-basis: calc(( 100% - 20px ) / 2);
	}
}

@media (max-width: 700px) {
	.review-card {
		flex-basis: 85%;
		min-height: 260px;
	}
}

.review-stars {
	display: inline-flex;
	gap: 3px;
	color: #a46e1b;
}

.review-star {
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-color: currentcolor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'m12 2 3 6.5 7 1-5 5 1.2 7-6.2-3.3L5.8 21l1.2-6.5-5-5 7-1z\'/%3E%3C/svg%3E") center/contain no-repeat;
}

.review-star.is-empty {
	opacity: .25;
}

.review-quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.review-quote p {
	color: #242237;
	font-family: georgia, serif;
	font-size: 22px;
	line-height: 1.4;
	overflow-wrap: break-word;
	quotes: "“" "”";
}

.review-quote p::before {
	content: open-quote;
}

.review-quote p::after {
	content: close-quote;
}

.review-author {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-top: auto;
}

.review-author strong, .review-author small {
	display: block;
}

.review-author strong {
	color: #242237;
	font-size: 15px;
}

.review-author small {
	color: #716b7d;
	font-size: 12px;
}

.review-avatar {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 43px;
	height: 43px;
	border-radius: 50%;
	background-color: #e6dff1;
	color: #3427bc;
	font-size: 14px;
}

.reviews-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 24px;
}

@media (max-width: 600px) {
	.reviews-foot {
		flex-direction: column;
		align-items: flex-start;
	}
}

.reviews-footnote {
	max-width: 560px;
	font-size: 13px;
}

.reviews-links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

@media (max-width: 700px) {
	.reviews-links {
		flex-direction: column;
	}
}

.reviews-links a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #3427bc;
	font-size: 14px;
}

.salon-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

@media (max-width: 600px) {
	.salon-cards {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}

.salon-card {
	overflow: hidden;
	border: 1px solid #e2dce6;
	border-radius: 8px;
	background-color: #fff;
}

.salon-card-image {
	width: 100%;
	height: 300px;
	object-fit: cover;
}

@media (max-width: 900px) {
	.salon-card-image {
		height: 230px;
	}
}

@media (max-width: 600px) {
	.salon-card-image {
		height: 245px;
	}
}

.salon-card-body {
	padding: 30px;
}

@media (max-width: 900px) {
	.salon-card-body {
		padding: 24px;
	}
}

.salon-card-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.salon-card-title h3 {
	font-family: georgia, serif;
	font-size: 38px;
	font-weight: 400;
}

@media (max-width: 600px) {
	.salon-card-title h3 {
		font-size: 34px;
	}
}

.salon-card-street {
	color: #645989;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.salon-card-details {
	margin-bottom: 22px;
}

.salon-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
	justify-content: space-between;
	width: 100%;
	font-size: 16px;
}

.salon-card-button .icon-arrow {
	transition: transform .2s;
}

.salon-card-button:hover, .salon-card-button:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

.salon-card-button:hover .icon-arrow, .salon-card-button:focus .icon-arrow {
	transform: translateX(3px);
}

.salon-card-meta {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
	font-size: 14px;
}

@media (max-width: 900px) {
	.salon-card-meta {
		flex-direction: column;
		gap: 8px;
	}
}

@media (max-width: 600px) {
	.salon-card-meta {
		flex-direction: row;
	}
}

.salon-card-meta a {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.booking-buttons {
	display: flex;
	gap: 12px;
	margin-top: 28px;
}

@media (max-width: 1100px) {
	.booking-buttons {
		flex-wrap: wrap;
	}
}

@media (max-width: 700px) {
	.booking-buttons {
		flex-direction: column;
	}
}

.booking-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	min-height: 56px;
	padding: 17px 27px;
	border: 1px solid #3427bc;
	border-radius: 5px;
	background-color: #3427bc;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
	transition: background-color .2s, box-shadow .2s;
	gap: 17px;
	font-size: 14px;
}

.booking-button .icon-arrow {
	transition: transform .2s;
}

.booking-button:hover, .booking-button:focus {
	border-color: #22178f;
	background-color: #22178f;
	box-shadow: 0 4px 18px rgba(52, 39, 188, .13);
	color: #fff;
	text-decoration: none;
}

.booking-button:hover .icon-arrow, .booking-button:focus .icon-arrow {
	transform: translateX(3px);
}

@media (max-width: 600px) {
	.booking-button {
		justify-content: space-between;
	}
}

.booking-buttons-white .booking-button {
	border-color: #fff;
	background-color: #fff;
	color: #3427bc;
}

.booking-buttons-white .booking-button:hover, .booking-buttons-white .booking-button:focus {
	border-color: #f0edfa;
	background-color: #f0edfa;
	color: #3427bc;
}
