/* Industry Panel*/
[data-industry-panel] {
	--ip-overlay: linear-gradient(180deg, #1b1923 45.38%, rgba(27, 25, 35, 0) 100%);
	--ip-overlay-2: var(--_system-colors---dark);
	--ip-bg-opacity: 0.6;
	--ip-bg-opacity-2: 0.6;
	--ip-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--ip-bg-ease: cubic-bezier(0.65, 0, 0.35, 1);
	--ip-transition: 700ms var(--ip-ease);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* Global Gradient Overlay */
[data-industry-panel]::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--ip-overlay);
	opacity: var(--ip-bg-opacity);
	pointer-events: none;
}

[data-industry-panel] > :not(.industry-panel__bg-active) {
	position: relative;
	z-index: 2; /* Content above global overlay */
}

/* Fading background layers */
.industry-panel__bg-active {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: center / cover no-repeat;
	opacity: 0;
	transform: scale(1.02);
	pointer-events: none;
	transition:
			opacity 750ms var(--ip-bg-ease),
			transform 1000ms var(--ip-bg-ease);
	will-change: opacity, transform;
}

.industry-panel__bg-active.is-industry-bg-active {
	opacity: 1;
	transform: scale(1);
}

.industry-card__bg-source {
	display: none;
}

/* Industry Card Base */
.industry-card {
	--ip-dot: 7px;
	--ip-inset: 22px;
	contain: layout style;
	transform: translateZ(0);
}

/* Yellow Overlay & Interactive Elements */
.industry-card::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	background-color: var(--_system-colors---accent, #ecf071);
	opacity: 0;
	pointer-events: none;
	transition: opacity 480ms ease;
}

.industry-card::before {
	content: '';
	position: absolute;
	top: var(--ip-inset);
	left: var(--ip-inset);
	z-index: 3;
	width: var(--ip-dot);
	height: var(--ip-dot);
	border-radius: 50%;
	background-color: var(--_system-colors---dark, #1b1923);
	opacity: 0;
	transition: opacity 440ms ease;
}

.industry-card .ip-button {
	transition:
			opacity 440ms ease,
			background-color 480ms ease;
}

.industry-card .ip-card-content {
	transform: translateY(calc(var(--ip-reveal-h, 0px) / 2));
	transition:
			transform var(--ip-transition),
			color 480ms ease;
}

.industry-card .ip-card-description-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition:
			opacity 460ms ease,
			transform var(--ip-transition);
}

.industry-card .ip-card-description {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
}

/* Icon Swap System */
.industry-card [data-icon-dot] {
	opacity: 0;
	transition: opacity 480ms var(--ip-ease);
}

/* Desktop Hover Interaction (769px+) */
@media screen and (min-width: 769px) {
	/* Global Fill Overlay */
	[data-industry-panel]::before {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 1;
		background: var(--ip-overlay-2);
		opacity: var(--ip-bg-opacity-2);
		pointer-events: none;
	}

	.industry-card:hover::after,
	.industry-card:focus-within::after,
	.industry-card:hover::before,
	.industry-card:focus-within::before {
		opacity: 1;
	}

	.industry-card:hover .ip-button,
	.industry-card:focus-within .ip-button {
		opacity: 0;
	}

	.industry-card:hover .ip-card-description-reveal,
	.industry-card:focus-within .ip-card-description-reveal {
		opacity: 1;
		transform: translateY(0);
	}

	.industry-card:hover .ip-card-content,
	.industry-card:focus-within .ip-card-content {
		transform: translateY(0);
		color: var(--_colors---body, #1b1923);
	}
}

/* Mobile Accordion Logic (768px and below) */
@media screen and (max-width: 768px) {
	[data-industry-panel] {
		--ip-overlay: linear-gradient(180deg, #1b1923 34.62%, rgba(27, 25, 35, 0) 100%);
		--ip-bg-opacity: 0.75;
	}

	.industry-card.is-info-card .ip-card-description-reveal {
		display: grid !important;
		grid-template-rows: 0fr;
		opacity: 0;
		transform: none !important;
		transition:
				grid-template-rows 400ms var(--ip-ease),
				opacity 300ms ease;
		overflow: hidden;
	}

	.industry-card.is-info-card.is-mobile-open .ip-card-description-reveal {
		grid-template-rows: 1fr;
		opacity: 1;
		margin-top: 24px;
	}

	.industry-card.is-link-card .ip-card-description-reveal {
		display: none !important;
	}
	.industry-card .ip-card-content {
		transform: none !important;
	}

	.industry-card.is-mobile-open .ip-card-content {
		color: var(--_colors---body, #1b1923);
	}
	.industry-card.is-mobile-open::after {
		opacity: 1;
	}

	/* Icon Swap logic */
	.industry-card.is-mobile-open [data-icon-plus] {
		opacity: 0;
		pointer-events: none;
	}
	.industry-card.is-mobile-open [data-icon-dot] {
		opacity: 1;
	}

	.industry-card.is-mobile-open .ip-button {
		background-color: var(--_system-colors---accent, #ecf071);
		color: var(--_colors---body, #1b1923);
		opacity: 1 !important;
	}
}
/* End Industry Panel */