/* ==================================================
	 Virtual VFX Page Specific Styles
	 ================================================== */


.video-production {background-color:#FFF;
	color:#000;}
/* TXT size */
.video-production h2 span {font-size:5.0rem; font-weight:500; line-height:1.3; margin-bottom:0;}
.video-production h3 {font-size:2.5rem; font-weight:500; line-height:1.3;}
.video-production span {font-size:1.3rem; font-weight:500;}
.video-production p {font-size:1.4rem; font-weight:400; line-height:1.9;}

@media (max-width: 1024px) {
	.video-production h2 span {font-size:3.2rem; display:block;}
	.video-production h3 {}
	.video-production span {}
	.video-production p {}
}
/* titleset */
.titleset{position:relative}
.titleset__line{display:block;overflow:hidden;position:relative}
.titleset__line>span{display:block;position:relative;transform:translateY(100%)}
/* Header Compact State */
.header--compact {
	padding: var(--spacing-sm) 0 !important;
	transition: padding 0.3s ease;}

/* Hero Section Enhancement */
.vfx-hero {
	position: relative;
	padding: 120px 0;
	/* background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%); */
	overflow: hidden;
	margin-top: 80px;}
.vfx-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;}
.vfx-hero__title {/*color: #fff;*/
	margin-bottom: 8px;
	letter-spacing: 0;}

.vfx-hero__subtitle {color: #969696;
	margin-bottom: 40px;
	letter-spacing: 0;
	text-transform: uppercase;}

.vfx-hero__description {/*color: #fff;*/
	letter-spacing: 0.36px;
	max-width: 700px;
	margin: 0 auto;}

/* Main Visual Section */
.vfx-visual {/**/padding:120px 0 60px;
	/*background-color: #1e1e1e;*/
}

.vfx-visual .container {margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 46px;}

.vfx-visual__image {width: 100%;
	height: 337px;
	overflow: hidden;}

.vfx-visual__image img {width: 100%;
	height: 100%;
	object-fit: cover;}

.vfx-visual__content {display: flex;
	flex-direction: column;
	gap: 32px;}

.vfx-visual__title {margin: 0;}
.vfx-visual__text {
	max-width: 849px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.vfx-visual__text p {
	/*color: #fff;*/
	margin: 0;
}
/* Gallery Section */
.vfx-gallery {padding-bottom:100px;/*background-color: #1e1e1e;*/}
.vfx-gallery__main {position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #2a2a2a;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 24px;}

.vfx-gallery__image {position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;}

.vfx-gallery__image--bottom {z-index: 1;}
.vfx-gallery__image--top {z-index: 2;}
.vfx-gallery__thumbs {
	display: flex;
	gap: 7px;
	justify-content: center;
	flex-wrap: wrap;
}
.vfx-gallery__thumbs img {
	width: calc((100% - 56px) / 9);
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 4px;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.3s ease, border-color 0.3s ease;
	border: 2px solid transparent;
}
.vfx-gallery__thumbs img:hover {opacity: 0.8;}
.vfx-gallery__thumbs img.active {opacity: 1;border-color: #f18c02;}
/* Video Section */
.vfx-video {
	margin-bottom:100px;
	background-color: #000;}
.vfx-video__title {
	margin-bottom: 40px;
	text-align: center;}
/* Responsive Video Wrapper */
.vfx-video__wrapper {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
	height: 0;
	overflow: hidden;
	background-color: #FFF;
	border-radius: 12px;
}
.vfx-video__wrapper iframe,
.vfx-video__wrapper video,
.vfx-video__wrapper embed,
.vfx-video__wrapper object {position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
/* Placeholder for when video is not loaded */
.vfx-video__placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #2a2a2a;
	color: #666;
}

/* Use Cases Section */
.vfx-usecases {padding-bottom:100px;}
.vfx-usecases .container {max-width: 1024px; margin: 0 auto;}
.vfx-usecases__header {margin-bottom:35px;}

/* Section Label */
.section-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 16px 6px;
	border-left: 1px solid #746654;
	border-bottom: 1px solid #746654;
	margin-bottom: 30px;
	/*color: #fff;*/
	letter-spacing: 0;
	white-space: nowrap;
}
.vfx-usecases__title {margin: 0;}
.vfx-usecases__title .accent {/*font-weight: 500;*/}
.vfx-usecases__list {display: flex; flex-direction: column; gap: 40px;}

/* Use Case Items - Match Figma exactly */
.usecase-item {display: flex;
	gap: 48px;
	align-items: center;
	width: 100%;}

.usecase-item__image {width: 350px;
	height: 220px;
	flex-shrink: 0;
	overflow: hidden;
	background-color: #2a2a2a;
}

.usecase-item__image img {width: 100%;
	height: 100%;
	object-fit: cover;}

.usecase-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;}

.usecase-item__label {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 16px;
	border-left: 1px solid #000;
	width: fit-content;
	letter-spacing: 0;
	white-space: nowrap;
}

.usecase-item__title {/*color: #fff;*/
	margin: 0;}

.usecase-item__text {/*color: #fff;*/
	margin: 0;}

/* Button Section */
.vfx-usecases__cta {display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 54px;
}

/* Large Button Style */
.btn--large {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 17px 100px 18px 80px;
	border: 1px solid #fff;
	border-radius: 60px;
	box-shadow: 0 5px 12px rgba(66, 133, 61, 0.04),
							0 20px 22px rgba(66, 133, 61, 0.03),
							0 46px 29px rgba(66, 133, 61, 0.02),
							0 82px 35px rgba(66, 133, 61, 0.01);
	text-decoration: none;
	position: relative;
	width: 556px;
	height: 71px;
	/*color: #fff;*/
	white-space: nowrap;
	transition: all 0.3s ease;
}

.btn--large .btn__arrow {position: absolute;
	right: 42px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 24px;
}

.btn--large .btn__arrow::after {content: '→';}

.btn--large:hover {background-color: #525252;
	transform: translateY(-2px);}

/* Technology Section */
.vfx-technology {/**/ margin-bottom:100px;}
.container {max-width: 1024px;}
.vfx-technology__header {margin-bottom:35px;}
.vfx-technology__label {display: inline-flex;
	align-items: center;
	padding: 4px 16px 6px;
	border-left: 1px solid #746654;
	border-bottom: 1px solid #746654;
	margin-bottom: 24px;
}
.vfx-technology__label-text {}
.vfx-technology__title {margin: 0;}
.vfx-technology__title strong {}

/* Technology List - Match Figma exactly */
.vfx-technology__list {display: flex;
	flex-direction: column;
	gap: 40px;}

.tech-item {display: flex;
	gap: 24px;
	align-items: center;
	width: 100%;}

.tech-item__image {width: 322px;
	height: 176.25px;
	flex-shrink: 0;
	overflow: hidden;
	background-color: #2a2a2a;
}

/* Third item has different height */
.tech-item:nth-child(3) .tech-item__image {height: 186px;}
.tech-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;}

.tech-item__content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;}

.tech-item__label {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 12px;
	border-left: 1px solid #000;
	width: fit-content;
	white-space: nowrap;
	margin-left: 4px;
}
.tech-item__title {margin: 0;}
.tech-item__list {
	list-style: disc;
	padding-left: 24px;
	margin: 0;}
.tech-item__list li {margin-bottom: 0;}
.tech-item__list li:last-child {margin-bottom: 0;}

/* Specs Section */
.vfx-specs {padding-bottom:120px;}
.container {max-width: 1024px;}
.vfx-specs__header {margin-bottom:35px;}
.vfx-specs__title {margin: 0;}
.vfx-specs__image {width: 100%; margin-bottom: 54px;}
.vfx-specs__image img {width: 100%; height: auto; border-radius: 8px;}
.vfx-specs__gallery {display: flex; gap: 10px; align-items: center; margin-bottom: 16px;}
.vfx-specs__gallery img {flex: 1;
	width: calc((100% - 20px) / 3);
	height: auto;
	object-fit: cover;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vfx-specs__gallery img:hover {transform: scale(1.05); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);}
.vfx-specs__note {text-align: center; margin-bottom: 32px; border-top: 1px solid #9f9f9f;}
.vfx-specs__details {display: flex;
	gap: 24px;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 64px;
}
.spec-group {flex: 1; display: flex; flex-direction: column; gap: 14px;}
.spec-group:nth-child(2) {max-width: 394px;}
.spec-group__label {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 16px;
	border-left: 1px solid #fff;
	width: fit-content;
	white-space: nowrap;}

.spec-group__list {list-style: disc;
	padding-left: 24px;
	margin: 0;}

.spec-group__list li {margin-bottom: 0;}
.spec-group__list li:last-child {margin-bottom: 0;}

/* Feature Cards in Specs Section */
.vfx-specs__features {display: flex;
	gap: 48px;
	align-items: flex-start;}

.feature-card {flex: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;}

.feature-card img {width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 8px;}

.feature-card h3 {margin: 0;}

.feature-card p {margin: 0;}

/* CTA Section Enhancement */
.vfx-cta {padding: 96px 0;
	position: relative;
	overflow: hidden;
	/*background-color: #1e1e1e;*/
	min-height: 478px;
	display: flex;
	align-items: center;}

/* Video Background */
.vfx-cta__video-bg {position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.vfx-cta__video-bg video {width: 100%;
	height: 100%;
	object-fit: cover;}

/* Dark overlay for better text readability */
.vfx-cta::after {content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 2;
}

.vfx-cta__content {position: relative;
	z-index: 3;
	display: flex;
	margin: 0 auto;
	padding: 0 40px;
	gap: 80px;
	align-items: center;
}
.vfx-cta__left {flex: 1;}
.vfx-cta__title {margin-bottom: 24px;}
.vfx-cta__list {list-style: none; padding: 0; margin: 0;}
.vfx-cta__list li {position: relative; padding-left: 36px; margin-bottom: 0; text-align: left;}
.vfx-cta__list li::before {content: url(../images/icon-check.svg);
	position: absolute;
	left: 0;
	top: 40%;
	transform: translate(0,-50%);
	width: 24px;
	height: 24px;}

.vfx-cta__divider {width: 1px;
	height: 197px;
	background-color: #fff;
	opacity: 0.3;}

.vfx-cta__right {flex: 1; text-align: center;}
.vfx-cta__message {margin-bottom: 40px;}
.vfx-cta__message p {margin: 0; text-align: left;}

/* White Button for CTA */
.btn--white {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 17px 100px 18px 80px;
	background-color: #fff;
	border: 2px solid #f18c02;
	border-radius: 60px;
	box-shadow: 0 5px 12px rgba(66, 133, 61, 0.04),
		0 20px 22px rgba(66, 133, 61, 0.03),
		0 46px 29px rgba(66, 133, 61, 0.02),
		0 82px 35px rgba(66, 133, 61, 0.01);
	text-decoration: none;
	position: relative;
	width: 70%;
	height: 56px;
	color: #3e382f;
	white-space: nowrap;
	transition: all 0.3s ease;
}
.btn--white:hover {background-color: #f5f5f5; transform: translateY(-2px);}

/* Button Styles */
.vfx-button {display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 17px 100px 18px 80px;
	background-color: #474747;
	border-radius: 60px;
	box-shadow: 0 5px 12px rgba(66, 133, 61, 0.04),
							0 20px 22px rgba(66, 133, 61, 0.03),
							0 46px 29px rgba(66, 133, 61, 0.02),
							0 82px 35px rgba(66, 133, 61, 0.01),
							48px 127px 38px rgba(66, 133, 61, 0);
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	width: 556px;
	height: 71px;
}
.vfx-button__text {white-space: nowrap;}
.vfx-button__arrow {
	position: absolute;
	right: 42px;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 24px;
}
.vfx-button__arrow svg {width: 100%; height: 100%;}
.vfx-button:hover {background-color: #525252; transform: translateY(-2px);}

/* White variant for CTA sections */
.vfx-button--white {
	background-color: #fff;
	color: #000;
}
.vfx-button--white .vfx-button__text {color: #000;}
.vfx-button--white .vfx-button__arrow path {stroke: #000;}
.vfx-button--white:hover {background-color: #f5f5f5;}

/* Container Adjustments */
.container {
	max-width: 1440px;
	margin: 0 auto;
}

@media (max-width: 1440px) {
	.container {padding: 0 80px;}
}

/* Lightbox Styles */
.lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}
.lightbox.active {display: block;}
.lightbox__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	cursor: pointer;
}
.lightbox__content {position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 90%;
	max-height: 90%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.lightbox__image-container {display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	max-height: calc(90vh - 60px);
}
.lightbox__image {max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.lightbox__caption {margin-top: 20px;}
.lightbox__close {position: absolute;
	top: 20px;
	right: 40px;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 10;
	transition: transform 0.3s ease;
	padding: 0;
	line-height: 1;}

.lightbox__close:hover {transform: scale(1.1);}

.lightbox__prev,
.lightbox__next {position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.1);
	border: none;
	width: 60px;
	height: 80px;
	cursor: pointer;
	transition: background 0.3s ease;
	padding: 0;
	border-radius: 4px;}

.lightbox__prev:hover,
.lightbox__next:hover {background: rgba(255, 255, 255, 0.2);}

.lightbox__prev {left: 40px;}

.lightbox__next {right: 40px;}

/* =================================================
	 Responsive Design
	 ================================================= */

/* Tablet Landscape (1024px and below) */
@media (max-width: 1024px) {.container {padding: 0 40px;}

	/* Hero Section */
	.vfx-hero {padding: 140px 0 60px;}

	.vfx-hero__title {}

	.vfx-hero__subtitle {}

	/* Visual Section */
	.vfx-visual__title {}

	/* Gallery Section */
	.vfx-gallery__thumbs img {width: calc((100% - 42px) / 7);}

	/* Use Cases */
	.vfx-usecases__title {}

	.usecase-item {flex-direction: column;
		gap: 20px;}

	.usecase-item__image {width: 100%;
		height: 240px;}

	/* Technology Section */
	.vfx-technology__title {}

	.tech-item {flex-direction: column;
		gap: 20px;}

	.tech-item__image {width: 100%;
		height: 200px;}

	.tech-item:nth-child(3) .tech-item__image {height: 200px;}

	/* Specs Section */
	.vfx-specs__details {flex-direction: column;
		gap: 32px;}
	
	.spec-group:nth-child(2) {max-width: 100%;}

	.vfx-specs__features {flex-direction: column;
		gap: 32px;}

	.vfx-specs__gallery {flex-direction: column;
		gap: 16px;}

	.vfx-specs__gallery img {width: 100%;}

	/* CTA Section */
	.vfx-cta__content {flex-direction: column;
		gap: 40px;
		text-align: center;}

	.vfx-cta__divider {width: 100px;
		height: 1px;
		margin: 0 auto;}

	.vfx-cta__title {}

	/* Buttons */
	.vfx-button,
	.btn--large {width: 100%;
		max-width: 400px;
		margin: 0 auto;}
}

/* Tablet Portrait (768px and below) */
@media (max-width: 768px) {
	.container {padding: 0 24px;}
	/* Hero Section */
	.vfx-hero {padding: 60px 0 50px; margin-top: 40px; height: 40vh;}
	.vfx-hero__title {}
	.vfx-hero__subtitle {margin-bottom: 16px;}
	.vfx-hero__description {}
	/* Visual Section */
	.vfx-visual {}
	.vfx-visual .container {gap: 32px;}
	.vfx-visual__image {height: 240px;}
	.vfx-visual__title {}
	.vfx-visual__text p {}

	/* Gallery Section */
	.vfx-gallery {padding-bottom:80px;}
	.vfx-gallery__thumbs {gap: 4px;}
	.vfx-gallery__thumbs img {width: calc((100% - 20px) / 5);}

	/* Video Section */
	.vfx-video {margin-bottom:80px;}
	.vfx-video__wrapper {border-radius: 8px;}
	/* Use Cases Section */
	.vfx-usecases {padding-bottom:80px;}
	.vfx-usecases__title {}
	.usecase-item__title {}
	.usecase-item__text {}
	/* Technology Section */
	.vfx-technology {margin-bottom:80px;}
	.vfx-technology__title {}
	.tech-item__title {}
	.tech-item__list li {}

	/* Specs Section */
	.vfx-specs {}
	.vfx-specs__title {}
	/* Disable lightbox interaction on mobile */
	.vfx-specs__gallery img {
		cursor: default !important;
		transform: none !important;
		box-shadow: none !important;
	}
	.vfx-specs__gallery img:hover {
		transform: none !important;
		box-shadow: none !important;
	}
	/* Hide the note on mobile */
	.vfx-specs__note {display: none;}
	/* CTA Section */
	.vfx-cta {padding: 60px 0; min-height: auto;}
	.vfx-cta__content {padding: 0 24px;}
	.vfx-cta__title {}
	.vfx-cta__list {text-align: left;}
	.vfx-cta__list li {padding-left: 28px; text-align: left;}
	.vfx-cta__message p {}
	/* Buttons */
	.btn--white {width: 100%; max-width: 320px; padding: 15px 60px 15px 40px;}
	/* Lightbox */
	.lightbox__prev,.lightbox__next {width: 50px; height: 70px; font-size: 36px;}
	.lightbox__prev {left: 20px;}
	.lightbox__next {right: 20px;}
}
