/* Solution detail — Figma: FactoVia Arrow (82:1601), FactoVia Lab (83:2368) */

/* Shared section layout */
.sol-section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(36px, 3.75vw, 54px);
}

.sol-section__header {
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: center;
}

.sol-section__title {
	text-align: center;
	color: var(--color-dark);
}

.sol-section__lead {
	color: var(--color-neutral-1);
}

/* Section backgrounds + spacing (classes set in fv_solution_detail()) */
.sol-sec {
	padding-block: var(--section-y);
}

.sol-sec--light { background: var(--color-light); }
.sol-sec--soft { background: var(--color-neutral-5); }

.sol-sec--dark {
	background: var(--color-dark) var(--sol-sec-bg, none) center / cover no-repeat;
	color: var(--color-light);
}

.sol-sec--dark .sol-section__title { color: var(--color-light); }
.sol-sec--dark .sol-section__lead { color: var(--color-neutral-3); }

/* Two sections with the same background: Figma uses 100px between them */
.sol-sec--join-prev { padding-top: var(--section-y-sm); }
.sol-sec--join-next { padding-bottom: var(--section-y-sm); }

/* The CTA panel brings its own top spacing */
.sol-sec.sol-sec--before-cta { padding-bottom: 50px; }

/* Cards on a soft background are light (Figma: Lab Capabilities 85:3086) */
.sol-sec--soft .icon-card,
.sol-sec--dark .outcome-card {
	background: var(--color-light);
}

/* CTA — Figma: CTA (82:2132 / 85:3040). Two-line titles keep the 481px panel */
.cta--sol .cta__panel {
	padding-block: clamp(64px, 7vw, 100px);
}

/* Hero — Figma: Hero (82:1446) */
.sol-hero {
	background: var(--color-dark) var(--sol-hero-bg) center / cover no-repeat;
	color: var(--color-light);
}

.sol-hero__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 64px;
	min-height: clamp(560px, 50.8vw, 732px);
	padding-top: 30px;
	padding-bottom: clamp(72px, 9.3vw, 134px);
}

.sol-hero__body {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.sol-hero__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 31px;
	max-width: 521px;
}

.sol-hero__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.sol-hero__lead {
	max-width: 473px;
	color: var(--color-neutral-3);
}

.sol-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.sol-hero__btn {
	min-width: 226px;
}

/* Glass steps panel — Figma: Steps (82:1568) */
.sol-hero__steps {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	width: 100%;
	max-width: 590px; /* desktop column; below 1280 the panel spans the container (see media query) */
	padding: clamp(14px, 2.5vw, 36px) clamp(14px, 2.5vw, 36px) clamp(13px, 2.43vw, 35px);
	border: 1px solid rgb(212 232 240 / 0.1);
	border-radius: var(--radius-card);
	background: rgb(255 255 255 / 0.09);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}

.sol-step {
	display: flex;
	align-items: center;
	gap: clamp(16px, 1.53vw, 22px);
	min-height: clamp(84px, 6.94vw, 100px);
	padding: clamp(14px, 1.53vw, 22px);
	border: 1px solid rgb(212 232 240 / 0.1);
	border-radius: var(--radius-btn);
	background: rgb(0 0 0 / 0.07);
	backdrop-filter: blur(17.5px);
	-webkit-backdrop-filter: blur(17.5px);
}

.sol-step__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	font-size: var(--fs-body-small);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-light);
}

.sol-step__num--dark {
	border: 1px solid var(--color-white-07);
	background: var(--color-dark);
}

.sol-step__num--amber { background: var(--color-primary); }
.sol-step__num--green { background: var(--color-secondary); }

.sol-step__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sol-step__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-light);
}

.sol-step__desc {
	color: var(--color-neutral-3);
}

@media (min-width: 1100px) {
	.sol-hero__body {
		flex-direction: row;
		align-items: stretch;
		justify-content: space-between;
		gap: 40px;
	}

	.sol-hero__text {
		justify-content: center;
	}
}


/* Stacked hero (below 1280): the steps panel spans the full content width */
@media (max-width: 1279px) {
	.sol-hero__steps {
		max-width: none;
	}
}

/* Tablet (768–1099): hero is stacked, so centre the text above the panel/diagram, like the Home hero */
@media (min-width: 768px) and (max-width: 1099px) {
	.sol-hero__body {
		align-items: center;
	}

	.sol-hero__text,
	.sol-hero__heading,
	.sol-hero__buttons {
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.sol-hero__text,
	.sol-hero--diagram .sol-hero__text {
		max-width: 600px;
	}
}

/* Method — Figma: Arrow method (82:1812) */
.method__content {
	display: grid;
	gap: clamp(24px, 2.43vw, 35px);
	width: 100%;
}

.method__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Drop-down list component (82:1703 / 82:1705) */
.method-step {
	overflow: hidden;
	border: 1px solid var(--color-neutral-3);
	border-radius: var(--radius-card);
	background: var(--color-neutral-5);
	transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);
}

.method-step.is-open {
	border-color: var(--color-neutral-4);
	background: var(--color-light);
}

.method-step__heading {
	font: inherit;
}

.method-step__toggle {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 23px 24px 21px;
	text-align: left;
}

.method-step__num {
	flex: none;
	width: 32px;
	color: var(--color-neutral-2);
	transition: color var(--duration) var(--ease);
}

.method-step.is-open .method-step__num {
	color: var(--color-secondary);
}

.method-step__title {
	flex: 1;
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
}

/* 12×12 plus / minus */
.method-step__icon {
	position: relative;
	flex: none;
	width: 12px;
	height: 12px;
}

.method-step__icon::before,
.method-step__icon::after {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 2px;
	background: var(--color-dark);
	transition: transform var(--duration) var(--ease);
}

.method-step__icon::after {
	transform: rotate(90deg);
}

.method-step.is-open .method-step__icon::after {
	transform: rotate(0deg);
}

.method-step__text {
	padding: 3px 24px 21px;
	color: var(--color-neutral-1);
}

.method-step__result {
	padding: 20px 24px;
	background: var(--color-secondary);
	color: var(--color-light);
}

.method-step__result strong {
	font-weight: var(--fw-semibold);
}

.method__media {
	position: relative;
	min-height: 320px;
	border-radius: var(--radius-card);
	overflow: hidden;
}

.method__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Figma: 20% dark overlay on the photo */
.method__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(2 77 107 / 0.2);
}

@media (min-width: 1024px) {
	.method__content {
		grid-template-columns: 615fr 590fr;
	}

	.method__content--full {
		grid-template-columns: 1fr;
	}
}

/* Image cards — Figma: Project Outcomes (Arrow 82:1932), Lab Environments (83:2822) */

.outcomes__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: clamp(20px, 2.43vw, 35px);
	width: 100%;
}

/* Same column rules as the icon cards: 2 columns on tablet, 3 from 1024 */
@media (min-width: 768px) and (max-width: 1023px) {
	.outcomes__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.outcomes__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.outcome-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--radius-card);
	background: var(--color-card);
}

.outcome-card__media {
	position: relative;
	display: block;
	height: 219px;
}

.outcome-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.outcomes__list--tint .outcome-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(2 77 107 / 0.2);
}

.outcome-card__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 30px 28px;
}

.outcome-card__title {
	color: var(--color-dark);
}

.outcome-card__text {
	color: var(--color-neutral-1);
}

/* Banner — Figma: FactoVia Lab banner (Arrow 82:2042). Background: .sol-sec--dark */
.sol-banner {
	display: flex;
	align-items: center;
	min-height: clamp(480px, 41.7vw, 600px);
	padding-block: var(--section-y-sm);
}

.sol-banner__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 38px;
	max-width: 437px;
}

.sol-banner__title {
	color: var(--color-light);
}

.sol-banner__lead {
	color: var(--color-neutral-3);
}


/* Icon cards with a 2-up image row — Figma: Lab Capabilities (85:3052) */
.sol-cards__images {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(20px, 2.43vw, 35px);
	width: 100%;
}

.sol-cards__image {
	width: 100%;
	height: clamp(220px, 22vw, 317px);
	border-radius: var(--radius-card);
	object-fit: cover;
}

/* Process panel under image cards — Figma: Lab Environments card (84:2847) */
.process {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	padding: clamp(28px, 4.17vw, 60px);
	border-radius: var(--radius-panel);
	background: var(--color-light);
	color: var(--color-dark);
}

.process__text {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 313px;
}

.process__lead {
	max-width: 250px;
	color: var(--color-neutral-1);
}

/* Training panel (97:801): lead spans the full 313 column */
.process--image .process__lead {
	max-width: none;
}

.process__steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 17px;
}

.process-step {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 20px;
	border-radius: 12px;
	background: var(--color-neutral-5);
}

.process-step__num {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 6px;
	background: var(--color-dark);
	font-size: 0.75rem;
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-label);
	color: var(--color-neutral-5);
}

.process-step__text {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.process-step__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
}

.process-step__desc {
	color: var(--color-neutral-1);
}

/* iPad Pro (1024–1099): one row, narrower text column, three narrower cards (same height) */
@media (min-width: 1024px) and (max-width: 1099px) {
	.process {
		flex-direction: row;
		align-items: center;
		gap: 28px;
		padding: 36px;
	}

	.process__text {
		flex: 0 0 240px;
	}

	.process__steps {
		display: flex;
		flex: 1;
		min-width: 0;
		gap: 12px;
	}

	.process-step {
		flex: 1 1 0;
		min-width: 0;
		padding-inline: 14px;
	}
}

@media (min-width: 1100px) {
	.process {
		flex-direction: row;
		align-items: center;
		gap: 53px;
		min-height: 312px; /* Figma card 84:2847 / 97:801 is a fixed 312 */
	}

	.process__text {
		flex: none;
		width: 313px;
	}

	.process__steps {
		display: flex;
		flex: 1;
	}

	.process-step {
		flex: 1;
		max-width: 240px;
	}
}

/* Tabs — Figma: Lab Activities (83:2821), Tabs section (83:2497), Button Tab (83:2388) */
.sol-tabs:not(.sol-sec--join-next):not(.sol-sec--before-cta) {
	padding-bottom: clamp(100px, 13.9vw, 200px);
}

.tabs {
	width: 100%;
}

.tabs__list {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	padding: 12px;
	border-radius: var(--radius-card) var(--radius-card) 0 0;
	background: var(--color-neutral-4);
	scrollbar-width: none;
}

.tabs__tab {
	flex: 1 0 0; /* equal tabs, Figma 4 × 295 */
	min-width: max-content; /* mobile: list scrolls, tabs keep their text on one line */
	padding: 14px 30px;
	border-radius: var(--radius-btn);
	font-size: var(--fs-body-secondary);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
	transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease);
}

.tabs__tab:hover {
	background: var(--color-neutral-3);
}

.tabs__tab[aria-selected="true"] {
	background: var(--color-dark);
	color: var(--color-light);
}

/* Mobile: tabs wrap into two rows (2 × 2) instead of scrolling out of view */
@media (max-width: 767px) {
	.tabs__list {
		flex-wrap: wrap;
		overflow: visible;
		gap: 8px;
	}

	.tabs__tab {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
		padding: 12px 16px;
		text-align: center;
	}
}

.tabs__panel {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: clamp(24px, 4.17vw, 60px);
	border-radius: 0 0 var(--radius-card) var(--radius-card);
	background: var(--color-card);
}

.tabs__panel[hidden] {
	display: none;
}

.tabs__text {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 250px;
}

.tabs__title {
	color: var(--color-dark);
}

.tabs__desc {
	color: var(--color-neutral-1);
}

/* 3-step flow */
.flow {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px 15px 15px;
	border-radius: var(--radius-card);
	background: var(--color-light);
}

.flow__label {
	text-transform: uppercase;
	color: var(--color-secondary);
}

.flow__steps {
	display: flex;
	flex-direction: column;
	gap: 38px;
}

.flow-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 20px;
	border-radius: 12px;
	background: var(--color-card);
}

/* Chevron between steps (down on mobile, right on desktop) */
.flow-step + .flow-step::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -26px;
	width: 14px;
	height: 14px;
	margin-left: -7px;
	background: url("../../icons/chevron-green.svg") center / contain no-repeat;
}

.flow-step__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
}

.flow-step__tag {
	padding: 6px 10px;
	border: 1px solid var(--color-neutral-3);
	border-radius: var(--radius-pill);
	color: var(--color-neutral-1);
}

/* Tablet and up: the 3 flow steps sit in a row (text stays above until 1100) */
@media (min-width: 768px) {
	.flow__steps {
		flex-direction: row;
	}

	.flow-step {
		flex: 1 1 0;
		min-width: 0;
	}

	.flow-step + .flow-step::before {
		left: -26px;
		top: 50%;
		margin: -7px 0 0;
		transform: rotate(-90deg);
	}
}

@media (min-width: 1100px) {
	.tabs__panel {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		padding-right: 61px;
	}

	.tabs__text {
		flex: none;
		width: 250px;
	}

	.flow__steps {
		flex-direction: row;
	}

	.flow-step {
		flex: none;
		width: 240px;
	}

	.flow-step + .flow-step::before {
		left: -26px;
		top: 50%;
		margin: -7px 0 0;
		transform: rotate(-90deg);
	}
}

/* Stacked split (below 1100): the reasons card spans the full content width */
@media (max-width: 1099px) {
	.sol-split__inner .reasons,
	.sol-split__inner .path-card {
		max-width: none;
	}
}

/* Split text + reasons card — Figma: Lab Use Cases (85:2975) */
.sol-split__inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.sol-split__text {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.47vw, 50px);
	max-width: 527px;
}

.sol-split__title {
	max-width: 472px;
	color: var(--color-dark);
}

.sol-split__highlight {
	color: var(--color-secondary);
}

.sol-split__desc {
	display: flex;
	flex-direction: column;
	gap: 19px;
	max-width: 502px;
}

.sol-split__lead {
	max-width: 478px;
	color: var(--color-dark);
}

/* UNS context (99:1250) and path (101:1755) use a 502 lead; Lab split keeps 478 */
.sol-context .sol-split__lead,
.sol-path .sol-split__lead {
	max-width: 502px;
}

.sol-split__body {
	color: var(--color-neutral-1);
}

.reasons {
	display: flex;
	flex-direction: column;
	gap: 32px;
	width: 100%;
	max-width: 590px;
	padding: 32px clamp(20px, 2.5vw, 36px) 36px;
	border-radius: var(--radius-card);
	background: var(--color-neutral-5) var(--reasons-bg, none) center / cover no-repeat;
}

.reasons__title {
	color: var(--color-dark);
}

.reasons__list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.reason {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px 24px;
	border-radius: var(--radius-btn);
	background: rgb(237 244 246 / 0.8);
	backdrop-filter: blur(7.5px);
	-webkit-backdrop-filter: blur(7.5px);
}

.reason__top {
	display: flex;
	align-items: center;
	gap: 10px;
}

.reason__icon {
	flex: none;
}

.reason__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
}

.reason__text {
	color: var(--color-neutral-1);
}

@media (min-width: 1100px) {
	.sol-split__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 60px;
	}
}

/* Image card labels — Figma: Training "Who it's for" (97:797) */
.outcome-card__heading {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.outcome-card__label {
	text-transform: uppercase;
}

.outcome-card__label--amber { color: var(--color-primary); }
.outcome-card__label--green { color: var(--color-secondary); }
.outcome-card__label--dark { color: var(--color-dark); }

/* Process panel on an image (Training "A practical learning journey") */
.process--image {
	background: var(--color-neutral-4) var(--process-bg) center / cover no-repeat;
}

.process--image .process-step {
	background: var(--color-light);
}

/* Four smaller icon cards — Figma: Training Topics (97:917) */
.icon-cards--4 {
	gap: 20px;
}

.icon-cards--4 .icon-card__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
}

@media (min-width: 1100px) {
	.icon-cards--4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Hero with UNS diagram — Figma: Unified Namespace Hero (98:1022) */
.sol-hero--diagram .sol-hero__text,
.sol-hero--diagram .sol-hero__lead {
	max-width: 539px;
}

.sol-hero--diagram .sol-hero__title {
	max-width: 520px;
}

.sol-hero--diagram .uns-diagram-wrap {
	align-self: center;
}

@media (min-width: 1100px) {
	.sol-hero--diagram .sol-hero__body {
		align-items: center;
	}
}

/* Context — Figma: Data Context Example (99:1250) */
.sol-context__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(48px, 5.56vw, 80px);
}

.sol-context__image {
	width: 100%;
	max-width: 590px;
	height: auto;
	aspect-ratio: 590 / 325;
	object-fit: cover;
	border-radius: var(--radius-card);
}

.sol-context__steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 32px 24px;
}

.sol-context__step {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--color-neutral-3);
	line-height: 1.4;
}

.sol-context__step-top {
	display: flex;
	align-items: center;
	gap: 8px;
}

.sol-context__num {
	flex: none;
	width: 32px;
	font-size: var(--fs-body-small);
	letter-spacing: var(--ls-body);
	color: var(--color-secondary);
}

.sol-context__step-title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
}

.sol-context__step-text {
	color: var(--color-neutral-1);
}

/* 768–1099: 3 + 2 (odd cell stays empty) instead of auto-fit 4 + 1 */
@media (min-width: 768px) and (max-width: 1099px) {
	.sol-context__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.sol-context__steps {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* Questions — Figma: UNS FAQ Section (99:1353); item styles in faq.css */
.sol-sec--light .faq-item { background: var(--color-light); }

/* Path — Figma: Automotive bounded question (101:1755) */
.sol-sec.sol-path.sol-sec--join-next { padding-bottom: var(--section-y); }
/* Before a mid-page CTA (Process 102:2060, Legacy 102:2318): 100 below */
.sol-sec.sol-path.sol-sec--before-cta { padding-bottom: var(--section-y-sm); }

.sol-path .sol-split__text {
	align-items: flex-start;
}

.sol-path__desc {
	display: flex;
	flex-direction: column;
	gap: 19px;
}

.path-card {
	display: flex;
	flex-direction: column;
	gap: 28px;
	width: 100%;
	max-width: 590px;
	padding: clamp(20px, 1.94vw, 28px);
	border-radius: var(--radius-panel);
	background: var(--color-neutral-4) var(--path-bg) center / cover no-repeat;
}

.path-card__title {
	color: var(--color-dark);
}

.path-card__steps {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

.path-step {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 20px;
	border-radius: 12px;
	background: var(--color-light);
}

.path-step__head {
	display: flex;
	align-items: center;
	gap: 16px;
}

.path-step__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 6px;
	background: var(--color-dark);
	font-size: 12px;
	font-weight: var(--fw-medium);
	line-height: 1.4;
	color: var(--color-neutral-5);
}

.path-step__title {
	font-size: var(--fs-body-main);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: var(--ls-body);
	color: var(--color-dark);
}

.path-step__text {
	color: var(--color-neutral-1);
}

.path-step__text a {
	color: var(--color-secondary);
	text-decoration: underline;
}

/* Case study — Figma: Automotive Case Study (102:1866); panel styles in case-study.css */
.sol-case.sol-sec--join-prev { padding-top: 0; }

/* Links — Figma: Other manufacturing environments (102:1909) */
.sol-links.sol-sec--join-prev { padding-top: 0; }

.sol-links__inner {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.sol-links__title {
	max-width: 519px;
	color: var(--color-dark);
}

.sol-links__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.sol-links__btn {
	min-width: 253px;
}

@media (min-width: 1100px) {
	.sol-links__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* CTA mid-page — Figma: Process manufacturing (102:2113 → Other 102:2107) */
.cta--mid { padding-bottom: var(--section-y-sm); }
.sol-sec.sol-sec--after-cta { padding-top: 0; }
