.elementor-widget-an-cinematic-gallery,
.elementor-widget-an-cinematic-gallery > .elementor-widget-container {
	overflow: visible;
}

.an-cg {
	--an-cg-bg: #171414;
	--an-cg-radius: 18px;
	--an-cg-stage-height: 100vh;
	--an-cg-scroll-distance: 150vh;
	--an-cg-image-gap: 16px;
	--an-cg-main-width: 30%;
	--an-cg-main-max-width: 100%;
	--an-cg-main-current-width: var(--an-cg-main-width);
	--an-cg-main-top: 0%;
	--an-cg-left-shift: 0px;
	--an-cg-right-shift: 0px;
	--an-cg-title-shift: 0px;
	--an-cg-title-opacity: 1;
	--an-cg-side-opacity: 1;
	position: relative;
	isolation: isolate;
	width: 100%;
	height: calc(var(--an-cg-stage-height) + var(--an-cg-scroll-distance));
	min-height: 900px;
	background: var(--an-cg-bg);
	color: #fff;
	box-sizing: border-box;
}

.an-cg[data-trigger="none"] {
	height: var(--an-cg-stage-height);
	min-height: 440px;
}

.an-cg *,
.an-cg *::before,
.an-cg *::after {
	box-sizing: border-box;
}

.an-cg__sticky {
	position: sticky;
	top: 0;
	width: 100%;
	height: var(--an-cg-stage-height);
	min-height: 440px;
	overflow: hidden;
	background: var(--an-cg-bg);
	color: #fff;
}

.an-cg__wash {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 78%, rgb(255 155 100 / 10%), transparent 38%),
		linear-gradient(180deg, rgb(255 255 255 / 2%), transparent 34%);
}

.an-cg__heading {
	position: absolute;
	z-index: 2;
	top: 7.5%;
	left: 50%;
	width: min(760px, calc(100% - 48px));
	margin: 0;
	transform: translate3d(-50%, var(--an-cg-title-shift), 0);
	color: #fff;
	font-family: inherit;
	font-size: clamp(32px, 4vw, 64px);
	font-weight: 700;
	line-height: 1.05;
	text-align: center;
	text-wrap: balance;
	opacity: var(--an-cg-title-opacity);
	will-change: transform, opacity;
}

.an-cg__media-stage {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.an-cg__side-items {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: grid;
	grid-template-columns: 12% 20% minmax(0, 1fr) 20% 12%;
	column-gap: var(--an-cg-image-gap);
	align-items: stretch;
	pointer-events: none;
}

.an-cg__column {
	position: relative;
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	gap: var(--an-cg-image-gap);
	align-items: stretch;
	justify-content: center;
}

.an-cg__column--outer-left {
	grid-column: 1;
}

.an-cg__column--inner-left {
	grid-column: 2;
}

.an-cg__column--inner-right {
	grid-column: 4;
}

.an-cg__column--outer-right {
	grid-column: 5;
}

.an-cg__card {
	--an-cg-parallax-x: 0px;
	--an-cg-parallax-y: 0px;
	--an-cg-card-shift: 0px;
	position: absolute;
	display: block;
	overflow: hidden;
	border-radius: var(--an-cg-radius);
	background: #292525;
	opacity: var(--an-cg-side-opacity);
	pointer-events: auto;
	transform:
		translate3d(
			calc(var(--an-cg-card-shift) + var(--an-cg-parallax-x)),
			var(--an-cg-parallax-y),
			0
		);
	will-change: transform;
}

.an-cg__card--1,
.an-cg__card--2,
.an-cg__card--3 {
	--an-cg-card-shift: var(--an-cg-left-shift);
}

.an-cg__card--4,
.an-cg__card--5,
.an-cg__card--6 {
	--an-cg-card-shift: var(--an-cg-right-shift);
}

.an-cg__card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.an-cg__card:hover img {
	transform: scale(1.045);
}

.an-cg__card-label {
	position: absolute;
	right: 12px;
	bottom: 12px;
	left: 12px;
	padding: 9px 11px;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: var(--an-cg-radius);
	background: rgb(14 12 12 / 68%);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	opacity: 0;
	transform: translateY(8px);
	backdrop-filter: blur(8px);
	transition:
		opacity 0.35s ease,
		transform 0.35s ease;
}

.an-cg__card:hover .an-cg__card-label,
.an-cg__card:focus-visible .an-cg__card-label {
	opacity: 1;
	transform: translateY(0);
}

/* Six automatic positions modelled after armenia.travel. */
.an-cg__card--1 {
	top: 31%;
	left: -1.5%;
	width: 13%;
	height: 37%;
}

.an-cg__card--2 {
	top: 25.5%;
	left: 12.5%;
	width: 21%;
	height: 28.5%;
}

.an-cg__card--3 {
	top: 57%;
	left: 12.5%;
	width: 21%;
	height: 18%;
}

.an-cg__card--4 {
	top: 46%;
	right: 12.5%;
	width: 21%;
	height: 28.5%;
}

.an-cg__card--5 {
	top: 25.5%;
	right: 12.5%;
	width: 21%;
	height: 18%;
}

.an-cg__card--6 {
	top: 31%;
	right: -1.5%;
	width: 13%;
	height: 37%;
}

.an-cg__main {
	position: absolute;
	z-index: 4;
	top: 0;
	bottom: 0;
	left: 50%;
	width: var(--an-cg-main-current-width);
	height: 100%;
	transform: translate3d(-50%, 0, 0);
	will-change: width;
}

.an-cg__main-inner {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--an-cg-radius);
	background: #292525;
	box-shadow: 0 24px 70px rgb(0 0 0 / 24%);
}

.an-cg__video,
.an-cg__poster,
.an-cg__iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #231f1f;
	object-fit: cover;
}

.an-cg__iframe {
	transform: scale(1.01);
}

.an-cg__empty {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
	justify-content: center;
	padding: 24px;
	color: rgb(255 255 255 / 68%);
	font-size: 14px;
	text-align: center;
}

.an-cg__empty-icon {
	display: grid;
	width: 54px;
	height: 54px;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 50%;
	place-items: center;
	padding-left: 3px;
	background: rgb(255 255 255 / 7%);
	color: #fff;
	font-size: 18px;
}

.an-cg:not(.is-ready) .an-cg__card,
.an-cg:not(.is-ready) .an-cg__main,
.an-cg:not(.is-ready) .an-cg__heading {
	opacity: 0;
}

.an-cg.is-ready .an-cg__card,
.an-cg.is-ready .an-cg__main,
.an-cg.is-ready .an-cg__heading {
	transition: opacity 0.55s ease;
}

@media (max-width: 1024px) {
	.an-cg__heading {
		top: 8%;
		font-size: clamp(30px, 5.2vw, 50px);
	}

	.an-cg__card--1,
	.an-cg__card--6 {
		width: 12%;
	}

	.an-cg__card--2,
	.an-cg__card--3 {
		left: 8%;
		width: 23%;
	}

	.an-cg__card--4,
	.an-cg__card--5 {
		right: 8%;
		width: 23%;
	}
}

@media (max-width: 767px) {
	.an-cg {
		--an-cg-stage-height: 100svh;
		--an-cg-scroll-distance: 110svh;
		--an-cg-image-gap: 10px;
		--an-cg-main-width: 76%;
		--an-cg-main-max-width: 100%;
		--an-cg-main-top: 0%;
		min-height: 1100px;
	}

	.an-cg[data-trigger="none"] {
		min-height: 640px;
	}

	.an-cg__sticky {
		min-height: 640px;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.an-cg__side-items {
		grid-template-columns: 18% 22% minmax(0, 1fr) 22% 18%;
	}

	.an-cg__heading {
		top: 5.5%;
		width: calc(100% - 32px);
		font-size: clamp(27px, 8.2vw, 40px);
		line-height: 1.08;
	}

	.an-cg__card--1 {
		top: 30%;
		left: -18%;
		width: 32%;
		height: 36%;
	}

	.an-cg__card--2 {
		top: 22%;
		left: -8%;
		width: 29%;
		height: 21%;
	}

	.an-cg__card--3 {
		top: 47%;
		left: -8%;
		width: 29%;
		height: 16%;
	}

	.an-cg__card--4 {
		top: 47%;
		right: -8%;
		width: 29%;
		height: 21%;
	}

	.an-cg__card--5 {
		top: 25%;
		right: -8%;
		width: 29%;
		height: 16%;
	}

	.an-cg__card--6 {
		top: 31%;
		right: -18%;
		width: 32%;
		height: 36%;
	}

	.an-cg__card-label {
		display: none;
	}
}

/*
 * The side media uses four real columns. Inner cards stack with one fixed
 * gap, while every image keeps its natural aspect ratio without cropping.
 */
.an-cg .an-cg__column .an-cg__card {
	position: relative;
	inset: auto;
	width: 100%;
	height: auto;
	flex: 0 0 auto;
	overflow: visible;
	background: transparent;
}

.an-cg .an-cg__card img {
	height: auto;
	max-height: none;
	border-radius: var(--an-cg-radius);
	object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
	.an-cg {
		height: var(--an-cg-stage-height);
		min-height: 440px;
	}

	.an-cg__sticky {
		position: relative;
	}

	.an-cg *,
	.an-cg *::before,
	.an-cg *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
