

.main-wrapper img,
.main-wrapper video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.main-wrapper {
	width: 100%;
	padding: 0 60px;
}

/* =========================
   HERO SECTION
========================= */

.project-detail-hero {
	margin: auto;
	padding: 50px 0 40px 0;
}

.text-content {
	margin-bottom: 30px;
}

.text-content h1 {
	font-size: 48px;
	font-weight: 600;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 20px;
	color:#fff;
}

.text-content h1 img {
	width: 30px;
	height: 30px;
}

.text-content p {
	color: #fff;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 1px;
}

/* =========================
   SERVICES / INDUSTRY
========================= */

.service-industry-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
}

.text-tag-wrapper h3 {
	font-size: 26px;
	font-weight: 500;
	margin-bottom: 16px;
	color:#fff;
}

.all-services,
.industry {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.service-industry-wrapper span {
	border: 2px dotted #BCBCBC;
	padding: 8px 15px;
	border-radius: 30px;
	font-size: 12px;
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.5px;
	transition: all 0.5s;
}

/* =========================
   MEDIA SECTIONS
========================= */

.one-section {
	margin: 30px auto;
}

/* .one-section img,
.one-section video {
  width: 100%;
} */

/* =========================
   TWO COLUMN MEDIA
========================= */

.two-section {
	margin: 30px auto;

	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.img-box {
	position: relative;
}

.img-box img {
	width: 100%;
	display: block;
}

/* Button */
.play-btn {
	position: absolute;
	top: 20px;
	right: 20px;

	width: 90px;
	height: 90px;
	background: #fff;
	border-radius: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
	overflow: hidden;
}

/* Rotating text */
.circle-text {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 6px;
	animation: rotateText 8s linear infinite;
}

.circle-text svg {
	width: 100%;
	height: 100%;
}

.circle-text text {
	font-size: 20px;
	letter-spacing: 4px;
	fill: #000;
}

/* Play icon */
.icon svg {
	width: 30px;
	height: 30px;
	z-index: 2;
}

/* Animation */
@keyframes rotateText {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

/* .two-section img {
  width: 100%;
} */

/* =========================
   TEXT SECTION
========================= */

.text-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin: 50px auto;
}

.text-section h3 {
	font-size: 30px;
	font-weight: 500;
	color: #FFFFFF;
	display: flex;
	align-items: start;
	gap: 20px;
}

.text-section h3 img {
	width: 30px;
	height: 30px;
}

.text-section p {
	max-width: 700px;
	color: #fff;
	font-size: 18px;
	line-height: 1.3;
}

/* =========================
   RESPONSIVE
========================= */

@media  (max-width: 1024px) {
	.two-section {
		grid-template-columns: 1fr;
	}

	.service-industry-wrapper {
		grid-template-columns: 1fr;
	}

	.text-section {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}

@media (max-width: 768px) {
	.project-detail-hero {
		padding: 60px 0 30px;
	}

	.text-content {
		gap: 30px;
	}

	.text-content h1 {
		font-size: 36px;
	}

	.text-content p {
		font-size: 16px;
	}

	.main-wrapper {
		padding: 0 20px;
	}

	.service-industry-wrapper span {
		padding: 8px 15px;
		font-size: 12px;
	}

	.text-section p {
		font-size: 14px;
	}

	.service-industry-wrapper {
		gap: 30px;
	}

	.one-section {
		margin: 20px auto;
	}

	.two-section {
		margin: 20px auto;
		gap: 20px;
	}

	.text-section {
		margin: 40px auto;
	}

	.text-section h3 {
		gap: 15px;
	}

	.play-btn {
		top: 15px;
		right: 15px;
		width: 60px;
		height: 60px;
	}

	.circle-text {
		padding: 3px;
	}

	.icon svg {
		width: 20px;
		height: 20px;
	}
}


/* ==========frame css============= */

.frame {
  display: block;
  height: 100vh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 4;
}

.frame:after,
.frame:before {
  content: "";
  display: block;
  left: 0;
  position: absolute;
  width: 100%;
}

.frame:before {
  background: linear-gradient(180deg, #0c0c0c 4%, #0d0d0d00 42%);
  height: 30vh;
  top: 0;
}

.frame:after {
  background: linear-gradient(0deg, #0c0c0c 4%, #0d0d0d00 42%);
  bottom: 0;
  height: 30vh;
}

/* custom cursor */

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #FFDE21;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition:
    transform 0.2s ease,
    width 0.2s ease,
    height 0.2s ease;
  z-index: 99999;
  mix-blend-mode: difference; /* Optional cool effect */
}

/* Scale effect */
.custom-cursor.active {
  width: 25px;
  height: 25px;
}