/*
 * Home page layout.
 *
 * The stylesheet is loaded on the front page only. Public selectors use the
 * reusable classes saved in Beaver Builder, never its generated node IDs.
 */

/* ============================================================= home-shared ======================================================== */
.fl-builder-content {
	--home-canvas-scale: 1;
	--home-dark: #640a0f;
	--home-ink: #932014;
	--home-heading: #5b1e19;
	--home-building-overlay: #6f2820;
	--home-paper: #f5f0e6;
	--home-black: #000;
	--home-white: #fff;
	--home-content-width: calc(53.4375rem * var(--home-canvas-scale));
	--home-intro-width: calc(63.75rem * var(--home-canvas-scale));
	--home-gutter: calc(clamp(2rem, 10.4vw, 13rem) * var(--home-canvas-scale));
	--home-arrow-red: url('../images/red-arrow.svg');
	--home-arrow-white: url('../images/white-arrow.svg');
}

@media (min-width: 769px) {
	body.home {
		container-type: inline-size;
		padding-left: var(--appartement-boutique-menu-rail-width);
	}

	body.home :is(
		.fl-builder-content-primary,
		.fl-builder-content[data-type='footer']
	) {
		--home-canvas-scale: calc(100cqw / 100vw);
		--appartement-boutique-font-size-h1: calc(var(--appartement-boutique-font-size-h1-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-small-h1: calc(var(--appartement-boutique-font-size-small-h1-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-h2: calc(var(--appartement-boutique-font-size-h2-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-h3: calc(var(--appartement-boutique-font-size-h3-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-h4: calc(var(--appartement-boutique-font-size-h4-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-body: calc(var(--appartement-boutique-font-size-body-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-large: calc(var(--appartement-boutique-font-size-large-base) * var(--home-canvas-scale));
		--appartement-boutique-font-size-button: calc(var(--appartement-boutique-font-size-button-base) * var(--home-canvas-scale));
	}

	.fl-builder-content-primary :is(
		.home-intro,
		.home-sub-intro,
		.home-concept,
		.home-experience,
		.home-approach
	) > .fl-row-content-wrap > .fl-row-content {
		padding-right: var(--appartement-boutique-menu-rail-width);
	}

	.fl-builder-content-primary .home-experience > .fl-row-content-wrap > .fl-row-content {
		padding-right: calc(var(--home-gutter) + var(--appartement-boutique-menu-rail-width));
	}

	.fl-builder-content-primary .home-contact__intro {
		--home-contact-column-width: calc(50% - (var(--appartement-boutique-menu-rail-width) / 2));
	}

	.fl-builder-content-primary .home-contact__form {
		--home-contact-column-width: calc(50% + (var(--appartement-boutique-menu-rail-width) / 2));
	}
}

.fl-builder-content .home-intro *,
.fl-builder-content .home-sub-intro *,
.fl-builder-content .home-concept *,
.fl-builder-content .home-experience *,
.fl-builder-content .home-building *,
.fl-builder-content .home-approach *,
.fl-builder-content .home-contact * {
	box-sizing: border-box;
}

.fl-builder-content .fl-module.fl-rich-text p {
	color: var(--home-heading);
}

.fl-builder-content .home-section-label {
	color: var(--home-ink);
	font-family: var(--appartement-boutique-font-body);
	font-size: var(--appartement-boutique-font-size-small-h1);
	font-weight: var(--appartement-boutique-font-weight-medium);
	letter-spacing: 0.2em;
	line-height: 1.333;
	margin: 0;
	position: static;
	text-transform: uppercase;
	transform: none;
}

.fl-builder-content .home-heading-part--primary {
	color: var(--home-heading);
}

.fl-builder-content .home-heading-part--accent {
	color: var(--home-heading);
	margin-bottom: -0.08em;
	padding-bottom: 0.08em;
}

/* ============================================================= home-page-intro ======================================================== */
html.appartement-boutique-intro-pending,
html.appartement-boutique-intro-pending body {
	background-color: #640a0f;
	overflow: hidden;
}

/* Keep Beaver Builder editing predictable; its separate editor interface is unaffected. */
html.appartement-boutique-builder-preview {
	scroll-behavior: auto;
}

html.appartement-boutique-builder-preview :is(.fl-builder-content[data-type='header'], .fl-builder-content-primary) *,
html.appartement-boutique-builder-preview :is(.fl-builder-content[data-type='header'], .fl-builder-content-primary) *::before,
html.appartement-boutique-builder-preview :is(.fl-builder-content[data-type='header'], .fl-builder-content-primary) *::after {
	animation: none !important;
	transition: none !important;
}

html.appartement-boutique-intro-pending #page {
	background-color: #640a0f;
}

html.appartement-boutique-intro-pending .fl-builder-content[data-type='header'] .main-menu {
	pointer-events: none;
	transition: none;
	width: 100vw;
}

html.appartement-boutique-intro-pending .fl-builder-content[data-type='header'] .main-menu .fl-module-menu {
	opacity: 0 !important;
	transform: translateX(1.5rem) !important;
	transition: none;
	visibility: hidden !important;
}

html.appartement-boutique-intro-pending .fl-builder-content[data-type='header'] .main-menu .fl-module-menu.fl-node-bv30lsw1t8gi {
	display: none !important;
}

html.appartement-boutique-intro-pending .fl-builder-content[data-type='header'] .main-menu .menu-trigger {
	opacity: 0;
}

html.appartement-boutique-intro-pending .fl-builder-content[data-type='header'] .main-menu .fl-module-photo {
	opacity: 0 !important;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro {
	transition: none;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro .menu-container .fl-module-photo,
.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-waiting .menu-container .fl-module-photo,
.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing .menu-container .fl-module-photo {
	opacity: 0;
}

.fl-builder-content[data-type='header'] .main-menu__intro-video {
	height: min(43vw, 22rem);
	left: 50%;
	mix-blend-mode: screen;
	object-fit: contain;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(43vw, 22rem);
	z-index: 3;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing {
	pointer-events: none;
	transition: width 850ms cubic-bezier(0.65, 0, 0.35, 1);
	width: min(var(--appartement-boutique-menu-rail-width), 100vw);
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing .fl-module-menu {
	opacity: 0;
	transform: translateX(1.5rem);
	visibility: hidden;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing .menu-trigger {
	opacity: 0;
	transition: opacity 150ms ease;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing.main-menu--intro-trigger-visible .menu-trigger {
	opacity: 1;
}

.fl-builder-content[data-type='header'] .main-menu.main-menu--intro-closing.main-menu--intro-trigger-visible .menu-container .fl-module-photo {
	opacity: 1;
}

@media (max-width: 480px) {
	.fl-builder-content[data-type='header'] .main-menu__intro-video {
		height: min(66vw, 15rem);
		width: min(66vw, 15rem);
	}
}

/* ============================================================= home-intro ======================================================== */
.fl-builder-content-primary .home-hero,
.fl-builder-content-primary .home-intro,
.fl-builder-content-primary .home-sub-intro,
.fl-builder-content-primary .home-concept {
	overflow: clip;
	position: relative;
}

html.appartement-boutique-motion-ready .fl-builder-content-primary .home-hero {
	z-index: 1;
}

.fl-builder-content-primary .home-hero > .fl-row-content-wrap {
	background-image: url('../images/home-hero-poster-desktop-v1-6-103.jpg') !important;
}

@media (max-width: 768px) {
	.fl-builder-content-primary .home-hero > .fl-row-content-wrap {
		background-image: url('../images/home-hero-poster-mobile.jpg') !important;
	}
}

.fl-builder-content-primary .home-hero > .fl-row-content-wrap > .home-hero__background-video {
	height: 100%;
	inset: 0;
	object-fit: cover;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 250ms ease;
	width: 100%;
	z-index: 0;
}

.fl-builder-content-primary .home-hero > .fl-row-content-wrap > .fl-row-content {
	position: relative;
	z-index: 1;
}

html.appartement-boutique-home-hero-video-ready .fl-builder-content-primary .home-hero > .fl-row-content-wrap > .home-hero__background-video {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.fl-builder-content-primary .home-hero > .fl-row-content-wrap > .home-hero__background-video {
		display: none;
	}
}

html.appartement-boutique-motion-ready .fl-builder-content-primary .home-intro {
	z-index: 2;
}

html.appartement-boutique-motion-ready .fl-builder-content-primary .home-sub-intro {
	z-index: 3;
}

html.appartement-boutique-motion-ready .fl-builder-content-primary .home-concept {
	z-index: 4;
}

html.appartement-boutique-motion-ready .fl-builder-content-primary .home-sub-intro--tagline-source {
	display: none;
}

.fl-builder-content .home-intro > .fl-row-content-wrap {
	align-items: center;
	display: flex;
	min-height: 100svh;
	padding-block: calc(clamp(5rem, 8vw, 9rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-intro .fl-row-content {
	max-width: var(--home-intro-width);
	width: calc(100% - var(--home-gutter) - var(--home-gutter));
}

.fl-builder-content .home-intro__statement {
	color: var(--home-ink);
	font-size: var(--appartement-boutique-font-size-h1);
	margin: 0 auto;
	max-width: var(--home-intro-width);
	text-align: center;
	transform: none;
}

.fl-builder-content .home-intro__statement .home-heading-part {
	display: block;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-intro--taglines .fl-col-content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.2em;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-intro--taglines :is(
	.home-intro__statement,
	.home-taglines__secondary
) {
	flex: none;
	font-size: calc(clamp(40px, 3.65vw, 70px) * var(--home-canvas-scale));
	margin: 0;
	max-width: none;
	text-align: center;
	white-space: nowrap;
	width: max-content;
	will-change: transform;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-intro--taglines .home-heading-part {
	display: inline;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-intro--taglines .home-taglines__secondary {
	color: var(--home-ink);
}

/* ============================================================= home-sub-intro ======================================================== */
.fl-builder-content .home-sub-intro > .fl-row-content-wrap {
	align-items: center;
	display: flex;
	min-height: 100svh;
	padding-block: calc(clamp(5rem, 8vw, 9rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-sub-intro .fl-row-content {
	max-width: var(--home-intro-width);
	width: calc(100% - var(--home-gutter) - var(--home-gutter));
}

.fl-builder-content .home-sub-intro .fl-module-heading {
	color: var(--home-white);
	font-size: var(--appartement-boutique-font-size-h1);
	margin: 0 auto;
	max-width: var(--home-intro-width);
	text-align: center;
	transform: none;
}

/* ============================================================= home-concept ======================================================== */
.fl-builder-content .home-concept > .fl-row-content-wrap,
.fl-builder-content .home-approach > .fl-row-content-wrap,
.fl-builder-content .home-contact > .fl-row-content-wrap {
	background-color: var(--home-paper);
}

.fl-builder-content .home-concept > .fl-row-content-wrap {
	min-height: 0;
}

.fl-builder-content .home-concept .fl-row-content,
.fl-builder-content .home-approach .fl-row-content {
	max-width: var(--home-content-width);
	width: calc(100% - var(--home-gutter) - var(--home-gutter));
}

.fl-builder-content .home-concept .fl-row-content {
	padding-block: calc(clamp(5rem, 6.667vw, 8rem) * var(--home-canvas-scale))
		calc(100px * var(--home-canvas-scale));
}

.fl-builder-content .home-concept__label {
	margin-bottom: calc(clamp(0.75rem, 1vw, 1.25rem) * var(--home-canvas-scale));
	text-align: center;
}

.fl-builder-content .home-concept__headline {
	color: var(--home-heading);
	font-size: var(--appartement-boutique-font-size-h2);
	margin: 0 auto calc(clamp(3.25rem, 4vw, 4.75rem) * var(--home-canvas-scale));
	max-width: calc(41.625rem * var(--home-canvas-scale));
	text-align: center;
	transform: none;
}

.fl-builder-content .home-concept__image-primary,
.fl-builder-content .home-concept__image-secondary,
.fl-builder-content .home-concept__image-primary .fl-photo-content,
.fl-builder-content .home-concept__image-secondary .fl-photo-content {
	display: block;
	max-width: none;
	width: 100%;
}

.fl-builder-content .home-concept__image-primary .fl-photo-img,
.fl-builder-content .home-concept__image-secondary .fl-photo-img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.fl-builder-content .home-concept__image-secondary .fl-photo-content {
	overflow: hidden;
}

.fl-builder-content .home-concept__image-primary {
	margin: 0 0 calc(clamp(4rem, 5.625vw, 6.75rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-concept .fl-col-group:has(.home-concept__statement) {
	align-items: flex-start;
	margin-bottom: calc(clamp(4rem, 5.625vw, 6.75rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-concept__statement,
.fl-builder-content .home-concept__quote-title {
	color: var(--home-ink);
	font-size: var(--appartement-boutique-font-size-h3);
	margin: 0;
	transform: none;
}

.fl-builder-content .home-concept__body,
.fl-builder-content .home-concept__quote-body {
	color: var(--home-ink);
	margin: 0;
}

.fl-builder-content .home-concept__body p,
.fl-builder-content .home-concept__quote-body p {
	font-size: var(--appartement-boutique-font-size-body);
	margin: 0;
}

.fl-builder-content .home-concept__image-secondary {
	margin: 0 0 calc(54px * var(--home-canvas-scale));
	position: static;
	transform: none;
}

.fl-builder-content .home-concept__quote-title {
	margin-bottom: calc(135px * var(--home-canvas-scale));
}

.fl-builder-content .home-concept__cta {
	margin-top: 0;
}

@media (min-width: 769px) {
	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__statement-column) {
		align-items: flex-start;
		column-gap: min(calc(6.25rem * var(--home-canvas-scale)), 12.05%);
		display: flex;
	}

	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__statement-column)::before,
	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__statement-column)::after {
		content: none;
	}

	.fl-builder-content .home-concept__statement-column {
		flex: 0 0 45.96%;
		width: 45.96%;
	}

	.fl-builder-content .home-concept__body-column {
		flex: 0 0 41.99%;
		width: 41.99%;
	}

	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__quote-column) {
		align-items: flex-start;
		display: flex;
		justify-content: space-between;
	}

	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__quote-column)::before,
	.fl-builder-content .home-concept .fl-col-group:has(> .home-concept__quote-column)::after {
		content: none;
	}

	.fl-builder-content .home-concept__quote-column {
		flex: 0 0 38%;
		width: 38%;
	}

	.fl-builder-content .home-concept__quote-cta-column {
		flex: 0 0 55%;
		width: 55%;
	}
}

/* ============================================================= home-shared-buttons ======================================================== */
.fl-builder-content .home-concept__cta .fl-button,
.fl-builder-content .home-approach__cta .fl-button,
.fl-builder-content .home-building__cta .fl-button,
.fl-builder-content .home-experience__panel_cta .fl-button,
.fl-builder-content .home-contact .home-contact-form__submit-control {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--home-ink);
	display: inline-flex;
	font-family: var(--appartement-boutique-font-body);
	font-size: var(--appartement-boutique-font-size-body);
	font-weight: var(--appartement-boutique-font-weight-medium);
	gap: calc(20px * var(--home-canvas-scale));
	letter-spacing: 0.2em;
	line-height: 1.5em;
	padding: 0;
	text-transform: uppercase;
}

.fl-builder-content .home-concept__cta .fl-button::after,
.fl-builder-content .home-approach__cta .fl-button::after,
.fl-builder-content .home-building__cta .fl-button::after,
.fl-builder-content .home-experience__panel_cta .fl-button::after,
.fl-builder-content .home-contact .home-contact-form__submit-control::after {
	background: var(--home-arrow-red) center / 60% auto no-repeat;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	content: '';
	display: block;
	flex: 0 0 auto;
	height: calc(clamp(32px, 3.334vw, 64px) * var(--home-canvas-scale));
	width: calc(clamp(32px, 3.334vw, 64px) * var(--home-canvas-scale));
}

.fl-builder-content .home-concept__cta .fl-button,
.fl-builder-content .home-concept__cta .fl-button-text,
.fl-builder-content .home-approach__cta .fl-button,
.fl-builder-content .home-approach__cta .fl-button-text {
	color: var(--home-heading) !important;
}

.fl-builder-content .home-concept__cta .fl-button::after,
.fl-builder-content .home-approach__cta .fl-button::after {
	border-color: var(--home-ink);
}

.fl-builder-content .home-contact .home-contact-form__submit-control {
	--home-contact-submit-arrow-size: calc(clamp(32px, 3.334vw, 64px) * var(--home-canvas-scale));
	position: relative;
}

.fl-builder-content .home-contact .home-contact-form__submit-control::after {
	height: var(--home-contact-submit-arrow-size);
	margin-left: calc(-1 * (var(--home-contact-submit-arrow-size) + (20px * var(--home-canvas-scale))));
	pointer-events: none;
	width: var(--home-contact-submit-arrow-size);
}

.fl-builder-content .home-concept__cta .fl-button:focus-visible,
.fl-builder-content .home-approach__cta .fl-button:focus-visible,
.fl-builder-content .home-building__cta .fl-button:focus-visible,
.fl-builder-content .home-experience__panel_cta .fl-button:focus-visible,
.fl-builder-content .home-contact .wpcf7-form-control:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: calc(0.35rem * var(--home-canvas-scale));
}

.fl-builder-content .home-concept__cta .fl-button:focus:not(:focus-visible),
.fl-builder-content .home-approach__cta .fl-button:focus:not(:focus-visible),
.fl-builder-content .home-building__cta .fl-button:focus:not(:focus-visible),
.fl-builder-content .home-experience__panel_cta .fl-button:focus:not(:focus-visible) {
	outline: none;
}

.fl-builder-content .home-contact .wpcf7-form-control.wpcf7-submit.has-spinner:focus:not(:focus-visible) {
	border: 0;
	box-shadow: none;
	outline: none;
}

@media (prefers-reduced-motion: no-preference) {
	.fl-builder-content .home-concept__cta .fl-button::after,
	.fl-builder-content .home-approach__cta .fl-button::after,
	.fl-builder-content .home-building__cta .fl-button::after,
	.fl-builder-content .home-experience__panel_cta .fl-button::after,
	.fl-builder-content .home-contact .home-contact-form__submit-control::after {
		transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.fl-builder-content .home-concept__cta .fl-button:is(:hover, :focus-visible)::after,
	.fl-builder-content .home-approach__cta .fl-button:is(:hover, :focus-visible)::after,
	.fl-builder-content .home-building__cta .fl-button:is(:hover, :focus-visible)::after,
	.fl-builder-content .home-experience__panel_cta .fl-button:is(:hover, :focus-visible)::after,
	.fl-builder-content .home-contact .home-contact-form__submit-control:is(:hover, :focus-within)::after {
		transform: translateX(calc(20px * var(--home-canvas-scale)));
	}
}

/* ============================================================= home-experience ======================================================== */
.fl-builder-content .home-experience > .fl-row-content-wrap {
	align-items: center;
	display: flex;
	min-height: 100svh;
	padding-block: calc(clamp(5rem, 8vw, 9rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-experience .fl-row-content {
	max-width: 100%;
	padding-inline: var(--home-gutter);
	width: 100%;
}

.fl-builder-content .home-experience .fl-col-group.home-experience__panel {
	margin-block: calc(clamp(3rem, 6vw, 6rem) * var(--home-canvas-scale));
	width: 100%;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience {
	height: 100vh;
	height: 100dvh;
	isolation: isolate;
	min-height: 100vh;
	min-height: 100dvh;
	overflow: clip;
	position: relative;
	z-index: 5;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience > .fl-row-content-wrap {
	height: 100%;
	min-height: 100%;
	padding-block: 0;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-row-content {
	height: 100%;
	position: relative;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience--three-step .fl-row-content {
	align-content: center;
	display: grid;
	gap: calc(clamp(1.5rem, 4vh, 3.5rem) * var(--home-canvas-scale));
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: repeat(4, auto);
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-col-content.fl-node-content {
	opacity: 0;
	transform: translateY(100%);
	visibility: hidden;
	will-change: opacity, transform;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-col-group.home-experience__panel {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	margin: 0 auto;
	position: absolute;
	width: 100%;
}

.fl-builder-content .home-experience__label {
	color: var(--home-white);
	margin-bottom: calc(clamp(0.75rem, 1vw, 1.25rem) * var(--home-canvas-scale));
	text-align: center;
}

.fl-builder-content .home-experience__headline {
	color: var(--home-white);
	font-size: var(--appartement-boutique-font-size-h2);
	margin: 0 auto calc(clamp(2rem, 2.5vw, 3rem) * var(--home-canvas-scale));
	max-width: calc(43rem * var(--home-canvas-scale));
	text-align: center;
	transform: none;
}

.fl-builder-content .home-experience__statement {
	color: var(--home-white);
	font-size: var(--appartement-boutique-font-size-large);
	margin: 0;
	text-align: center;
	transform: none;
}

.fl-builder-content .home-experience .fl-module.fl-rich-text p {
	color: var(--home-white);
}

.fl-builder-content .home-experience__panel_cta .fl-button,
.fl-builder-content .home-experience__panel_cta .fl-button-text {
	color: var(--home-white) !important;
}

.fl-builder-content .home-experience__panel_cta,
.fl-builder-content .home-experience__panel_cta .fl-module-content {
	text-align: center;
}

.fl-builder-content .home-experience__panel_cta .fl-button::after {
	background-image: var(--home-arrow-white);
}

.fl-builder-content .home-experience .fl-col-group.home-experience__panel_cta {
	margin-left: calc(30px * var(--home-canvas-scale));
	margin-right: calc(30px * var(--home-canvas-scale));
	width: calc(100% - (60px * var(--home-canvas-scale)));
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-col-group.home-experience__panel_cta {
	margin-left: calc(30px * var(--home-canvas-scale));
	margin-right: calc(30px * var(--home-canvas-scale));
	width: calc(100% - (60px * var(--home-canvas-scale)));
}

@media (min-width: 769px) {
	.fl-builder-content .home-experience .fl-col-group:is(
		.home-experience__panel--intro,
		.home-experience__panel_cta
	) {
		translate: calc(var(--appartement-boutique-menu-rail-width) / -2) 0;
	}
}

.fl-builder-content .home-experience .fl-col-group:is(
	.home-experience__panel--human,
	.home-experience__panel--details,
	.home-experience__panel--presence,
	.home-experience__panel--consistency
) {
	--home-experience-loader-gap: calc(20px * var(--home-canvas-scale));
	--home-experience-loader-size: calc(5rem * var(--home-canvas-scale));
	margin-inline: auto;
	max-width: calc(43rem * var(--home-canvas-scale));
	position: relative;
	text-align: left;
	width: 100%;
}

@media (min-width: 1025px) {
	.fl-builder-content .home-experience .fl-col-group:is(
		.home-experience__panel--human,
		.home-experience__panel--details,
		.home-experience__panel--presence,
		.home-experience__panel--consistency
	) {
		translate: calc((var(--home-experience-loader-size) + var(--home-experience-loader-gap)) / 2) 0;
	}
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-col-group:is(
	.home-experience__panel--human,
	.home-experience__panel--details,
	.home-experience__panel--presence,
	.home-experience__panel--consistency
) {
	inset: auto;
	margin-block: 0;
	position: relative;
}

.fl-builder-content .home-experience .fl-col-group:is(
	.home-experience__panel--human,
	.home-experience__panel--details,
	.home-experience__panel--presence,
	.home-experience__panel--consistency
) :is(.fl-module-content, .fl-rich-text, .fl-rich-text p) {
	text-align: left;
}

.fl-builder-content .home-experience .fl-col-group:is(
	.home-experience__panel--human,
	.home-experience__panel--details,
	.home-experience__panel--presence,
	.home-experience__panel--consistency
) :is(.fl-module-heading, .fl-heading, .fl-heading-text) {
	font-size: calc(clamp(30px, 2.084vw, 40px) * var(--home-canvas-scale)) !important;
	text-align: left;
}

.fl-builder-content .home-experience .fl-col-group:is(
	.home-experience__panel--human,
	.home-experience__panel--details,
	.home-experience__panel--presence,
	.home-experience__panel--consistency
) :is(p, p span) {
	font-size: calc(clamp(14px, 1.042vw, 20px) * var(--home-canvas-scale)) !important;
}

.fl-builder-content .home-experience__loader {
	height: var(--home-experience-loader-size);
	pointer-events: none;
	position: absolute;
	right: calc(100% + var(--home-experience-loader-gap));
	top: 50%;
	transform: translateY(-50%);
	width: var(--home-experience-loader-size);
}

.fl-builder-content .home-experience__loader-circle {
	animation: home-experience-circle-pulse 4.8s ease-out infinite;
	animation-play-state: paused;
	background-color: var(--home-white);
	border-radius: 50%;
	inset: 0;
	opacity: 0;
	position: absolute;
	transform: scale(0.03);
	transform-origin: center;
	will-change: opacity, transform;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-experience .fl-col-group.home-experience__panel--active > .home-experience__loader .home-experience__loader-circle {
	animation-play-state: running;
}

.fl-builder-content .home-experience__loader-circle:nth-child(2) {
	animation-delay: -1.2s;
}

.fl-builder-content .home-experience__loader-circle:nth-child(3) {
	animation-delay: -2.4s;
}

.fl-builder-content .home-experience__loader-circle:nth-child(4) {
	animation-delay: -3.6s;
}

@keyframes home-experience-circle-pulse {
	0% {
		opacity: 0.9;
		transform: scale(0.03);
	}

	12% {
		opacity: 0.8;
	}

	82%,
	100% {
		opacity: 0;
		transform: scale(1);
	}
}

/* The static fallback shows the first project. Motion-enabled desktop and
 * mobile layouts reveal the complete project sequence. */
.fl-builder-content .home-building--secondary {
	display: none;
}

/* ============================================================= home-building ======================================================== */
.fl-builder-content .home-buildings-stage {
	position: relative;
	width: 100%;
}

.fl-builder-content .home-building__surface--motion {
	background-image: none !important;
	overflow: clip;
	position: relative;
}

.fl-builder-content .home-building__image-layer {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.fl-builder-content .home-building__surface--motion > .fl-row-content {
	position: relative;
	z-index: 1;
}

.fl-builder-content .home-buildings-stage--desktop {
	height: 100vh;
	height: 100dvh;
	overflow: clip;
}

.fl-builder-content .home-buildings-stage--desktop .home-building {
	display: block;
	height: 100vh;
	height: 100dvh;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.fl-builder-content .home-buildings-stage--desktop .home-building--motion-active {
	pointer-events: auto;
}

.fl-builder-content .home-building > .fl-row-content-wrap,
.fl-builder-content .home-building .fl-col-group,
.fl-builder-content .home-building .fl-col,
.fl-builder-content .home-building .fl-col-content {
	min-height: 100svh;
}

.fl-builder-content .home-building .home-building__panel > .fl-col-content {
	-webkit-backdrop-filter: blur(4px) brightness(50%);
	backdrop-filter: blur(4px) brightness(50%);
	background-color: rgb(111 40 32 / 58%) !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: calc(clamp(7rem, 8.6vw, 10.3125rem) * var(--home-canvas-scale))
		calc(clamp(2rem, 5.05vw, 6.0625rem) * var(--home-canvas-scale))
		calc(clamp(3rem, 4vw, 4.75rem) * var(--home-canvas-scale));
	position: relative;
}

.fl-builder-content .home-building__title {
	color: var(--home-white);
	font-size: var(--appartement-boutique-font-size-h2);
	margin: 0 0 0.2em;
}

.fl-builder-content .home-building h3 {
	color: var(--home-white);
	font-size: calc(clamp(30px, calc(27.451px + 0.6536vw), 40px) * var(--home-canvas-scale));
	line-height: 1.5em;
	margin: 0 0 0.6em;
}

.fl-builder-content .home-building__summary,
.fl-builder-content .home-building__summary p,
.fl-builder-content .home-building .fl-module.fl-rich-text p {
	color: var(--home-white);
}

.fl-builder-content .home-building__summary p {
	margin: 0;
}

.fl-builder-content .home-building__summary,
.fl-builder-content .home-building__summary * {
	font-size: calc(20px * var(--home-canvas-scale)) !important;
}

.fl-builder-content .home-building__cta {
	margin-top: auto;
}

.fl-builder-content .home-building__cta .fl-button,
.fl-builder-content .home-building__cta .fl-button-text {
	color: var(--home-white) !important;
}

.fl-builder-content .home-building__cta .fl-button::after {
	background-image: var(--home-arrow-white);
}

/* ============================================================= home-approach ======================================================== */
.fl-builder-content .home-approach {
	--home-approach-connector-length: calc(127px * var(--home-canvas-scale));
	--home-approach-connector-gap: calc(30px * var(--home-canvas-scale));
	--home-approach-connector-offset: calc(
		var(--home-approach-connector-length) + var(--home-approach-connector-gap)
	);
	--home-approach-connector-spacing: calc(
		var(--home-approach-connector-length) + (2 * var(--home-approach-connector-gap))
	);
}

.fl-builder-content .home-approach > .fl-row-content-wrap {
	min-height: 0;
}

.fl-builder-content .home-approach .fl-row-content {
	padding-block: calc(clamp(5rem, 7.6vw, 9.125rem) * var(--home-canvas-scale))
		calc(clamp(6rem, 8.958vw, 10.75rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-approach__label {
	margin-bottom: calc(clamp(0.75rem, 1vw, 1.25rem) * var(--home-canvas-scale));
	text-align: center;
}

.fl-builder-content .home-approach__headline,
.fl-builder-content .home-contact__headline {
	color: var(--home-heading);
	font-size: var(--appartement-boutique-font-size-h2);
	margin: 0 auto calc(clamp(2rem, 2.5vw, 3rem) * var(--home-canvas-scale));
	max-width: calc(49.75rem * var(--home-canvas-scale));
	text-align: center;
	transform: none;
}

.fl-builder-content .home-approach__headline {
	padding-block: 0.08em;
}

.fl-builder-content .home-contact__headline {
	padding-block: 0.12em;
}

.fl-builder-content .home-approach__body {
	margin: 0 0 var(--home-approach-connector-spacing);
}

.fl-builder-content .home-approach__body p {
	color: var(--home-ink);
	font-size: var(--appartement-boutique-font-size-body);
	margin: 0 auto;
	max-width: calc(49.75rem * var(--home-canvas-scale));
	text-align: center;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value {
	align-items: center;
	display: flex;
	margin-inline: auto;
	max-width: calc(21.4375rem * var(--home-canvas-scale));
	min-height: 0;
	position: relative;
	text-align: center;
	width: 100%;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value + .fl-col-group.home-approach__value {
	margin-top: var(--home-approach-connector-spacing);
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value::before {
	background: var(--home-ink);
	content: '';
	height: var(--home-approach-connector-length);
	left: 50%;
	position: absolute;
	top: calc(0px - var(--home-approach-connector-offset));
	width: 1px;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-approach .fl-col-group.home-approach__value::before {
	opacity: 0;
}

html.appartement-boutique-motion-ready .fl-builder-content .home-approach .fl-col-group.home-approach__value::after {
	background: var(--home-ink);
	content: '';
	height: var(--home-approach-connector-length);
	left: 50%;
	position: absolute;
	top: calc(0px - var(--home-approach-connector-offset));
	transform: scaleY(var(--home-approach-line-scale, 0));
	transform-origin: top;
	width: 1px;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value > .fl-col {
	width: 100%;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value > .fl-col > .fl-col-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: inherit;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value h4 {
	color: var(--home-ink);
	font-size: var(--appartement-boutique-font-size-h4);
	margin: 0 0 calc(20px * var(--home-canvas-scale));
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value .fl-rich-text,
.fl-builder-content .home-approach .fl-col-group.home-approach__value .fl-rich-text p {
	color: var(--home-heading);
	text-align: center;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value .fl-rich-text {
	margin-block: 0;
	margin-inline: auto;
	max-width: calc(220px * var(--home-canvas-scale));
	width: 100%;
}

.fl-builder-content .home-approach .fl-col-group.home-approach__value .fl-rich-text p {
	font-size: var(--appartement-boutique-font-size-body);
	margin: 0;
}

.fl-builder-content .home-approach__cta {
	margin-top: calc(clamp(4rem, 5.5vw, 6.5rem) * var(--home-canvas-scale));
	text-align: center;
}

/* ============================================================= home-contact ======================================================== */
.fl-builder-content .home-contact,
.fl-builder-content .home-contact > .fl-row-content-wrap {
	margin-bottom: 0;
	min-height: 0;
	padding: 0;
}

.fl-builder-content .home-contact .fl-row-content,
.fl-builder-content .home-contact .fl-col-group {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.fl-builder-content .home-contact .fl-col-group {
	align-items: stretch;
	display: flex;
}

.fl-builder-content .home-contact__intro,
.fl-builder-content .home-contact__form {
	flex: 0 0 var(--home-contact-column-width, 50%);
	width: var(--home-contact-column-width, 50%);
}

.fl-builder-content .home-contact__intro > .fl-col-content,
.fl-builder-content .home-contact__form > .fl-col-content {
	height: 100%;
	padding-block: calc(clamp(5rem, 7vw, 8.5rem) * var(--home-canvas-scale))
		calc(clamp(4rem, 5vw, 6rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-contact__intro > .fl-col-content {
	padding-left: var(--home-gutter);
	padding-right: calc(clamp(2rem, 5.8vw, 7rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-contact__surface--motion {
	background-image: none !important;
	overflow: clip;
	position: relative;
}

.fl-builder-content .home-contact__image-layer {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.fl-builder-content .home-contact__surface--motion > .fl-module {
	position: relative;
	z-index: 1;
}

.fl-builder-content .home-contact__form > .fl-col-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: calc(clamp(2rem, 5.8vw, 7rem) * var(--home-canvas-scale));
	padding-right: var(--home-gutter);
}

.fl-builder-content .home-contact__label {
	color: var(--home-heading);
	margin-bottom: calc(clamp(0.75rem, 1vw, 1.25rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-contact__headline {
	margin-left: 0;
	margin-right: 0;
	max-width: calc(37rem * var(--home-canvas-scale));
	text-align: left;
}

@media (min-width: 1680px) {
	.fl-builder-content .home-contact__intro .fl-module {
		position: relative;
		top: calc(-1 * clamp(32px, calc(10vw - 136px), 56px) * var(--home-canvas-scale));
	}
}

.fl-builder-content .home-contact__body,
.fl-builder-content .home-contact__details,
.fl-builder-content .home-contact__details-title,
.fl-builder-content .home-contact__body p,
.fl-builder-content .home-contact__details p {
	color: var(--home-heading);
}

.fl-builder-content .home-contact__details a,
.fl-builder-content .home-contact__details a:visited,
.fl-builder-content .home-contact__details a:hover,
.fl-builder-content .home-contact__details a:focus,
.fl-builder-content .home-contact__details a:active {
	color: inherit;
}

.fl-builder-content .home-contact__body {
	margin: 0 0 calc(clamp(2.5rem, 3.5vw, 4rem) * var(--home-canvas-scale));
}

.fl-builder-content .home-contact__body p,
.fl-builder-content .home-contact__details p {
	font-size: var(--appartement-boutique-font-size-body);
	margin: 0;
}

.fl-builder-content .home-contact__details-title {
	font-size: var(--appartement-boutique-font-size-h4);
	margin: 0 0 0.75em;
}

.fl-builder-content .home-contact .wpcf7-form {
	color: var(--home-heading);
	display: grid;
	gap: calc(clamp(2.25rem, 3vw, 3.625rem) * var(--home-canvas-scale))
		calc(clamp(2rem, 3vw, 4rem) * var(--home-canvas-scale));
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fl-builder-content .home-contact .wpcf7-form > p {
	margin: 0;
}

.fl-builder-content .home-contact .home-contact-form__field--message,
.fl-builder-content .home-contact .home-contact-form__submit,
.fl-builder-content .home-contact .wpcf7-response-output {
	grid-column: 1 / -1;
}

.fl-builder-content .home-contact .home-contact-form__field label {
	color: var(--home-heading);
	display: flex;
	flex-direction: column;
	font-family: var(--appartement-boutique-font-body);
	font-size: var(--appartement-boutique-font-size-body);
	gap: calc(0.5rem * var(--home-canvas-scale));
	line-height: 1.1;
}

.fl-builder-content .home-contact .wpcf7-form input,
.fl-builder-content .home-contact .wpcf7-form textarea {
	color: var(--home-heading);
	font-family: var(--appartement-boutique-font-body);
	font-size: var(--appartement-boutique-font-size-body);
}

.fl-builder-content .home-contact .wpcf7-form input:not([type='submit']),
.fl-builder-content .home-contact .wpcf7-form textarea {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--home-heading);
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: calc(0.5rem * var(--home-canvas-scale)) 0;
	width: 100%;
}

.fl-builder-content .home-contact .wpcf7-form textarea {
	min-height: calc(clamp(8rem, 9vw, 10.75rem) * var(--home-canvas-scale));
	resize: vertical;
}

.fl-builder-content .home-contact .wpcf7-form textarea:focus,
.fl-builder-content .home-contact .wpcf7-form textarea:focus-visible {
	box-shadow: none;
	outline: none;
}

.fl-builder-content .home-contact .wpcf7-form input[type='submit'] {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	padding: 0 calc(var(--home-contact-submit-arrow-size) + (20px * var(--home-canvas-scale))) 0 0;
	text-transform: inherit;
}

.fl-builder-content .home-contact .wpcf7-spinner {
	margin: 0;
	display: none;
}

@media (max-width: 1024px) {
	.fl-builder-content .home-experience .fl-col-group:is(
		.home-experience__panel--human,
		.home-experience__panel--details,
		.home-experience__panel--presence,
		.home-experience__panel--consistency
	) {
		--home-experience-loader-size: calc(clamp(3.125rem, 10vw, 5rem) * var(--home-canvas-scale));
		padding-left: calc(var(--home-experience-loader-size) + var(--home-experience-loader-gap));
	}

	.fl-builder-content .home-experience__loader {
		left: var(--home-experience-loader-gap);
		right: auto;
	}
}

@media (max-width: 768px) {
	/* ============================================================= home-shared-mobile ======================================================== */
	.fl-builder-content {
		--home-gutter: 2rem;
	}

	/* ============================================================= home-intro-mobile ======================================================== */
	/* These rows remain pinned while the next section wipes over them.
	 * Override the cached pin height when mobile browser controls retract. */
	html.appartement-boutique-motion-ready .fl-builder-content-primary .home-intro,
	html.appartement-boutique-motion-ready .fl-builder-content-primary .home-sub-intro {
		min-height: 100vh !important;
		min-height: 100dvh !important;
		max-height: none !important;
	}

	.fl-builder-content .home-intro > .fl-row-content-wrap,
	.fl-builder-content .home-sub-intro > .fl-row-content-wrap {
		min-height: 100vh;
		min-height: 100dvh;
	}

	.fl-builder-content .home-intro > .fl-row-content-wrap,
	.fl-builder-content .home-sub-intro > .fl-row-content-wrap,
	.fl-builder-content .home-experience > .fl-row-content-wrap {
		padding-block: 4rem;
	}

	.fl-builder-content .home-intro .fl-row-content,
	.fl-builder-content .home-sub-intro .fl-row-content {
		width: calc(100% - 4rem);
	}

	.fl-builder-content .home-concept .fl-row-content,
	.fl-builder-content .home-approach .fl-row-content {
		width: 100%;
	}

	.fl-builder-content .home-intro__statement {
		max-width: 22rem;
	}

	.fl-builder-content .home-sub-intro .fl-module-heading {
		max-width: 22rem;
	}

	html.appartement-boutique-motion-ready .fl-builder-content .home-intro--taglines :is(
		.home-intro__statement,
		.home-taglines__secondary
	) {
		max-width: min(22rem, calc(100vw - 4rem));
		white-space: normal;
		width: auto;
	}

	/* ============================================================= home-concept-mobile ======================================================== */
	.fl-builder-content .home-concept .fl-row-content {
		padding: 5rem 2rem 6rem;
	}

	.fl-builder-content .home-concept__headline {
		margin-bottom: 4rem;
	}

	.fl-builder-content .home-concept__image-primary {
		margin-bottom: 3rem;
	}

	.fl-builder-content .home-concept .fl-col-group:has(.home-concept__statement) {
		margin-bottom: 3rem;
	}

	.fl-builder-content .home-concept__statement {
		margin-bottom: 1.25rem;
	}

	.fl-builder-content .home-concept__image-secondary {
		margin-bottom: 3rem;
	}

	.fl-builder-content .home-concept__quote-title {
		margin-bottom: 1.5rem;
	}

	.fl-builder-content .home-concept__cta {
		margin-top: 2rem;
	}

	/* ============================================================= home-experience-mobile ======================================================== */
	.fl-builder-content .home-experience .fl-row-content {
		padding-inline: 2rem;
	}

	.fl-builder-content .home-experience .fl-col-group.home-experience__panel--intro {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	html.appartement-boutique-motion-ready .fl-builder-content .home-experience--three-step .fl-row-content {
		gap: 30px;
	}

	html.appartement-boutique-motion-ready .fl-builder-content .home-experience--three-step .fl-col-group:is(
		.home-experience__panel--human,
		.home-experience__panel--details,
		.home-experience__panel--presence,
		.home-experience__panel--consistency
	) > .fl-col > .fl-col-content {
		display: grid;
		gap: 6px;
	}

	html.appartement-boutique-motion-ready .fl-builder-content .home-experience--three-step .fl-col-group:is(
		.home-experience__panel--human,
		.home-experience__panel--details,
		.home-experience__panel--presence,
		.home-experience__panel--consistency
	) > .fl-col > .fl-col-content > .fl-module {
		margin: 0;
	}

	/* ============================================================= home-building-mobile ======================================================== */
	.fl-builder-content .home-buildings-stage--mobile,
	.fl-builder-content .home-buildings-stage--mobile .home-building {
		display: block;
		height: auto;
		position: relative;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building {
		overflow: hidden;
		overflow: clip;
	}

	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider {
		height: 100vh;
		height: 100dvh;
		min-height: 100vh;
		min-height: 100dvh;
		overflow: hidden;
		overflow: clip;
	}

	/* ScrollTrigger writes a pixel height while pinned. Keep the visible stage
	 * fitted to browser chrome changes without waiting for a pin refresh. */
	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider.home-buildings-stage--locked {
		height: var(--home-buildings-viewport-height, 100dvh) !important;
		min-height: var(--home-buildings-viewport-height, 100dvh) !important;
		max-height: none !important;
	}

	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider .home-building {
		display: block;
		height: 100%;
		inset: 0;
		min-height: 100%;
		position: absolute;
		width: 100%;
	}

	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider .home-building > .fl-row-content-wrap,
	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider .home-building .fl-row-content,
	.fl-builder-content .home-buildings-stage--mobile.home-buildings-stage--mobile-slider .home-building .fl-col-group {
		height: 100%;
		min-height: 100%;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building .fl-col-group {
		display: flex;
		flex-direction: column;
		height: 100vh;
		height: 100dvh;
		min-height: 100vh;
		min-height: 100dvh;
		position: relative;
	}

	.fl-builder-content .home-building > .fl-row-content-wrap,
	.fl-builder-content .home-building .fl-col-group,
	.fl-builder-content .home-building .fl-row-content {
		min-height: 100vh;
		min-height: 100dvh;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building .home-building__media {
		align-self: stretch;
		flex: 0 0 100%;
		height: 100%;
		max-width: none;
		min-height: 0;
		min-width: 100%;
		width: 100%;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building .home-building__media > .fl-col-content {
		height: 100%;
		min-height: 0;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building .home-building__panel {
		align-self: stretch;
		display: block;
		flex: 0 0 auto;
		height: 100%;
		inset: 0;
		max-width: none;
		min-height: 0;
		min-width: 100%;
		position: absolute;
		width: 100%;
		z-index: 1;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building .home-building__panel > .fl-col-content {
		height: 100%;
		min-height: 0;
		padding: 2rem;
		padding-top: 7rem;
	}

	.fl-builder-content .home-buildings-stage--mobile .home-building__cta {
		margin-top: auto;
	}

	/* ============================================================= home-approach-mobile ======================================================== */
	.fl-builder-content .home-approach .fl-row-content {
		padding: 5rem 2rem 6rem;
	}

	.fl-builder-content .home-approach .fl-col-group.home-approach__value {
		max-width: 100%;
	}

	.fl-builder-content .home-approach .fl-col-group.home-approach__value h4 {
		font-size: 30px;
	}

	.fl-builder-content .home-approach .fl-col-group.home-approach__value .fl-rich-text p {
		font-size: 20px;
		line-height: 30px;
	}

	.fl-builder-content .home-approach__cta {
		margin-top: 4rem;
	}

	/* ============================================================= home-contact-mobile ======================================================== */
	.fl-builder-content .home-contact .fl-col-group {
		flex-wrap: wrap;
	}

	.fl-builder-content .home-contact__intro,
	.fl-builder-content .home-contact__form {
		flex-basis: 100%;
		max-width: none;
		min-width: 100%;
		width: 100%;
	}

	.fl-builder-content .home-contact__intro > .fl-col-content,
	.fl-builder-content .home-contact__form > .fl-col-content {
		padding: 5rem 2rem;
	}

	.fl-builder-content .home-contact__headline {
		margin-bottom: 2rem;
	}

	.fl-builder-content .home-contact .wpcf7-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.fl-builder-content .home-contact .home-contact-form__field,
	.fl-builder-content .home-contact .home-contact-form__submit,
	.fl-builder-content .home-contact .wpcf7-response-output {
		grid-column: 1;
	}
}

/* ============================================================= home-reduced-motion ======================================================== */
@media (prefers-reduced-motion: reduce) {
	.fl-builder-content .home-intro *,
	.fl-builder-content .home-sub-intro *,
	.fl-builder-content .home-concept *,
	.fl-builder-content .home-experience *,
	.fl-builder-content .home-building *,
	.fl-builder-content .home-approach *,
	.fl-builder-content .home-contact * {
		scroll-behavior: auto;
	}

	.fl-builder-content .home-building--secondary {
		display: block;
	}

	.fl-builder-content .home-experience__loader-circle {
		animation: none;
		opacity: 0;
		transform: scale(1);
	}

	.fl-builder-content .home-experience__loader-circle:first-child {
		opacity: 1;
	}
}
