.elementor-widget-palermo_home_hero,
.elementor-widget-palermo_home_hero > .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
	width: 100vw;
	max-width: 100vw;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-x: clip;
}

.elementor-widget-palermo_home_hero {
	margin-left: calc(50% - 50vw) !important;
}

.e-con:has(.elementor-widget-palermo_home_hero),
.e-con:has(.elementor-widget-palermo_intro),
.elementor-element:has(.palermo-hero),
.elementor-element:has(.palermo-intro) {
	--padding-top: 0 !important;
	--padding-bottom: 0 !important;
	--padding-left: 0 !important;
	--padding-right: 0 !important;
	--gap: 0px !important;
	--row-gap: 0px !important;
	--column-gap: 0px !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 0 !important;
	max-width: none !important;
	width: 100vw !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-x: clip !important;
}

.e-con:has(.elementor-widget-palermo_home_hero),
.e-con:has(.elementor-widget-palermo_intro) {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.e-con:has(.elementor-widget-palermo_home_hero) > .e-con-inner,
.e-con:has(.elementor-widget-palermo_intro) > .e-con-inner,
.e-con:has(.palermo-hero) > .e-con-inner,
.e-con:has(.palermo-intro) > .e-con-inner {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-x: clip !important;
}

.palermo-hero {
	position: relative;
	width: 100vw;
	height: 100vh;
	min-height: 100vh;
	background: radial-gradient(ellipse at 50% 50%, #595959 0%, #2f2f2f 48%, #101010 100%);
	overflow: hidden;
	box-sizing: border-box;
	z-index: 1;
	--petal-width: 334px;
	--petal-height: 547px;
	--petal-radius: 80px;
}

.palermo-hero__title {
	position: absolute;
	top: clamp(140px, 16.5vh, 190px);
	left: 50%;
	width: max-content;
	max-width: 92vw;
	transform: translateX(-50%);
	color: #ffffff;
	font-family: "Oswald", sans-serif !important;
	font-size: clamp(78px, 9.3vw, 170px) !important;
	font-weight: 400 !important;
	line-height: normal !important;
	letter-spacing: 0 !important;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	z-index: 12;
	pointer-events: none;
	user-select: none;
	transition: opacity 650ms ease;
}

.palermo-hero--kf1 .palermo-hero__title,
.palermo-hero--kf2 .palermo-hero__title,
.palermo-hero--kf3 .palermo-hero__title {
	opacity: 1;
}

.palermo-hero--intro-sync:not(.palermo-hero--intro-ready) .palermo-hero__title {
	opacity: 0;
}

.palermo-hero--intro-ready .palermo-hero__title {
	opacity: 1;
	transition-duration: 1ms;
}

.palermo-hero--intro-sync:not(.palermo-hero--intro-ready) {
	z-index: auto;
}

.palermo-hero__petals {
	position: absolute;
	inset: 0;
	z-index: 16;
	pointer-events: none;
}

.palermo-hero--intro-sync:not(.palermo-hero--intro-ready) .palermo-hero__petals {
	position: fixed;
	z-index: 10001;
}

.palermo-hero__petal {
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--petal-width);
	height: var(--petal-height);
	margin-left: calc(var(--petal-width) / -2);
	margin-top: calc(var(--petal-height) / -2);
	overflow: hidden;
	background: #d6d6d6;
	border-radius: var(--petal-radius);
	clip-path: inset(0 round var(--petal-radius));
	opacity: 0;
	transform-origin: center;
	transition:
		opacity 650ms ease,
		transform 1000ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.palermo-hero__petal img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	opacity: 0;
	transition: opacity 700ms ease;
}

.palermo-hero--kf1 .palermo-hero__petal.is-active,
.palermo-hero--kf2 .palermo-hero__petal.is-active,
.palermo-hero--kf3 .palermo-hero__petal {
	opacity: 1;
}

.palermo-hero--kf2 .palermo-hero__petal,
.palermo-hero--kf3 .palermo-hero__petal {
	background: transparent;
}

.palermo-hero--kf2 .palermo-hero__petal img,
.palermo-hero--kf3 .palermo-hero__petal img {
	opacity: 1;
}

.palermo-hero__footer {
	position: absolute;
	top: 47vh;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 0 clamp(32px, 8.3vw, 150px);
	opacity: 0;
	z-index: 24;
	transition: opacity 600ms ease;
}

.palermo-hero--kf1 .palermo-hero__footer,
.palermo-hero--kf2 .palermo-hero__footer,
.palermo-hero--kf3 .palermo-hero__footer {
	opacity: 1;
}

.palermo-hero--intro-sync:not(.palermo-hero--intro-ready) .palermo-hero__footer {
	opacity: 0;
}

.palermo-hero--intro-ready .palermo-hero__footer {
	opacity: 1;
	transition-duration: 1ms;
}

.palermo-hero__tagline {
	color: rgba(255, 255, 255, 0.85);
	font-family: "Raleway", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 126% !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
	white-space: nowrap;
}

.palermo-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	max-width: min(440px, 42vw);
	color: rgba(255, 255, 255, 0.92);
	font-family: "Raleway", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 120% !important;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	border: 1.5px solid rgba(255, 255, 255, 0.82);
	border-radius: 999px;
	padding: 12px 30px;
	transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.elementor-widget-palermo_home_hero .palermo-hero__cta:hover,
.elementor-widget-palermo_home_hero .palermo-hero__cta:focus-visible,
.palermo-hero__cta:hover {
	color: #ffc885 !important;
	background: transparent !important;
	border-color: #ffc885 !important;
}

.palermo-hero__cta:focus,
.palermo-hero__cta:active {
	color: rgba(255, 255, 255, 0.92) !important;
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.82) !important;
	outline: 0;
}

.palermo-hero__cta:focus-visible {
	color: #ffc885 !important;
	border-color: #ffc885 !important;
	outline: 2px solid #ffc885;
	outline-offset: 5px;
}

.palermo-hero__scroll {
	position: absolute;
	bottom: 74px;
	left: 50%;
	width: 68px;
	height: 68px;
	display: grid;
	place-items: center;
	transform: translateX(-50%);
	color: #111111;
	background: #ffffff;
	border: 7px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	background-clip: padding-box;
	padding: 0;
	font-size: 0;
	line-height: 1;
	opacity: 0;
	z-index: 25;
	cursor: pointer;
	user-select: none;
	appearance: none;
	transition:
		opacity 600ms ease,
		color 180ms ease,
		border-color 180ms ease,
		transform 250ms ease;
}

.palermo-hero__scroll::before {
	content: "↓";
	display: block;
	font-size: 34px;
	line-height: 1;
	transform: translateY(-1px);
}

.palermo-hero__scroll:focus,
.palermo-hero__scroll:active {
	color: #111111;
	background: #ffffff;
	border-color: rgba(255, 255, 255, 0.16);
	outline: 0;
}

.palermo-hero__scroll:focus-visible {
	color: #ffc885;
	outline: 2px solid #ffc885;
	outline-offset: 5px;
}

@media (hover: hover) {
	.palermo-hero__scroll:hover {
		color: #ffc885;
		background: #ffffff;
		border-color: rgba(255, 200, 133, 0.34);
	}

	.palermo-hero__scroll:hover,
	.palermo-hero__scroll:focus-visible {
		transform: translateX(-50%) translateY(3px);
	}
}

.palermo-hero__scroll:focus-visible {
	transform: translateX(-50%) translateY(3px);
}

.palermo-hero--kf1 .palermo-hero__scroll,
.palermo-hero--kf2 .palermo-hero__scroll,
.palermo-hero--kf3 .palermo-hero__scroll {
	opacity: 1;
}

@media (max-width: 900px) {
	.palermo-hero {
		--petal-width: clamp(180px, 46vw, 290px);
		--petal-height: clamp(305px, 52vh, 485px);
	}

	.palermo-hero__title {
		top: 118px;
		font-size: clamp(56px, 17vw, 110px);
	}

	.palermo-hero__footer {
		top: auto;
		bottom: 110px;
		flex-direction: column;
		align-items: flex-start;
		padding: 0 24px;
		gap: 14px;
	}

	.palermo-hero__tagline,
	.palermo-hero__cta {
		white-space: normal;
	}

	.palermo-hero__cta {
		max-width: 100%;
		min-height: 46px;
		padding: 10px 18px;
	}

	.palermo-hero__scroll {
		bottom: 52px;
		width: 58px;
		height: 58px;
	}

	.palermo-hero__scroll::before {
		font-size: 29px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.palermo-hero__title,
	.palermo-hero__petal,
	.palermo-hero__petal img,
	.palermo-hero__footer,
	.palermo-hero__scroll {
		transition-duration: 1ms !important;
	}
}
