/* ==========================================================================
   KNOWLEDGE PAGE (page-specific styles)
   ========================================================================== */

/* Hero (same structure as Industries/Features)
   ========================================================================== */

.knowledge__hero {
	position: relative;
	text-align: center;
	overflow: hidden;
	padding-bottom: 30px;
}

.knowledge__hero-visual {
	position: relative;
	display: flex;
	justify-content: center;
}

.knowledge__hero-img {
	width: 100%;
	max-width: 500px;
	height: auto;
	object-fit: contain;
}

.knowledge__hero-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	position: relative;
	z-index: 1;
}

.knowledge__title {
	font-family: var(--font-heading);
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-tight);
	letter-spacing: -0.02em;
	color: var(--color-fg);
	max-width: 846px;
	margin-bottom: 0px;
	margin-top: -30px;
	text-wrap: balance;
}

.knowledge__subtitle {
	font-family: var(--font-body);
	font-size: var(--font-size-b1);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-normal);
	letter-spacing: -0.02em;
	color: var(--color-fg);
	max-width: 100%;
	text-align: center;
}

.knowledge .cta-video {
	margin-top: 30px;
}

/* FAQ Section
   ========================================================================== */

.knowledge__faq-section {
	max-width: 1224px;
	margin-left: auto;
	margin-right: auto;
	padding: var(--space-md) 0 var(--space-lg);
	overflow: hidden;
}

/* Flex layout with gap — mirrors .industries-page__tabs-layout pattern */
.knowledge__faq-layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

/* Tab Navigation wrapper — holds gradient overlay, inner pill-tab-nav scrolls */
.knowledge__tab-nav {
	position: relative;
	margin-left: -16px;
	margin-right: -16px;
}

.knowledge__tab-nav .pill-tab:first-child {
	margin-left: 16px;
}

.knowledge__tab-nav .pill-tab:last-child {
	margin-right: 16px;
}

/* Scroll indicators — gradient + chevron combined in each pseudo-element */
/* Right indicator (::after) */
.knowledge__tab-nav::after {
	content: "›";
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
	background: linear-gradient(to right, transparent 0%, var(--color-bg) 70%);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--color-muted);
	pointer-events: none;
	z-index: 3;
	transition: opacity var(--transition-fast);
}

/* Left indicator (::before) */
.knowledge__tab-nav::before {
	content: "‹";
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 100%;
	background: linear-gradient(to left, transparent 0%, var(--color-bg) 70%);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-left: 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--color-muted);
	pointer-events: none;
	z-index: 3;
	transition: opacity var(--transition-fast);
}

/* Hide indicators at scroll boundaries (toggled via JS) */
.knowledge__tab-nav.is-scrolled-end::after {
	opacity: 0;
}

.knowledge__tab-nav.is-scrolled-start::before {
	opacity: 0;
}

/* Tab buttons — pill-tab handles shared base (typography, active, transition) */
.knowledge__tab {
	height: 40px;
	padding: 12px 20px;
	font-size: var(--font-size-body);
	text-align: center;
}

/* Tab Panels */
.knowledge__panels {
	min-height: 0;
}

.knowledge__panel {
	display: none;
	flex-direction: column;
	gap: var(--space-xs);
}

.knowledge__panel--active {
	display: flex;
}

/* Tablet (>=768px)
   ========================================================================== */

@media (min-width: 768px) {
	/* Hero — gradient overlay + overlap */
	.knowledge__hero {
		padding-bottom: 40px;
	}

	.knowledge__hero-visual::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(
			180deg,
			transparent 55%,
			var(--color-bg) 85%
		);
		pointer-events: none;
	}

	.knowledge__hero-visual {
		max-height: 577px;
		overflow: hidden;
	}

	.knowledge__hero-img {
		max-width: none;
	}

	.knowledge__title {
		margin-top: -140px;
	}

	.knowledge__subtitle {
		max-width: 610px;
	}

	.knowledge .cta-video {
		margin-top: 40px;
	}

	/* FAQ tabs */
	.knowledge__tab {
		height: 74px;
		width: 205px;
		padding: var(--space-md) var(--space-lg);
		font-size: var(--font-size-h4);
	}
}

/* Desktop (>=1024px)
   ========================================================================== */

@media (min-width: 1024px) {
	/* Hero — desktop */
	.knowledge__hero {
		padding-bottom: 50px;
	}

	.knowledge__hero-visual {
		max-height: 646px;
	}

	.knowledge__hero-img {
		max-width: 720px;
	}

	/* FAQ section */
	.knowledge__faq-section {
		padding: var(--space-lg) 0 var(--space-xl);
	}

	.knowledge .cta-video {
		margin-top: 50px;
	}

	.knowledge__tab-nav {
		overflow-x: visible;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.knowledge__tab-nav::after,
	.knowledge__tab-nav::before {
		display: none;
	}

	.knowledge__tab-nav .pill-tab:first-child,
	.knowledge__tab-nav .pill-tab:last-child {
		margin-left: 0;
		margin-right: 0;
	}

	.knowledge__tab {
		flex: 1;
		width: auto;
		padding: var(--space-md) 40px;
	}
}
