/* Home page styles split from ibenlo-stage.css. */

body.home.ibenlo-stage-theme {
	background:
		radial-gradient(circle at 18% 14%, rgba(63, 234, 217, 0.12), transparent 30%),
		radial-gradient(circle at 84% 10%, rgba(95, 237, 112, 0.09), transparent 22%),
		linear-gradient(180deg, #0c111b 0%, #101720 38%, #121a25 100%);
	color: var(--ibenlo-stage-paper);
}

.ibenlo-stage-hero-media,
.ibenlo-stage-hero-poster,
.ibenlo-stage-hero-video {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
}

.ibenlo-stage-hero-media {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	background: #0d1420;
	pointer-events: none;
}

.ibenlo-stage-hero-poster,
.ibenlo-stage-hero-video {
	position: absolute;
	inset: 0;
	display: block;
	object-fit: cover !important;
	object-position: center center !important;
	transition: opacity 260ms ease;
}

.ibenlo-stage-hero-poster {
	z-index: 1;
	filter: brightness(0.82) saturate(0.95);
}

.ibenlo-stage-hero-video {
	z-index: 2;
	opacity: 0;
}

.ibenlo-stage-hero-home.is-hero-video-ready .ibenlo-stage-hero-video {
	opacity: 1;
}

.ibenlo-stage-hero-home.is-hero-video-ready .ibenlo-stage-hero-poster,
.ibenlo-stage-hero-poster.is-video-ready {
	opacity: 0;
}

.ibenlo-stage-hero-brand-fallback.is-native,
.ibenlo-stage-hero-home.is-hero-brand-fallback-active .ibenlo-stage-hero-brand-fallback {
	opacity: 1;
}

.ibenlo-stage-shell-portfolio {
	position: relative;
	isolation: isolate;
	overflow: visible;
	background: none;
	max-width: 100%;
	overflow-x: clip;
	overflow-y: visible;
}

.ibenlo-stage-portfolio-peek {
	--ibenlo-drawer-peek-height: var(--ibenlo-hero-shell-overlap);
	--ibenlo-drawer-peek-padding: var(--ibenlo-portfolio-peek-padding);
	--ibenlo-drawer-handle-height: var(--ibenlo-portfolio-peek-handle-height);
	--ibenlo-drawer-handle-width: var(--ibenlo-portfolio-peek-handle-width);
}

.ibenlo-stage-portfolio-peek__handle {
	--ibenlo-drawer-handle-height: var(--ibenlo-portfolio-peek-handle-height);
	--ibenlo-drawer-handle-width: var(--ibenlo-portfolio-peek-handle-width);
}

.ibenlo-stage-shell-portfolio .container {
	position: relative;
	z-index: 2;
}

.ibenlo-stage-testimonial-bgplane {
	position: absolute;
	top: 0;
	right: 0;
	bottom: calc(var(--ibenlo-testimonial-contact-underlap) * -1);
	left: 0;
	width: 100%;
	z-index: 0;
	overflow: hidden;
	contain: paint;
	pointer-events: none;
	background-color: #151d2a;
	-webkit-clip-path: polygon(
		0 var(--ibenlo-testimonial-diagonal-left),
		100% var(--ibenlo-testimonial-diagonal-right),
		100% 100%,
		0 100%
	);
	clip-path: polygon(
		0 var(--ibenlo-testimonial-diagonal-left),
		100% var(--ibenlo-testimonial-diagonal-right),
		100% 100%,
		0 100%
	);
	transform: translate3d(0, 0, 0);
}

.ibenlo-stage-testimonial-bgplane__image,
.ibenlo-stage-testimonial-bgplane__overlay {
	display: block;
}

.ibenlo-stage-testimonial-bgplane__image {
	--ibenlo-testimonial-bg-overscan: clamp(280px, 24vh, 360px);
	position: absolute;
	top: calc(var(--ibenlo-testimonial-bg-overscan) * -1);
	right: 0;
	bottom: calc(var(--ibenlo-testimonial-bg-overscan) * -1);
	left: 0;
	background-image: url("../images/sections/testimonials-harbor-desktop.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transform: translate3d(0, var(--ibenlo-testimonial-bg-offset, 0px), 0);
	transform-origin: center center;
	will-change: transform;
	filter: brightness(0.78) saturate(0.9);
}

.ibenlo-stage-testimonial-bgplane__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(9, 13, 21, 0.44), rgba(9, 13, 21, 0.64)),
		radial-gradient(circle at 18% 20%, rgba(44, 38, 70, 0.3), transparent 30%),
		radial-gradient(circle at 82% 28%, rgba(63, 234, 217, 0.08), transparent 24%);
}

.ibenlo-portfolio-atmosphere {
	position: absolute;
	top: calc(var(--ibenlo-portfolio-copy-overflow, 0px) * -1);
	left: 0;
	right: 0;
	width: 100%;
	bottom: calc(var(--ibenlo-portfolio-diagonal-overhang) * -1);
	height: auto;
	min-height: 0;
	margin-bottom: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	contain: layout paint;
	transform: translate3d(0, 0, 0);
	transform-origin: center center;
	backface-visibility: hidden;
	will-change: top, transform;
	transition: top 220ms ease;
	border-top-left-radius: var(--ibenlo-portfolio-shell-radius);
	border-top-right-radius: var(--ibenlo-portfolio-shell-radius);
	-webkit-clip-path: polygon(
		0 var(--ibenlo-portfolio-shell-radius),
		var(--ibenlo-portfolio-shell-radius-step-sm) var(--ibenlo-portfolio-shell-radius-step-lg),
		var(--ibenlo-portfolio-shell-radius-step-md) var(--ibenlo-portfolio-shell-radius-step-md),
		var(--ibenlo-portfolio-shell-radius-step-lg) var(--ibenlo-portfolio-shell-radius-step-sm),
		var(--ibenlo-portfolio-shell-radius) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius)) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-lg)) var(--ibenlo-portfolio-shell-radius-step-sm),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-md)) var(--ibenlo-portfolio-shell-radius-step-md),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-sm)) var(--ibenlo-portfolio-shell-radius-step-lg),
		100% var(--ibenlo-portfolio-shell-radius),
		100% 100%,
		0 100%
	);
	clip-path: polygon(
		0 var(--ibenlo-portfolio-shell-radius),
		var(--ibenlo-portfolio-shell-radius-step-sm) var(--ibenlo-portfolio-shell-radius-step-lg),
		var(--ibenlo-portfolio-shell-radius-step-md) var(--ibenlo-portfolio-shell-radius-step-md),
		var(--ibenlo-portfolio-shell-radius-step-lg) var(--ibenlo-portfolio-shell-radius-step-sm),
		var(--ibenlo-portfolio-shell-radius) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius)) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-lg)) var(--ibenlo-portfolio-shell-radius-step-sm),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-md)) var(--ibenlo-portfolio-shell-radius-step-md),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-sm)) var(--ibenlo-portfolio-shell-radius-step-lg),
		100% var(--ibenlo-portfolio-shell-radius),
		100% 100%,
		0 100%
	);
}

.ibenlo-portfolio-atmosphere::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(circle at 18% 22%, rgba(63, 234, 217, 0.03), transparent 24%),
		radial-gradient(circle at 82% 26%, rgba(95, 237, 112, 0.03), transparent 26%);
}

.ibenlo-portfolio-atmosphere-canvas {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	image-rendering: pixelated;
	image-rendering: crisp-edges;
	opacity: 1;
	transform: translateZ(0);
	backface-visibility: hidden;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode {
	background:
		radial-gradient(circle at 16% 12%, rgba(63, 234, 217, 0.16), transparent 26%),
		radial-gradient(circle at 84% 8%, rgba(95, 237, 112, 0.12), transparent 18%),
		linear-gradient(180deg, #f8fbff 0%, #eef4fa 38%, #e7edf4 100%);
}

 body.home.ibenlo-stage-theme .ibenlo-stage-main {
	isolation: isolate;
	overflow: visible;
	background: #101721;
}

 body.home.ibenlo-stage-theme #main.site-main {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

 body.home.ibenlo-stage-theme #main.site-main.page__top-shadow {
	box-shadow: none !important;
}

 body.home .ibenlo-stage-hero-home {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 0;
	height: 100svh;
	min-height: 100svh;
	margin-top: 0;
	padding-top: 0;
	overflow: hidden;
	pointer-events: none;
}

 body.home .ibenlo-stage-hero-spacer {
	position: relative;
	height: 100svh;
	min-height: 100svh;
	pointer-events: none;
}

 body.home .ibenlo-stage-hero-home::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: clamp(6rem, 14vw, 10rem);
	z-index: 4;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(12, 17, 27, 0), rgba(12, 17, 27, 0.6));
}

.ibenlo-home-hero__seo-title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

 body.home .ibenlo-stage-shell-portfolio,
body.home .ibenlo-stage-shell-accent,
body.home .ibenlo-contact-section,
body.home .ibenlo-site-footer {
	position: relative;
	z-index: 2;
}

/* Let the contact section's diagonal cap the testimonial media underlap. */
body.home .ibenlo-contact-section {
	z-index: 5;
}

 body.home #page {
	background: #101721;
	min-height: 100svh;
	overflow: visible;
	box-shadow: 0 100vh 0 100vh #101721;
}

 body.home.ibenlo-stage-theme,
body.home.ibenlo-stage-theme #main,
body.home.ibenlo-stage-theme #main.site-main,
body.home.ibenlo-stage-theme #page,
body.home.ibenlo-stage-theme #main-content,
body.home.ibenlo-stage-theme #main-content.main-content {
	background-color: #101721;
}

 body.home.ibenlo-stage-theme {
	overscroll-behavior-y: none;
}

 body.home .ibenlo-stage-main > .ibenlo-site-footer {
	background: var(--ibenlo-stage-nav-plum) !important;
	background-color: var(--ibenlo-stage-nav-plum) !important;
	background-image: none !important;
}

 body.home #lazy-loading-point {
	display: none !important;
}

body.home .ibenlo-stage-shell-portfolio {
	--ibenlo-portfolio-copy-overflow: 0px;
	--ibenlo-portfolio-peek-padding: var(--ibenlo-drawer-peek-padding);
	--ibenlo-portfolio-peek-handle-height: var(--ibenlo-drawer-handle-height);
	--ibenlo-portfolio-peek-handle-width: var(--ibenlo-drawer-handle-width);
	--ibenlo-hero-shell-overlap: calc((var(--ibenlo-portfolio-peek-padding) * 2) + var(--ibenlo-portfolio-peek-handle-height));
	--ibenlo-portfolio-shell-radius: clamp(1.35rem, 2vw, 1.8rem);
	--ibenlo-drawer-radius: var(--ibenlo-portfolio-shell-radius);
	--ibenlo-portfolio-diagonal-right: var(--ibenlo-diagonal-shallow, 52px);
	--ibenlo-portfolio-diagonal-left: var(--ibenlo-diagonal-depth, 156px);
	--ibenlo-portfolio-diagonal-lift: var(--ibenlo-diagonal-shallow, 52px);
	--ibenlo-portfolio-diagonal-seam-guard: var(--ibenlo-diagonal-seam-y, 64px);
	--ibenlo-portfolio-diagonal-overhang: calc(var(--ibenlo-portfolio-diagonal-left) + var(--ibenlo-portfolio-diagonal-seam-guard));
	--ibenlo-portfolio-shell-bg-color: #121825;
	--ibenlo-portfolio-shell-bg-image: none;
	--ibenlo-portfolio-shell-radius-step-sm: clamp(0.108rem, 0.16vw, 0.144rem);
	--ibenlo-portfolio-shell-radius-step-md: clamp(0.405rem, 0.6vw, 0.54rem);
	--ibenlo-portfolio-shell-radius-step-lg: clamp(0.837rem, 1.24vw, 1.116rem);
	margin-top: calc(var(--ibenlo-hero-shell-overlap) * -1);
	padding-top: 0;
	border-radius: var(--ibenlo-portfolio-shell-radius) var(--ibenlo-portfolio-shell-radius) 0 0;
	box-shadow: 0 -24px 52px rgba(6, 10, 18, 0.2);
	z-index: 3;
}

body.home .ibenlo-stage-shell-portfolio::before {
	content: "";
	position: absolute;
	top: calc(var(--ibenlo-portfolio-copy-overflow) * -1);
	right: 0;
	bottom: calc(var(--ibenlo-portfolio-diagonal-overhang) * -1);
	left: 0;
	width: 100%;
	z-index: 0;
	background-color: var(--ibenlo-portfolio-shell-bg-color);
	background-image: var(--ibenlo-portfolio-shell-bg-image);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center top;
	-webkit-clip-path: polygon(
		0 var(--ibenlo-portfolio-shell-radius),
		var(--ibenlo-portfolio-shell-radius-step-sm) var(--ibenlo-portfolio-shell-radius-step-lg),
		var(--ibenlo-portfolio-shell-radius-step-md) var(--ibenlo-portfolio-shell-radius-step-md),
		var(--ibenlo-portfolio-shell-radius-step-lg) var(--ibenlo-portfolio-shell-radius-step-sm),
		var(--ibenlo-portfolio-shell-radius) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius)) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-lg)) var(--ibenlo-portfolio-shell-radius-step-sm),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-md)) var(--ibenlo-portfolio-shell-radius-step-md),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-sm)) var(--ibenlo-portfolio-shell-radius-step-lg),
		100% var(--ibenlo-portfolio-shell-radius),
		100% 100%,
		0 100%
	);
	clip-path: polygon(
		0 var(--ibenlo-portfolio-shell-radius),
		var(--ibenlo-portfolio-shell-radius-step-sm) var(--ibenlo-portfolio-shell-radius-step-lg),
		var(--ibenlo-portfolio-shell-radius-step-md) var(--ibenlo-portfolio-shell-radius-step-md),
		var(--ibenlo-portfolio-shell-radius-step-lg) var(--ibenlo-portfolio-shell-radius-step-sm),
		var(--ibenlo-portfolio-shell-radius) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius)) 0,
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-lg)) var(--ibenlo-portfolio-shell-radius-step-sm),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-md)) var(--ibenlo-portfolio-shell-radius-step-md),
		calc(100% - var(--ibenlo-portfolio-shell-radius-step-sm)) var(--ibenlo-portfolio-shell-radius-step-lg),
		100% var(--ibenlo-portfolio-shell-radius),
		100% 100%,
		0 100%
	);
	pointer-events: none;
	transform: translate3d(0, 0, 0);
	will-change: top;
	transition: top 220ms ease;
}

 body.home .ibenlo-stage-shell-portfolio::after {
	display: none;
}

 body.home .ibenlo-stage-shell-portfolio > .container {
	padding-top: clamp(1rem, 2vw, 1.5rem);
}

body.home .ibenlo-stage-portfolio-peek {
	border-top-left-radius: var(--ibenlo-portfolio-shell-radius);
	border-top-right-radius: var(--ibenlo-portfolio-shell-radius);
	overflow: hidden;
	clip-path: inset(0 0 0 0 round var(--ibenlo-portfolio-shell-radius) var(--ibenlo-portfolio-shell-radius) 0 0);
	transform: translateY(calc(var(--ibenlo-portfolio-copy-overflow) * -1));
	transition: transform 220ms ease;
}

 body.home .ibenlo-stage-shell-testimonials {
	--ibenlo-testimonial-diagonal-right: var(--ibenlo-diagonal-shallow, 52px);
	--ibenlo-testimonial-diagonal-left: var(--ibenlo-diagonal-depth, 156px);
	--ibenlo-testimonial-diagonal-lift: var(--ibenlo-diagonal-shallow, 52px);
	--ibenlo-home-testimonial-overlap: calc(var(--ibenlo-testimonial-diagonal-right) + var(--ibenlo-testimonial-diagonal-lift) + var(--ibenlo-diagonal-seam-y, 0px));
	--ibenlo-testimonial-contact-underlap: clamp(5rem, 8vw, 8rem);
	position: relative;
	isolation: auto;
	overflow: visible;
	z-index: 4;
	margin-top: calc(var(--ibenlo-home-testimonial-overlap) * -1);
	padding-top: calc(4rem + var(--ibenlo-home-testimonial-overlap));
	background: transparent;
}

 body.home .ibenlo-stage-shell-testimonials::before,
body.home .ibenlo-stage-shell-testimonials::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

 body.home .ibenlo-stage-shell-testimonials::before {
	display: none;
}

 body.home .ibenlo-stage-shell-testimonials::after {
	display: none;
}

 body.home .ibenlo-stage-shell-testimonials > .container {
	position: relative;
	z-index: 5;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-shell-portfolio {
	--ibenlo-portfolio-shell-bg-color: #e4ecf5;
	--ibenlo-portfolio-shell-bg-image: none;
	background: transparent;
	box-shadow: none;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-shell-portfolio::before {
	background-color: var(--ibenlo-portfolio-shell-bg-color);
	background-image: var(--ibenlo-portfolio-shell-bg-image);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-portfolio-peek__handle {
	--ibenlo-drawer-handle-bg: rgba(44, 38, 70, 0.28);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-shell-testimonials {
	background: transparent;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-testimonial-bgplane__image {
	background-image: url("../images/sections/testimonials-lisbon-blurred-light-desktop.webp");
	filter: brightness(1.06) saturate(0.94);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-testimonial-bgplane__overlay {
	background:
		linear-gradient(180deg, rgba(244, 247, 251, 0.26), rgba(229, 236, 244, 0.34)),
		radial-gradient(circle at 18% 20%, rgba(44, 38, 70, 0.12), transparent 30%),
		radial-gradient(circle at 82% 28%, rgba(63, 234, 217, 0.05), transparent 24%);
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-testimonials .ibenlo-testimonial-card {
	border-color: rgba(23, 33, 49, 0.1);
	background: var(--color-surface-strong);
	box-shadow: 0 18px 44px rgba(30, 56, 89, 0.12);
}

 body.home .ibenlo-stage-shell-dark:not(.ibenlo-stage-shell-portfolio),
body.home .ibenlo-stage-shell-accent:not(.ibenlo-stage-shell-testimonials) {
	background: transparent;
}

 body.home .ibenlo-stage-panel-intro {
	margin-bottom: 1.25rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	transform: none;
	opacity: 1;
}

 body.home .ibenlo-stage-panel-intro:after {
	display: none;
}

 body.home .ibenlo-stage-kicker {
	margin: 0 0 0.45rem;
	font-family: inherit;
	font-size: var(--ibenlo-type-eyebrow);
	font-weight: var(--ibenlo-type-eyebrow-weight);
	line-height: var(--ibenlo-type-eyebrow-line-height);
		letter-spacing: var(--ibenlo-type-eyebrow-letter-spacing);
		color: var(--ibenlo-color-accent);
	}

body.home .ibenlo-stage-kicker.ibenlo-stage-kicker--neutral {
	color: var(--color-text-muted);
}

	 body.home .ibenlo-stage-panel-intro .ibenlo-stage-title {
	max-width: none;
	color: var(--ibenlo-color-heading);
	font-size: var(--ibenlo-type-h2);
	line-height: 1.25;
}

 body.home .is-portfolio-intro .ibenlo-stage-title {
	display: none;
}

 body.home .is-portfolio-intro .ibenlo-stage-kicker {
	margin-bottom: 1rem;
	font-size: var(--ibenlo-type-eyebrow);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ibenlo-color-text-muted);
}

 body.home .is-testimonial-intro .ibenlo-stage-kicker {
	display: none;
}

 body.home .is-testimonial-intro .ibenlo-stage-title,
body.home .ibenlo-stage-section-heading .ibenlo-stage-title {
	font-size: var(--ibenlo-type-h2);
	font-weight: 600;
	text-transform: none;
	max-width: none;
	color: var(--ibenlo-color-heading);
}

 body.home .is-testimonial-intro .ibenlo-stage-title {
	color: var(--ibenlo-color-heading);
	font-weight: 700;
	line-height: 1.08;
	text-transform: uppercase;
	text-wrap: balance;
}

 body.home .is-testimonial-intro .ibenlo-stage-title[data-ibenlo-scroll-scramble],
body.home .is-testimonial-intro .ibenlo-stage-title[data-ibenlo-heading-animation="scramble"] {
	opacity: 0;
	transform: translate3d(0, 0.45rem, 0);
	transition:
		opacity 180ms ease,
		transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
}

 body.home .is-testimonial-intro .ibenlo-stage-title[data-ibenlo-scroll-scrambled] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .is-testimonial-intro .ibenlo-stage-title,
body.home.ibenlo-stage-theme.ibenlo-light-mode .is-testimonial-intro .ibenlo-stage-title span {
	color: var(--ibenlo-stage-plum) !important;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .is-testimonial-intro .ibenlo-stage-title.is-ibenlo-scrambling {
	color: transparent !important;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .is-testimonial-intro .ibenlo-stage-title.is-ibenlo-scrambling::after {
	color: var(--ibenlo-stage-plum) !important;
}

 body.home .ibenlo-section-portfolio {
	max-width: 100%;
	overflow-x: clip;
	overflow-y: visible;
	padding-top: 0.25rem;
	padding-bottom: 0.35rem;
}

 body.home .is-portfolio-intro .ibenlo-stage-kicker {
	display: none;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar {
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 1.45rem;
}

body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy {
	--ibenlo-portfolio-copy-height: clamp(8rem, 12vw, 10rem);
	--ibenlo-portfolio-toolbar-margin: clamp(1.4rem, 3vw, 2.25rem);
	display: grid;
	grid-template-columns: minmax(0, min(58%, 62rem)) max-content;
	align-items: end;
	justify-content: space-between;
	gap: clamp(1.5rem, 4vw, 4rem);
	margin-bottom: var(--ibenlo-portfolio-toolbar-margin);
	transition: margin-bottom 220ms ease;
}

body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 62rem;
	height: var(--ibenlo-portfolio-copy-height);
	min-height: 0;
	text-align: left;
	transition: height 220ms ease, min-height 220ms ease;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__item {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	min-width: 0;
	opacity: 0;
	pointer-events: none;
	white-space: normal;
	transition: opacity 180ms ease;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__item.is-active {
	opacity: 1;
	pointer-events: auto;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--ibenlo-color-accent);
	font-family: var(--ibenlo-type-family);
	font-size: var(--ibenlo-type-eyebrow);
	font-weight: var(--ibenlo-type-eyebrow-weight);
	line-height: var(--ibenlo-type-eyebrow-line-height);
	letter-spacing: var(--ibenlo-type-eyebrow-letter-spacing);
	text-transform: uppercase;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__title {
	--ibenlo-portfolio-title-color: var(--ibenlo-stage-paper);
	position: relative;
	display: block;
	max-width: 100%;
	margin: 0;
	color: var(--ibenlo-portfolio-title-color);
	font-family: var(--ibenlo-type-family);
	font-size: var(--ibenlo-type-main-header);
	font-weight: 800;
	line-height: var(--ibenlo-type-main-header-line-height, 1.02);
	letter-spacing: 0.012em;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
	text-wrap: balance;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__title.is-scrambling {
	color: transparent;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__title.is-scrambling::after {
	position: absolute;
	inset: 0;
	color: var(--ibenlo-portfolio-title-color);
	content: attr(data-portfolio-title-display);
	overflow-wrap: normal;
	pointer-events: none;
	text-wrap: balance;
	white-space: pre-wrap;
	word-break: normal;
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__description {
	width: 100%;
	max-width: 62rem;
	margin: 1rem 0 0;
	color: var(--ibenlo-color-text-muted);
	font-size: var(--ibenlo-type-paragraph);
	line-height: var(--ibenlo-type-paragraph-line-height);
	overflow-wrap: break-word;
	transition: opacity 180ms ease;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-portfolio-copy__eyebrow {
	color: var(--ibenlo-stage-readable-green);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-portfolio-copy__title {
	--ibenlo-portfolio-title-color: var(--ibenlo-stage-plum);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-portfolio-copy__description {
	color: var(--ibenlo-stage-paper-soft);
}

 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy .ibenlo-filters {
	justify-self: end;
	align-self: end;
}

 body.home .ibenlo-section-portfolio .ibenlo-filters {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: var(--ibenlo-filter-rail-gap, 0.25rem);
	margin-bottom: 0;
	padding: var(--ibenlo-filter-rail-padding, 0.35rem);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.04);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
	white-space: nowrap;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-filters {
	border-color: rgba(23, 33, 49, 0.12);
	background: rgba(23, 33, 49, 0.04);
	box-shadow: 0 14px 28px rgba(30, 56, 89, 0.08);
}

 body.home .ibenlo-section-portfolio .ibenlo-filters::before {
	display: none;
}

body.home .ibenlo-section-portfolio .ibenlo-filter-liquid-highlight {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 0;
	height: 0;
	border-radius: 999px;
	pointer-events: none;
	opacity: 0;
	background: var(--ibenlo-filter-pill-fill, var(--ibenlo-primary-button-fill));
	transition:
		left 280ms cubic-bezier(0.22, 1, 0.36, 1),
		top 280ms cubic-bezier(0.22, 1, 0.36, 1),
		width 280ms cubic-bezier(0.22, 1, 0.36, 1),
		height 280ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 180ms ease,
		background 180ms ease;
}

 body.home .ibenlo-section-portfolio .ibenlo-filters.is-resizing .ibenlo-filter-liquid-highlight,
body.home .ibenlo-section-portfolio .ibenlo-filters.is-resizing .ibenlo-filter {
	transition: none;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter-liquid-highlight.is-visible {
	opacity: 1;
}

body.home .ibenlo-section-portfolio .ibenlo-filter-liquid-highlight.is-active {
	background: var(--ibenlo-filter-pill-fill, var(--ibenlo-primary-button-fill));
}

 body.home .ibenlo-section-portfolio .ibenlo-filter,
body.home .ibenlo-section-portfolio .ibenlo-view-option {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ibenlo-filter-control-height, 3.35rem);
	padding: var(--ibenlo-button-utility-padding-y, 0.88rem) var(--ibenlo-button-utility-padding-x, 1.5rem);
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--ibenlo-stage-paper);
	font-size: var(--ibenlo-type-pill);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.01em;
	box-shadow: none;
	transition: color 180ms ease;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter__icon {
	display: none;
	font-size: 1.7rem;
	line-height: 1;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter__label {
	display: inline-block;
	position: relative;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-filter,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio .ibenlo-view-option {
	color: var(--ibenlo-stage-paper);
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-section-portfolio {
	--ibenlo-filter-pill-fill: var(--ibenlo-stage-lime);
	--ibenlo-filter-pill-text-on-fill: var(--color-text-on-accent);
}

 body.home .ibenlo-section-portfolio .ibenlo-view-option.is-active,
body.home .ibenlo-section-portfolio .ibenlo-view-option:hover {
	transform: none;
	background: var(--ibenlo-filter-pill-fill);
	border-color: color-mix(in srgb, var(--ibenlo-filter-pill-fill) 55%, transparent);
	color: var(--ibenlo-filter-pill-text-on-fill);
}

 body.home .ibenlo-section-portfolio .ibenlo-filter.is-active {
	background: transparent;
	border-color: transparent;
	color: var(--ibenlo-filter-pill-fill);
	text-decoration: none;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter.is-active::after {
	display: none;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter.is-active .ibenlo-filter__label::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.58rem;
	height: 0.14em;
	border-radius: 999px;
	background: var(--ibenlo-filter-pill-fill);
}

 body.home .ibenlo-section-portfolio .ibenlo-filter.is-active:hover .ibenlo-filter__label::after,
body.home .ibenlo-section-portfolio .ibenlo-filter.is-active:focus-visible .ibenlo-filter__label::after,
body.home .ibenlo-section-portfolio .ibenlo-filter.is-active.is-liquid-covered .ibenlo-filter__label::after {
	opacity: 0;
}

 body.home .ibenlo-section-portfolio .ibenlo-filter:hover,
body.home .ibenlo-section-portfolio .ibenlo-filter:focus-visible,
body.home .ibenlo-section-portfolio .ibenlo-filter.is-liquid-covered {
	background: transparent;
	border-color: transparent;
	color: var(--ibenlo-filter-pill-text-on-fill);
}

 body.home .ibenlo-section-portfolio .ibenlo-view-switch {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 255, 255, 0.12);
}

 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5rem), 1fr));
	gap: 1rem;
}

 @media (min-width: 1900px) {
	 body.home.ibenlo-stage-theme {
		--ibenlo-content-max: var(--ibenlo-content-max-expanded);
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

 body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-feature,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-tall,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-wide {
	grid-column: span 1;
}

 body.home .ibenlo-card-portfolio {
	position: relative;
	border: 0;
	border-radius: var(--radius-card);
	background: transparent;
	box-shadow: none;
}

 body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal] {
	opacity: 0;
	transform: translate3d(0, 1.15rem, 0) scale(0.975);
	transform-origin: center center;
	transition:
		opacity 300ms ease,
		transform 460ms cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--ibenlo-scroll-reveal-delay, 0ms);
	will-change: opacity, transform;
}

 body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-reveal-from-left {
	transform: translate3d(-1.6rem, 0, 0) scale(0.975);
}

 body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-reveal-from-right {
	transform: translate3d(1.6rem, 0, 0) scale(0.975);
}

 body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

 body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-revealed .ibenlo-media-frame,
body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-revealed .ibenlo-media-frame img,
body.home .ibenlo-card-portfolio[data-ibenlo-scroll-reveal].is-scroll-revealed picture {
	opacity: 1;
	visibility: visible;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-body-portfolio {
	padding: 0;
}

 body.home .ibenlo-card-portfolio .ibenlo-media-frame:after {
	display: none;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-actions-portfolio {
	gap: 0.9rem;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-action {
	width: auto;
	height: auto;
	color: #ffffff;
}

 body.home .ibenlo-card-portfolio .ibenlo-action-icon {
	border-color: rgba(255, 255, 255, 0.42);
	background: rgba(9, 14, 23, 0.58);
}

 body.home .ibenlo-card-portfolio .ibenlo-action-icon {
	width: 4rem;
	height: 4rem;
}

 body.home .ibenlo-card-portfolio .ibenlo-action-icon svg {
	width: 1.65rem;
	height: 1.65rem;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-action:hover .ibenlo-action-icon,
body.home .ibenlo-card-portfolio .ibenlo-card-action:focus-visible .ibenlo-action-icon {
	background: rgba(255, 255, 255, 0.96);
	border-color: rgba(255, 255, 255, 0.96);
	color: #10838b;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-heading-portfolio {
	display: flex;
	align-self: end;
	justify-content: stretch;
	width: 100%;
}

 body.home .ibenlo-card-portfolio .ibenlo-card-heading-portfolio h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	width: 100%;
	padding: 0.55rem 1rem;
	border: 0;
	border-radius: var(--square-card);
	background: rgba(15, 19, 28, 0.76);
	font-size: var(--ibenlo-type-h3);
	letter-spacing: 0.04em;
	line-height: 1.1;
}

 body.home .ibenlo-section-testimonials {
	--ibenlo-logo-size: 23.4375rem;
	--ibenlo-logo-visual-scale: 1.25;
	--ibenlo-logo-visual-space: 5.859375rem;
	--ibenlo-testimonial-arrow-size: 3.05rem;
	--ibenlo-testimonial-arrow-gap: 12px;
	--ibenlo-testimonial-arrow-offset: 0px;
	--ibenlo-testimonial-meta-bottom-space: 20px;
	--ibenlo-testimonial-profile-size: 10rem;
	padding-top: 0.35rem;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slider.is-mobile-slider {
	display: none;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-stage {
	perspective: 1600px;
	overflow: visible;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide {
	--tilt-rotate-x: 0deg;
	--tilt-rotate-y: 0deg;
	--tilt-shift-x: 0px;
	--tilt-shift-y: 0px;
	--tilt-lift: 0px;
	--tilt-glow-x: 50%;
	--tilt-glow-y: 22%;
	--tilt-glow-opacity: 0;
	padding:
		0.35rem
		calc(var(--ibenlo-testimonial-arrow-size) + var(--ibenlo-testimonial-arrow-gap) + var(--ibenlo-testimonial-arrow-offset))
		0.35rem
		0.2rem;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide::before {
	display: none;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-card {
	--tilt-rotate-x: 0deg;
	--tilt-rotate-y: 0deg;
	--tilt-shift-x: 0px;
	--tilt-shift-y: 0px;
	--tilt-lift: 0px;
	--tilt-glow-x: 50%;
	--tilt-glow-y: 22%;
	--tilt-glow-opacity: 0;
	position: relative;
	padding: 1.5rem 1.5rem var(--ibenlo-testimonial-meta-bottom-space);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--radius-card);
	background: var(--color-surface-strong);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
	transform-style: preserve-3d;
	will-change: transform, box-shadow;
	transform:
		perspective(1600px)
		rotateX(var(--tilt-rotate-x))
		rotateY(var(--tilt-rotate-y))
		translate3d(0, var(--tilt-lift), 0);
	transition:
		transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 260ms ease,
		border-color 220ms ease,
		background 220ms ease;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: var(--tilt-glow-opacity);
	background:
		radial-gradient(circle at var(--tilt-glow-x) var(--tilt-glow-y), rgba(255, 255, 255, 0.12), transparent 32%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 38%);
	transition: opacity 220ms ease;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-card.is-tilt-active {
	--tilt-lift: -4px;
	border-color: rgba(63, 234, 217, 0.28);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.12);
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-paired .ibenlo-testimonial-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-entry {
	display: flex;
	flex: 1 1 auto;
	align-items: stretch;
	height: 100%;
	transform: translate3d(calc(var(--tilt-shift-x) * 0.55), calc(var(--tilt-shift-y) * 0.55), 0);
	transform-style: preserve-3d;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-media,
body.home .ibenlo-section-testimonials .ibenlo-testimonial-media-mobile {
	border-radius: 50%;
	transform: translateZ(28px);
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-copy {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	align-content: stretch;
	width: 100%;
	height: 100%;
	min-height: 100%;
	gap: 0;
	transform: translateZ(18px);
}

 body.home .ibenlo-section-testimonials .ibenlo-kicker {
	display: none;
}

 body.home .ibenlo-section-testimonials .ibenlo-rich-copy,
body.home .ibenlo-section-testimonials .ibenlo-attribution span {
	color: var(--ibenlo-stage-paper-soft);
}

 body.home .ibenlo-section-testimonials .ibenlo-attribution span {
	font-size: 1.61rem;
	line-height: 1.2;
}

 body.home .ibenlo-section-testimonials .ibenlo-rich-copy p {
	margin: 0;
}

 body.home .ibenlo-section-testimonials .ibenlo-rich-copy {
	flex: 1 1 auto;
	min-height: 0;
	align-self: stretch;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-meta {
	display: inline-flex;
	align-items: center;
	align-self: end;
	justify-content: center;
	gap: 12px;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	padding-top: 1.5rem;
	margin: auto auto 0;
}

 body.home .ibenlo-section-testimonials .ibenlo-testimonial-media {
	width: var(--ibenlo-testimonial-profile-size);
	height: var(--ibenlo-testimonial-profile-size);
	flex: 0 0 var(--ibenlo-testimonial-profile-size);
	max-width: none;
	align-self: center;
	margin-bottom: 0;
}

 body.home .ibenlo-section-testimonials .ibenlo-attribution {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	margin: 0;
}

 body.home .ibenlo-section-testimonials .ibenlo-quote-mark {
	color: var(--ibenlo-stage-teal);
}

 body.home .ibenlo-section-testimonials .ibenlo-card-link {
	display: none;
}

 body.home .ibenlo-slider-controls {
	margin-top: 0.7rem;
	justify-content: center;
}

 body.home .ibenlo-slider-arrow-stack {
	right: var(--ibenlo-testimonial-arrow-offset);
	gap: 0.65rem;
}

 body.home .ibenlo-slider-arrow {
	width: var(--ibenlo-testimonial-arrow-size);
	height: var(--ibenlo-testimonial-arrow-size);
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.12);
	color: rgba(255, 248, 236, 0.98);
}

 body.home .ibenlo-slider-arrow:hover,
body.home .ibenlo-slider-arrow:focus-visible {
	background: rgba(63, 234, 217, 0.16);
	border-color: rgba(63, 234, 217, 0.42);
	color: var(--ibenlo-stage-paper);
}

 body.home .ibenlo-slider-dot {
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: transparent;
}

body.home .ibenlo-slider-dots {
	gap: 0;
}

 body.home .ibenlo-slider-dot.is-active:after,
body.home .ibenlo-slider-dot:hover:after {
	background: rgba(63, 234, 217, 0.16);
}

 body.home .ibenlo-slider-dot.is-active {
	width: 3.125rem;
}

 body.home .ibenlo-slider-dot:before {
	background: var(--ibenlo-stage-teal);
}

 body.home .ibenlo-slider-dot:after {
	background: rgba(63, 234, 217, 0.2);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-arrow {
	border-color: color-mix(in srgb, var(--ibenlo-stage-plum) 22%, rgba(23, 33, 49, 0.08));
	background: color-mix(in srgb, rgba(255, 255, 255, 0.78) 92%, var(--ibenlo-stage-plum) 8%);
	color: var(--ibenlo-stage-plum);
	box-shadow: 0 10px 20px rgba(30, 56, 89, 0.08);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-arrow:hover,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-arrow:focus-visible {
	background: color-mix(in srgb, var(--ibenlo-stage-teal) 14%, rgba(255, 255, 255, 0.62));
	border-color: color-mix(in srgb, var(--ibenlo-stage-teal) 44%, rgba(23, 33, 49, 0.08));
	color: #12312d;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-dot {
	background: transparent;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-dot:after {
	background: rgba(63, 234, 217, 0.2);
	box-shadow: inset 0 0 0 1px rgba(23, 33, 49, 0.08);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-dot.is-active:after,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-dot:hover:after {
	background: rgba(63, 234, 217, 0.18);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-slider-dot:before {
	background: var(--ibenlo-accent-line-fill);
}

 body.home .ibenlo-logo-marquee {
	margin-top: 0.85rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0.15rem 0;
	overflow: visible;
}

body.home .ibenlo-section-clients {
	padding-bottom: clamp(1.35rem, 2.6vw, 2.35rem);
}

 body.home .ibenlo-logo-track {
	display: grid;
	grid-template-columns: repeat(var(--ibenlo-visible-logos, 4), minmax(0, 1fr));
	align-items: center;
	gap: clamp(0.35rem, 0.85vw, 0.65rem);
	min-height: calc(var(--ibenlo-logo-size) + var(--ibenlo-logo-visual-space, 0rem) + 0.4rem);
	max-width: 100%;
	margin-inline: auto;
	overflow: visible;
}

 body.home .ibenlo-logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: calc(var(--ibenlo-logo-size) + var(--ibenlo-logo-visual-space, 0rem));
	padding: 0.15rem 0.35rem;
	border-radius: 0;
	background: transparent;
	cursor: default;
	overflow: visible;
	will-change: transform, opacity;
}

 body.home .ibenlo-logo-item.is-logo-hidden {
	display: none;
}

 body.home .ibenlo-logo-item.is-logo-active {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

 body.home .ibenlo-logo-item.is-logo-entering {
	animation: ibenloLogoIn 620ms cubic-bezier(0.16, 1, 0.3, 1) both;
	animation-delay: var(--ibenlo-logo-stagger, 0ms);
}

 body.home .ibenlo-logo-item.is-logo-exiting {
	animation: ibenloLogoOut 480ms cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: var(--ibenlo-logo-stagger, 0ms);
}

 body.home .ibenlo-logo-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	cursor: default;
	pointer-events: none;
}

 body.home .ibenlo-logo-item img,
body.home .ibenlo-logo-item .ibenlo-logo-svg {
	display: block;
	width: 100%;
	height: var(--ibenlo-logo-size);
	max-width: none;
	max-height: none;
	margin-inline: auto;
	object-fit: contain;
	object-position: center;
}

 body.home .ibenlo-logo-item img {
	transform: scale(var(--ibenlo-logo-visual-scale, 1));
	transform-origin: center;
}

 body.home .ibenlo-logo-item .ibenlo-logo-svg {
	overflow: visible;
}

 body.home .ibenlo-logo-item .ibenlo-logo-svg .ibenlo-logo-art {
	transform-box: fill-box;
	transform-origin: center;
}

 body.home.ibenlo-stage-theme:not(.ibenlo-light-mode) .ibenlo-stage-shell-testimonials .ibenlo-logo-item img {
	filter: brightness(0) saturate(100%) invert(15%) sepia(19%) saturate(1107%) hue-rotate(210deg) brightness(92%) contrast(95%);
	opacity: 0.94;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-shell-testimonials .ibenlo-logo-item img,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-shell-testimonials .ibenlo-logo-item .ibenlo-logo-svg {
	filter: brightness(0) saturate(100%) invert(13%) sepia(20%) saturate(1246%) hue-rotate(211deg) brightness(87%) contrast(96%);
	mix-blend-mode: multiply;
	opacity: 1;
}

 body.home .ibenlo-contact-panel,
body.home .ibenlo-site-footer__grid {
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.16);
	backdrop-filter: none;
}

 body.home .ibenlo-contact-panel {
	--ibenlo-ambient-blob-color: rgba(63, 234, 217, 0.16);
	--ibenlo-ambient-blob-size: 28%;
	--ibenlo-ambient-x-default: 24%;
	--ibenlo-ambient-y-default: 18%;
	border-radius: var(--ibenlo-contact-panel-radius);
	background: linear-gradient(180deg, rgba(19, 27, 41, 0.95), rgba(12, 18, 30, 0.98));
}

 body.home .ibenlo-site-footer__grid {
	border-radius: var(--radius-card);
	background: rgba(7, 10, 16, 0.48);
}

 body.home .ibenlo-contact-form-wrap {
	background: rgba(8, 12, 19, 0.78);
}

 body.home .ibenlo-contact-form label,
body.home .ibenlo-site-footer__intro h2,
body.home .ibenlo-footer-nav__list a,
body.home .ibenlo-site-footer__legal a,
body.home .ibenlo-contact-direct a {
	color: var(--ibenlo-stage-paper);
}

 body.home .ibenlo-contact-form input,
body.home .ibenlo-contact-form textarea {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.06);
	color: var(--ibenlo-stage-paper);
}

 body.home .ibenlo-contact-direct span,
body.home .ibenlo-site-footer__legal,
body.home .ibenlo-social-meta span {
	color: var(--ibenlo-stage-paper-soft);
}

 body.home .ibenlo-social-card {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.04);
	color: var(--ibenlo-stage-paper);
}

 body.home .ibenlo-social-card:hover {
	border-color: color-mix(in srgb, var(--ibenlo-social-accent) 40%, rgba(255, 255, 255, 0.12));
	background: color-mix(in srgb, var(--ibenlo-social-accent) 12%, rgba(255, 255, 255, 0.04));
}

 body.home .ibenlo-social-icon {
	background: color-mix(in srgb, var(--ibenlo-social-accent) 16%, rgba(255, 255, 255, 0.04));
	border-color: color-mix(in srgb, var(--ibenlo-social-accent) 34%, rgba(255, 255, 255, 0.12));
	color: var(--ibenlo-social-accent);
}

 body.home .ibenlo-social-icon.is-compact {
	background: transparent;
	border-color: transparent;
}

 body.home .ibenlo-contact-submit {
	background: transparent;
	color: var(--ibenlo-stage-lime);
}

 body.home .ibenlo-site-footer {
	--ibenlo-footer-floor-bg: var(--ibenlo-stage-nav-plum);
	position: relative;
	z-index: 3;
	isolation: isolate;
	padding: 1.85rem 0 0;
	min-height: 6rem;
	background: var(--ibenlo-footer-floor-bg) !important;
	background-color: var(--ibenlo-footer-floor-bg) !important;
	background-image: none !important;
	box-shadow: 0 80vh 0 80vh var(--ibenlo-footer-floor-bg);
}

 body.home .ibenlo-site-footer::after {
	content: "";
	display: block;
	height: max(2rem, env(safe-area-inset-bottom));
	background: var(--ibenlo-footer-floor-bg);
	pointer-events: none;
}

 body.home .ibenlo-stage-main,
body.home #main-content,
body.home #main-content.main-content,
body.home #page {
	background-color: #101721;
}

 body.home .ibenlo-site-footer {
	background-color: var(--ibenlo-footer-floor-bg) !important;
}

 body.home .ibenlo-site-footer {
	margin-bottom: 0;
}

 body.home .ibenlo-site-footer__legal {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.15rem;
	text-align: center;
}

body.home .ibenlo-site-footer__legal .ibenlo-social-link-compact {
	width: 2.65rem;
	height: 2.65rem;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-panel,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer__grid {
	border-color: rgba(23, 33, 49, 0.1);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 248, 252, 0.96));
	box-shadow: 0 18px 44px rgba(30, 56, 89, 0.1);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form-wrap {
	background: rgba(255, 255, 255, 0.92);
	box-shadow: inset 0 0 0 1px rgba(23, 33, 49, 0.08);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form input,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form textarea {
	border-color: rgba(23, 33, 49, 0.14);
	background: rgba(23, 33, 49, 0.04);
	color: var(--ibenlo-stage-ink);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form input::placeholder,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form textarea::placeholder {
	color: rgba(23, 33, 49, 0.42);
	opacity: 1;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-copy .ibenlo-rich-copy,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-direct span,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-social-meta span {
	color: var(--ibenlo-stage-paper-soft);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-copy .ibenlo-stage-kicker {
	color: var(--ibenlo-stage-readable-green);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form label > span {
	color: var(--ibenlo-stage-plum);
}

	 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-kicker {
		color: var(--ibenlo-stage-readable-green);
	}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-kicker.ibenlo-stage-kicker--neutral {
	color: var(--color-text-muted);
}

body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-copy .ibenlo-social-link-icon,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-social .ibenlo-social-link-icon,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-copy .ibenlo-social-card,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-social .ibenlo-social-card {
	--ibenlo-contact-social-surface: color-mix(in srgb, var(--ibenlo-stage-plum) 14%, rgba(255, 255, 255, 0.96));
	--ibenlo-contact-social-border: color-mix(in srgb, var(--ibenlo-stage-plum) 42%, rgba(23, 33, 49, 0.18));
	--ibenlo-contact-social-icon-color: var(--ibenlo-stage-plum);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.8),
		0 8px 20px rgba(30, 56, 89, 0.06),
		0 0 0 1px rgba(44, 38, 70, 0.06);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode {
	--ibenlo-primary-button-fill: linear-gradient(135deg, rgba(44, 38, 70, 0.98), rgba(58, 49, 90, 0.96));
	--ibenlo-primary-button-text-on-fill: #ffffff;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-card-link.is-primary,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-submit {
	border-color: rgba(44, 38, 70, 0.74);
	color: var(--ibenlo-stage-plum);
	box-shadow: inset 0 0 0 1px rgba(44, 38, 70, 0.08);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-card-link.is-primary:hover,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-card-link.is-primary:focus-visible,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-submit:hover,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-submit:focus-visible {
	border-color: rgba(44, 38, 70, 0.92);
	box-shadow: 0 12px 28px rgba(44, 38, 70, 0.22);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form input:focus,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-contact-form textarea:focus {
	border-color: color-mix(in srgb, var(--ibenlo-stage-plum) 40%, rgba(23, 33, 49, 0.14));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ibenlo-stage-plum) 14%, transparent);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer {
	--ibenlo-footer-floor-bg: var(--ibenlo-stage-nav-plum);
	background: var(--ibenlo-footer-floor-bg) !important;
	background-color: var(--ibenlo-footer-floor-bg) !important;
	background-image: none !important;
	border-top-color: rgba(255, 255, 255, 0.12);
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode #main,
body.home.ibenlo-stage-theme.ibenlo-light-mode #main.site-main,
body.home.ibenlo-stage-theme.ibenlo-light-mode #page,
body.home.ibenlo-stage-theme.ibenlo-light-mode #main-content,
body.home.ibenlo-stage-theme.ibenlo-light-mode #main-content.main-content {
	background-color: #eef3f8;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode #page {
	box-shadow: 0 100vh 0 100vh #eef3f8;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer__legal,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer__legal a,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer__legal .ibenlo-social-link-compact,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer__legal .ibenlo-social-icon.is-compact {
	color: rgba(255, 255, 255, 0.78);
}

 body.home.ibenlo-stage-theme #site-header-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1200;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header-wrapper,
body.home.ibenlo-stage-theme #site-header-wrapper.ibenlo-nav-on-hero,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-on-hero,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-on-hero.fixed,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-on-hero.shrink,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .header-background,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .header-background,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .header-background,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .header-main,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .header-main,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .header-main,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .header-background > .container,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .header-background > .container,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .header-background > .container,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed.shrink {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-color: transparent !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .header-background::before,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .header-background::before,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .header-background::before,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed.shrink .header-background::before {
	background: transparent !important;
	background-color: transparent !important;
	opacity: 0 !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .site-title a img.default,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .menu-item-logo a img.default,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .site-title a img.default,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .menu-item-logo a img.default,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .site-title a img.default,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .menu-item-logo a img.default {
	opacity: 1 !important;
	transition: none !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .site-title a img.small,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header .menu-item-logo a img.small,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .site-title a img.small,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.fixed .menu-item-logo a img.small,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .site-title a img.small,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero #site-header.shrink .menu-item-logo a img.small {
	opacity: 0 !important;
	transition: none !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #site-header .site-title,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #site-header .site-logo,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) .site-title,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) .site-logo {
	opacity: 0;
	pointer-events: none;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .site-title,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .site-logo,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero .site-title,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero .site-logo {
	opacity: 1 !important;
	pointer-events: auto !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header-wrapper,
body.home.ibenlo-stage-theme #site-header-wrapper.ibenlo-nav-past-hero {
	background: transparent !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .header-background {
	background: var(--ibenlo-stage-nav-plum) !important;
	background-color: var(--ibenlo-stage-nav-plum) !important;
	background-image: none !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

 body.home.ibenlo-stage-theme #site-header-wrapper.ibenlo-nav-hidden {
	transform: translate3d(0, var(--ibenlo-nav-hide-translate, -7.5rem), 0);
	opacity: 0;
	pointer-events: none;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .menu-toggle,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .menu-toggle {
	color: var(--ibenlo-stage-plum) !important;
}

 body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-on-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode.ibenlo-nav-past-hero #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-3 {
	background-color: var(--ibenlo-stage-plum) !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .menu-toggle,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .menu-toggle {
	color: #fffaf0 !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active:not(.close) .menu-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation.overlay-active.close .menu-toggle .menu-line-3 {
	background-color: #fffaf0 !important;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .menu-toggle {
	color: var(--ibenlo-stage-plum) !important;
}

body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-light-mode #primary-navigation.overlay-active .menu-toggle .menu-line-3 {
	background-color: var(--ibenlo-stage-plum) !important;
}

 @media (max-width: 1024px) {
	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide {
		padding: 0.35rem 3.6rem 0.35rem 0.2rem;
	}

	 body.home .ibenlo-section-testimonials {
		--ibenlo-logo-size: 21.484375rem;
		--ibenlo-logo-visual-space: 5.37109375rem;
		--ibenlo-testimonial-profile-size: 10rem;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-grid {
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-paired .ibenlo-testimonial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-entry {
		display: flex;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-copy {
		gap: 0;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-meta {
		display: inline-flex;
		align-items: center;
		align-self: end;
		justify-content: center;
		gap: 12px;
		width: fit-content;
		margin: auto auto 0;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-media {
		width: var(--ibenlo-testimonial-profile-size);
		height: var(--ibenlo-testimonial-profile-size);
		flex: 0 0 var(--ibenlo-testimonial-profile-size);
		max-width: none;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-attribution {
		text-align: left;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5rem), 1fr));
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-feature,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-tall,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-wide {
		grid-column: span 1;
	}
}

@media (max-width: 1120px) {
	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy {
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 1.25rem;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy .ibenlo-filters {
		justify-self: center;
		width: max-content;
		inline-size: max-content;
		max-width: 100%;
		max-inline-size: 100%;
		margin-inline: auto;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy {
		width: 100%;
		max-width: min(100%, 62rem);
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-copy__title {
		font-size: var(--ibenlo-type-main-header-mobile);
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5rem), 1fr));
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-feature,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-tall,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-wide {
		grid-column: span 1;
	}
}

 @media (max-width: 767px) {
	 body.home .ibenlo-section-portfolio .ibenlo-filters::before {
		display: none;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar {
		width: 100%;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy .ibenlo-filters,
body.home .ibenlo-section-portfolio .ibenlo-filters {
		display: inline-flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		width: 100%;
		inline-size: 100%;
		max-width: none;
		max-inline-size: none;
		margin-inline: auto;
		gap: 0.25rem;
		overflow-x: auto;
		scrollbar-width: none;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filters::-webkit-scrollbar {
		display: none;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-paired .ibenlo-testimonial-grid {
		grid-template-columns: 1fr;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-feature,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-tall,
body.home .ibenlo-section-portfolio .ibenlo-card-grid-portfolio .ibenlo-card-size-wide {
		grid-column: span 1;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filter {
		width: auto;
		min-width: max-content;
		min-height: 2.95rem;
		flex: 1 1 auto;
		padding-inline: clamp(0.75rem, 3vw, 1.6rem);
		justify-content: center;
		font-size: clamp(1.1rem, 2.6vw, 1.2rem);
		white-space: nowrap;
	}

	 body.home .ibenlo-section-testimonials {
		--ibenlo-logo-size: clamp(6.5rem, 19vw, 8.75rem);
		--ibenlo-logo-visual-scale: 1.05;
		--ibenlo-logo-visual-space: 1rem;
		--ibenlo-testimonial-profile-size: 11rem;
	}

	 body.home .ibenlo-section-clients {
		position: relative;
		z-index: 2;
		margin-top: clamp(1rem, 4vw, 1.75rem);
		padding-bottom: clamp(2.35rem, 7vw, 3.65rem);
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slider.is-desktop-slider {
		display: none;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slider.is-mobile-slider {
		display: block;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-media {
		width: min(var(--ibenlo-testimonial-profile-size), 56vw);
		max-width: 60%;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-stage {
		perspective: none;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide {
		backface-visibility: visible;
		transform-style: flat;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-flipping-out.is-flip-forward {
		animation: ibenloHomeTestimonialMobileOutForward 360ms cubic-bezier(0.22, 0.9, 0.24, 1) both;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-flipping-in.is-flip-forward {
		animation: ibenloHomeTestimonialMobileInForward 360ms cubic-bezier(0.16, 1, 0.3, 1) both;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-flipping-out.is-flip-backward {
		animation: ibenloHomeTestimonialMobileOutBackward 360ms cubic-bezier(0.22, 0.9, 0.24, 1) both;
	}

	 body.home .ibenlo-section-testimonials .ibenlo-testimonial-slide.is-flipping-in.is-flip-backward {
		animation: ibenloHomeTestimonialMobileInBackward 360ms cubic-bezier(0.16, 1, 0.3, 1) both;
	}

	 body.home .ibenlo-logo-track {
		gap: clamp(0.15rem, 1.8vw, 0.45rem);
	}

	 body.home .ibenlo-stage-testimonial-bgplane__image {
		--ibenlo-testimonial-bg-overscan: clamp(144px, 20vh, 208px);
		background-image: url("../images/sections/testimonials-harbor-mobile.webp");
		background-size: cover;
	}

	 body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-stage-testimonial-bgplane__image {
		background-image: url("../images/sections/testimonials-lisbon-blurred-light-mobile.webp");
	}

	 body.home .ibenlo-card-portfolio .ibenlo-card-body-portfolio {
		opacity: 0;
		pointer-events: none;
	}

	 body.home .ibenlo-card-portfolio .ibenlo-card-overlay-panel {
		opacity: 0;
		transform: translateY(18px);
	}

	 body.home .ibenlo-card-portfolio.is-mobile-active .ibenlo-card-body-portfolio {
		opacity: 1;
		pointer-events: auto;
	}

	 body.home .ibenlo-card-portfolio.is-mobile-active .ibenlo-card-overlay-panel {
		opacity: 1;
		transform: translateY(0);
	}

	 body.home .ibenlo-card-portfolio .ibenlo-media-frame:after {
		transform: translateY(0);
	}
}

@keyframes ibenloHomeTestimonialMobileOutForward {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
		transform: translate3d(0, -0.65rem, 0);
	}
}

@keyframes ibenloHomeTestimonialMobileInForward {
	0% {
		opacity: 0;
		transform: translate3d(0, 0.65rem, 0);
	}

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

@keyframes ibenloHomeTestimonialMobileOutBackward {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	100% {
		opacity: 0;
		transform: translate3d(0, 0.65rem, 0);
	}
}

@keyframes ibenloHomeTestimonialMobileInBackward {
	0% {
		opacity: 0;
		transform: translate3d(0, -0.65rem, 0);
	}

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

@media (max-width: 767px) {
	body.home .ibenlo-card-portfolio:hover .ibenlo-card-body-portfolio,
	body.home .ibenlo-card-portfolio:focus-within .ibenlo-card-body-portfolio {
		opacity: 1;
		pointer-events: auto;
	}

	body.home .ibenlo-card-portfolio:hover .ibenlo-card-overlay-panel,
	body.home .ibenlo-card-portfolio:focus-within .ibenlo-card-overlay-panel {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 459px) {
	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy .ibenlo-filters,
body.home .ibenlo-section-portfolio .ibenlo-filters {
		width: 100%;
		inline-size: 100%;
		max-width: none;
		max-inline-size: none;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-portfolio-toolbar.has-portfolio-copy .ibenlo-filters,
body.home .ibenlo-section-portfolio .ibenlo-filters {
		justify-content: space-evenly;
		gap: 0.16rem;
		padding-inline: 0.28rem;
		overflow-x: hidden;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filter {
		flex: 1 1 0;
		min-width: 0;
		min-height: 3.05rem;
		padding-inline: 1.2rem;
		font-size: 1.12rem;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filter:not([data-filter="all"]) {
		min-width: 3.9rem;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filter:not([data-filter="all"]) .ibenlo-filter__icon {
		display: inline-block;
	}

	 body.home .ibenlo-section-portfolio .ibenlo-filter:not([data-filter="all"]) .ibenlo-filter__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}
}

 @media (max-width: 639px) {
	 body.home .ibenlo-section-portfolio .ibenlo-card-grid {
		grid-template-columns: 1fr;
	}
}

 body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header-wrapper,
body.home.ibenlo-stage-theme #site-header-wrapper.ibenlo-nav-past-hero,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .header-background,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero .header-background,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .header-main,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero .header-main,
body.home.ibenlo-stage-theme.ibenlo-nav-past-hero #site-header .header-background > .container,
body.home.ibenlo-stage-theme #site-header.ibenlo-nav-past-hero .header-background > .container {
	background: var(--ibenlo-stage-chrome-bg) !important;
	background-color: var(--ibenlo-stage-chrome-bg) !important;
	background-image: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle {
	color: #fffaf0 !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-3,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-1,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-2,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .overlay-toggle .menu-line-3,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-1,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-2,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #primary-navigation .menu-toggle .menu-line-3 {
	background-color: #fffaf0 !important;
}

 body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #site-header .site-title,
body.home.ibenlo-stage-theme.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) #site-header .site-logo,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) .site-title,
body.home.ibenlo-stage-theme:not(.ibenlo-nav-past-hero) #site-header.ibenlo-nav-on-hero:not(.ibenlo-nav-past-hero) .site-logo {
	opacity: 0;
	pointer-events: none;
}

 body.home .ibenlo-stage-main > .ibenlo-site-footer,
body.home .ibenlo-site-footer,
body.home.ibenlo-stage-theme.ibenlo-light-mode .ibenlo-site-footer {
	--ibenlo-footer-floor-bg: var(--ibenlo-stage-chrome-bg);
	position: relative;
	z-index: 3;
	isolation: isolate;
	min-height: 6rem;
	margin-bottom: 0;
	padding: 1.85rem 0 0;
	background: var(--ibenlo-stage-chrome-bg) !important;
	background-color: var(--ibenlo-stage-chrome-bg) !important;
	background-image: none !important;
	border-color: transparent !important;
	box-shadow: 0 80vh 0 80vh var(--ibenlo-stage-chrome-bg) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

 body.home .ibenlo-site-footer::after {
	content: "";
	display: block;
	height: max(2rem, env(safe-area-inset-bottom));
	background: var(--ibenlo-stage-chrome-bg) !important;
	pointer-events: none;
}
