.tt-split-portfolio {
	--tt-split-image-width: 67%;
	--tt-split-gap: 100px;
	--tt-split-col-gap: 32px;
	--tt-split-radius: 50px;
}

.tt-split-portfolio__list {
	display: flex;
	flex-direction: column;
	gap: var(--tt-split-gap);
}

.tt-split-portfolio__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: var(--tt-split-col-gap);
	width: 100%;
}

.tt-split-portfolio__item--flip .tt-split-portfolio__row {
	flex-direction: row-reverse;
}

.tt-split-portfolio__media {
	flex: 0 0 var(--tt-split-image-width);
	width: var(--tt-split-image-width);
	max-width: var(--tt-split-image-width);
	min-width: 0;
}

.tt-split-portfolio__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	padding-bottom: 4px;
}

/* ─── Image ─── */
.tt-split-portfolio__image {
	overflow: hidden;
	border-radius: var(--tt-split-radius);
	isolation: isolate;
	transform: translateZ(0);
	position: relative;
}

.tt-split-portfolio__image img,
.tt-split-portfolio__image .tt-split-portfolio__video {
	display: block;
	width: 100%;
	height: auto;
	transform: scale(1.037) translateZ(0.01px);
	transition: transform 0.5s cubic-bezier(0, 0, 0.58, 1), opacity 0.35s ease;
	will-change: transform;
}

.tt-split-portfolio__image a,
.tt-split-portfolio__image span {
	display: block;
	position: relative;
}

.tt-split-portfolio__image .tt-split-portfolio__video {
	pointer-events: none;
}

.tt-split-portfolio__item.project-video--hover .tt-split-portfolio__video,
.tt-split-portfolio__item.project-video--replace .tt-split-portfolio__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tt-split-portfolio__item.project-video--hover .tt-split-portfolio__video {
	opacity: 0;
}

.tt-split-portfolio__item.project-video--hover:hover .tt-split-portfolio__video,
.tt-split-portfolio__item.project-video--hover.is-playing .tt-split-portfolio__video,
.tt-split-portfolio__item.project-video--replace .tt-split-portfolio__video {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.tt-split-portfolio__video {
		display: none !important;
	}
}

/* Scroll-in scale-out (Resonance scaleOutIn): 1.2 → rest */
.tt-split-portfolio__image.tt-sp-scale-pending img,
.tt-split-portfolio__image.tt-sp-scale-pending .tt-split-portfolio__video {
	transform: scale(1.2) translateZ(0.01px);
	transition: none;
}

.tt-split-portfolio__image.tt-sp-scale-in img,
.tt-split-portfolio__image.tt-sp-scale-in .tt-split-portfolio__video {
	transform: scale(1.037) translateZ(0.01px);
	transition: transform 1.2s cubic-bezier(0, 0, 0.58, 1), opacity 0.35s ease;
}

/* Hover zoom-out after the scroll reveal */
.tt-split-portfolio__image a:hover img,
.tt-split-portfolio__image a:hover .tt-split-portfolio__video,
.tt-split-portfolio__item:hover .tt-split-portfolio__image.tt-sp-scale-in img,
.tt-split-portfolio__item:hover .tt-split-portfolio__image.tt-sp-scale-in .tt-split-portfolio__video,
.tt-split-portfolio__item:hover .tt-split-portfolio__image:not(.tt-sp-scale-pending) img,
.tt-split-portfolio__item:hover .tt-split-portfolio__image:not(.tt-sp-scale-pending) .tt-split-portfolio__video {
	transform: translateZ(0.01px);
	transition: transform 0.5s cubic-bezier(0, 0, 0.58, 1);
}

.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-in img,
.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-in .tt-split-portfolio__video,
.tt-split-portfolio--no-zoom .tt-split-portfolio__image a:hover img,
.tt-split-portfolio--no-zoom .tt-split-portfolio__image a:hover .tt-split-portfolio__video,
.tt-split-portfolio--no-zoom .tt-split-portfolio__item:hover .tt-split-portfolio__image img,
.tt-split-portfolio--no-zoom .tt-split-portfolio__item:hover .tt-split-portfolio__image .tt-split-portfolio__video {
	transform: scale(1) translateZ(0.01px);
}

.tt-split-portfolio--no-zoom .tt-split-portfolio__image:not(.tt-sp-scale-pending):not(.tt-sp-scale-in) img,
.tt-split-portfolio--no-zoom .tt-split-portfolio__image:not(.tt-sp-scale-pending):not(.tt-sp-scale-in) .tt-split-portfolio__video {
	transform: none;
}

/* ─── Text alignment ─── */
.tt-split-portfolio__item:not(.tt-split-portfolio__item--flip) .tt-split-portfolio__content {
	text-align: start;
	align-items: flex-start;
}

.tt-split-portfolio__item--flip .tt-split-portfolio__content {
	text-align: end;
	align-items: flex-end;
}

/* ─── Title ───
   One-class defaults so Elementor Style → Title always wins. */
.tt-split-portfolio__title {
	margin: 0 0 15px;
	font-size: 62px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.tt-split-portfolio__title a {
	color: inherit;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-position: 0 calc(100% - 0.125em);
	background-repeat: no-repeat;
	transition: background-size 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.tt-split-portfolio__title a:hover {
	color: inherit;
	background-size: 100% 1px;
}

.tt-split-portfolio__title .tt-sp-chars,
.tt-split-portfolio__title .word,
.tt-split-portfolio__title .char {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

/* ─── Category (visible unless JS has armed the fade-in) ─── */
.tt-split-portfolio__cat {
	font-size: 15px;
	line-height: 1.2;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.tt-split-portfolio__cat.tt-sp-pending {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.tt-split-portfolio__cat.tt-sp-animated {
	opacity: 1;
	transform: none;
}
.tt-split-portfolio__title .tt-sp-chars {
	display: inline;
}

.tt-split-portfolio__title .tt-sp-chars .word {
	display: inline-block;
	white-space: nowrap;
}

.tt-split-portfolio__title .tt-sp-chars .char {
	display: inline-block;
	opacity: 0;
	transform: translateX(0.5em);
	transform-origin: 0 50%;
	transition:
		transform 0.85s cubic-bezier(0.15, 0.7, 0.78, 1),
		opacity 0.62s cubic-bezier(0, 0, 0.58, 1);
	transition-delay: calc(0.03s * var(--char-index, 0));
}

.tt-split-portfolio__title .tt-sp-chars.tt-sp-animated .char {
	opacity: 1;
	transform: none;
}

/* Animate Items on Viewport */
.tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item {
	transition-property: opacity, transform;
	transition-duration: var(--bb-reveal-duration, 650ms);
	transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item.bb-reveal-pending {
	opacity: 0;
	will-change: transform, opacity;
}

.tt-split-portfolio[data-bb-reveal="yes"][data-bb-reveal-effect="fade_up"] .tt-split-portfolio__item.bb-reveal-pending {
	transform: translate3d(0, var(--bb-reveal-distance, 22px), 0);
}

.tt-split-portfolio[data-bb-reveal="yes"][data-bb-reveal-effect="slide_up"] .tt-split-portfolio__item.bb-reveal-pending {
	transform: translate3d(0, calc(var(--bb-reveal-distance, 22px) * 1.35), 0);
}

.tt-split-portfolio[data-bb-reveal="yes"][data-bb-reveal-effect="zoom_in"] .tt-split-portfolio__item.bb-reveal-pending {
	transform: translate3d(0, var(--bb-reveal-distance, 22px), 0) scale3d(0.92, 0.92, 1);
}

.tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item.bb-reveal-in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.tt-split-portfolio[data-bb-reveal="yes"][data-bb-reveal-effect="zoom_in"] .tt-split-portfolio__item.bb-reveal-in {
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

.elementor-editor-active .tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item.bb-reveal-pending {
	opacity: 1 !important;
	transform: none !important;
}

/* ─── Responsive ─── */
@media (max-width: 1024px) {
	.tt-split-portfolio {
		--tt-split-gap: 60px;
		--tt-split-radius: 30px;
	}

	.tt-split-portfolio__title {
		font-size: calc(0.975rem + 3.25vw);
	}
}

@media (max-width: 767px) {
	.tt-split-portfolio {
		--tt-split-gap: 40px;
	}
	.tt-split-portfolio__row {
	    align-items: center;
	}
	.tt-split-portfolio__item:not(.tt-split-portfolio__item--flip) .tt-split-portfolio__content {
    align-items: center;
}
	.tt-split-portfolio__row,
	.tt-split-portfolio__item--flip .tt-split-portfolio__row {
		flex-direction: column;
	}

	.tt-split-portfolio__media {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}

	.tt-split-portfolio__content,
	.tt-split-portfolio__item--flip .tt-split-portfolio__content {
		align-items: center;
		text-align: center;
		padding-top: 20px;
		padding-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tt-split-portfolio__title .tt-sp-chars .char {
		opacity: 1 !important;
		transform: none !important;
	}

	.tt-split-portfolio__cat {
		opacity: 1 !important;
		transform: none !important;
	}

	.tt-split-portfolio__image.tt-sp-scale-pending img,
	.tt-split-portfolio__image.tt-sp-scale-pending .tt-split-portfolio__video,
	.tt-split-portfolio__image.tt-sp-scale-in img,
	.tt-split-portfolio__image.tt-sp-scale-in .tt-split-portfolio__video {
		transform: scale(1.037) translateZ(0.01px) !important;
		transition: none !important;
	}

	.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-pending img,
	.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-pending .tt-split-portfolio__video,
	.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-in img,
	.tt-split-portfolio--no-zoom .tt-split-portfolio__image.tt-sp-scale-in .tt-split-portfolio__video {
		transform: none !important;
	}

	.tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item.bb-reveal-pending,
	.tt-split-portfolio[data-bb-reveal="yes"] .tt-split-portfolio__item.bb-reveal-in {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
