:root {
	--ge-accent: #2367d1;
	--ge-ink: #17202a;
	--ge-muted: #5d6874;
	--ge-line: #dbe1e7;
	--ge-surface: #fff;
}

.ge-widget,
.ge-widget * {
	box-sizing: border-box;
}

.ge-widget {
	--ge-radius: 5px;
	--ge-shadow: none;
	--ge-space: 24px;
	--ge-transition: .2s ease;
	color: var(--ge-ink);
}

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

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

.ge-widget :focus-visible {
	outline: 3px solid #2367d1;
	outline: 3px solid color-mix(in srgb, var(--ge-accent) 72%, #fff);
	outline-offset: 3px;
}

.ge-widget .ge-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 2px solid transparent;
	border-radius: 4px;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: filter var(--ge-transition), transform var(--ge-transition), box-shadow var(--ge-transition), background-color var(--ge-transition), color var(--ge-transition), border-color var(--ge-transition);
}

.ge-widget .ge-button:hover {
	filter: brightness(.92);
	transform: translateY(-1px);
}

.ge-widget .ge-button--primary {
	color: #fff;
	background: var(--ge-accent);
}

.ge-widget .ge-button--secondary {
	color: var(--ge-accent);
	border-color: currentColor;
	background: transparent;
}

.ge-widget .ge-text-link,
.ge-widget .ge-link-button {
	color: var(--ge-accent);
	font: inherit;
	font-weight: 700;
	text-decoration: none;
}

.ge-widget .ge-link-button {
	padding: 5px 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ge-empty {
	padding: 16px;
	border-left: 3px solid #c7831d;
	background: #fff8e8;
}

.ge-advanced-heading__eyebrow {
	display: inline-flex;
	width: max-content;
	margin-bottom: 8px;
	color: var(--ge-accent);
	font-size: .82em;
	font-weight: 750;
	text-transform: uppercase;
}

.ge-advanced-heading__title {
	margin: 0;
	color: var(--ge-ink);
}

.ge-advanced-heading__highlight {
	--ge-heading-highlight-bg: rgba(29, 111, 216, .18);
	--ge-heading-highlight-bg: color-mix(in srgb, var(--ge-accent) 18%, transparent);
	position: relative;
	color: var(--ge-accent);
}

.ge-advanced-heading--marker .ge-advanced-heading__highlight {
	padding: 0 .12em;
	box-shadow: inset 0 -.42em var(--ge-heading-highlight-bg);
}

.ge-advanced-heading--underline .ge-advanced-heading__highlight {
	border-bottom: .12em solid currentColor;
}

.ge-advanced-heading--outline .ge-advanced-heading__highlight {
	display: inline-block;
	padding: .06em .24em .1em;
	border: .06em solid currentColor;
	border-radius: .18em;
}

.ge-advanced-heading__description {
	max-width: 70ch;
	margin-top: 14px;
}

.ge-info-box {
	display: flex;
	gap: 18px;
	padding: 24px;
	background: var(--ge-surface);
}

.ge-info-box--vertical {
	flex-direction: column;
}

.ge-info-box__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	color: var(--ge-accent);
	font-size: 36px;
	line-height: 1;
}

.ge-info-box--icon-filled .ge-info-box__icon,
.ge-feature-list--icon-filled .ge-feature-list__icon {
	color: #fff;
	background: var(--ge-accent);
}

.ge-info-box--icon-outline .ge-info-box__icon,
.ge-feature-list--icon-outline .ge-feature-list__icon {
	border: 1px solid currentColor;
}

.ge-info-box--icon-filled .ge-info-box__icon,
.ge-info-box--icon-outline .ge-info-box__icon {
	width: 1.8em;
	height: 1.8em;
	border-radius: 4px;
}

.ge-info-box__description > :first-child { margin-top: 0; }
.ge-info-box__description > :last-child { margin-bottom: 0; }
.ge-info-box__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; }

.ge-info-box__icon svg,
.ge-feature-list__icon svg,
.ge-flip-box__icon svg,
.ge-timeline__marker svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.ge-info-box__title,
.ge-feature-list__title {
	margin: 0 0 8px;
	color: var(--ge-ink);
}

.ge-feature-list {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ge-feature-list--grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ge-feature-list__item {
	display: flex;
	gap: 14px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--ge-line);
	transition: color var(--ge-transition), border-color var(--ge-transition), background-color var(--ge-transition), transform var(--ge-transition);
}

.ge-feature-list__icon {
	display: grid;
	flex: 0 0 auto;
	width: 1.8em;
	height: 1.8em;
	place-items: center;
	border-radius: 4px;
	color: var(--ge-accent);
	font-size: 22px;
}

.ge-feature-list__icon-graphic,
.ge-feature-list__number {
	display: grid;
	place-items: center;
}

.ge-feature-list__number {
	display: none;
	font-size: .72em;
	font-weight: 750;
	line-height: 1;
}

.ge-feature-list__item p,
.ge-price-list__item p,
.ge-timeline__item p {
	margin: 0;
}

.ge-dual-button {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: inherit;
}

.ge-dual-button .ge-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ge-dual-button .ge-button svg { width: 1em; height: 1em; fill: currentColor; }
.ge-dual-button--small .ge-button { min-height: 36px; padding: 8px 14px; }
.ge-dual-button--medium .ge-button { min-height: 44px; padding: 11px 19px; }
.ge-dual-button--large .ge-button { min-height: 52px; padding: 14px 26px; }
.ge-dual-button--equal-yes .ge-button { flex: 1 1 0; }

.ge-flip-box {
	min-height: 320px;
	perspective: 1200px;
}

.ge-flip-box__inner {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	transition: transform .55s ease;
	transform-style: preserve-3d;
}

.ge-flip-box.is-flipped .ge-flip-box__inner {
	transform: rotateY(180deg);
}

.ge-flip-box__face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 28px;
	border: 1px solid var(--ge-line);
	border-radius: 6px;
	background: var(--ge-surface);
	backface-visibility: hidden;
}

.ge-flip-box__back {
	color: #fff;
	background: var(--ge-ink);
	transform: rotateY(180deg);
}

.ge-flip-box__icon {
	font-size: 36px;
}

.ge-image-compare {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 4px;
	background: #e8ebef;
}

.ge-image-compare__image {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.ge-image-compare__before {
	position: absolute;
	inset: 0;
	width: 100%;
	clip-path: inset(0 calc(100% - var(--ge-compare)) 0 0);
}

.ge-image-compare__before .ge-image-compare__image {
	width: 100%;
}

.ge-image-compare__line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--ge-compare);
	width: 3px;
	background: #fff;
	transform: translateX(-50%);
	pointer-events: none;
}

.ge-image-compare__handle {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 2px solid #fff;
	border-radius: 50%;
	color: var(--ge-ink);
	background: #fff;
	transform: translate(-50%, -50%);
}

.ge-image-compare__label {
	position: absolute;
	top: 14px;
	padding: 5px 9px;
	border-radius: 3px;
	color: #fff;
	background: rgba(0, 0, 0, .72);
	font-size: 13px;
}

.ge-image-compare__label--before { left: 14px; }
.ge-image-compare__label--after { right: 14px; }

.ge-image-compare__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
}

.ge-hotspots {
	position: relative;
	width: 100%;
}

.ge-hotspots > img {
	width: 100%;
}

.ge-hotspot {
	position: absolute;
	z-index: 2;
	transform: translate(-50%, -50%);
}

.ge-widget .ge-hotspot__button {
	display: grid;
	width: 38px;
	height: 38px;
	min-height: 38px;
	place-items: center;
	padding: 0;
	border: 3px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	color: #fff;
	background: var(--ge-accent);
	font: inherit;
	font-size: 22px;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}

.ge-hotspot__popover {
	position: absolute;
	z-index: 3;
	left: calc(100% + 10px);
	top: 50%;
	width: min(240px, 70vw);
	padding: 12px;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	color: var(--ge-ink);
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
	transform: translateY(-50%);
}

.ge-hotspot__popover p { margin: 5px 0 0; }

.ge-modal__dialog {
	width: min(90vw, 680px);
	max-height: 85vh;
	padding: 0;
	border: 0;
	border-radius: 6px;
	color: var(--ge-ink);
	background: #fff;
	box-shadow: 0 20px 70px rgba(0, 0, 0, .28);
}

.ge-modal__dialog--small { max-width: 440px; }
.ge-modal__dialog--large { max-width: 960px; }
.ge-modal__dialog::backdrop { background: rgba(9, 14, 20, .68); }
.ge-modal__header,
.ge-modal__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	border-bottom: 1px solid var(--ge-line);
}

.ge-modal__header h2 { margin: 0; }
.ge-modal__footer { justify-content: flex-end; border-top: 1px solid var(--ge-line); border-bottom: 0; }
.ge-modal__content { padding: 22px; overflow: auto; }
.ge-widget .ge-modal__x { min-width: 44px; min-height: 44px; padding: 0; border: 0; color: inherit; background: transparent; font-size: 28px; cursor: pointer; }

.ge-content-toggle__tabs {
	display: inline-flex;
	padding: 4px;
	border: 1px solid var(--ge-line);
	border-radius: 6px;
	background: #f5f7f9;
}

.ge-widget .ge-content-toggle__tab {
	min-height: 42px;
	padding: 8px 18px;
	border: 0;
	border-radius: 4px;
	color: var(--ge-ink);
	background: transparent;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.ge-widget .ge-content-toggle__tab[aria-selected="true"] {
	color: #fff;
	background: var(--ge-accent);
}

.ge-content-toggle__panel { padding-top: 22px; }

.ge-timeline {
	position: relative;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ge-timeline::before {
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 20px;
	width: 2px;
	background: var(--ge-line);
	content: '';
}

.ge-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 18px;
	padding-bottom: 28px;
}

.ge-timeline__marker {
	position: relative;
	z-index: 1;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 4px solid #fff;
	border-radius: 50%;
	color: #fff;
	background: var(--ge-accent);
}

.ge-timeline__date { color: var(--ge-accent); font-size: 13px; font-weight: 700; }
.ge-timeline__item h3 { margin: 3px 0 6px; }

.ge-logo-carousel {
	--ge-logo-columns: 4;
	--ge-logo-gap: 24px;
}

.ge-carousel-controls {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 12px;
}

.ge-widget .ge-carousel-controls button {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
}

.ge-logo-carousel__track {
	display: flex;
	gap: var(--ge-logo-gap);
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.ge-logo-carousel__item {
	display: grid;
	min-width: calc((100% - (var(--ge-logo-columns) - 1) * var(--ge-logo-gap)) / var(--ge-logo-columns));
	min-height: 100px;
	place-items: center;
	padding: 14px;
	scroll-snap-align: start;
}

.ge-logo-carousel__item img { width: auto; max-height: 72px; object-fit: contain; }
.ge-logo-carousel--grayscale img { filter: grayscale(1); opacity: .75; transition: filter .2s ease, opacity .2s ease; }
.ge-logo-carousel--grayscale a:hover img,
.ge-logo-carousel--grayscale a:focus img { filter: none; opacity: 1; }

.ge-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.ge-post-card {
	overflow: hidden;
	background: #fff;
}

.ge-post-card__image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.ge-post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.ge-post-card__body { padding: 20px; }
.ge-post-card__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; color: var(--ge-muted); font-size: 13px; }
.ge-post-card__meta > * + *::before { margin-right: 12px; content: '/'; opacity: .45; }
.ge-post-card__title { margin: 7px 0 10px; }
.ge-post-card__title a { color: inherit; text-decoration: none; transition: color var(--ge-transition); }
.ge-post-card__excerpt { margin: 0 0 14px; }

.ge-posts-grid--side .ge-post-card { display: grid; grid-template-columns: minmax(120px, 42%) minmax(0, 1fr); }
.ge-posts-grid--side .ge-post-card__image { height: 100%; aspect-ratio: auto; }
.ge-post-image-square .ge-post-card__image { aspect-ratio: 1 / 1; }
.ge-post-image-landscape .ge-post-card__image { aspect-ratio: 16 / 10; }
.ge-post-image-wide .ge-post-card__image { aspect-ratio: 16 / 9; }
.ge-post-image-portrait .ge-post-card__image { aspect-ratio: 4 / 5; }
.ge-post-card__image img { transition: transform .4s ease, opacity .3s ease; }
.ge-post-hover-zoom .ge-post-card:hover .ge-post-card__image img { transform: scale(1.045); }
.ge-post-hover-fade .ge-post-card:hover .ge-post-card__image img { opacity: .76; }

.ge-posts-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
}

.ge-posts-pagination a {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	color: var(--ge-ink);
	background: var(--ge-surface);
	text-decoration: none;
}

.ge-posts-pagination a[aria-current="page"] { border-color: var(--ge-accent); color: #fff; background: var(--ge-accent); }

.ge-business-hours__row {
	display: flex;
	min-height: 46px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 12px;
	border-bottom: 1px solid var(--ge-line);
}

.ge-business-hours__row--today { background: #eef5ff; }

.ge-price-list__item {
	display: flex;
	gap: 16px;
	padding: 18px 0;
	background-color: color-mix(in srgb, var(--ge-price-item-background, transparent) var(--ge-price-item-opacity, 100%), transparent);
}

.ge-price-list--dividers .ge-price-list__item { border-bottom: 1px solid var(--ge-line); }
.ge-price-list__item img { width: 72px; height: 72px; flex: 0 0 72px; border-radius: 4px; object-fit: cover; }
.ge-price-list__content { min-width: 0; flex: 1; }
.ge-price-list__line { display: flex; align-items: baseline; gap: 9px; }
.ge-price-list__line h3 { margin: 0; }
.ge-price-list__line h3 a { color: inherit; text-decoration: none; }
.ge-price-list__dots { min-width: 20px; flex: 1; border-bottom: 1px dotted currentColor; opacity: .35; }
.ge-price-list__price { flex: 0 0 auto; color: var(--ge-accent); }

.ge-woo-products :is(ul, div).products {
	display: grid !important;
	grid-template-columns: repeat(var(--ge-products-columns, 4), minmax(0, 1fr)) !important;
	margin-bottom: 0;
}

.ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

.ge-woo-products--custom-card :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	background-color: color-mix(in srgb, var(--ge-product-card-background, #fff) var(--ge-product-card-opacity, 100%), transparent) !important;
}

.ge-woo-products--custom-card :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) :is(.product-element-bottom, .wd-product-card, .wd-product-card-bg, .wrapp-swatches) {
	background-color: transparent !important;
}

@media (max-width: 1024px) {
	.ge-woo-products :is(ul, div).products {
		grid-template-columns: repeat(var(--ge-products-columns-tablet, 2), minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.ge-woo-products :is(ul, div).products {
		grid-template-columns: repeat(var(--ge-products-columns-mobile, 1), minmax(0, 1fr)) !important;
	}
}

.ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable) {
	color: var(--ge-product-button-text) !important;
	background-color: color-mix(in srgb, var(--ge-product-button-background) var(--ge-product-button-opacity, 100%), transparent) !important;
}

.ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable):is(:hover, :focus-visible) {
	color: var(--ge-product-button-hover-text, var(--ge-product-button-text)) !important;
	background-color: var(--ge-product-button-hover-background) !important;
}

.ge-faq__item {
	border-bottom: 1px solid var(--ge-line);
}

.ge-faq__item summary {
	position: relative;
	min-height: 52px;
	padding: 15px 42px 15px 0;
	color: var(--ge-ink);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.ge-faq__item summary::-webkit-details-marker { display: none; }
.ge-faq__item summary span::before,
.ge-faq__item summary span::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 14px;
	height: 2px;
	background: currentColor;
	content: '';
	transform: translateY(-50%);
}

.ge-faq__item summary span::after { transform: translateY(-50%) rotate(90deg); transition: transform .2s ease; }
.ge-faq__item[open] summary span::after { transform: translateY(-50%) rotate(0); }
.ge-faq__answer { padding: 0 42px 18px 0; }
.ge-faq__answer > :last-child { margin-bottom: 0; }

.ge-advanced-tabs__tabs {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	border-bottom: 1px solid var(--ge-line);
}

.ge-widget .ge-advanced-tabs__tab {
	display: inline-flex;
	min-height: 46px;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 0;
	border-radius: 4px 4px 0 0;
	color: var(--ge-ink);
	background: transparent;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.ge-widget .ge-advanced-tabs__tab[aria-selected="true"] { color: #fff; background: var(--ge-accent); }
.ge-advanced-tabs__tab svg { width: 1em; height: 1em; fill: currentColor; }
.ge-advanced-tabs__panel { padding: 22px 4px 4px; }

.ge-content-reveal__content {
	position: relative;
	max-height: var(--ge-reveal-height, 140px);
	overflow: hidden;
	transition: max-height .35s ease;
}

.ge-content-reveal__content::after {
	position: absolute;
	inset: auto 0 0;
	height: 55px;
	background: linear-gradient(transparent, var(--ge-surface));
	content: '';
	pointer-events: none;
}

.ge-content-reveal.is-expanded .ge-content-reveal__content { max-height: 5000px; }
.ge-content-reveal.is-expanded .ge-content-reveal__content::after { display: none; }
.ge-content-reveal__button { margin-top: 12px; }

.ge-toc {
	padding: 20px;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	background: #fff;
}

.ge-toc--sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 20px); }
.ge-toc__title { display: block; margin-bottom: 10px; color: var(--ge-ink); }
.ge-toc__list { padding-left: 22px; margin: 0; }
.ge-toc__item { margin: 5px 0; }
.ge-toc__item--h3 { margin-left: 14px; font-size: .92em; }
.ge-toc__item--h4 { margin-left: 28px; font-size: .88em; }
.ge-toc__item a { color: inherit; text-decoration: none; }
.ge-toc__item a:hover { color: var(--ge-accent); }

.ge-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ge-breadcrumbs li { display: inline-flex; gap: 7px; align-items: center; }
.ge-breadcrumbs a { color: inherit; }
.ge-breadcrumbs__separator { opacity: .55; }

.ge-countdown {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
	gap: 12px;
}

.ge-countdown > div {
	display: grid;
	min-height: 112px;
	place-items: center;
	align-content: center;
	padding: 14px;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	background: #fff;
}

.ge-countdown__number { color: var(--ge-accent); font-size: 42px; line-height: 1; }
.ge-countdown > div span { margin-top: 7px; color: var(--ge-muted); font-size: 12px; text-transform: uppercase; }
.ge-countdown__expired { grid-column: 1 / -1; text-align: center; }

.ge-counter { display: flex; flex-direction: column; gap: 5px; }
.ge-counter__number { color: var(--ge-accent); font-size: clamp(40px, 7vw, 72px); line-height: 1; }
.ge-counter__title { color: var(--ge-muted); }

.ge-progress__label { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 8px; }
.ge-progress__track { height: 12px; overflow: hidden; border-radius: 999px; background: #e8edf2; }
.ge-progress__value { display: block; height: 100%; border-radius: inherit; background: var(--ge-accent); }

.ge-pricing-table {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	border: 1px solid var(--ge-line);
	border-radius: 6px;
	background: #fff;
}

.ge-pricing-table__header {
	padding: 30px 30px 18px;
}

.ge-pricing-table__icon {
	display: inline-flex;
	margin-bottom: 16px;
	color: var(--ge-accent);
	font-size: 40px;
	line-height: 1;
}

.ge-pricing-table__icon svg,
.ge-pricing-table__feature-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.ge-pricing-table__title {
	margin: 0 0 7px;
	color: var(--ge-ink);
}

.ge-pricing-table__description {
	margin: 0;
	color: var(--ge-muted);
}

.ge-pricing-table__pricing {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 5px 8px;
	padding: 18px 30px 24px;
}

.ge-pricing-table__original {
	width: 100%;
	color: var(--ge-muted);
	font-size: 14px;
	text-decoration: line-through;
}

.ge-pricing-table__value {
	display: inline-flex;
	align-items: flex-start;
	gap: 4px;
	color: var(--ge-accent);
}

.ge-pricing-table__currency {
	padding-top: .28em;
	font-size: 18px;
	font-weight: 750;
}

.ge-pricing-table__amount {
	font-size: 52px;
	font-weight: 780;
	line-height: .95;
}

.ge-pricing-table__decimal {
	padding-top: .16em;
	font-size: 22px;
	font-weight: 750;
}

.ge-pricing-table__period {
	color: var(--ge-muted);
	font-size: 14px;
}

.ge-pricing-table__features {
	padding: 0 30px;
	margin: 0 0 26px;
	list-style: none;
}

.ge-pricing-table__features li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	padding: 10px 0;
}

.ge-pricing-dividers-yes .ge-pricing-table__features li {
	border-bottom: 1px solid var(--ge-line);
}

.ge-pricing-table__feature-icon {
	display: inline-flex;
	padding-top: .2em;
	color: var(--ge-accent);
	font-size: 14px;
}

.ge-pricing-table__features .is-excluded {
	color: var(--ge-muted);
	opacity: .72;
}

.ge-pricing-table__action {
	padding: 0 30px 30px;
	margin-top: auto;
}

.ge-pricing-table__button {
	max-width: 100%;
}

.ge-pricing-button-full .ge-pricing-table__button {
	width: 100%;
}

.ge-pricing-table__note {
	margin: 12px 0 0;
	color: var(--ge-muted);
	font-size: 12px;
}

.ge-pricing-table__badge {
	position: absolute;
	z-index: 2;
	top: 18px;
	right: 18px;
	display: inline-flex;
	max-width: calc(100% - 36px);
	align-items: center;
	justify-content: center;
	padding: 5px 10px;
	border: 1px solid var(--ge-accent);
	border-radius: 999px;
	color: var(--ge-accent);
	background: var(--ge-surface);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
}

.ge-pricing-badge-position-left .ge-pricing-table__badge {
	right: auto;
	left: 18px;
}

.ge-pricing-badge-flag .ge-pricing-table__badge {
	top: 26px;
	right: 0;
	padding: 8px 14px;
	border-radius: 3px 0 0 3px;
	color: #fff;
	background: var(--ge-accent);
}

.ge-pricing-badge-flag.ge-pricing-badge-position-left .ge-pricing-table__badge {
	right: auto;
	left: 0;
	border-radius: 0 3px 3px 0;
}

.ge-pricing-badge-corner .ge-pricing-table__badge {
	top: 24px;
	right: -42px;
	width: 160px;
	max-width: none;
	border-radius: 0;
	color: #fff;
	background: var(--ge-accent);
	transform: rotate(45deg);
}

.ge-pricing-badge-corner.ge-pricing-badge-position-left .ge-pricing-table__badge {
	right: auto;
	left: -42px;
	transform: rotate(-45deg);
}

.ge-pricing-featured-yes .ge-pricing-table {
	border-color: var(--ge-accent);
	box-shadow: 0 18px 44px rgba(25, 35, 45, .14);
}

.elementor-widget.ge-preset-elevated .ge-pricing-table__header,
.elementor-widget.ge-preset-tonal .ge-pricing-table__header {
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-editorial .ge-pricing-table__pricing {
	border-top: 1px solid var(--ge-line);
	border-bottom: 1px solid var(--ge-line);
}

.elementor-widget.ge-preset-contrast .ge-pricing-table__badge {
	color: #102019;
	background: var(--ge-accent);
}

.ge-testimonials { --ge-testimonial-columns: 2; }
.ge-testimonials__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.ge-testimonial-card {
	min-width: calc((100% - (var(--ge-testimonial-columns) - 1) * 20px) / var(--ge-testimonial-columns));
	padding: 24px;
	margin: 0;
	border: 1px solid var(--ge-line);
	border-radius: 5px;
	background: #fff;
	scroll-snap-align: start;
}

.ge-testimonial-card__rating { color: #b16b00; letter-spacing: 2px; }
.ge-testimonial-card > p { margin: 12px 0 20px; color: var(--ge-ink); font-size: 1.08em; }
.ge-testimonial-card footer { display: flex; align-items: center; gap: 12px; }
.ge-testimonial-card footer img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.ge-testimonial-card footer span { display: flex; flex-direction: column; }
.ge-testimonial-card footer small { color: var(--ge-muted); }

.ge-team-member { overflow: hidden; border: 1px solid var(--ge-line); border-radius: 5px; background: #fff; }
.ge-team-member > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ge-team-member__body { padding: 22px; }
.ge-team-member h3 { margin: 0 0 4px; }
.ge-team-member__role { color: var(--ge-accent); font-weight: 700; }
.ge-team-member__links { display: flex; gap: 14px; }

.ge-social-share { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ge-social-share > span { font-weight: 700; }
.ge-social-share > div { display: flex; flex-wrap: wrap; gap: 7px; }
.ge-social-share a { display: inline-flex; min-height: 40px; align-items: center; padding: 7px 11px; border: 1px solid var(--ge-line); border-radius: 4px; color: inherit; text-decoration: none; }
.ge-social-share a:hover { color: var(--ge-accent); border-color: currentColor; }

.ge-data-table-wrap { max-width: 100%; overflow-x: auto; }
.ge-data-table { width: 100%; border-collapse: collapse; background: #fff; }
.ge-data-table caption { padding: 0 0 10px; color: var(--ge-ink); font-weight: 700; text-align: left; }
.ge-data-table th,
.ge-data-table td { padding: 12px 14px; border: 1px solid var(--ge-line); text-align: left; }
.ge-data-table thead { color: var(--ge-ink); background: #f2f5f8; }
.ge-data-table tbody tr:nth-child(even) { background: #fafbfc; }
.ge-widget .ge-data-table th button { display: flex; width: 100%; min-height: 36px; align-items: center; justify-content: space-between; gap: 8px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }

.ge-image-accordion { display: flex; width: 100%; height: 460px; gap: 6px; }
.ge-image-accordion__item { position: relative; min-width: 58px; flex: 1; overflow: hidden; border-radius: 4px; background-position: center; background-size: cover; transition: flex .35s ease; }
.ge-image-accordion__item::before { position: absolute; inset: 0; background: linear-gradient(transparent 35%, rgba(0, 0, 0, .78)); content: ''; }
.ge-image-accordion__item.is-active { flex: 4; }
.ge-widget .ge-image-accordion__item > button { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; padding: 18px; border: 0; color: #fff; background: transparent; font: inherit; cursor: pointer; }
.ge-image-accordion__item > button span { position: absolute; bottom: 20px; left: 50%; font-weight: 700; white-space: nowrap; transform: translateX(-50%) rotate(-90deg); }
.ge-image-accordion__item.is-active > button span { opacity: 0; }
.ge-image-accordion__content { position: absolute; z-index: 3; right: 22px; bottom: 22px; left: 22px; color: #fff; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; }
.ge-image-accordion__item.is-active .ge-image-accordion__content { opacity: 1; pointer-events: auto; transform: none; }
.ge-image-accordion__content h3 { margin: 0 0 6px; color: inherit; }
.ge-image-accordion__content .ge-text-link { color: #fff; text-decoration: underline; }

.ge-map iframe { display: block; width: 100%; height: 420px; border: 0; }

.ge-search { display: flex; width: 100%; gap: 8px; }
.ge-search input[type="search"] {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	min-height: 44px;
	flex: 1;
	margin: 0;
}
.ge-search .ge-button { flex: 0 0 auto; }

.ge-offcanvas__dialog {
	position: fixed;
	top: 0;
	bottom: 0;
	width: min(92vw, 420px);
	max-width: none;
	height: 100dvh;
	max-height: none;
	padding: 0;
	border: 0;
	border-radius: 0;
	color: var(--ge-ink);
	background: #fff;
	box-shadow: 0 0 40px rgba(0, 0, 0, .24);
}

.ge-offcanvas__dialog--right { left: auto; margin: 0 0 0 auto; }
.ge-offcanvas__dialog--left { right: auto; margin: 0 auto 0 0; }
.ge-offcanvas__dialog::backdrop { background: rgba(9, 14, 20, .6); }

.ge-animated-text__line { margin: 0; }
.ge-animated-text__word { display: inline-block; color: var(--ge-accent); transition: opacity .16s ease, transform .16s ease; }
.ge-animated-text__word.is-changing { opacity: 0; transform: translateY(6px); }

.ge-promo-box {
	position: relative;
	display: flex;
	min-height: 360px;
	align-items: flex-end;
	overflow: hidden;
	padding: 30px;
	border-radius: 5px;
	color: #fff;
	background-position: center;
	background-size: cover;
}

.ge-promo-box::before { position: absolute; inset: 0; background: #0b1118; content: ''; opacity: .48; }
.ge-promo-box__content { position: relative; z-index: 1; max-width: 600px; }
.ge-promo-box__content > span { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ge-promo-box h3 { margin: 8px 0; color: inherit; font-size: 30px; }
.ge-promo-box p { margin: 0 0 18px; }

.ge-image-scroller {
	width: 100%;
	height: 480px;
	overflow: auto;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	scrollbar-width: thin;
}

.ge-image-scroller img { width: 100%; max-width: none; }

.ge-source-code { overflow: hidden; border: 1px solid #273447; border-radius: 5px; color: #e8edf4; background: #111923; }
.ge-source-code__bar { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 12px; border-bottom: 1px solid #334259; background: #1b2736; }
.ge-source-code__bar span { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ge-widget .ge-source-code__bar button { min-height: 34px; padding: 5px 10px; border: 1px solid #60718a; border-radius: 3px; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.ge-source-code pre { max-height: 620px; padding: 18px; margin: 0; overflow: auto; color: inherit; background: transparent; font: 13px/1.65 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; tab-size: 2; }
.ge-source-code code { color: inherit; background: transparent; }

.ge-how-to > h2 { margin-top: 0; }
.ge-how-to ol { padding: 0; margin: 24px 0 0; list-style: none; counter-reset: ge-step; }
.ge-how-to li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 0 0 26px; counter-increment: ge-step; }
.ge-how-to li::before { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #fff; background: var(--ge-accent); font-weight: 800; content: counter(ge-step); }
.ge-how-to li img { grid-column: 2; width: min(100%, 520px); margin-bottom: 12px; border-radius: 4px; }
.ge-how-to li div { grid-column: 2; }
.ge-how-to h3 { margin: 0 0 6px; }
.ge-how-to li p { margin: 0; }

.ge-post-carousel { --ge-post-carousel-columns: 3; }
.ge-post-carousel__track { display: flex; gap: 20px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.ge-post-carousel__track .ge-post-card { min-width: calc((100% - (var(--ge-post-carousel-columns) - 1) * 20px) / var(--ge-post-carousel-columns)); border: 1px solid var(--ge-line); border-radius: 4px; scroll-snap-align: start; }

.ge-woo-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ge-woo-category { position: relative; display: block; overflow: hidden; border-radius: 4px; color: inherit; background: #f3f5f6; text-decoration: none; }
.ge-woo-category img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .25s ease; }
.ge-woo-category:hover img { transform: scale(1.03); }
.ge-woo-category > span { position: absolute; right: 10px; bottom: 10px; left: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px; border-radius: 3px; color: var(--ge-ink); background: rgba(255, 255, 255, .92); }
.ge-woo-category > span small { color: var(--ge-muted); }

.ge-woo-carousel { --ge-woo-carousel-columns: 4; }
.ge-woo-carousel > [data-ge-carousel-track] { overflow-x: auto; scroll-behavior: smooth; scrollbar-width: thin; }
.ge-woo-carousel ul.products { display: flex !important; width: 100%; min-width: 100%; flex-wrap: nowrap !important; gap: 20px; margin: 0 !important; }
.ge-woo-carousel ul.products > li.product { width: auto !important; min-width: 0; flex: 0 0 calc((100% - (var(--ge-woo-carousel-columns) - 1) * 20px) / var(--ge-woo-carousel-columns)); scroll-snap-align: start; }

.ge-nav-menu__list,
.ge-nav-menu__list ul { padding: 0; margin: 0; list-style: none; }
.ge-nav-menu--horizontal > .ge-nav-menu__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.ge-nav-menu__list li { position: relative; }
.ge-nav-menu__list a { display: flex; min-height: 42px; align-items: center; padding: 8px 0; color: inherit; text-decoration: none; }
.ge-nav-menu__list ul { min-width: 210px; padding: 8px 14px; border: 1px solid var(--ge-line); background: #fff; }
.ge-nav-menu--horizontal .ge-nav-menu__list ul { position: absolute; z-index: 10; top: 100%; left: 0; visibility: hidden; opacity: 0; box-shadow: 0 12px 30px rgba(0, 0, 0, .12); transform: translateY(6px); transition: opacity .15s ease, transform .15s ease; }
.ge-nav-menu--horizontal .ge-nav-menu__list li:hover > ul,
.ge-nav-menu--horizontal .ge-nav-menu__list li:focus-within > ul { visibility: visible; opacity: 1; transform: none; }
.ge-nav-menu--vertical .ge-nav-menu__list ul { margin-left: 18px; border-width: 0 0 0 1px; }

.ge-one-page-nav--sticky { position: sticky; z-index: 5; top: calc(var(--wp-admin--admin-bar--height, 0px) + 10px); }
.ge-one-page-nav ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 6px; margin: 0; border: 1px solid var(--ge-line); border-radius: 5px; background: rgba(255, 255, 255, .96); list-style: none; }
.ge-one-page-nav--vertical ul { align-items: stretch; flex-direction: column; }
.ge-one-page-nav a { display: inline-flex; min-height: 40px; align-items: center; padding: 7px 12px; border-radius: 3px; color: inherit; text-decoration: none; }
.ge-one-page-nav a:hover,
.ge-one-page-nav a:focus { color: #fff; background: var(--ge-accent); }

.ge-photo-gallery {
	--ge-gallery-columns: 4;
	--ge-gallery-column-gap: 16px;
	--ge-gallery-row-gap: 16px;
	width: 100%;
}

.ge-photo-gallery__grid {
	display: grid;
	grid-template-columns: repeat(var(--ge-gallery-columns), minmax(0, 1fr));
	column-gap: var(--ge-gallery-column-gap);
	row-gap: var(--ge-gallery-row-gap);
}

.ge-gallery-full-yes .ge-photo-gallery {
	position: relative;
	left: var(--ge-gallery-viewport-offset, 0px);
	width: var(--ge-gallery-viewport-width, 100vw);
	max-width: none;
	margin-left: 0;
}

.ge-photo-gallery__item {
	min-width: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	background: var(--ge-surface);
}

.ge-photo-gallery__item[hidden] {
	display: none !important;
}

.ge-photo-gallery__visual {
	position: relative;
	display: block;
	width: 100%;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	border: 0;
	border-radius: inherit;
	color: inherit;
	background: #edf0f2;
	font: inherit;
	cursor: zoom-in;
}

div.ge-photo-gallery__visual {
	cursor: default;
}

.ge-photo-gallery__visual::after {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .18);
	content: '';
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--ge-transition);
}

.ge-photo-gallery__visual:hover::after,
.ge-photo-gallery__visual:focus-visible::after {
	opacity: 1;
}

.ge-photo-gallery__image {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform .35s ease;
}

.ge-photo-gallery__visual:hover .ge-photo-gallery__image {
	transform: scale(1.025);
}

.ge-gallery-ratio-square .ge-photo-gallery__visual { aspect-ratio: 1 / 1; }
.ge-gallery-ratio-landscape .ge-photo-gallery__visual { aspect-ratio: 4 / 3; }
.ge-gallery-ratio-wide .ge-photo-gallery__visual { aspect-ratio: 16 / 9; }
.ge-gallery-ratio-portrait .ge-photo-gallery__visual { aspect-ratio: 4 / 5; }
.ge-gallery-ratio-original .ge-photo-gallery__visual { aspect-ratio: auto; }
.ge-gallery-ratio-original .ge-photo-gallery__image { height: auto !important; }

.ge-photo-gallery__caption {
	padding: 10px 12px;
	color: var(--ge-muted);
	font-size: 13px;
	line-height: 1.45;
}

.ge-photo-gallery__pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
}

.ge-photo-gallery__pagination button:not(.ge-button) {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--ge-line);
	border-radius: 4px;
	color: var(--ge-ink);
	background: var(--ge-surface);
	font: inherit;
	cursor: pointer;
}

.ge-photo-gallery__pagination button[aria-current="page"] {
	border-color: var(--ge-accent);
	color: #fff;
	background: var(--ge-accent);
}

.ge-photo-gallery__dialog {
	position: fixed;
	inset: 0;
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	padding: 0;
	border: 0;
	color: #fff;
	background: #0d1115;
}

.ge-photo-gallery__dialog::backdrop {
	background: rgba(5, 8, 11, .92);
}

.ge-photo-gallery__dialog-inner {
	display: grid;
	width: 100%;
	height: 100%;
	grid-template-columns: 58px minmax(0, 1fr) 58px;
	align-items: center;
	padding: 18px;
}

.ge-photo-gallery__dialog figure {
	display: flex;
	min-width: 0;
	max-width: min(1500px, 100%);
	max-height: calc(100dvh - 36px);
	flex-direction: column;
	justify-self: center;
	padding: 0;
	margin: 0;
}

.ge-photo-gallery__dialog figure > img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: calc(100dvh - 150px);
	align-self: center;
	object-fit: contain;
}

.ge-photo-gallery__dialog figcaption {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 5px 22px;
	padding: 14px 2px 0;
	color: #fff;
}

.ge-gallery-meta-above .ge-photo-gallery__dialog figcaption {
	order: -1;
	padding: 0 2px 14px;
}

.ge-photo-gallery__dialog figcaption strong {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ge-photo-gallery__dialog figcaption p {
	grid-column: 1;
	margin: 0;
	color: #c8d0d6;
}

.ge-photo-gallery__commerce {
	display: flex;
	grid-column: 2;
	grid-row: 1 / span 2;
	align-items: center;
	gap: 14px;
	justify-self: end;
}

.ge-photo-gallery__commerce[hidden] {
	display: none;
}

.ge-photo-gallery__commerce > span {
	font-weight: 750;
	white-space: nowrap;
}

.ge-photo-gallery__dialog button:not(.ge-button) {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 50%;
	color: #fff;
	background: rgba(13, 17, 21, .68);
	font: inherit;
	font-size: 24px;
	cursor: pointer;
}

.ge-photo-gallery__close {
	position: absolute;
	z-index: 2;
	top: 18px;
	right: 18px;
}

.ge-photo-gallery__previous { grid-column: 1; }
.ge-photo-gallery__next { grid-column: 3; }

.elementor-widget.ge-preset-elevated .ge-photo-gallery__item {
	border-radius: var(--ge-radius);
	box-shadow: 0 9px 24px rgba(25, 35, 45, .11);
}

.elementor-widget.ge-preset-editorial .ge-photo-gallery__caption {
	border-left: 3px solid var(--ge-accent);
	font-family: Georgia, "Times New Roman", serif;
}

.elementor-widget.ge-preset-contrast .ge-photo-gallery__item,
.elementor-widget.ge-preset-tonal .ge-photo-gallery__item {
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

/* Universal visual presets. Manual controls can still override every value. */
.elementor-widget.ge-density-compact .ge-widget { --ge-space: 18px; }
.elementor-widget.ge-density-airy .ge-widget { --ge-space: 32px; }
.elementor-widget.ge-density-compact :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member__body, .ge-post-card__body, .ge-toc) { padding: 18px; }
.elementor-widget.ge-density-airy :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member__body, .ge-post-card__body, .ge-toc) { padding: 32px; }

.elementor-widget.ge-motion-none .ge-widget,
.elementor-widget.ge-motion-none .ge-widget * {
	transition: none !important;
}

.elementor-widget.ge-motion-lift :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-woo-category, .ge-countdown > div) {
	transition: transform var(--ge-transition), box-shadow var(--ge-transition), border-color var(--ge-transition);
}

.elementor-widget.ge-motion-lift :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-woo-category, .ge-countdown > div):hover {
	transform: translateY(-4px);
}

.elementor-widget.ge-tone-light .ge-widget {
	--ge-ink: #17202a;
	--ge-muted: #5d6874;
	--ge-line: #dbe1e7;
	--ge-surface: #fff;
}

.elementor-widget.ge-tone-dark .ge-widget {
	--ge-ink: #f6f8fa;
	--ge-muted: #c0c8d1;
	--ge-line: #3e4a56;
	--ge-surface: #171d23;
	color: var(--ge-ink);
}

.elementor-widget.ge-tone-dark .ge-widget :is(h1, h2, h3, h4, h5, h6, a:not(.ge-button), summary, caption) {
	color: var(--ge-ink);
}

.elementor-widget.ge-tone-dark :is(.ge-info-box, .ge-flip-box__front, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-toc, .ge-countdown > div, .ge-data-table, .ge-business-hours, .ge-one-page-nav ul) {
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-clean .ge-widget {
	--ge-radius: 4px;
	--ge-shadow: none;
}

.elementor-widget.ge-preset-clean :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-toc, .ge-countdown > div, .ge-data-table, .ge-image-scroller) {
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-elevated .ge-widget {
	--ge-radius: 8px;
	--ge-shadow: 0 14px 34px rgba(25, 35, 45, .12);
}

.elementor-widget.ge-preset-elevated > .ge-widget,
.elementor-widget.ge-preset-elevated > .elementor-widget-container > .ge-widget {
	padding: var(--ge-space);
	border: 1px solid rgba(23, 32, 42, .08);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-elevated :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-toc, .ge-countdown > div, .ge-data-table, .ge-image-scroller, .ge-content-toggle__tabs) {
	border: 1px solid rgba(23, 32, 42, .08);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-elevated :is(.ge-image-compare, .ge-image-accordion, .ge-promo-box, .ge-woo-category) {
	border-radius: var(--ge-radius);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-elevated .ge-info-box__icon,
.elementor-widget.ge-preset-tonal .ge-info-box__icon {
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	border-radius: 50%;
	background: #eef3f7;
	background: color-mix(in srgb, var(--ge-accent) 12%, var(--ge-surface));
}

.elementor-widget.ge-preset-elevated .ge-info-box--icon-filled .ge-info-box__icon,
.elementor-widget.ge-preset-tonal .ge-info-box--icon-filled .ge-info-box__icon {
	color: #fff;
	background: var(--ge-accent);
}

.elementor-widget.ge-preset-editorial .ge-widget {
	--ge-radius: 2px;
	--ge-shadow: none;
}

.elementor-widget.ge-preset-editorial > .ge-widget,
.elementor-widget.ge-preset-editorial > .elementor-widget-container > .ge-widget {
	padding: 8px 0 8px 22px;
	border-left: 4px solid var(--ge-accent);
}

.elementor-widget.ge-preset-editorial .ge-widget :is(h1, h2, h3, h4) {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
}

.elementor-widget.ge-preset-editorial :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member__body, .ge-post-card__body, .ge-toc, .ge-countdown > div) {
	border: 0;
	border-left: 4px solid var(--ge-accent);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-editorial .ge-advanced-heading__eyebrow,
.elementor-widget.ge-preset-editorial .ge-pricing-table__badge,
.elementor-widget.ge-preset-editorial .ge-post-card__meta {
	letter-spacing: .08em;
	text-transform: uppercase;
}

.elementor-widget.ge-preset-contrast .ge-widget {
	--ge-accent: #8ee3b4;
	--ge-ink: #f7faf8;
	--ge-muted: #c5d0ca;
	--ge-line: #435149;
	--ge-surface: #18211d;
	--ge-radius: 6px;
	--ge-shadow: 0 16px 38px rgba(3, 8, 6, .24);
	color: var(--ge-ink);
}

.elementor-widget.ge-preset-contrast > .ge-widget,
.elementor-widget.ge-preset-contrast > .elementor-widget-container > .ge-widget {
	padding: var(--ge-space);
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-contrast .ge-widget :is(h1, h2, h3, h4, h5, h6, a:not(.ge-button), summary, caption) {
	color: var(--ge-ink);
}

.elementor-widget.ge-preset-contrast :is(.ge-info-box, .ge-flip-box__front, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-toc, .ge-countdown > div, .ge-data-table, .ge-business-hours, .ge-one-page-nav ul, .ge-content-toggle__tabs) {
	border-color: var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-contrast .ge-button--primary {
	color: #102019;
}

/* A dark preset must cover the complete component, including nested surfaces. */
.elementor-widget.ge-preset-contrast .ge-flip-box__back {
	color: var(--ge-ink);
	background: #101713;
}

.elementor-widget.ge-preset-contrast .ge-widget .ge-carousel-controls button {
	border-color: var(--ge-line);
	color: var(--ge-accent);
	background: #101713;
}

.elementor-widget.ge-preset-contrast .ge-business-hours__row--today {
	background: #243a30;
	background: color-mix(in srgb, var(--ge-accent) 16%, var(--ge-surface));
}

.elementor-widget.ge-preset-contrast .ge-data-table {
	color: var(--ge-ink);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-contrast .ge-data-table thead {
	color: var(--ge-ink);
	background: #101713;
}

.elementor-widget.ge-preset-contrast .ge-data-table thead :is(th, button),
.elementor-widget.ge-tone-dark .ge-data-table thead :is(th, button) {
	color: var(--ge-ink) !important;
}

.elementor-widget.ge-preset-contrast .ge-data-table tbody :is(th, td),
.elementor-widget.ge-tone-dark .ge-data-table tbody :is(th, td) {
	color: var(--ge-ink);
}

.elementor-widget.ge-preset-contrast .ge-data-table-wrap--stack td::before,
.elementor-widget.ge-tone-dark .ge-data-table-wrap--stack td::before {
	color: var(--ge-muted);
}

.elementor-widget.ge-preset-contrast .ge-data-table tbody tr:nth-child(even) {
	background: #202c27;
}

.elementor-widget.ge-preset-contrast .ge-woo-category {
	color: var(--ge-ink);
	background: #101713;
}

.elementor-widget.ge-preset-contrast .ge-woo-category > span {
	color: var(--ge-ink);
	background: rgba(16, 23, 19, .92);
}

.elementor-widget.ge-preset-contrast .ge-woo-category > span small {
	color: var(--ge-muted);
}

.elementor-widget.ge-preset-contrast :is(.ge-woo-products, .ge-woo-carousel) :is(.product-grid-item, .wd-product, .product-element-bottom, .wd-product-card, .wd-product-card-bg, .wrapp-swatches) {
	border-color: var(--ge-line) !important;
	color: var(--ge-ink) !important;
	background-color: var(--ge-surface) !important;
}

.elementor-widget.ge-preset-contrast :is(.ge-woo-products, .ge-woo-carousel) :is(.wd-entities-title, .wd-entities-title a, .price, .price .amount) {
	color: var(--ge-ink) !important;
}

.elementor-widget.ge-preset-gallery .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	padding: clamp(12px, 1.5vw, 22px);
	border: 1px solid #dfe3e6;
	border-radius: 2px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(31, 38, 45, .07);
}

.elementor-widget.ge-preset-gallery .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) img {
	border-radius: 1px;
}

.elementor-widget.ge-preset-gallery .ge-woo-products :is(.price, .price .amount) {
	color: #9d174d !important;
}

.elementor-widget.ge-preset-gallery .ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable) {
	border: 1px solid #17191c !important;
	border-radius: 2px !important;
	color: #fff !important;
	background: #17191c !important;
}

.elementor-widget.ge-preset-glass .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	padding: clamp(12px, 1.5vw, 22px);
	border: 1px solid rgba(255, 255, 255, .58);
	border-radius: 6px;
	background: rgba(255, 255, 255, .58);
	box-shadow: 0 18px 48px rgba(22, 31, 42, .12);
	backdrop-filter: blur(16px) saturate(118%);
}

.elementor-widget.ge-preset-glass .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) :is(.product-element-bottom, .wd-product-card, .wd-product-card-bg, .wrapp-swatches) {
	background: transparent !important;
}

.elementor-widget.ge-preset-glass .ge-woo-products :is(.price, .price .amount) {
	color: #8f1d5c !important;
}

.elementor-widget.ge-preset-glass .ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable) {
	border: 1px solid rgba(20, 28, 38, .28) !important;
	border-radius: 6px !important;
	color: #111827 !important;
	background: rgba(255, 255, 255, .66) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.elementor-widget.ge-preset-luxury .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	padding: clamp(14px, 1.7vw, 24px);
	border: 1px solid rgba(214, 181, 106, .42);
	border-radius: 2px;
	color: #f7f7f4;
	background: #111214;
	box-shadow: 0 20px 54px rgba(0, 0, 0, .2);
}

.elementor-widget.ge-preset-luxury .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) :is(.product-element-bottom, .wd-product-card, .wd-product-card-bg, .wrapp-swatches) {
	color: inherit !important;
	background: transparent !important;
}

.elementor-widget.ge-preset-luxury .ge-woo-products :is(.wd-entities-title, .wd-entities-title a, .woocommerce-loop-product__title, .woocommerce-loop-product__title a) {
	color: #f7f7f4 !important;
}

.elementor-widget.ge-preset-luxury .ge-woo-products :is(.price, .price .amount) {
	color: #d6b56a !important;
}

.elementor-widget.ge-preset-luxury .ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable) {
	border: 1px solid #d6b56a !important;
	border-radius: 2px !important;
	color: #111214 !important;
	background: #d6b56a !important;
}

.elementor-widget.ge-preset-boutique .ge-woo-products :is(ul, div).products > :is(li.product, .product-grid-item, .wd-product) {
	padding: 0 0 18px;
	border: 0;
	border-bottom: 1px solid #c8cdd2;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.elementor-widget.ge-preset-boutique .ge-woo-products :is(.wd-entities-title, .woocommerce-loop-product__title) {
	font-size: 1.08em;
	font-weight: 650;
}

.elementor-widget.ge-preset-boutique .ge-woo-products :is(.price, .price .amount) {
	color: #a2125a !important;
}

.elementor-widget.ge-preset-boutique .ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable) {
	border: 1px solid #15181c !important;
	border-radius: 0 !important;
	color: #15181c !important;
	background: transparent !important;
}

.elementor-widget.ge-preset-boutique .ge-woo-products :is(a.button, button.button, .add_to_cart_button, .product_type_simple, .product_type_variable):is(:hover, :focus-visible) {
	color: #fff !important;
	background: #15181c !important;
}

.elementor-widget.ge-preset-contrast .ge-nav-menu__list ul {
	border-color: var(--ge-line);
	background: #101713;
}

.elementor-widget.ge-preset-contrast .ge-photo-gallery__visual {
	background: #101713;
}

/* Keep light accent controls readable inside the dark preset. */
.elementor-widget.ge-preset-contrast :is(
	.ge-content-toggle__tab[aria-selected="true"],
	.ge-advanced-tabs__tab[aria-selected="true"],
	.ge-photo-gallery__pagination button[aria-current="page"]
) {
	color: #102019;
}

.elementor-widget.ge-preset-contrast .ge-hotspot__button {
	color: #102019;
}

.elementor-widget.ge-preset-contrast .ge-testimonial-card__rating {
	color: #f3bd57;
}

.elementor-widget.ge-preset-contrast .ge-image-compare__handle {
	color: #17202a;
}

.elementor-widget.ge-preset-tonal .ge-widget {
	--ge-accent: #176c55;
	--ge-ink: #17352c;
	--ge-muted: #566e65;
	--ge-line: #c7d8d1;
	--ge-surface: #eef5f1;
	--ge-radius: 7px;
	--ge-shadow: none;
}

.elementor-widget.ge-preset-tonal > .ge-widget,
.elementor-widget.ge-preset-tonal > .elementor-widget-container > .ge-widget {
	padding: var(--ge-space);
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-tonal :is(.ge-info-box, .ge-pricing-table, .ge-testimonial-card, .ge-team-member, .ge-post-card, .ge-toc, .ge-countdown > div, .ge-data-table, .ge-business-hours, .ge-one-page-nav ul, .ge-content-toggle__tabs) {
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-tonal .ge-button--secondary {
	background: rgba(255, 255, 255, .55);
}

/* Feature list: each preset mirrors its preview instead of only changing colors. */
.elementor-widget.ge-preset-clean .ge-feature-list,
.elementor-widget.ge-preset-elevated .ge-feature-list,
.elementor-widget.ge-preset-editorial .ge-feature-list,
.elementor-widget.ge-preset-contrast .ge-feature-list,
.elementor-widget.ge-preset-tonal .ge-feature-list {
	position: relative;
}

.elementor-widget.ge-preset-clean .ge-feature-list,
.elementor-widget.ge-preset-tonal .ge-feature-list {
	gap: 0;
}

.elementor-widget.ge-preset-clean .ge-feature-list {
	padding: 4px 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.elementor-widget.ge-preset-clean .ge-feature-list--stacked::before,
.elementor-widget.ge-preset-tonal .ge-feature-list--stacked::before {
	position: absolute;
	top: 31px;
	bottom: 31px;
	left: 21px;
	width: 1px;
	background: var(--ge-line);
	content: "";
}

.elementor-widget.ge-preset-clean .ge-feature-list__item,
.elementor-widget.ge-preset-tonal .ge-feature-list__item {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding: 14px 0;
	border: 0;
}

.elementor-widget.ge-preset-clean .ge-feature-list__icon,
.elementor-widget.ge-preset-tonal .ge-feature-list__icon {
	width: 42px;
	height: 42px;
	border: 2px solid var(--ge-surface);
	border-radius: 50%;
	color: #fff;
	background: var(--ge-accent);
	box-shadow: 0 0 0 1px var(--ge-line);
}

.elementor-widget.ge-preset-elevated .ge-feature-list {
	gap: 12px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.elementor-widget.ge-preset-elevated .ge-feature-list__item {
	min-width: 0;
	padding: 18px 20px;
	border: 1px solid var(--ge-line);
	border-radius: 6px;
	background: var(--ge-surface);
	box-shadow: 0 8px 22px rgba(25, 35, 45, .08);
}

.elementor-widget.ge-preset-elevated .ge-feature-list__icon {
	width: 42px;
	height: 42px;
	border: 0;
	color: var(--ge-accent);
	background: transparent;
	font-size: 21px;
}

.elementor-widget.ge-preset-editorial .ge-feature-list {
	gap: 4px;
	padding: 18px 22px;
	border: 0;
	border-left: 4px solid var(--ge-accent);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-editorial .ge-feature-list__item {
	min-width: 0;
	padding: 10px 0;
	border: 0;
}

.elementor-widget.ge-preset-editorial .ge-feature-list__icon {
	width: 34px;
	height: 34px;
	border: 0;
	color: var(--ge-accent);
	background: transparent;
}

.elementor-widget.ge-preset-contrast .ge-feature-list {
	gap: 0;
	padding: 6px 22px;
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
	box-shadow: var(--ge-shadow);
}

.elementor-widget.ge-preset-contrast .ge-feature-list__item {
	min-width: 0;
	padding: 18px 0;
	border: 0;
	border-bottom: 1px solid var(--ge-line);
}

.elementor-widget.ge-preset-contrast .ge-feature-list__item:last-child {
	border-bottom: 0;
}

.elementor-widget.ge-preset-contrast .ge-feature-list__icon {
	width: 32px;
	height: 32px;
	border: 0;
	color: var(--ge-accent);
	background: transparent;
}

.elementor-widget.ge-preset-tonal .ge-feature-list {
	padding: 12px 18px;
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

.elementor-widget:is(.ge-preset-clean, .ge-preset-elevated, .ge-preset-editorial, .ge-preset-tonal).ge-feature-marker-auto .ge-feature-list__icon-graphic,
.elementor-widget.ge-feature-marker-number .ge-feature-list__icon-graphic {
	display: none;
}

.elementor-widget:is(.ge-preset-clean, .ge-preset-elevated, .ge-preset-editorial, .ge-preset-tonal).ge-feature-marker-auto .ge-feature-list__number,
.elementor-widget.ge-feature-marker-number .ge-feature-list__number {
	display: grid;
}

.elementor-widget.ge-feature-marker-icon .ge-feature-list__icon-graphic {
	display: grid;
}

.elementor-widget.ge-feature-marker-icon .ge-feature-list__number {
	display: none;
}

/* Optional surface overrides shared by card and list widgets. */
.elementor-widget.ge-surface-mode-transparent :is(
	.ge-info-box,
	.ge-flip-box__face,
	.ge-pricing-table,
	.ge-testimonial-card,
	.ge-team-member,
	.ge-post-card,
	.ge-toc,
	.ge-countdown > div,
	.ge-data-table,
	.ge-business-hours,
	.ge-content-toggle__tabs,
	.ge-woo-category,
	.ge-one-page-nav ul,
	.ge-image-scroller,
	.ge-modal__dialog,
	.ge-offcanvas__dialog,
	.ge-price-list__item,
	.ge-feature-list__item
) {
	background-color: transparent !important;
	background-image: none !important;
}

.elementor-widget.ge-surface-mode-custom :is(
	.ge-info-box,
	.ge-flip-box__face,
	.ge-pricing-table,
	.ge-testimonial-card,
	.ge-team-member,
	.ge-post-card,
	.ge-toc,
	.ge-countdown > div,
	.ge-data-table,
	.ge-business-hours,
	.ge-content-toggle__tabs,
	.ge-woo-category,
	.ge-one-page-nav ul,
	.ge-image-scroller,
	.ge-modal__dialog,
	.ge-offcanvas__dialog,
	.ge-price-list__item,
	.ge-feature-list__item
) {
	background-color: color-mix(in srgb, var(--ge-surface, #fff) var(--ge-surface-opacity, 100%), transparent) !important;
	background-image: none !important;
}

.elementor-widget.ge-border-mode-none :is(
	.ge-info-box,
	.ge-flip-box__face,
	.ge-pricing-table,
	.ge-testimonial-card,
	.ge-team-member,
	.ge-post-card,
	.ge-toc,
	.ge-countdown > div,
	.ge-data-table,
	.ge-data-table th,
	.ge-data-table td,
	.ge-business-hours,
	.ge-business-hours__row,
	.ge-content-toggle__tabs,
	.ge-woo-category,
	.ge-one-page-nav ul,
	.ge-image-scroller,
	.ge-modal__dialog,
	.ge-offcanvas__dialog,
	.ge-price-list__item,
	.ge-feature-list__item,
	.ge-faq__item,
	.ge-advanced-tabs__tabs
) {
	border-color: transparent !important;
	border-width: 0 !important;
}

.elementor-widget.ge-border-mode-custom :is(
	.ge-info-box,
	.ge-flip-box__face,
	.ge-pricing-table,
	.ge-testimonial-card,
	.ge-team-member,
	.ge-post-card,
	.ge-toc,
	.ge-countdown > div,
	.ge-data-table,
	.ge-business-hours,
	.ge-content-toggle__tabs,
	.ge-woo-category,
	.ge-one-page-nav ul,
	.ge-image-scroller,
	.ge-modal__dialog,
	.ge-offcanvas__dialog
) {
	border: var(--ge-border-width, 1px) solid var(--ge-line) !important;
}

.elementor-widget.ge-border-mode-custom :is(
	.ge-data-table th,
	.ge-data-table td,
	.ge-business-hours__row,
	.ge-price-list__item,
	.ge-feature-list__item,
	.ge-faq__item,
	.ge-advanced-tabs__tabs
) {
	border-bottom: var(--ge-border-width, 1px) solid var(--ge-line) !important;
}

/* One Page Experience: semantic content stays in the document while media moves around it. */
.ge-one-page {
	--ge-experience-gradient-1: #28d7c0;
	--ge-experience-gradient-2: #f2c14e;
	--ge-experience-gradient-3: #ff5a7a;
	--ge-experience-content-width: 620px;
	--ge-scene-blend-height: 0px;
	--ge-scene-blend-middle: 0px;
	--ge-layer-background: 0;
	--ge-layer-transition: 1;
	--ge-layer-decoration: 2;
	--ge-layer-media: 4;
	--ge-layer-content: 5;
	--ge-layer-front: 7;
	--ge-layer-navigation: 8;
	position: relative;
	width: 100%;
	overflow: clip;
	color: var(--ge-ink);
	background: var(--ge-surface);
	isolation: isolate;
}

.ge-one-page[data-scene-transition="soft"] { --ge-scene-blend-height: 48px; --ge-scene-blend-middle: 24px; }
.ge-one-page[data-scene-transition="balanced"] { --ge-scene-blend-height: 92px; --ge-scene-blend-middle: 46px; }
.ge-one-page[data-scene-transition="strong"] { --ge-scene-blend-height: 150px; --ge-scene-blend-middle: 75px; }

.ge-experience-full-yes .ge-one-page {
	left: 50%;
	width: 100vw;
	max-width: none;
	transform: translateX(-50%);
}

.ge-one-page__scenes {
	position: relative;
}

.ge-one-page__scene {
	position: relative;
	display: block;
	min-height: 92vh;
	overflow: clip;
	background: var(--ge-surface);
	scroll-margin-top: 24px;
}

.ge-one-page__stage {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: center;
	width: 100%;
	min-height: inherit;
	padding: 72px max(28px, calc((100% - 1240px) / 2));
	overflow: hidden;
	transform: translate3d(var(--ge-scene-flow-x, 0), 0, 0);
	will-change: transform;
}

.ge-one-page__neon-wall {
	--ge-neon-wall-mortar: rgba(235, 225, 211, .16);
	position: absolute;
	z-index: var(--ge-layer-background);
	inset: 0;
	overflow: hidden;
	background-color: #221817;
	background-image:
		radial-gradient(circle at 18% 24%, rgba(255, 255, 255, .06) 0 1px, transparent 2px),
		radial-gradient(circle at 72% 68%, rgba(0, 0, 0, .18) 0 1px, transparent 2px),
		repeating-linear-gradient(to bottom, transparent 0 42px, var(--ge-neon-wall-mortar) 43px 46px);
	background-size: 37px 31px, 43px 39px, 100% 46px;
	box-shadow: inset 0 0 120px rgba(0, 0, 0, .42);
	opacity: var(--ge-neon-wall-opacity, .92);
	pointer-events: none;
}

.ge-one-page__neon-wall::before,
.ge-one-page__neon-wall::after {
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(to right, transparent 0 88px, var(--ge-neon-wall-mortar) 89px 92px);
	content: "";
}

.ge-one-page__neon-wall::before {
	-webkit-mask-image: repeating-linear-gradient(to bottom, #000 0 43px, transparent 43px 92px);
	mask-image: repeating-linear-gradient(to bottom, #000 0 43px, transparent 43px 92px);
}

.ge-one-page__neon-wall::after {
	background-position: 46px 0;
	-webkit-mask-image: repeating-linear-gradient(to bottom, transparent 0 46px, #000 46px 89px, transparent 89px 92px);
	mask-image: repeating-linear-gradient(to bottom, transparent 0 46px, #000 46px 89px, transparent 89px 92px);
}

.ge-one-page__neon-wall--light_brick {
	--ge-neon-wall-mortar: rgba(91, 75, 65, .18);
	background-color: #cbb9a7;
	background-image:
		radial-gradient(circle at 18% 24%, rgba(255, 255, 255, .2) 0 1px, transparent 2px),
		radial-gradient(circle at 72% 68%, rgba(61, 43, 34, .12) 0 1px, transparent 2px),
		repeating-linear-gradient(to bottom, transparent 0 42px, var(--ge-neon-wall-mortar) 43px 46px);
	box-shadow: inset 0 0 110px rgba(63, 43, 35, .24);
}

.ge-one-page__neon-wall--white_wall {
	background-color: #eeeae2;
	background-image:
		radial-gradient(ellipse at 24% 18%, rgba(255, 255, 255, .96), transparent 44%),
		radial-gradient(circle at 74% 62%, rgba(116, 107, 94, .08) 0 1px, transparent 2px),
		linear-gradient(118deg, rgba(255, 255, 255, .3), rgba(203, 198, 188, .14));
	background-size: 100% 100%, 31px 27px, 100% 100%;
	box-shadow: inset 0 0 130px rgba(83, 75, 64, .16);
}

.ge-one-page__neon-wall--white_wall::before,
.ge-one-page__neon-wall--white_wall::after { display: none; }

.ge-one-page__scene--neon-wall .ge-one-page__scene-backdrop { opacity: 0; }

.ge-one-page--section .ge-one-page__scene {
	min-height: var(--ge-section-min-height, 82vh);
}

.ge-one-page--section .ge-one-page__stage {
	position: relative;
	top: auto;
	height: auto;
	min-height: var(--ge-section-min-height, 82vh);
}

.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene {
	min-height: 165vh;
	min-height: var(--ge-scene-scroll-length, 165svh);
}

.ge-one-page[data-fit-viewport="yes"] .ge-one-page__stage {
	position: sticky;
	top: 0;
	height: 100svh;
	min-height: 100svh;
}

.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene--content-scroll {
	min-height: max(var(--ge-scene-scroll-length, 165svh), calc(100svh + var(--ge-long-content-overflow, 0px) + 160px));
}

.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene--content-natural {
	min-height: 0;
}

.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene--content-natural .ge-one-page__stage {
	position: relative;
	top: auto;
	height: auto;
	min-height: max(100svh, calc(var(--ge-natural-content-height, 0px) + 144px));
}

@supports (height: 100dvh) {
	.ge-one-page[data-fit-viewport="yes"] .ge-one-page__stage {
		height: 100dvh;
		min-height: 100dvh;
	}
}

.ge-one-page__scene--bg-solid {
	background: var(--ge-scene-bg, var(--ge-surface)) !important;
}

.ge-one-page__scene--bg-gradient {
	background-color: var(--ge-scene-bg-end, var(--ge-surface)) !important;
	background-repeat: no-repeat !important;
	background-position: var(--ge-scene-gradient-x, 50%) var(--ge-scene-gradient-y, 50%) !important;
	background-size: var(--ge-scene-gradient-size, 120%) var(--ge-scene-gradient-size, 120%) !important;
}

.ge-one-page__scene--bg-gradient.ge-one-page__scene--gradient-linear {
	background-image: linear-gradient(var(--ge-scene-gradient-angle, 135deg), var(--ge-scene-bg, var(--ge-surface)), var(--ge-scene-bg-end, var(--ge-accent))) !important;
}

.ge-one-page__scene--bg-gradient.ge-one-page__scene--gradient-radial {
	background-image: radial-gradient(circle at var(--ge-scene-gradient-x, 50%) var(--ge-scene-gradient-y, 50%), var(--ge-scene-bg, var(--ge-surface)) 0%, var(--ge-scene-bg-end, var(--ge-accent)) 72%) !important;
}

.ge-one-page__scene-backdrop {
	position: absolute;
	z-index: var(--ge-layer-background);
	inset: -6%;
	overflow: hidden;
	transform: translate3d(0, var(--ge-backdrop-y, 0), 0);
	will-change: transform;
}

.ge-one-page__scene-backdrop img,
.ge-one-page__scene-backdrop span {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.ge-one-page__scene-backdrop img {
	max-width: none;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	transform: translate3d(var(--ge-glitch-x, 0), var(--ge-glitch-y, 0), 0) skewX(var(--ge-glitch-skew-current, 0deg));
}

.ge-one-page__scene-backdrop span {
	background: rgba(5, 9, 12, var(--ge-scene-overlay, .42));
}

.ge-one-page__scene:is(.ge-one-page__scene--glitch-active, .ge-one-page__scene--glitch-mode-hover:hover):is(.ge-one-page__scene--glitch-background, .ge-one-page__scene--glitch-both) .ge-one-page__scene-backdrop img,
.ge-one-page__scene:is(.ge-one-page__scene--glitch-active, .ge-one-page__scene--glitch-mode-hover:hover):is(.ge-one-page__scene--glitch-main, .ge-one-page__scene--glitch-both) :is(.ge-one-page__background, .ge-one-page__object-fallback, .ge-one-page__object-3d canvas) {
	animation: ge-image-glitch var(--ge-glitch-duration, 2.35s) steps(1, end) infinite;
	will-change: transform, filter, clip-path;
}

.ge-one-page__scene:is(.ge-one-page__scene--glitch-active, .ge-one-page__scene--glitch-mode-hover:hover):is(.ge-one-page__scene--glitch-main, .ge-one-page__scene--glitch-both) :is(.ge-one-page__object-fallback, .ge-one-page__object-3d canvas) {
	transform: translate3d(var(--ge-glitch-x, 0), var(--ge-glitch-y, 0), 0) skewX(var(--ge-glitch-skew-current, 0deg));
}

.ge-one-page__scene--glitch :is(.ge-one-page__scene-backdrop, .ge-one-page__media, .ge-one-page__object-3d)::after {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: none;
	background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, var(--ge-glitch-scanlines, .1)) 0 1px, transparent 1px 5px);
	content: "";
	mix-blend-mode: overlay;
	pointer-events: none;
}

.ge-one-page__scene:is(.ge-one-page__scene--glitch-active, .ge-one-page__scene--glitch-mode-hover:hover):is(.ge-one-page__scene--glitch-background, .ge-one-page__scene--glitch-both) .ge-one-page__scene-backdrop::after,
.ge-one-page__scene:is(.ge-one-page__scene--glitch-active, .ge-one-page__scene--glitch-mode-hover:hover):is(.ge-one-page__scene--glitch-main, .ge-one-page__scene--glitch-both) :is(.ge-one-page__media, .ge-one-page__object-3d)::after {
	display: block;
	animation: ge-glitch-scanlines var(--ge-glitch-duration, 2.35s) steps(2, end) infinite;
}

@keyframes ge-image-glitch {
	0%, 78%, 100% {
		--ge-glitch-x: 0px;
		--ge-glitch-y: 0px;
		--ge-glitch-skew-current: 0deg;
		clip-path: inset(0);
		filter: none;
	}
	80% {
		--ge-glitch-x: calc(-1 * var(--ge-glitch-jump, 10px));
		--ge-glitch-y: 1px;
		--ge-glitch-skew-current: var(--ge-glitch-skew, 2.5deg);
		clip-path: inset(8% 0 54% 0);
		filter: drop-shadow(var(--ge-glitch-offset, 7px) 0 var(--ge-glitch-color, #ff2b8a)) drop-shadow(calc(-1 * var(--ge-glitch-offset, 7px)) 0 var(--ge-glitch-color-alt, #00e5ff)) contrast(var(--ge-glitch-contrast, 1.4));
	}
	83% {
		--ge-glitch-x: var(--ge-glitch-jump, 10px);
		--ge-glitch-y: -2px;
		--ge-glitch-skew-current: calc(-1 * var(--ge-glitch-skew, 2.5deg));
		clip-path: inset(56% 0 16% 0);
		filter: drop-shadow(calc(-1 * var(--ge-glitch-offset, 7px)) 0 var(--ge-glitch-color, #ff2b8a)) drop-shadow(var(--ge-glitch-offset, 7px) 0 var(--ge-glitch-color-alt, #00e5ff)) saturate(1.7) contrast(var(--ge-glitch-contrast, 1.4));
	}
	86% {
		--ge-glitch-x: var(--ge-glitch-jump, 10px);
		--ge-glitch-y: 0px;
		--ge-glitch-skew-current: 0deg;
		clip-path: inset(24% 0 30% 0);
		filter: drop-shadow(var(--ge-glitch-offset, 7px) 0 var(--ge-glitch-color-alt, #00e5ff)) contrast(var(--ge-glitch-contrast, 1.4));
	}
	89%, 96% {
		--ge-glitch-x: 0px;
		--ge-glitch-y: 0px;
		--ge-glitch-skew-current: 0deg;
		clip-path: inset(0);
		filter: none;
	}
	92% {
		--ge-glitch-x: calc(-1 * var(--ge-glitch-jump, 10px));
		--ge-glitch-y: 1px;
		--ge-glitch-skew-current: var(--ge-glitch-skew, 2.5deg);
		clip-path: inset(72% 0 5% 0);
		filter: drop-shadow(calc(-1 * var(--ge-glitch-offset, 7px)) 0 var(--ge-glitch-color, #ff2b8a)) contrast(var(--ge-glitch-contrast, 1.4));
	}
}

@keyframes ge-glitch-scanlines {
	0%, 76%, 100% { opacity: 0; transform: translateY(0); }
	80%, 86% { opacity: .68; transform: translateY(-3px); }
	92% { opacity: .38; transform: translateY(4px); }
}

.ge-one-page__scene--bg-image {
	border-top: 0 !important;
}

.ge-one-page__background-fx {
	position: absolute;
	z-index: var(--ge-layer-transition);
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	background: transparent;
	mix-blend-mode: screen;
	pointer-events: none;
	contain: strict;
}

.ge-one-page__scene--tone-light {
	--ge-ink: #fff;
	--ge-muted: #e3e8ea;
	--ge-line: rgba(255, 255, 255, .32);
}

.ge-one-page__scene--tone-dark {
	--ge-ink: #111827;
	--ge-muted: #4b5563;
	--ge-line: rgba(17, 24, 39, .24);
}

.ge-one-page__scene + .ge-one-page__scene {
	border-top: 1px solid var(--ge-line);
}

.ge-one-page:not([data-scene-transition="none"]) .ge-one-page__scene + .ge-one-page__scene {
	border-top: 0;
}

.ge-one-page:not([data-scene-transition="none"]) .ge-one-page__scene + .ge-one-page__scene:not(.ge-one-page__scene--transition-none)::before {
	position: absolute;
	z-index: var(--ge-layer-transition);
	top: 0;
	right: 0;
	left: 0;
	height: var(--ge-scene-blend-height);
	background: linear-gradient(to bottom, var(--ge-transition-color, var(--ge-surface)), transparent);
	background: linear-gradient(to bottom, color-mix(in srgb, var(--ge-transition-color, var(--ge-surface)) 92%, transparent), transparent);
	box-shadow: 0 -22px 44px color-mix(in srgb, var(--ge-transition-color, var(--ge-surface)) 52%, transparent);
	content: "";
	pointer-events: none;
}

.ge-one-page__scene--transition-none::before {
	display: none !important;
}

.ge-one-page__content {
	position: relative;
	z-index: var(--ge-layer-content);
	grid-column: 1 / span 5;
	grid-row: 1;
	width: min(100%, var(--ge-experience-content-width));
	opacity: var(--ge-scene-content-opacity, 1);
	transform: translate3d(0, calc(var(--ge-scene-content-y, 0px) + var(--ge-long-content-y, 0px)), 0);
	will-change: transform, opacity;
}

.ge-one-page__content--backdrop {
	isolation: isolate;
}

.ge-one-page__content--backdrop::before {
	position: absolute;
	z-index: 0;
	inset: calc(-1 * var(--ge-text-backdrop-y, 12px)) calc(-1 * var(--ge-text-backdrop-x, 18px));
	border-radius: var(--ge-text-backdrop-radius, 6px);
	background: var(--ge-text-backdrop-color, #000);
	content: "";
	opacity: var(--ge-text-backdrop-opacity, .38);
	pointer-events: none;
}

.ge-one-page__content--backdrop :is(.ge-one-page__eyebrow, .ge-one-page__title, .ge-one-page__copy, .ge-one-page__button) {
	position: relative;
	z-index: 1;
}

.ge-one-page__intro,
.ge-one-page__body {
	display: contents;
}

.ge-one-page__scene--content-scroll .ge-one-page__stage {
	align-items: start;
}

.ge-one-page__scene--content-scroll .ge-one-page__content {
	align-self: start;
}

.ge-one-page__module-layout {
	position: relative;
	z-index: var(--ge-layer-content);
	display: grid;
	grid-column: 1 / -1;
	grid-row: 1;
	grid-template-columns: minmax(0, calc(100% - var(--ge-embedded-width, 50%) - var(--ge-embedded-gap, 48px))) minmax(0, var(--ge-embedded-width, 50%));
	width: 100%;
	min-width: 0;
	gap: var(--ge-embedded-gap, 48px);
	align-items: center;
}

.ge-one-page__module-layout--align-start { align-items: start; }
.ge-one-page__module-layout--align-end { align-items: end; }
.ge-one-page__module-layout--text-center .ge-one-page__content { text-align: center; }
.ge-one-page__module-layout--text-right .ge-one-page__content { text-align: right; }
.ge-one-page__module-layout--text-center :is(.ge-one-page__title, .ge-one-page__copy) { margin-right: auto; margin-left: auto; }
.ge-one-page__module-layout--text-right :is(.ge-one-page__title, .ge-one-page__copy) { margin-left: auto; }
.ge-one-page__module-layout--widget-start .ge-one-page__embedded { justify-self: start; }
.ge-one-page__module-layout--widget-center .ge-one-page__embedded { justify-self: center; }
.ge-one-page__module-layout--widget-end .ge-one-page__embedded { justify-self: end; }
.ge-one-page__module-layout--widget-stretch .ge-one-page__embedded { justify-self: stretch; }

.ge-one-page__module-layout .ge-one-page__content {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.ge-one-page__module-layout--text-right .ge-one-page__content { grid-column: 2; }
.ge-one-page__module-layout--text-right .ge-one-page__embedded { grid-column: 1; }

.ge-one-page__module-layout--text-above,
.ge-one-page__module-layout--text-below {
	grid-template-columns: minmax(0, 1fr);
}

.ge-one-page__module-layout--text-above .ge-one-page__content,
.ge-one-page__module-layout--text-below .ge-one-page__content,
.ge-one-page__module-layout--text-above .ge-one-page__embedded,
.ge-one-page__module-layout--text-below .ge-one-page__embedded {
	grid-column: 1;
}

.ge-one-page__module-layout--text-above .ge-one-page__content { grid-row: 1; }
.ge-one-page__module-layout--text-above .ge-one-page__embedded { grid-row: 2; }
.ge-one-page__module-layout--text-below .ge-one-page__embedded { grid-row: 1; }
.ge-one-page__module-layout--text-below .ge-one-page__content { grid-row: 2; }

.ge-one-page__module-layout--widget_only {
	display: block;
}

.ge-one-page__embedded {
	position: relative;
	z-index: var(--ge-layer-content);
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	min-width: 0;
}

.ge-one-page__module-layout--widget-start .ge-one-page__embedded,
.ge-one-page__module-layout--widget-center .ge-one-page__embedded,
.ge-one-page__module-layout--widget-end .ge-one-page__embedded {
	width: min(100%, var(--ge-embedded-width, 50%));
}

.ge-one-page__embedded > .elementor {
	width: 100%;
}

.ge-one-page__embedded-placeholder {
	margin: 0;
	padding: 24px;
	border: 1px dashed var(--ge-line);
	color: var(--ge-muted);
	text-align: center;
}

.ge-one-page__floating-widget {
	position: absolute;
	left: var(--ge-floating-x, 72%);
	top: var(--ge-floating-y, 50%);
	width: min(var(--ge-floating-width, 36%), calc(100% - 48px));
	max-width: calc(100% - 48px);
	min-width: 0;
	transform: translate(-50%, -50%);
	pointer-events: auto;
}

.ge-one-page__floating-widget--safe {
	left: clamp(6%, var(--ge-floating-x, 72%), 94%);
	top: clamp(6%, var(--ge-floating-y, 50%), 94%);
}

.ge-one-page__floating-widget--behind { z-index: var(--ge-layer-decoration); }
.ge-one-page__floating-widget--between { z-index: var(--ge-layer-media); }
.ge-one-page__floating-widget--front { z-index: calc(var(--ge-layer-content) + 1); }

.ge-one-page__floating-widget > .elementor {
	width: 100%;
}

.ge-one-page__floating-widget :is(.elementor, .elementor-element, .elementor-widget-container) {
	transform-style: flat;
}

.ge-one-page__content--title-left .ge-one-page__intro { text-align: left; }
.ge-one-page__content--title-center .ge-one-page__intro { text-align: center; }
.ge-one-page__content--title-right .ge-one-page__intro { text-align: right; }
.ge-one-page__content--title-center .ge-one-page__title { margin-right: auto; margin-left: auto; }
.ge-one-page__content--title-right .ge-one-page__title { margin-left: auto; }
.ge-one-page__content--body-left .ge-one-page__body { text-align: left; }
.ge-one-page__content--body-center .ge-one-page__body { text-align: center; }
.ge-one-page__content--body-right .ge-one-page__body { text-align: right; }
.ge-one-page__content--body-center .ge-one-page__copy { margin-right: auto; margin-left: auto; }
.ge-one-page__content--body-right .ge-one-page__copy { margin-left: auto; }

.ge-one-page__scene--type-cta .ge-one-page__content {
	grid-column: 2 / span 10;
	width: min(100%, 920px);
	max-width: none;
	justify-self: center;
	transform: translate3d(0, calc(var(--ge-scene-content-y, 0px) + var(--ge-long-content-y, 0px)), 0);
}

.ge-one-page__content--cta-center { text-align: center; }
.ge-one-page__content--cta-right { justify-self: end; text-align: right; }
.ge-one-page__content--cta-left { justify-self: start; text-align: left; }

.ge-one-page__content--cta-center :is(.ge-one-page__title, .ge-one-page__copy) { margin-right: auto; margin-left: auto; }
.ge-one-page__content--cta-right :is(.ge-one-page__title, .ge-one-page__copy) { margin-left: auto; }

.ge-one-page__content--cta {
	isolation: isolate;
}

.ge-one-page__content--cta > * {
	position: relative;
	z-index: 1;
}

.ge-one-page__cta-lighting {
	--ge-cta-tone-one: var(--ge-cta-light, #56d8ff);
	--ge-cta-tone-two: color-mix(in srgb, var(--ge-cta-tone-one) 58%, #fff);
	position: absolute;
	z-index: var(--ge-layer-decoration);
	inset: -14% -8%;
	overflow: hidden;
	opacity: var(--ge-cta-light-opacity, .64);
	mix-blend-mode: screen;
	pointer-events: none;
	perspective: 1100px;
	transform: perspective(1100px) translate3d(var(--ge-cta-light-x, 0), var(--ge-cta-light-y, 0), 0) rotateZ(var(--ge-cta-light-angle, 0deg)) scale(var(--ge-cta-glow-scale, 1));
	transform-style: preserve-3d;
	will-change: transform, opacity;
}

.ge-one-page__scene--tone-dark .ge-one-page__cta-lighting {
	mix-blend-mode: screen;
}

.ge-one-page__cta-lighting > span {
	position: absolute;
	display: block;
	pointer-events: none;
	will-change: transform, opacity;
}

.ge-one-page__cta-light-canvas {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
	filter: saturate(1.08) contrast(1.04);
	pointer-events: none;
}

.ge-one-page__cta-lighting--canvas > span {
	opacity: 0 !important;
	animation: none !important;
}

.ge-one-page__cta-beam {
	top: -46%;
	left: 35%;
	width: 25%;
	height: 178%;
	border-radius: 50%;
	background:
		linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--ge-cta-tone-one) 8%, transparent) 19%, color-mix(in srgb, var(--ge-cta-tone-two) 56%, transparent) 49%, color-mix(in srgb, var(--ge-cta-tone-one) 10%, transparent) 81%, transparent 100%),
		linear-gradient(to bottom, color-mix(in srgb, var(--ge-cta-tone-two) 76%, transparent) 0%, color-mix(in srgb, var(--ge-cta-tone-one) 42%, transparent) 30%, color-mix(in srgb, var(--ge-cta-tone-one) 14%, transparent) 66%, transparent 90%);
	clip-path: none;
	filter: blur(calc(var(--ge-cta-light-softness, 18px) * 1.25)) saturate(1.12);
	transform-origin: 50% 7%;
	transform: translateZ(var(--ge-cta-light-depth, 110px)) rotateX(64deg) rotateZ(-13deg);
	animation: ge-cta-volumetric-beam-one var(--ge-cta-light-duration, 9s) ease-in-out infinite alternate;
}

.ge-one-page__cta-beam--two {
	left: 54%;
	width: 20%;
	opacity: .72;
	transform: translateZ(var(--ge-cta-light-depth-mid, 60px)) rotateX(68deg) rotateZ(16deg);
	animation-name: ge-cta-volumetric-beam-two;
	animation-delay: var(--ge-cta-light-delay, -3.8s);
}

.ge-one-page__cta-flare {
	top: 43%;
	left: 50%;
	width: min(72vw, 980px);
	aspect-ratio: 2.4 / 1;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, color-mix(in srgb, var(--ge-cta-tone-two) 44%, transparent) 0%, color-mix(in srgb, var(--ge-cta-tone-one) 17%, transparent) 34%, transparent 72%);
	filter: blur(var(--ge-cta-light-softness-soft, 19px));
	transform: translate(-50%, -50%) translateZ(var(--ge-cta-light-depth-low, 38px));
	animation: ge-cta-volumetric-flare var(--ge-cta-light-duration-fast, 7s) ease-in-out infinite alternate;
}

.ge-one-page__cta-dust {
	inset: 8% 10%;
	background-image:
		radial-gradient(circle at 14% 22%, color-mix(in srgb, var(--ge-cta-tone-two) 58%, transparent) 0 1px, transparent 2px),
		radial-gradient(circle at 72% 28%, color-mix(in srgb, var(--ge-cta-tone-one) 48%, transparent) 0 1.5px, transparent 3px),
		radial-gradient(circle at 38% 70%, color-mix(in srgb, var(--ge-cta-tone-two) 52%, transparent) 0 1px, transparent 2.5px),
		radial-gradient(circle at 88% 76%, color-mix(in srgb, var(--ge-cta-tone-one) 44%, transparent) 0 1.5px, transparent 3px);
	background-size: 190px 170px, 260px 230px, 220px 280px, 310px 260px;
	filter: blur(.35px);
	opacity: .58;
	transform: translateZ(var(--ge-cta-light-depth-mid, 60px));
	animation: ge-cta-volumetric-dust var(--ge-cta-light-duration-slow, 12s) linear infinite;
}

.ge-one-page__scene--type-cta[data-cta-effect="sweep"] .ge-one-page__cta-lighting {
	animation: ge-cta-volumetric-sweep var(--ge-cta-light-duration, 9s) ease-in-out infinite alternate;
}

.ge-one-page__scene--type-cta[data-cta-effect="sweep"] .ge-one-page__cta-beam {
	width: 15%;
	opacity: .82;
}

.ge-one-page__scene--type-cta[data-cta-effect="golden_beams"] .ge-one-page__cta-lighting {
	--ge-cta-tone-one: #d89b36;
	--ge-cta-tone-two: #fff1b8;
	filter: saturate(1.08) contrast(1.04);
}

.ge-one-page__scene--type-cta[data-cta-effect="golden_beams"].ge-one-page__scene--tone-dark .ge-one-page__cta-lighting {
	--ge-cta-tone-one: #d89b36;
	--ge-cta-tone-two: #fff1b8;
	filter: saturate(1.16) contrast(1.08);
}

.ge-one-page__scene--type-cta[data-cta-effect="golden_beams"].ge-one-page__scene--tone-dark .ge-one-page__cta-beam {
	background:
		linear-gradient(90deg, transparent 0%, rgba(216, 155, 54, .05) 13%, rgba(255, 241, 184, .7) 50%, rgba(216, 155, 54, .12) 87%, transparent 100%),
		linear-gradient(to bottom, rgba(255, 241, 184, .72) 0%, rgba(216, 155, 54, .4) 30%, rgba(255, 209, 112, .18) 64%, transparent 90%);
}

.ge-one-page__scene--type-cta[data-cta-effect="golden_beams"].ge-one-page__scene--tone-dark .ge-one-page__cta-flare {
	background: radial-gradient(ellipse at center, rgba(255, 241, 184, .58) 0%, rgba(224, 169, 65, .24) 38%, transparent 72%);
}

@keyframes ge-cta-volumetric-beam-one {
	0% { opacity: .48; transform: translate3d(-7%, -2%, var(--ge-cta-light-depth, 110px)) rotateX(64deg) rotateZ(-18deg) scaleX(.88); }
	55% { opacity: .92; }
	100% { opacity: .62; transform: translate3d(9%, 3%, var(--ge-cta-light-depth, 110px)) rotateX(58deg) rotateZ(-7deg) scaleX(1.12); }
}

@keyframes ge-cta-volumetric-beam-two {
	0% { opacity: .38; transform: translate3d(8%, 2%, var(--ge-cta-light-depth-mid, 60px)) rotateX(68deg) rotateZ(21deg) scaleX(.9); }
	100% { opacity: .8; transform: translate3d(-10%, -3%, var(--ge-cta-light-depth-mid, 60px)) rotateX(62deg) rotateZ(9deg) scaleX(1.14); }
}

@keyframes ge-cta-volumetric-flare {
	0% { opacity: .45; transform: translate(-53%, -49%) translateZ(var(--ge-cta-light-depth-low, 38px)) scale(.82); }
	100% { opacity: .88; transform: translate(-47%, -51%) translateZ(var(--ge-cta-light-depth-low, 38px)) scale(1.12); }
}

@keyframes ge-cta-volumetric-dust {
	0% { background-position: 0 0, 0 0, 0 0, 0 0; opacity: .34; }
	50% { opacity: .66; }
	100% { background-position: 80px -120px, -110px -160px, 70px -190px, -90px -140px; opacity: .4; }
}

@keyframes ge-cta-volumetric-sweep {
	0% { transform: perspective(1100px) translate3d(-26%, var(--ge-cta-light-y, 0), 0) rotateZ(-7deg) scale(var(--ge-cta-glow-scale, 1)); }
	100% { transform: perspective(1100px) translate3d(24%, var(--ge-cta-light-y, 0), 0) rotateZ(7deg) scale(var(--ge-cta-glow-scale, 1)); }
}

.ge-one-page__scene--type-cta[data-cta-effect="zoom_focus"] .ge-one-page__content {
	filter: blur(var(--ge-cta-blur, 0));
	transform: translate3d(0, calc(var(--ge-scene-content-y, 0px) + var(--ge-long-content-y, 0px)), 0) scale(var(--ge-cta-scale, 1));
}

.ge-one-page__scene--type-cta[data-cta-effect="split_reveal"] .ge-one-page__title {
	transform: perspective(950px) translateX(var(--ge-cta-split-left, 0)) translateZ(var(--ge-title-depth, 0px)) rotateY(var(--ge-title-rotate-y, 0deg));
}

.ge-one-page__scene--type-cta[data-cta-effect="split_reveal"] .ge-one-page__copy {
	transform: translateX(var(--ge-cta-split-right, 0));
}

.ge-one-page__scene--type-cta[data-cta-effect="split_reveal"] .ge-one-page__button {
	--ge-cta-button-scene-x: var(--ge-cta-split-right, 0px);
}

.ge-one-page__scene--type-cta[data-cta-effect="lift"] .ge-one-page__content {
	transform: perspective(1000px) translate3d(0, calc(var(--ge-cta-lift-y, 0px) + var(--ge-long-content-y, 0px)), var(--ge-cta-lift-z, 0)) rotateX(var(--ge-cta-lift-angle, 0));
}

.ge-one-page__scene--media_left .ge-one-page__content {
	grid-column: 8 / -1;
	justify-self: end;
}

.ge-one-page__scene--compact_side .ge-one-page__content {
	grid-column: 1 / span 7;
}

.ge-one-page__scene--text_only .ge-one-page__content {
	grid-column: 2 / span 9;
}

.ge-one-page__scene--full .ge-one-page__content {
	grid-column: 1 / span 6;
	padding: 34px 0;
}

.ge-one-page__paired-layout {
	position: relative;
	z-index: var(--ge-layer-content);
	display: grid;
	grid-column: 1 / -1;
	grid-row: 1;
	grid-template-columns: minmax(0, calc(100% - var(--ge-floating-width, 36%) - var(--ge-paired-gap, 48px))) minmax(0, var(--ge-floating-width, 36%));
	width: 100%;
	min-width: 0;
	gap: var(--ge-paired-gap, 48px);
	align-items: center;
}

.ge-one-page__scene .ge-one-page__paired-layout > .ge-one-page__content {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	max-width: none;
	min-width: 0;
	padding-right: 0;
	padding-left: 0;
	justify-self: stretch;
}

.ge-one-page__paired-layout > .ge-one-page__floating-widget {
	position: relative;
	inset: auto;
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	max-width: 100%;
	transform: none;
}

.ge-one-page__paired-layout--left {
	grid-template-columns: minmax(0, var(--ge-floating-width, 36%)) minmax(0, calc(100% - var(--ge-floating-width, 36%) - var(--ge-paired-gap, 48px)));
}

.ge-one-page__scene .ge-one-page__paired-layout--left > .ge-one-page__content { grid-column: 2; }
.ge-one-page__paired-layout--left > .ge-one-page__floating-widget { grid-column: 1; }

.ge-one-page__paired-layout--after,
.ge-one-page__paired-layout--before {
	grid-template-columns: minmax(0, 1fr);
	align-content: center;
}

.ge-one-page__scene .ge-one-page__paired-layout--after > .ge-one-page__content,
.ge-one-page__scene .ge-one-page__paired-layout--before > .ge-one-page__content {
	grid-column: 1;
	width: min(100%, var(--ge-experience-content-width));
	justify-self: center;
}

.ge-one-page__paired-layout--after > .ge-one-page__floating-widget,
.ge-one-page__paired-layout--before > .ge-one-page__floating-widget {
	grid-column: 1;
	width: min(100%, var(--ge-floating-width, 36%));
}

.ge-one-page__scene .ge-one-page__paired-layout--after > .ge-one-page__content { grid-row: 1; }
.ge-one-page__paired-layout--after > .ge-one-page__floating-widget { grid-row: 2; }
.ge-one-page__paired-layout--before > .ge-one-page__floating-widget { grid-row: 1; }
.ge-one-page__scene .ge-one-page__paired-layout--before > .ge-one-page__content { grid-row: 2; }
.ge-one-page__floating-widget--desktop-align-start { justify-self: start; }
.ge-one-page__floating-widget--desktop-align-center { justify-self: center; }
.ge-one-page__floating-widget--desktop-align-end { justify-self: end; }
.ge-one-page__floating-widget--desktop-align-stretch { width: 100% !important; justify-self: stretch; }

.ge-one-page__scene--content-split .ge-one-page__content {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
	gap: clamp(44px, 7vw, 120px);
	align-items: start;
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.ge-one-page__scene--content-split .ge-one-page__intro,
.ge-one-page__scene--content-split .ge-one-page__body {
	display: block;
	min-width: 0;
}

.ge-one-page__scene--content-split .ge-one-page__body {
	padding-top: 32px;
}

.ge-one-page__scene--content-split .ge-one-page__copy {
	max-width: 68ch;
	margin-top: 0;
}

.ge-one-page__eyebrow {
	margin: 0 0 18px;
	color: var(--ge-accent);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ge-one-page__title {
	max-width: 18ch;
	margin: 0;
	color: var(--ge-scene-title, var(--ge-ink));
	font-size: 62px;
	font-weight: 720;
	line-height: 1.02;
	letter-spacing: 0;
	text-wrap: balance;
}

.ge-one-page__title--neon {
	color: color-mix(in srgb, #fff 76%, var(--ge-neon-primary, #ff4fd8)) !important;
	font-size: clamp(38px, 4.2vw, 54px);
	font-weight: 300;
	transform: perspective(950px) translateZ(var(--ge-title-depth, 0px)) rotateY(var(--ge-title-rotate-y, 0deg));
	transform-origin: center;
	transform-style: preserve-3d;
	text-shadow:
		0 .045em .055em rgba(0, 0, 0, .34),
		0 0 1px rgba(255, 255, 255, .98),
		0 0 2px color-mix(in srgb, #fff 72%, var(--ge-neon-primary, #ff4fd8)),
		0 0 var(--ge-neon-small, 4px) var(--ge-neon-primary, #ff4fd8),
		0 0 var(--ge-neon-medium, 14px) color-mix(in srgb, var(--ge-neon-primary, #ff4fd8) 72%, transparent),
		0 0 var(--ge-neon-large, 31px) color-mix(in srgb, var(--ge-neon-secondary, #56d8ff) 48%, transparent);
}

.ge-one-page__title--neon-pulse {
	animation: ge-neon-pulse 2.8s ease-in-out infinite;
}

@keyframes ge-neon-pulse {
	0%, 18%, 22%, 64%, 70%, 100% { filter: brightness(.98) saturate(1.02); }
	20%, 67% { filter: brightness(.9) saturate(.94); }
	48% { filter: brightness(1.08) saturate(1.06); }
}

.ge-one-page__copy {
	max-width: 62ch;
	margin-top: 26px;
	color: var(--ge-scene-copy, var(--ge-muted));
	font-size: 18px;
	line-height: 1.72;
}

.ge-one-page__copy > :first-child { margin-top: 0; }
.ge-one-page__copy > :last-child { margin-bottom: 0; }

.ge-one-page__button {
	--ge-cta-button-scene-x: 0px;
	--ge-cta-button-scene-y: 0px;
	--ge-cta-button-pointer-x: 0px;
	--ge-cta-button-pointer-y: 0px;
	--ge-cta-button-hover-y: 0px;
	--ge-cta-button-wow-y: 0px;
	--ge-cta-button-z: 0px;
	--ge-cta-button-rotate-x: 0deg;
	--ge-cta-button-rotate-y: 0deg;
	--ge-cta-button-wow-scale: 1;
	position: relative;
	overflow: hidden;
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
	padding: 12px 20px;
	border: 1px solid var(--ge-accent);
	border-radius: 3px;
	color: var(--ge-surface);
	background: var(--ge-accent);
	font-weight: 750;
	text-decoration: none;
	transform: perspective(900px) translate3d(
		calc(var(--ge-cta-button-scene-x) + var(--ge-cta-button-pointer-x)),
		calc(var(--ge-cta-button-scene-y) + var(--ge-cta-button-pointer-y) + var(--ge-cta-button-hover-y) + var(--ge-cta-button-wow-y)),
		var(--ge-cta-button-z)
	) rotateX(var(--ge-cta-button-rotate-x)) rotateY(var(--ge-cta-button-rotate-y)) scale(var(--ge-cta-button-wow-scale));
	transform-style: preserve-3d;
	transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease, transform .18s ease;
	will-change: transform;
}

.ge-one-page__button-label {
	position: relative;
	z-index: 2;
}

.ge-one-page__button--shine::after {
	position: absolute;
	top: -80%;
	bottom: -80%;
	left: -50%;
	width: 34%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .58), transparent);
	content: "";
	transform: skewX(-18deg);
	animation: ge-cta-button-shine 3.4s ease-in-out infinite;
}

.ge-one-page__button--pulse { animation: ge-cta-button-pulse 2.8s ease-in-out infinite; }
.ge-one-page__button--lift:hover,
.ge-one-page__button--lift:focus-visible { --ge-cta-button-hover-y: -4px; box-shadow: 0 14px 30px color-mix(in srgb, var(--ge-accent) 28%, transparent); }
.ge-one-page__button--outline { color: var(--ge-accent); background: transparent; box-shadow: inset 0 0 0 1px var(--ge-accent); }

.ge-one-page__button--depth_3d {
	--ge-cta-button-z: 3px;
	overflow: visible;
	box-shadow: 0 7px 0 color-mix(in srgb, var(--ge-accent) 58%, #060b12), 0 15px 30px color-mix(in srgb, var(--ge-accent) 24%, transparent);
}

.ge-one-page__button--depth_3d:hover,
.ge-one-page__button--depth_3d:focus-visible {
	--ge-cta-button-hover-y: -3px;
	--ge-cta-button-z: 12px;
	box-shadow: 0 10px 0 color-mix(in srgb, var(--ge-accent) 58%, #060b12), 0 22px 36px color-mix(in srgb, var(--ge-accent) 30%, transparent);
}

.ge-one-page__button--golden_3d {
	--ge-cta-button-z: 5px;
	isolation: isolate;
	overflow: visible;
	border-color: #f3cf73;
	color: #241605;
	background: linear-gradient(145deg, #fff5c8 0%, #e6ad43 42%, #fff0a2 68%, #b87817 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), inset 0 -2px 5px rgba(89, 48, 4, .32), 0 5px 0 #85520f, 0 18px 38px rgba(201, 139, 31, .34);
	text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}

.ge-one-page__button--golden_3d::before {
	position: absolute;
	z-index: -1;
	inset: -18px -24px;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(255, 223, 133, .5) 0%, rgba(221, 153, 38, .18) 42%, transparent 72%);
	content: "";
	filter: blur(12px);
	opacity: .76;
	transform: translateZ(-18px) scale(.9);
	animation: ge-cta-button-golden-glow 3.8s ease-in-out infinite alternate;
}

.ge-one-page__button--golden_3d::after {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: -46%;
	width: 30%;
	background: linear-gradient(98deg, transparent, rgba(255, 255, 255, .72), transparent);
	content: "";
	filter: blur(1px);
	transform: skewX(-18deg);
	animation: ge-cta-button-golden-sweep 4.6s ease-in-out infinite;
}

.ge-one-page__button--magnetic { transition-duration: .12s; }
.ge-one-page__button--glow { animation: ge-cta-button-glow 2.4s ease-in-out infinite; }
.ge-one-page__button--wow_reveal {
	opacity: var(--ge-cta-button-wow-opacity, 1);
	clip-path: inset(var(--ge-cta-button-wow-clip, 0%) 0 0 0 round 3px);
	filter: blur(var(--ge-cta-button-wow-blur, 0px));
}

.ge-one-page__button--ripple::before {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .46);
	content: "";
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
}

.ge-one-page__button--ripple:hover::before,
.ge-one-page__button--ripple:focus-visible::before { animation: ge-cta-button-ripple .78s ease-out; }

@keyframes ge-cta-button-shine {
	0%, 64% { left: -55%; }
	100% { left: 125%; }
}

@keyframes ge-cta-button-pulse {
	0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ge-accent) 32%, transparent); }
	50% { box-shadow: 0 0 0 10px transparent; }
}

@keyframes ge-cta-button-glow {
	0%, 100% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--ge-accent) 28%, transparent), 0 8px 24px color-mix(in srgb, var(--ge-accent) 18%, transparent); }
	50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--ge-accent) 16%, transparent), 0 12px 38px color-mix(in srgb, var(--ge-accent) 42%, transparent); }
}

@keyframes ge-cta-button-golden-glow {
	0% { opacity: .46; transform: translate3d(-4px, 1px, -18px) scale(.86); }
	100% { opacity: .92; transform: translate3d(5px, -2px, -18px) scale(1.08); }
}

@keyframes ge-cta-button-golden-sweep {
	0%, 58% { left: -46%; opacity: 0; }
	66% { opacity: .82; }
	100% { left: 122%; opacity: 0; }
}

@keyframes ge-cta-button-ripple {
	0% { opacity: .62; transform: translate(-50%, -50%) scale(0); }
	100% { opacity: 0; transform: translate(-50%, -50%) scale(18); }
}

.ge-one-page__button:hover,
.ge-one-page__button:focus-visible {
	color: var(--ge-accent);
	background: var(--ge-surface);
}

.ge-one-page__button--golden_3d:hover,
.ge-one-page__button--golden_3d:focus-visible {
	--ge-cta-button-hover-y: -3px;
	--ge-cta-button-z: 14px;
	border-color: #ffe6a1;
	color: #1d1204;
	background: linear-gradient(145deg, #fff9dc 0%, #edbd5c 42%, #fff3ad 68%, #c88721 100%);
	box-shadow: inset 0 1px 0 #fff, inset 0 -2px 5px rgba(89, 48, 4, .24), 0 8px 0 #85520f, 0 24px 46px rgba(201, 139, 31, .48);
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-light .ge-one-page__eyebrow {
	color: #fff;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-dark .ge-one-page__eyebrow {
	color: #111827;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-light .ge-one-page__button {
	border-color: #fff;
	color: #111827;
	background: #fff;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-dark .ge-one-page__button {
	border-color: #111827;
	color: #fff;
	background: #111827;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-light .ge-one-page__button:hover,
.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-light .ge-one-page__button:focus-visible {
	color: #fff;
	background: #111827;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-dark .ge-one-page__button:hover,
.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene--tone-dark .ge-one-page__button:focus-visible {
	color: #111827;
	background: #fff;
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene .ge-one-page__button--golden_3d {
	border-color: #f3cf73;
	color: #241605;
	background: linear-gradient(145deg, #fff5c8 0%, #e6ad43 42%, #fff0a2 68%, #b87817 100%);
}

.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene .ge-one-page__button--golden_3d:hover,
.ge-one-page[data-wcag-contrast="yes"] .ge-one-page__scene .ge-one-page__button--golden_3d:focus-visible {
	border-color: #ffe6a1;
	color: #1d1204;
	background: linear-gradient(145deg, #fff9dc 0%, #edbd5c 42%, #fff3ad 68%, #c88721 100%);
}

.ge-one-page__media {
	position: relative;
	z-index: var(--ge-layer-media);
	grid-column: 7 / -1;
	grid-row: 1;
	width: 100%;
	min-width: 0;
	min-height: 480px;
	overflow: visible;
	opacity: var(--ge-scene-media-opacity, 1);
	transform: translate3d(var(--ge-scene-media-x, 0), 0, 0) scale(var(--ge-scene-media-scale, 1));
	transform-origin: center;
	will-change: transform, opacity;
}

.ge-one-page__scene--media_left .ge-one-page__media {
	grid-column: 1 / span 6;
	grid-row: 1;
}

.ge-one-page__scene--compact_side .ge-one-page__media {
	grid-column: 9 / -1;
	width: min(100%, 360px);
	min-height: 280px;
	align-self: center;
	justify-self: end;
}

.ge-one-page__scene--full .ge-one-page__media {
	position: absolute;
	z-index: 4;
	inset: 0;
	min-height: 0;
}

.ge-one-page__background {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
	transform: translate3d(var(--ge-glitch-x, 0), calc(var(--ge-media-y, 0) + var(--ge-glitch-y, 0)), 0) skewX(var(--ge-glitch-skew-current, 0deg)) scale(1.04);
	will-change: transform;
}

.ge-one-page__scene:not(.ge-one-page__scene--full) .ge-one-page__background {
	position: absolute;
	inset: 0;
	border-radius: 4px;
}

.ge-one-page__layer {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: grid;
	place-items: center;
	pointer-events: none;
	transform: translate3d(var(--ge-layer-x, 0), var(--ge-layer-y, 0), 0) rotate(var(--ge-layer-rotate, 0));
	will-change: transform;
}

.ge-one-page__layer img {
	display: block;
	width: min(78%, 760px);
	max-height: 78%;
	object-fit: contain;
}

.ge-one-page__layer--2 img { width: min(62%, 620px); }
.ge-one-page__layer--3 img { width: min(48%, 480px); }

.ge-one-page__kinetic {
	position: absolute;
	z-index: 3;
	top: var(--ge-kinetic-top, 78%);
	left: var(--ge-kinetic-left, 82%);
	max-width: none;
	overflow: visible;
	color: var(--ge-accent);
	background-image: linear-gradient(90deg, var(--ge-experience-gradient-1), var(--ge-experience-gradient-2), var(--ge-experience-gradient-3));
	background-position: var(--ge-gradient-position, 50%) 50%;
	background-size: 220% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	font-size: var(--ge-kinetic-font-size, 112px);
	font-weight: 850;
	line-height: .82;
	letter-spacing: 0;
	opacity: var(--ge-kinetic-motion-opacity, var(--ge-kinetic-opacity, .16));
	filter: blur(var(--ge-kinetic-blur, 0));
	-webkit-text-fill-color: transparent;
	text-transform: uppercase;
	transform: translate(-50%, -50%) perspective(900px) translate3d(var(--ge-kinetic-x, 0), var(--ge-kinetic-y, 0), var(--ge-kinetic-z, 0)) rotateX(var(--ge-kinetic-rotate-x, 0)) rotateY(var(--ge-kinetic-rotate-y, 0)) rotateZ(var(--ge-kinetic-rotate, 0)) scale(var(--ge-kinetic-fit-scale, 1)) scale(var(--ge-kinetic-scale, 1)) scaleX(var(--ge-kinetic-scale-x, 1));
	transform-origin: center;
	white-space: nowrap;
	pointer-events: none;
	will-change: transform, background-position, filter, opacity;
}

.ge-one-page__kinetic--behind { z-index: var(--ge-layer-transition); }
.ge-one-page__kinetic--between { z-index: var(--ge-layer-decoration); }
.ge-one-page__kinetic--front { z-index: calc(var(--ge-layer-content) + 1); }

.ge-one-page__kinetic--neon {
	color: color-mix(in srgb, #fff 76%, var(--ge-neon-primary, #ff4fd8));
	background: none;
	font-weight: 300;
	-webkit-text-fill-color: currentColor;
	text-shadow:
		0 .045em .055em rgba(0, 0, 0, .3),
		0 0 1px rgba(255, 255, 255, .98),
		0 0 2px color-mix(in srgb, #fff 72%, var(--ge-neon-primary, #ff4fd8)),
		0 0 var(--ge-neon-small, 4px) var(--ge-neon-primary, #ff4fd8),
		0 0 var(--ge-neon-medium, 14px) color-mix(in srgb, var(--ge-neon-primary, #ff4fd8) 72%, transparent),
		0 0 var(--ge-neon-large, 31px) color-mix(in srgb, var(--ge-neon-secondary, #56d8ff) 48%, transparent);
}

.ge-one-page__kinetic--neon-pulse {
	animation: ge-kinetic-neon-pulse 2.6s ease-in-out infinite;
}

@keyframes ge-kinetic-neon-pulse {
	0%, 18%, 22%, 64%, 70%, 100% { filter: brightness(.98) saturate(1.02); }
	20%, 67% { filter: brightness(.9) saturate(.94); }
	48% { filter: brightness(1.08) saturate(1.06); }
}

.ge-one-page__foreground {
	position: absolute;
	z-index: var(--ge-layer-front);
	top: var(--ge-foreground-top, 50%);
	left: var(--ge-foreground-left, 50%);
	display: grid;
	width: min(86vw, var(--ge-foreground-size, 770px));
	max-height: 86vh;
	place-items: center;
	opacity: var(--ge-foreground-opacity, 0);
	filter: blur(var(--ge-foreground-blur, 0));
	transform: translate(-50%, -50%) perspective(1100px) translate3d(var(--ge-foreground-x, 0), var(--ge-foreground-y, 0), var(--ge-foreground-z, 0)) rotateX(var(--ge-foreground-rotate-x, 0)) rotateY(var(--ge-foreground-rotate-y, 0)) rotateZ(var(--ge-foreground-rotate, 0)) scale(var(--ge-foreground-scale, 1));
	transform-origin: center;
	pointer-events: none;
	will-change: transform, opacity, filter;
}

.ge-one-page__foreground--image img {
	display: block;
	width: 100%;
	max-height: 82vh;
	object-fit: contain;
}

.ge-one-page__foreground--text span {
	color: var(--ge-scene-title, var(--ge-ink));
	font-size: clamp(72px, 13vw, 220px);
	font-weight: 850;
	line-height: .86;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	text-wrap: balance;
}

.ge-one-page__object-3d {
	position: absolute;
	z-index: var(--ge-layer-media);
	inset: 0;
	margin: 0;
	cursor: default;
	touch-action: pan-y;
	pointer-events: auto;
}

.ge-one-page__object-3d.is-draggable { cursor: grab; }
.ge-one-page__object-3d.is-draggable:active { cursor: grabbing; }

.ge-one-page__object-3d canvas,
.ge-one-page__object-fallback {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ge-one-page__object-3d canvas {
	z-index: 2;
	background: transparent !important;
	opacity: 0;
	transition: opacity .24s ease;
}

.ge-one-page__object-3d.is-ready canvas { opacity: 1; }
.ge-one-page__object-3d.is-ready .ge-one-page__object-fallback { opacity: 0; }

.ge-one-page__compact-objects { display: none; }

@media (min-width: 768px) {
	.ge-one-page__scene--immersive-overflow {
		overflow: visible;
	}

	.ge-one-page__scene--immersive-overflow .ge-one-page__stage {
		z-index: calc(var(--ge-layer-front) + 4);
		overflow: visible;
	}

	.ge-one-page__scene--immersive-overflow .ge-one-page__object-3d {
		bottom: calc(-1 * var(--ge-object-overflow, 42svh));
		transform: translate3d(0, var(--ge-immersive-exit-y, 0), 0);
		will-change: transform;
	}
}

/* Cinema editoriale */
.elementor-widget.ge-preset-cinematic .ge-one-page {
	--ge-accent: #f2c66d;
	--ge-ink: #f8f5ee;
	--ge-muted: #d2cec3;
	--ge-line: #3c4144;
	--ge-surface: #101417;
}

.elementor-widget.ge-preset-cinematic .ge-one-page__scene--full:not(.ge-one-page__scene--bg-image) .ge-one-page__stage::after,
.elementor-widget.ge-preset-photographic .ge-one-page__scene--full:not(.ge-one-page__scene--bg-image) .ge-one-page__stage::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(90deg, rgba(8, 12, 14, .88) 0%, rgba(8, 12, 14, .46) 52%, rgba(8, 12, 14, .08) 100%);
	content: "";
}

.elementor-widget.ge-preset-cinematic .ge-one-page__title {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
}

/* Tecnologico 3D */
.elementor-widget.ge-preset-technology .ge-one-page {
	--ge-accent: #58f0bf;
	--ge-ink: #f2fbf8;
	--ge-muted: #abd0c7;
	--ge-line: #29463e;
	--ge-surface: #07110e;
}

.elementor-widget.ge-preset-technology .ge-one-page__scene:nth-child(even) {
	background: #0d1915;
}

.elementor-widget.ge-preset-technology .ge-one-page__media {
	border: 1px solid #355e52;
	box-shadow: 0 26px 70px rgba(0, 0, 0, .34);
}

.elementor-widget.ge-preset-technology .ge-one-page__scene--full .ge-one-page__media {
	border: 0;
	box-shadow: none;
}

/* Oggetti fluttuanti */
.elementor-widget.ge-preset-floating .ge-one-page {
	--ge-accent: #2159d5;
	--ge-ink: #17203a;
	--ge-muted: #59647e;
	--ge-line: #cfd7e7;
	--ge-surface: #f5f8fc;
}

.elementor-widget.ge-preset-floating .ge-one-page__scene:nth-child(even) {
	background: #fff3f0;
}

.elementor-widget.ge-preset-floating .ge-one-page__media {
	border-radius: 4px;
	background: #e7f3f0;
	box-shadow: 0 26px 64px rgba(31, 53, 87, .14);
}

/* Portfolio fotografico */
.elementor-widget.ge-preset-photographic .ge-one-page {
	--ge-accent: #ffdd45;
	--ge-ink: #fff;
	--ge-muted: #d5d5d5;
	--ge-line: #3b3b3b;
	--ge-surface: #111;
}

.elementor-widget.ge-preset-photographic .ge-one-page__scene:not(.ge-one-page__scene--full) .ge-one-page__media {
	min-height: 620px;
}

.elementor-widget.ge-preset-photographic .ge-one-page__title {
	font-weight: 550;
}

/* Testo cinetico */
.elementor-widget.ge-preset-kinetic .ge-one-page {
	--ge-accent: #ffcf4a;
	--ge-ink: #f7f7f4;
	--ge-muted: #c9c9c2;
	--ge-line: #37383c;
	--ge-surface: #141518;
}

.elementor-widget.ge-preset-kinetic .ge-one-page__title {
	font-size: 72px;
	font-weight: 850;
}

/* Minimal premium */
.elementor-widget.ge-preset-minimal .ge-one-page {
	--ge-accent: #176c55;
	--ge-ink: #151a18;
	--ge-muted: #5e6763;
	--ge-line: #d7ddd9;
	--ge-surface: #fff;
}

.elementor-widget.ge-preset-minimal .ge-one-page__stage {
	padding-top: 104px;
	padding-bottom: 104px;
}

.elementor-widget.ge-preset-minimal .ge-one-page__title {
	font-size: 54px;
	font-weight: 620;
}

/* Storia a capitoli */
.elementor-widget.ge-preset-chapters .ge-one-page {
	--ge-accent: #b72f55;
	--ge-ink: #21191c;
	--ge-muted: #67585d;
	--ge-line: #d8c8cd;
	--ge-surface: #fff8f1;
}

.elementor-widget.ge-preset-chapters .ge-one-page__scene:nth-child(3n + 2) {
	--ge-accent: #77e0c1;
	--ge-ink: #f7faf8;
	--ge-muted: #c7d6d1;
	--ge-line: #465852;
	--ge-surface: #1b2824;
	color: var(--ge-ink);
	background: var(--ge-surface);
}

.elementor-widget.ge-preset-chapters .ge-one-page__content {
	padding-left: 24px;
	border-left: 4px solid var(--ge-accent);
}

@media (min-width: 1025px) and (max-width: 1599px) {
	.ge-one-page__stage {
		padding: clamp(48px, 4.25vw, 68px) clamp(32px, 4vw, 64px);
	}
	.ge-one-page__title { font-size: clamp(46px, 3.8vw, 58px); }
	.ge-one-page__content { width: min(100%, min(var(--ge-experience-content-width), 42vw)); }
	.ge-one-page__scene--content-split .ge-one-page__content { width: 100%; gap: clamp(36px, 5vw, 76px); }
	.ge-one-page__media { min-height: clamp(390px, 34vw, 470px); }
	.ge-one-page__kinetic { font-size: min(var(--ge-kinetic-font-size, 94px), 94px); }
}

@media (max-width: 1024px) {
	.ge-one-page--section .ge-one-page__scene,
	.ge-one-page--section .ge-one-page__stage {
		min-height: var(--ge-section-min-height, 720px);
	}
	.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene,
	.ge-one-page[data-fit-viewport="yes"] .ge-one-page__scene--content-scroll {
		min-height: 100svh;
	}
	.ge-one-page[data-fit-viewport="yes"] .ge-one-page__stage {
		position: relative;
		top: auto;
		height: auto;
		min-height: max(720px, 100svh);
	}
	.ge-one-page__stage,
	.ge-one-page__scene--media_left .ge-one-page__stage,
	.ge-one-page__scene--media_right .ge-one-page__stage,
	.ge-one-page__scene--compact_side .ge-one-page__stage {
		display: flex;
		min-height: max(720px, 100svh);
		padding: clamp(54px, 7vw, 72px) clamp(24px, 5.5vw, 48px) clamp(62px, 8vw, 82px);
		flex-direction: column;
		justify-content: center;
		gap: clamp(28px, 4vw, 42px);
	}
	.ge-one-page__content,
	.ge-one-page__scene--media_left .ge-one-page__content,
	.ge-one-page__scene--full .ge-one-page__content,
	.ge-one-page__scene--text_only .ge-one-page__content,
	.ge-one-page__scene--type-cta .ge-one-page__content {
		order: 1;
		width: min(100%, 720px);
		padding: 0;
		align-self: center;
		justify-self: auto;
	}
	.ge-one-page__scene--content-split .ge-one-page__content {
		display: block;
		width: min(100%, 720px);
	}
	.ge-one-page__scene--content-split .ge-one-page__intro,
	.ge-one-page__scene--content-split .ge-one-page__body { display: block; }
	.ge-one-page__scene--content-split .ge-one-page__body { padding-top: 0; }
	.ge-one-page__scene--content-split .ge-one-page__copy { margin-top: 26px; }
	.ge-one-page__module-layout {
		display: flex;
		order: 1;
		width: min(100%, 720px);
		align-self: center;
		flex-direction: column;
		gap: var(--ge-embedded-gap, 36px);
	}
	.ge-one-page__module-layout .ge-one-page__content,
	.ge-one-page__module-layout .ge-one-page__embedded {
		width: 100%;
		max-width: none;
		align-self: stretch;
	}
	.ge-one-page__module-layout--tablet-text_first .ge-one-page__content { order: 1; }
	.ge-one-page__module-layout--tablet-text_first .ge-one-page__embedded { order: 2; }
	.ge-one-page__module-layout--tablet-widget_first .ge-one-page__embedded { order: 1; }
	.ge-one-page__module-layout--tablet-widget_first .ge-one-page__content { order: 2; }
	.ge-one-page__module-layout--widget_only .ge-one-page__embedded { order: 1; }
	.ge-one-page__paired-layout {
		display: flex;
		order: 1;
		width: min(100%, 720px);
		align-self: center;
		flex-direction: column;
		gap: var(--ge-paired-gap, 36px);
	}
	.ge-one-page__scene .ge-one-page__paired-layout > .ge-one-page__content {
		width: 100%;
		max-width: none;
		align-self: stretch;
	}
	.ge-one-page__paired-layout > .ge-one-page__floating-widget {
		width: min(var(--ge-floating-tablet-width, 80%), 720px);
		max-width: 100%;
	}
	.ge-one-page__floating-widget {
		position: relative;
		inset: auto;
		display: block;
		width: min(var(--ge-floating-tablet-width, 80%), 720px);
		max-width: 100%;
		transform: none;
		flex: 0 0 auto;
	}
	.ge-one-page__floating-widget--tablet-before { order: 0; }
	.ge-one-page__floating-widget--tablet-after { order: 3; }
	.ge-one-page__floating-widget--tablet-free {
		position: absolute;
		left: var(--ge-floating-x, 72%);
		top: var(--ge-floating-y, 50%);
		width: min(var(--ge-floating-tablet-width, 80%), calc(100% - 48px));
		transform: translate(-50%, -50%);
	}
	.ge-one-page__floating-widget--safe.ge-one-page__floating-widget--tablet-free {
		left: clamp(6%, var(--ge-floating-x, 72%), 94%);
		top: clamp(6%, var(--ge-floating-y, 50%), 94%);
	}
	.ge-one-page__floating-widget--tablet-hidden { display: none; }
	.ge-one-page__floating-widget--tablet-align-start { align-self: flex-start; }
	.ge-one-page__floating-widget--tablet-align-center { align-self: center; }
	.ge-one-page__floating-widget--tablet-align-end { align-self: flex-end; }
	.ge-one-page__title { font-size: clamp(42px, 6.4vw, 54px); }
	.ge-one-page__copy { font-size: 17px; }
	.ge-one-page__media,
	.ge-one-page__scene--media_left .ge-one-page__media,
	.ge-one-page__scene--compact_side .ge-one-page__media {
		order: 2;
		width: min(100%, 720px);
		min-height: clamp(300px, 44vw, 420px);
		align-self: center;
		justify-self: auto;
	}
	.ge-one-page__object-3d {
		position: relative;
		inset: auto;
		order: 2;
		width: min(100%, 720px);
		height: auto;
		min-height: 0;
		align-self: center;
		flex: 0 0 auto;
		pointer-events: none;
	}
	.ge-one-page__object-3d canvas,
	.ge-one-page__object-fallback {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
	.ge-one-page__compact-objects {
		position: relative;
		z-index: 3;
		display: flex;
		width: 100%;
		align-items: center;
		flex-direction: column;
		gap: clamp(22px, 4vw, 38px);
	}
	.ge-one-page__compact-object {
		position: relative;
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: clamp(180px, 34vw, 320px);
		object-fit: contain;
		filter: none;
		transform: none;
	}
	.ge-one-page__kinetic {
		max-width: 92vw;
		font-size: min(var(--ge-kinetic-font-size, 68px), 68px);
	}
	.ge-one-page__foreground { display: none; }
}

@media (max-width: 767px) {
	.ge-one-page__stage { transform: none !important; }
	.ge-one-page--section .ge-one-page__scene,
	.ge-one-page--section .ge-one-page__stage {
		min-height: var(--ge-section-min-height, 620px);
	}
	.ge-one-page[data-fit-viewport="yes"][data-mobile-motion="static"] .ge-one-page__scene {
		min-height: 100svh;
	}
	.ge-one-page[data-fit-viewport="yes"][data-mobile-motion="static"] .ge-one-page__stage {
		position: relative;
		top: auto;
		height: auto;
		min-height: 100svh;
	}
	.ge-one-page__stage,
	.ge-one-page__scene--media_left .ge-one-page__stage,
	.ge-one-page__scene--media_right .ge-one-page__stage,
	.ge-one-page__scene--compact_side .ge-one-page__stage {
		display: flex;
		min-height: 620px;
		padding: 56px 22px 72px;
		flex-direction: column;
		justify-content: center;
		gap: 30px;
	}
	.ge-one-page__scene--media_left .ge-one-page__media { order: 2; }
	.ge-one-page__scene--media_left .ge-one-page__content { order: 1; }
	.ge-one-page__scene--full { align-items: stretch; }
	.ge-one-page__content,
	.ge-one-page__scene--media_left .ge-one-page__content,
	.ge-one-page__scene--full .ge-one-page__content,
	.ge-one-page__scene--text_only .ge-one-page__content {
		width: 100%;
		padding: 0;
	}
	.ge-one-page__scene--content-split .ge-one-page__content {
		display: block;
		width: 100%;
	}
	.ge-one-page__scene--content-split .ge-one-page__intro,
	.ge-one-page__scene--content-split .ge-one-page__body {
		display: block;
	}
	.ge-one-page__scene--content-split .ge-one-page__body { padding-top: 0; }
	.ge-one-page__scene--content-split .ge-one-page__copy { margin-top: 26px; }
	.ge-one-page__module-layout { width: 100%; }
	.ge-one-page__module-layout--mobile-text_first .ge-one-page__content { order: 1; }
	.ge-one-page__module-layout--mobile-text_first .ge-one-page__embedded { order: 2; }
	.ge-one-page__module-layout--mobile-widget_first .ge-one-page__embedded { order: 1; }
	.ge-one-page__module-layout--mobile-widget_first .ge-one-page__content { order: 2; }
	.ge-one-page__paired-layout { width: 100%; }
	.ge-one-page__paired-layout > .ge-one-page__floating-widget {
		width: min(var(--ge-floating-mobile-width, 100%), 100%);
	}
	.ge-one-page__floating-widget--mobile-before,
	.ge-one-page__floating-widget--mobile-after {
		position: relative;
		inset: auto;
		display: block;
		width: min(var(--ge-floating-mobile-width, 100%), 100%);
		max-width: 100%;
		transform: none;
	}
	.ge-one-page__floating-widget--mobile-before { order: 0; }
	.ge-one-page__floating-widget--mobile-after { order: 3; }
	.ge-one-page__floating-widget--mobile-free {
		position: absolute;
		left: var(--ge-floating-x, 72%);
		top: var(--ge-floating-y, 50%);
		display: block;
		width: min(var(--ge-floating-mobile-width, 100%), calc(100% - 32px));
		transform: translate(-50%, -50%);
	}
	.ge-one-page__floating-widget--safe.ge-one-page__floating-widget--mobile-free {
		left: clamp(6%, var(--ge-floating-x, 72%), 94%);
		top: clamp(6%, var(--ge-floating-y, 50%), 94%);
	}
	.ge-one-page__floating-widget--mobile-hidden { display: none; }
	.ge-one-page__floating-widget--mobile-align-start { align-self: flex-start; }
	.ge-one-page__floating-widget--mobile-align-center { align-self: center; }
	.ge-one-page__floating-widget--mobile-align-end { align-self: flex-end; }
	.ge-one-page__title,
	.elementor-widget.ge-preset-kinetic .ge-one-page__title,
	.elementor-widget.ge-preset-minimal .ge-one-page__title {
		font-size: 42px;
	}
	.ge-one-page__copy { font-size: 16px; }
	.ge-one-page__media { width: 100%; min-height: 310px; }
	.ge-one-page__compact-objects { gap: 22px; }
	.ge-one-page__compact-object { max-height: 240px; }
	.ge-one-page__scene--compact_side .ge-one-page__media { width: min(72vw, 320px); min-height: 240px; align-self: center; }
	.ge-one-page__kinetic { font-size: min(var(--ge-kinetic-font-size, 44px), 54px); }
	.ge-one-page__foreground { display: none; }
	.ge-one-page[data-scene-transition="soft"] { --ge-scene-blend-height: 30px; --ge-scene-blend-middle: 15px; }
	.ge-one-page[data-scene-transition="balanced"] { --ge-scene-blend-height: 58px; --ge-scene-blend-middle: 29px; }
	.ge-one-page[data-scene-transition="strong"] { --ge-scene-blend-height: 92px; --ge-scene-blend-middle: 46px; }
	.elementor-widget.ge-preset-cinematic .ge-one-page__scene--full:not(.ge-one-page__scene--bg-image) .ge-one-page__stage::after,
	.elementor-widget.ge-preset-photographic .ge-one-page__scene--full:not(.ge-one-page__scene--bg-image) .ge-one-page__stage::after {
		background: rgba(8, 12, 14, .65);
	}
	.ge-one-page[data-mobile-motion="static"] :is(.ge-one-page__background, .ge-one-page__layer) {
		transform: none !important;
	}
	.ge-one-page[data-mobile-motion="static"] .ge-one-page__media {
		--ge-scene-media-x: 0 !important;
		--ge-scene-media-scale: 1 !important;
	}
}

@supports not (overflow: clip) {
	.ge-one-page { overflow: hidden; }
}

@supports not (background-clip: text) {
	.ge-one-page__kinetic {
		background: none;
		-webkit-text-fill-color: currentColor;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ge-one-page__stage { transform: none !important; }
	.ge-one-page :is(.ge-one-page__background, .ge-one-page__layer, .ge-one-page__content, .ge-one-page__media) {
		opacity: 1 !important;
		transform: none !important;
	}
	.ge-one-page__cta-lighting,
	.ge-one-page__cta-lighting > span {
		animation: none !important;
	}
	.ge-one-page__kinetic { filter: none !important; }
	.ge-one-page__title--neon-pulse { animation: none !important; }
	.ge-one-page__kinetic--neon-pulse { animation: none !important; }
	.ge-one-page__scene--glitch :is(.ge-one-page__scene-backdrop img, .ge-one-page__background, .ge-one-page__object-fallback, .ge-one-page__object-3d canvas) { animation: none !important; }
	.ge-one-page__scene--glitch .ge-one-page__scene-backdrop::after,
	.ge-one-page__scene--glitch .ge-one-page__media::after,
	.ge-one-page__scene--glitch .ge-one-page__object-3d::after { animation: none !important; }
	.ge-one-page__foreground { display: none !important; }
	.ge-one-page__object-3d { cursor: default; }
	.ge-one-page__button {
		--ge-cta-button-scene-x: 0px;
		--ge-cta-button-scene-y: 0px;
		--ge-cta-button-pointer-x: 0px;
		--ge-cta-button-pointer-y: 0px;
		--ge-cta-button-hover-y: 0px;
		--ge-cta-button-wow-y: 0px;
		--ge-cta-button-z: 0px;
		--ge-cta-button-rotate-x: 0deg;
		--ge-cta-button-rotate-y: 0deg;
		--ge-cta-button-wow-scale: 1;
		opacity: 1 !important;
		clip-path: none !important;
		filter: none !important;
		animation: none !important;
	}
	.ge-one-page__button::before,
	.ge-one-page__button::after { animation: none !important; }
}

.elementor-widget .ge-feature-list--grid::before {
	display: none;
}

.elementor-widget.ge-preset-clean .ge-feature-list--grid .ge-feature-list__item,
.elementor-widget.ge-preset-tonal .ge-feature-list--grid .ge-feature-list__item {
	padding: 18px;
	border: 1px solid var(--ge-line);
	border-radius: var(--ge-radius);
	background: var(--ge-surface);
}

@media (max-width: 767px) {
	.ge-info-box--horizontal { flex-direction: column; }
	.ge-posts-grid { grid-template-columns: 1fr; }
	.ge-posts-grid--side .ge-post-card { grid-template-columns: 1fr; }
	.ge-posts-grid--side .ge-post-card__image { aspect-ratio: 16 / 10; }
	.ge-dual-button--stack-yes { align-items: stretch; flex-direction: column; }
	.ge-dual-button--stack-yes .ge-button { width: 100%; }
	.ge-hotspot__popover { left: 50%; top: calc(100% + 10px); transform: translateX(-50%); }
	.ge-price-list__line { flex-wrap: wrap; }
	.ge-price-list__dots { display: none; }
	.ge-countdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ge-social-share { align-items: flex-start; flex-direction: column; }
	.ge-data-table-wrap--stack { overflow: visible; }
	.ge-data-table-wrap--stack .ge-data-table,
	.ge-data-table-wrap--stack tbody,
	.ge-data-table-wrap--stack tr,
	.ge-data-table-wrap--stack td { display: block; width: 100%; }
	.ge-data-table-wrap--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.ge-data-table-wrap--stack tr { margin-bottom: 14px; border: 1px solid var(--ge-line); }
	.ge-data-table-wrap--stack td { display: grid; grid-template-columns: minmax(90px, 42%) minmax(0, 1fr); gap: 12px; border-width: 0 0 1px; }
	.ge-data-table-wrap--stack td:last-child { border-bottom: 0; }
	.ge-data-table-wrap--stack td::before { font-weight: 700; content: attr(data-label); }
	.ge-image-accordion { height: auto !important; flex-direction: column; }
	.ge-image-accordion__item { min-height: 170px; flex: none; }
	.ge-image-accordion__item.is-active { min-height: 300px; }
	.ge-image-accordion__item > button span { left: 18px; transform: none; }
	.ge-search { flex-direction: column; }
	.ge-search .ge-button { width: 100%; }
	.ge-promo-box { min-height: 320px; padding: 22px; }
	.ge-promo-box h3 { font-size: 25px; }
	.ge-woo-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ge-woo-category > span { position: static; align-items: flex-start; flex-direction: column; }
	.ge-nav-menu--horizontal > .ge-nav-menu__list { align-items: stretch; flex-direction: column; }
	.ge-nav-menu--horizontal .ge-nav-menu__list ul { position: static; visibility: visible; margin-left: 16px; border-width: 0 0 0 1px; opacity: 1; box-shadow: none; transform: none; }
	.ge-photo-gallery { --ge-gallery-columns: 1; }
	.ge-photo-gallery__dialog-inner { grid-template-columns: 46px minmax(0, 1fr) 46px; padding: 12px 4px; }
	.ge-photo-gallery__dialog figure > img { max-height: calc(100dvh - 220px); }
	.ge-photo-gallery__dialog figcaption { grid-template-columns: 1fr; padding: 12px 10px 0; }
	.ge-gallery-meta-above .ge-photo-gallery__dialog figcaption { padding: 0 10px 12px; }
	.ge-photo-gallery__dialog figcaption p { grid-column: 1; }
	.ge-photo-gallery__commerce { grid-column: 1; grid-row: auto; align-items: stretch; flex-direction: column; justify-self: stretch; }
	.ge-photo-gallery__commerce .ge-button { width: 100%; }
	.ge-photo-gallery__close { top: 10px; right: 10px; }
}

@supports not (height: 100dvh) {
	.ge-photo-gallery__dialog { height: 100vh; }
	.ge-photo-gallery__dialog figure { max-height: calc(100vh - 36px); }
	.ge-photo-gallery__dialog figure > img { max-height: calc(100vh - 150px); }
}

/* Scena cinematografica: immagine e luce sono elaborate in tempo reale dalla GPU. */
.ge-cinematic-scene {
	--ge-cine-height: 100vh;
	--ge-cine-content-width: 720px;
	--ge-cine-foreground-width: 44%;
	--ge-cine-foreground-x: 74%;
	--ge-cine-foreground-y: 54%;
	--ge-cine-light-x: 72%;
	--ge-cine-light-y: 34%;
	--ge-cine-flare-color: #75cfff;
	--ge-cine-flare-alt: #5867ff;
	--ge-cine-backdrop: #05080d;
	--ge-cine-backdrop-opacity: .38;
	--ge-cine-letterbox: 34px;
	position: relative;
	isolation: isolate;
	display: block;
	width: 100%;
	min-height: var(--ge-cine-height);
	overflow: clip;
	color: #fff;
	background: #070b12;
	perspective: 1400px;
}

.elementor-widget.ge-cinematic-display-fullscreen .ge-cinematic-scene {
	left: 50%;
	width: 100vw;
	max-width: none;
	transform: translateX(-50%);
}

.ge-cinematic-scene--night { background: #050914; }
.ge-cinematic-scene--gold { background: #130d08; }
.ge-cinematic-scene--prism { background: #061313; }
.ge-cinematic-scene--eclipse { background: #080609; }
.ge-cinematic-scene--editorial { background: #151719; }

.ge-cinematic-scene__media,
.ge-cinematic-scene__fallback,
.ge-cinematic-scene__canvas,
.ge-cinematic-scene__flare-fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ge-cinematic-scene__media {
	z-index: 0;
	overflow: hidden;
	background: inherit;
}

.ge-cinematic-scene__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 5, 10, .66) 0%, rgba(2, 5, 10, .24) 48%, rgba(2, 5, 10, .08) 100%);
	content: "";
	pointer-events: none;
}

.ge-cinematic-scene--align-center .ge-cinematic-scene__media::after {
	background: linear-gradient(180deg, rgba(2, 5, 10, .16) 0%, rgba(2, 5, 10, .22) 48%, rgba(2, 5, 10, .48) 100%);
}

.ge-cinematic-scene--align-right .ge-cinematic-scene__media::after {
	background: linear-gradient(270deg, rgba(2, 5, 10, .66) 0%, rgba(2, 5, 10, .24) 48%, rgba(2, 5, 10, .08) 100%);
}

.ge-cinematic-scene__fallback {
	object-fit: cover;
	opacity: 1;
	transform: scale(1.025);
	transition: opacity .45s ease;
}

.ge-cinematic-scene__canvas {
	display: block;
	opacity: 0;
	transition: opacity .55s ease;
}

.ge-cinematic-scene.is-webgl-ready .ge-cinematic-scene__canvas { opacity: 1; }
.ge-cinematic-scene.is-webgl-ready.has-cinematic-texture .ge-cinematic-scene__fallback { opacity: 0; }
.ge-cinematic-scene.is-texture-fallback .ge-cinematic-scene__canvas { opacity: .34; mix-blend-mode: screen; }
.ge-cinematic-scene.is-texture-fallback .ge-cinematic-scene__fallback { opacity: 1; }

.ge-cinematic-scene__flare-fallback {
	background:
		radial-gradient(ellipse at var(--ge-cine-light-x) var(--ge-cine-light-y), color-mix(in srgb, var(--ge-cine-flare-color) 55%, transparent) 0, transparent 9%),
		linear-gradient(180deg, transparent calc(var(--ge-cine-light-y) - 1px), color-mix(in srgb, var(--ge-cine-flare-color) 22%, transparent) var(--ge-cine-light-y), transparent calc(var(--ge-cine-light-y) + 2px));
	opacity: .72;
	filter: blur(5px);
	mix-blend-mode: screen;
	pointer-events: none;
}

.ge-cinematic-scene.is-webgl-ready .ge-cinematic-scene__flare-fallback { opacity: .08; }

.ge-cinematic-scene__frame {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: min(100%, 1440px);
	min-height: var(--ge-cine-height);
	margin: 0 auto;
	padding: 74px max(32px, 6vw);
}

.ge-cinematic-format-wide { --ge-cine-ratio: 2.333333; }
.ge-cinematic-format-scope { --ge-cine-ratio: 2.39; }
.ge-cinematic-format-strip { --ge-cine-ratio: 3.2; }
@media (min-width: 768px) {
	:is(.ge-cinematic-format-wide, .ge-cinematic-format-scope, .ge-cinematic-format-strip) .ge-cinematic-scene {
		min-height: 0;
		container-type: inline-size;
	}
	:is(.ge-cinematic-format-wide, .ge-cinematic-format-scope, .ge-cinematic-format-strip) .ge-cinematic-scene__frame {
		min-height: 0;
		aspect-ratio: var(--ge-cine-ratio);
		padding: 32px 40px;
	}
	:is(.ge-cinematic-format-wide, .ge-cinematic-format-scope, .ge-cinematic-format-strip) .ge-cinematic-scene__foreground {
		max-height: 88%;
	}
}
.ge-cinematic-scene--vertical-top .ge-cinematic-scene__frame { align-items: flex-start; }
.ge-cinematic-scene--vertical-bottom .ge-cinematic-scene__frame { align-items: flex-end; }
.ge-cinematic-scene--align-center .ge-cinematic-scene__frame { justify-content: center; text-align: center; }
.ge-cinematic-scene--align-right .ge-cinematic-scene__frame { justify-content: flex-end; text-align: right; }

.ge-cinematic-scene__content {
	position: relative;
	isolation: isolate;
	width: min(100%, var(--ge-cine-content-width));
	transform: translate3d(var(--ge-cine-content-shift, 0), 0, 0);
}

.ge-cinematic-scene--content-backdrop .ge-cinematic-scene__content::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 4px;
	background: color-mix(in srgb, var(--ge-cine-backdrop) calc(var(--ge-cine-backdrop-opacity) * 100%), transparent);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 30px 90px rgba(0, 0, 0, .16);
	backdrop-filter: blur(10px) saturate(112%);
	content: "";
}

.ge-cinematic-scene__eyebrow {
	margin: 0 0 16px;
	color: #8edcff;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ge-cinematic-scene__title {
	position: relative;
	margin: 0;
	color: #fff;
	font-size: 64px;
	font-weight: 760;
	line-height: 1.01;
	letter-spacing: 0;
	text-wrap: balance;
}

.ge-cinematic-scene__description {
	max-width: 62ch;
	margin-top: 24px;
	color: #eef2f7;
	font-size: 18px;
	line-height: 1.65;
}

.ge-cinematic-scene--align-center .ge-cinematic-scene__description { margin-right: auto; margin-left: auto; }
.ge-cinematic-scene--align-right .ge-cinematic-scene__description { margin-left: auto; }
.ge-cinematic-scene__description > :first-child { margin-top: 0; }
.ge-cinematic-scene__description > :last-child { margin-bottom: 0; }

.ge-cinematic-scene__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 28px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 3px;
	color: #071018;
	background: #9fe3ff;
	font-weight: 760;
	text-decoration: none;
	box-shadow: 0 12px 42px color-mix(in srgb, var(--ge-cine-flare-color) 26%, transparent);
}

.ge-cinematic-scene__button span { position: relative; z-index: 1; }
.ge-cinematic-scene__button i {
	position: absolute;
	inset: -50% auto -50% -30%;
	width: 28%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78), transparent);
	transform: skewX(-18deg) translateX(-220%);
	transition: transform .65s ease;
}
.ge-cinematic-scene__button:is(:hover, :focus-visible) i { transform: skewX(-18deg) translateX(620%); }

.ge-cinematic-scene--title-focus.is-webgl-ready .ge-cinematic-scene__title {
	opacity: 0;
	filter: blur(18px);
	transform: scale(1.045) translateY(14px);
}

.ge-cinematic-scene--title-focus.is-cinematic-visible .ge-cinematic-scene__title {
	animation: ge-cinematic-title-focus 1.25s cubic-bezier(.18, .72, .18, 1) .12s forwards;
}

.ge-cinematic-scene--title-flare .ge-cinematic-scene__title {
	color: transparent !important;
	background: linear-gradient(100deg, #fff 0 37%, var(--ge-cine-flare-color) 48%, #fff 58% 100%);
	background-position: 100% 50%;
	background-size: 240% 100%;
	-webkit-background-clip: text;
	background-clip: text;
}

.ge-cinematic-scene--title-flare.is-cinematic-visible .ge-cinematic-scene__title { animation: ge-cinematic-title-flare 1.65s cubic-bezier(.22, .75, .22, 1) .1s both; }
.ge-cinematic-scene--title-chromatic .ge-cinematic-scene__title { text-shadow: -2px 0 color-mix(in srgb, var(--ge-cine-flare-color) 62%, transparent), 2px 0 color-mix(in srgb, var(--ge-cine-flare-alt) 58%, transparent), 0 12px 42px rgba(0, 0, 0, .28); }

@keyframes ge-cinematic-title-focus {
	0% { opacity: 0; filter: blur(18px); transform: scale(1.045) translateY(14px); }
	58% { opacity: 1; filter: blur(1.5px); }
	100% { opacity: 1; filter: blur(0); transform: scale(1) translateY(0); }
}

@keyframes ge-cinematic-title-flare {
	0% { opacity: .1; background-position: 100% 50%; filter: blur(7px); transform: translateY(12px); }
	55% { opacity: 1; filter: blur(0); }
	100% { opacity: 1; background-position: 0 50%; transform: translateY(0); }
}

.ge-cinematic-scene__foreground-stage {
	position: absolute;
	z-index: 2;
	left: var(--ge-cine-foreground-x);
	top: var(--ge-cine-foreground-y);
	width: var(--ge-cine-foreground-width);
	max-width: 980px;
	opacity: var(--ge-cine-fg-opacity, 0);
	clip-path: inset(0 var(--ge-cine-fg-mask, 100%) 0 0);
	filter:
		blur(var(--ge-cine-fg-blur, 18px))
		drop-shadow(var(--ge-cine-fg-chromatic, 0) 0 0 color-mix(in srgb, var(--ge-cine-flare-color) 55%, transparent))
		drop-shadow(calc(-1 * var(--ge-cine-fg-chromatic, 0)) 0 0 color-mix(in srgb, var(--ge-cine-flare-alt) 48%, transparent));
	transform:
		translate(-50%, -50%)
		translate3d(var(--ge-cine-fg-x, 0), var(--ge-cine-fg-y, 0), 0)
		translate3d(var(--ge-cine-fg-entry-x, 0), var(--ge-cine-fg-entry-y, 0), 0)
		rotateY(calc(var(--ge-cine-fg-rotate, 0deg) + var(--ge-cine-fg-entry-rotate, 0deg)))
		scale(var(--ge-cine-fg-scale, 1))
		scale(var(--ge-cine-fg-entry-scale, .8));
	transform-origin: 50% 60%;
	transform-style: preserve-3d;
	pointer-events: none;
	will-change: transform, filter, opacity, clip-path;
}

.ge-cinematic-scene__foreground {
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(var(--ge-cine-height) * .9);
	object-fit: contain;
	filter: drop-shadow(0 35px 54px rgba(0, 0, 0, .34));
}

.ge-cinematic-scene__foreground-stage > span {
	position: absolute;
	inset: -12% -30%;
	background: linear-gradient(105deg, transparent 42%, color-mix(in srgb, var(--ge-cine-flare-color) 74%, transparent) 49%, rgba(255, 255, 255, .82) 50%, transparent 57%);
	opacity: var(--ge-cine-fg-scan, 0);
	filter: blur(9px);
	mix-blend-mode: screen;
	transform: translateX(-10%);
}

.ge-cinematic-scene__matte {
	position: absolute;
	z-index: 6;
	right: 0;
	left: 0;
	height: var(--ge-cine-letterbox);
	background: #000;
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease;
}
.ge-cinematic-scene__matte--top { top: 0; }
.ge-cinematic-scene__matte--bottom { bottom: 0; }
.ge-cinematic-scene--letterbox .ge-cinematic-scene__matte { opacity: 1; }

@media (max-width: 1024px) {
	.ge-cinematic-scene__frame { padding: 58px 34px; }
	.ge-cinematic-scene__title { font-size: 52px; }
	.ge-cinematic-scene__foreground-stage { max-width: 62vw; }
}

@media (max-width: 767px) {
	.ge-cinematic-scene { min-height: max(560px, var(--ge-cine-height)); }
	.ge-cinematic-scene__frame { align-items: flex-end; min-height: max(560px, var(--ge-cine-height)); padding: 46px 18px; }
	.ge-cinematic-scene__content { width: 100%; }
	.ge-cinematic-scene__title { font-size: 38px; line-height: 1.04; }
	.ge-cinematic-scene__description { margin-top: 18px; font-size: 16px; line-height: 1.55; }
	.ge-cinematic-scene__foreground-stage { top: 34%; left: 50%; width: min(var(--ge-cine-foreground-width), 76%); max-width: 76vw; }
	.ge-cinematic-scene--content-backdrop .ge-cinematic-scene__content::before { backdrop-filter: blur(7px); }
	.ge-cinematic-scene__media::after,
	.ge-cinematic-scene--align-right .ge-cinematic-scene__media::after { background: linear-gradient(180deg, rgba(2, 5, 10, .06) 0%, rgba(2, 5, 10, .2) 45%, rgba(2, 5, 10, .72) 100%); }
}

@media (prefers-reduced-motion: reduce) {
	.ge-widget *,
	.ge-widget *::before,
	.ge-widget *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
	.ge-cinematic-scene__title { opacity: 1 !important; filter: none !important; transform: none !important; }
	.ge-cinematic-scene__foreground-stage { opacity: 1 !important; clip-path: none !important; filter: none !important; transform: translate(-50%, -50%) !important; }
}
