/* ==========================================================
   INDUSTRY PAGES — styles
   ========================================================== */

/* Full-width, no-sidebar layout */
body.single-industry .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: -30px !important;
	margin-bottom: -70px !important;
}

body.single-industry #primary {
	width: 100% !important;
	max-width: none !important;
}

body.single-industry #secondary {
	display: none !important;
}

/* ===== Industry — Outcome (centered intro) ===== */

.kp-ind-outcome {
	background: #ffffff;
	padding: 80px 60px 60px;
	text-align: center;
}

.kp-ind-outcome__badge {
	display: inline-flex !important;
	align-items: center;
	padding: 8px 18px !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 0 24px !important;
	background: transparent !important;
}

.kp-ind-outcome__heading {
	font-size: 58px !important;
	font-weight: 400 !important;
	line-height: 58px; /* 100% */
	letter-spacing: -0.75px;
	color: #000 !important;
	margin: 0 auto 20px !important;
	max-width: 600px;
}

.kp-ind-outcome__desc {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: rgba(0, 0, 0, 0.55) !important;
	max-width: 620px;
	margin: 0 auto 20px !important;
}

.kp-ind-outcome__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #111111;
	text-decoration: underline;
}

.kp-ind-outcome__link svg {
	transition: transform 0.2s ease;
}

.kp-ind-outcome__link:hover svg {
	transform: translateX(3px);
}

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

@media (max-width: 960px) {
	.kp-ind-outcome {
		padding: 56px 24px 40px;
	}

	.kp-ind-outcome__heading {
		font-size: 36px !important;
			line-height: 38px; /* 100% */
	}
}

@media (max-width: 480px) {
	.kp-ind-outcome {
		padding: 40px 20px 32px;
	}

	.kp-ind-outcome__heading {
		font-size: 32px !important;
		line-height: 38px; /* 100% */
	}
}

/* ===== Industry — The Challenge (4-column list) ===== */

.kp-ind-challenge {
	background: #ffffff;
	padding: 40px 60px 80px;
}

.kp-ind-challenge__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.kp-ind-challenge__badge {
	display: inline-flex !important;
	align-items: center;
	padding: 8px 18px !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 0 40px !important;
	background: transparent !important;
}

.kp-ind-challenge__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
}

.kp-ind-challenge__item {
	min-width: 0;
}

.kp-ind-challenge__icon {
	color: rgba(0, 0, 0, 0.55);
	margin-bottom: 16px;
	display: block;
}

.kp-ind-challenge__text {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: rgba(0, 0, 0, 0.65) !important;
	margin: 0 !important;
}

@media (max-width: 960px) {
	.kp-ind-challenge {
		padding: 24px 24px 56px;
	}

	.kp-ind-challenge__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}

@media (max-width: 480px) {
	.kp-ind-challenge {
		padding: 20px 20px 40px;
	}

	.kp-ind-challenge__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ===== Industry — Horizontal Scroll Photo Banner ===== */

.kp-ind-gallery {
	background: #ffffff;
	padding: 0 0 80px;
	overflow: hidden;
}

.kp-ind-gallery__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 0 60px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.kp-ind-gallery__track::-webkit-scrollbar {
	display: none;
}

.kp-ind-gallery__item {
	flex: 0 0 auto;
	width: min(1200px, 85vw);
	aspect-ratio: 16 / 7;
	border-radius: 16px;
	overflow: hidden;
	scroll-snap-align: center;
	background: #eeeeee;
}

.kp-ind-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 960px) {
	.kp-ind-gallery {
		padding-bottom: 56px;
	}

	.kp-ind-gallery__track {
		padding: 0 24px;
		gap: 16px;
	}

	.kp-ind-gallery__item {
		width: 90vw;
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 480px) {
	.kp-ind-gallery {
		padding-bottom: 40px;
	}

	.kp-ind-gallery__track {
		padding: 0 20px;
	}
}

/* Gallery fixes: shorter image height, narrower items so both
   left and right neighbors peek at the edges once auto-sliding
   is active (handled by js/industry.js). */
.kp-ind-gallery__item {
	width: min(1000px, 75vw);
	aspect-ratio: 21 / 8;
}

@media (max-width: 960px) {
	.kp-ind-gallery__item {
		width: 82vw;
		aspect-ratio: 16 / 9;
	}
}

/* ===== Industry — "Built specifically for..." card carousel ===== */

.kp-ind-built {
	background: #ffffff;
	padding: 40px 60px 80px;
}

.kp-ind-built__header {
	max-width: 1200px;
	margin: 0 auto 32px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px;
	flex-wrap: wrap;
}

.kp-ind-built__heading {
	font-size: 36px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	color: #111111 !important;
	margin: 0 0 12px !important;
	max-width: 480px;
}

.kp-ind-built__desc {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: rgba(0, 0, 0, 0.55) !important;
	max-width: 480px;
	margin: 0 !important;
}

.kp-ind-built__nav {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.kp-ind-built__arrow {
	//width: 40px;
	height: 40px;
	//border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease;
}

.kp-ind-built__arrow:hover {
	background: rgba(0, 0, 0, 0.05);
}

.kp-ind-built__track {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.kp-ind-built__track::-webkit-scrollbar {
	display: none;
}

.kp-ind-built__card {
	flex: 0 0 auto;
	width: 260px;
	scroll-snap-align: start;
}

.kp-ind-built__card-swatch {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	margin-bottom: 16px;
}

.kp-ind-built__card-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	margin: 0 0 8px !important;
}

.kp-ind-built__card-desc {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 !important;
}

@media (max-width: 960px) {
	.kp-ind-built {
		padding: 24px 24px 56px;
	}

	.kp-ind-built__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.kp-ind-built__card {
		width: 220px;
	}
	
	.kp-ind-built__heading {
		margin-left: 30px !important;
}
	
	.kp-ind-built__desc {
		margin-left: 30px !important;
}
	.kp-ind-built__nav {
		margin-left: 30px !important;
}
}

@media (max-width: 480px) {
	.kp-ind-built {
		padding: 20px 20px 40px;
	}

	.kp-ind-built__card {
		width: 200px;
	}
}

/* Built-For cards now use uploaded images instead of flat colors */
.kp-ind-built__card-swatch {
	background-size: cover;
	background-position: center;
	background-color: #eeeeee;
}

/* Fix: arrow icons were invisible (Astra's default button styles were
   overriding color/background). Also widen cards slightly so the row's
   total width exceeds the container, giving the intentional
   partially-cut-off last card that signals "this scrolls". */
.kp-ind-built__arrow {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	color: #111111 !important;
	outline: none !important;
	box-shadow: none !important;
}

.kp-ind-built__arrow:hover {
	background: rgba(0, 0, 0, 0.05) !important;
}

.kp-ind-built__arrow svg {
	display: block;
	stroke: currentColor;
	fill: none;
}

.kp-ind-built__card {
	width: 300px;
}

@media (max-width: 960px) {
	.kp-ind-built__card {
		width: 240px;
	}
}

/* Card track should align its LEFT edge with the heading's left edge,
   but bleed past the 1320px container on the RIGHT so cards can
   overflow to the true browser edge, creating the intentional
   cut-off last card shown in the design. */
.kp-ind-built {
	padding-left: 0;
	padding-right: 0;
}

.kp-ind-built__track {
	max-width: 1200px !important;
	//margin-left: max(60px, calc((100vw - 1320px) / 2 + 60px));
	margin-right: 0;
	padding-right: 24px;
}

@media (max-width: 960px) {
	.kp-ind-built__track {
		margin-left: 24px;
	}
}

/* ===== Industry — Stats Section (per-industry) ===== */

.kp-ind-stats {
	background: #ffffff;
	padding: 60px 60px 80px;
}

.kp-ind-stats__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.kp-ind-stats__badge {
	display: inline-flex !important;
	align-items: center;
	padding: 8px 18px !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 0 24px !important;
	background: transparent !important;
}

.kp-ind-stats__top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	margin-bottom: 56px;
}

.kp-ind-stats__heading {
	font-size: 32px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: #111111 !important;
	margin: 0 !important;
}

.kp-ind-stats__right {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kp-ind-stats__desc {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 0 20px !important;
}

.kp-ind-stats__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #111111;
	text-decoration: none;
	width: fit-content;
}

.kp-ind-stats__cta svg {
	transition: transform 0.2s ease;
}

.kp-ind-stats__cta:hover svg {
	transform: translateX(3px);
}

.kp-ind-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.kp-ind-stats__card {
	background: #f7f8fa;
	border-radius: 14px;
	padding: 28px;
	min-width: 0;
}

.kp-ind-stats__number {
	font-size: 12px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.35);
	margin-bottom: 20px;
	display: block;
}

.kp-ind-stats__value {
	font-size: 34px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	margin: 0 0 12px !important;
	line-height: 1 !important;
}

.kp-ind-stats__stat-desc {
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: rgba(0, 0, 0, 0.55) !important;
	margin: 0 !important;
}

@media (max-width: 960px) {
	.kp-ind-stats {
		padding: 40px 24px 56px;
	}

	.kp-ind-stats__top {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.kp-ind-stats__heading {
		font-size: 26px !important;
	}

	.kp-ind-stats__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}

@media (max-width: 480px) {
	.kp-ind-stats {
		padding: 32px 20px 40px;
	}

	.kp-ind-stats__value {
		font-size: 28px !important;
	}
}
/* ===== Global — Client Logos Row ===== */

.kp-client-logos {
	background: #ffffff;
	padding: 24px 60px 60px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.kp-client-logos__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}

.kp-client-logos__row {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
}

.kp-client-logos__logo {
	font-size: 16px;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.3);
	white-space: nowrap;
}

.kp-client-logos__logo img {
	height: 24px;
	width: auto;
	display: block;
	filter: grayscale(100%);
	opacity: 0.5;
}

.kp-client-logos__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.5);
	text-decoration: none;
	white-space: nowrap;
}

.kp-client-logos__link:hover {
	color: #111111;
}

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

@media (max-width: 960px) {
	.kp-client-logos {
		padding: 20px 24px 48px;
	}

	.kp-client-logos__row {
		gap: 24px;
	}
}

@media (max-width: 480px) {
	.kp-client-logos {
		padding: 16px 20px 40px;
	}

	.kp-client-logos__row {
		gap: 20px;
	}

	.kp-client-logos__logo {
		font-size: 14px;
	}
}