.home-page {
	display: grid;
	gap: var(--panel-gutter);
	padding-block: var(--panel-gutter) var(--section-y);
}

.home-shell {
	width: min(100%, var(--container));
	margin-inline: auto;
}

.home-section {
	margin-inline: var(--panel-gutter);
	padding-block: var(--section-y);
}

.home-section[data-surface] {
	background: hsl(var(--background));
	color: hsl(var(--foreground));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-panel);
}

.home-cases {
	min-width: 0;
	min-inline-size: 0;
	overflow: clip;
}

.home-cases .home-shell {
	min-width: 0;
	min-inline-size: 0;
	overflow: clip;
}

.home-case-row__viewport {
	min-width: 0;
	min-inline-size: 0;
	max-inline-size: 100%;
	overflow: clip;
}

.home-section h1,
.home-section h2,
.home-section h3,
.home-section p,
.home-section figure,
.home-section blockquote {
	margin-block-start: 0;
}

.home-section h1,
.home-section h2,
.home-section h3 {
	color: hsl(var(--foreground));
	font-weight: 600;
	text-wrap: balance;
}

.home-section h2 {
	max-width: var(--measure-headline);
	margin-block-end: var(--space-4);
	font-size: var(--text-3xl);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.home-section h3 {
	margin-block-end: var(--space-3);
	font-size: var(--text-xl);
	line-height: 1.3;
}

.home-section p {
	text-wrap: pretty;
}

.home-heading {
	margin-block-end: var(--head-gap);
}

.home-heading > p {
	max-width: var(--measure-lede);
	margin-block-end: 0;
	color: hsl(var(--muted-foreground));
	font-size: var(--text-lg);
	line-height: 1.5;
}

.home-heading--row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--space-6);
}

.home-heading--row h2 {
	margin-block-end: 0;
}

.home-inline-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-size: var(--text-sm);
	font-weight: 600;
}

.home-panel {
	padding: var(--section-y);
	background-color: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-panel);
}

.home-hero {
	padding-inline: var(--section-y);
	padding-block: var(--section-y-lg);
}

.home-hero__grid {
	display: grid;
	align-items: center;
	gap: var(--space-12);
}

.home-hero__content {
	position: relative;
	z-index: var(--z-raised);
}

.home-hero h1 {
	max-width: var(--measure-headline);
	margin-block-end: var(--space-6);
	font-size: var(--text-display);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.home-hero__word {
	display: inline-grid;
	max-inline-size: 100%;
	vertical-align: baseline;
	color: hsl(var(--accent-conversion));
}

.home-hero__word > *,
.home-hero__word-stack > * {
	grid-area: 1 / 1;
}

.home-hero__word[data-enhanced="true"] > span:first-child {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.home-hero__word-stack {
	display: inline-grid;
	max-inline-size: 100%;
	white-space: normal;
}

.home-hero__word-stack > span {
	visibility: hidden;
	transform: translateY(0.35em);
	clip-path: inset(100% 0 0);
	transition: transform var(--dur-word-swap) var(--ease-out), clip-path var(--dur-word-swap) var(--ease-out);
}

.home-hero__word-stack > .is-active {
	visibility: visible;
	transform: translateY(0);
	clip-path: inset(0);
}

.home-hero__lede {
	max-width: var(--measure-lede);
	margin-block-end: var(--space-8);
	color: hsl(var(--muted-foreground));
	font-size: var(--text-lg);
	line-height: 1.5;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
}

.home-hero__covers {
	position: relative;
	min-height: clamp(18rem, 55vw, 30rem);
}

.home-hero__cover {
	position: absolute;
	width: min(68%, 21rem);
	overflow: hidden;
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-feature-hover);
}

.home-hero__cover img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.home-hero__cover--1 {
	inset: 5% auto auto 5%;
	transform: rotate(-4deg);
}

.home-hero__cover--2 {
	inset: 20% 3% auto auto;
	transform: rotate(4deg);
}

.home-hero__cover--3 {
	inset: auto auto 0 20%;
	transform: rotate(-1deg);
}

.home-proof__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block-end: var(--space-16);
}

.home-stat {
	padding: var(--space-6);
	border-block-end: 1px solid hsl(var(--border));
}

.home-stat__value,
.home-case-stat .home-stat__value {
	margin-block-end: var(--space-2);
	color: hsl(var(--accent-conversion));
	font-size: var(--text-stat);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	line-height: 1;
}

.home-stat__label,
.home-case-stat .home-stat__label {
	margin-block-end: var(--space-1);
	font-weight: 600;
}

.home-stat__period,
.home-case-stat .home-stat__period {
	margin-block-end: var(--space-2);
	color: hsl(var(--muted-foreground));
	font-size: var(--text-sm);
}

.home-stat__source,
.home-case-stat .home-stat__source {
	margin-block-end: 0;
	color: hsl(var(--muted-foreground));
	font-size: var(--text-sm);
	line-height: 1.45;
}

.home-logo-wall {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
}

.home-logo-wall__item,
.home-ai__tool {
	display: grid;
	place-items: center;
	min-height: 6rem;
	padding: var(--space-3);
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-tile);
}

.home-logo-wall img {
	width: auto;
	max-height: 3rem;
	filter: grayscale(1);
	opacity: 0.72;
}

.home-problem__panel {
	background-image: radial-gradient(circle, hsl(var(--dot)) 1px, transparent 1px);
	background-size: var(--space-4) var(--space-4);
}

.home-problem__panel > * {
	position: relative;
	max-width: var(--measure-prose);
	background: hsl(var(--card));
}

.home-more {
	margin-block-end: var(--space-8);
	border-block: 1px solid hsl(var(--border));
}

.home-more summary {
	min-height: 2.75rem;
	padding-block: var(--space-3);
	font-weight: 600;
	cursor: pointer;
}

.home-more p {
	padding-block-end: var(--space-4);
}

.home-inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	padding: var(--space-5);
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
}

.home-inline-cta p {
	margin-block-end: 0;
}

.home-situations {
	padding-inline: var(--section-y);
}

.home-situations__grid,
.home-card-grid,
.home-levers__grid {
	display: grid;
	gap: var(--space-4);
}

.home-situation-card,
.home-spotlight-card,
.home-lever-card {
	position: relative;
	display: block;
	padding: var(--space-6);
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
	color: hsl(var(--foreground));
	text-decoration: none;
	transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}

.home-situation-card p,
.home-spotlight-card p,
.home-lever-card p {
	margin-block-end: 0;
	color: hsl(var(--muted-foreground));
}

.home-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-block-start: var(--space-6);
}

.home-chips > span,
.home-tag,
.home-faq__filters button {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: var(--space-1) var(--space-3);
	background: hsl(var(--muted));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-pill);
	color: hsl(var(--foreground));
	font-size: var(--text-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.home-system,
.home-method {
	background: hsl(var(--section-alt));
}

.home-spotlight-card::after {
	position: absolute;
	inset: 0;
	content: '';
	background: radial-gradient(circle at var(--spot-x, 50%) var(--spot-y, 50%), hsl(var(--accent-glow)), transparent 15rem);
	border-radius: inherit;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--dur-fast) var(--ease-out);
}

.home-case-row {
	display: grid;
	width: 100%;
	inline-size: 100%;
	max-width: 100%;
	max-inline-size: 100%;
	min-width: 0;
	min-inline-size: 0;
	grid-auto-columns: 85%;
	grid-auto-flow: column;
	gap: var(--space-4);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding-block-end: var(--space-4);
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.home-case-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
	color: hsl(var(--foreground));
	text-decoration: none;
	scroll-snap-align: start;
	transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.home-case-card__image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.home-case-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--space-6);
}

.home-case-card__body > p:last-child {
	color: hsl(var(--muted-foreground));
}

.home-case-stat {
	margin-block: var(--space-4);
	padding-block: var(--space-4);
	border-block: 1px solid hsl(var(--border));
}

.home-case-stat .home-stat__value {
	font-size: var(--text-2xl);
}

.home-method__steps {
	display: grid;
	gap: var(--space-4);
	padding: 0;
	margin: 0 0 var(--head-gap);
	list-style: none;
	counter-reset: method;
}

.home-method__steps li {
	position: relative;
	padding: var(--space-6);
	background: hsl(var(--background));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
	counter-increment: method;
}

.home-method__steps li::before {
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	margin-block-end: var(--space-6);
	content: counter(method);
	background: hsl(var(--accent-conversion));
	border-radius: var(--radius-pill);
	color: hsl(var(--on-accent));
	font-size: var(--text-sm);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.home-method__steps p {
	margin-block-end: 0;
	color: hsl(var(--muted-foreground));
}

.home-sector-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 13.75rem;
	gap: var(--space-4);
}

.home-sector-tile {
	position: relative;
	display: flex;
	align-items: end;
	overflow: hidden;
	padding: var(--space-5);
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
	color: hsl(var(--foreground));
	text-decoration: none;
}

.home-sector-tile:first-child {
	grid-column: 1 / -1;
}

.home-sector-tile__image {
	position: absolute;
	inset: 0;
}

.home-sector-tile__image::after {
	position: absolute;
	inset: 0;
	content: '';
	background: linear-gradient(to top, hsl(var(--foreground) / 0.82), transparent 70%);
}

.home-sector-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-sector-tile h3 {
	position: relative;
	z-index: var(--z-raised);
	margin-block-end: 0;
}

.home-sector-tile:has(img) h3 {
	color: hsl(var(--background));
}

.home-levers {
	background-image: linear-gradient(hsl(var(--grid-line)) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--grid-line)) 1px, transparent 1px);
	background-size: var(--space-8) var(--space-8);
}

.home-lever-card {
	background: hsl(var(--background));
}

.home-lever-card .home-tag {
	margin-block-end: var(--space-6);
}

.home-ai__panel {
	position: relative;
	display: grid;
	gap: var(--space-10);
	overflow: hidden;
	padding: var(--section-y);
	background: hsl(var(--background));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-panel);
	color: hsl(var(--foreground));
}

.home-ai__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.home-ai__content,
.home-ai__tools {
	position: relative;
	z-index: var(--z-raised);
}

.home-ai__content p {
	max-width: var(--measure-prose);
	color: hsl(var(--muted-foreground));
	font-size: var(--text-lg);
	line-height: 1.5;
}

.home-ai__tools {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-3);
}

.home-ai__tool {
	background: hsl(var(--foreground));
}

.home-ai__tool img {
	width: auto;
	max-height: 2.5rem;
}

.home-testimonials__toggle,
.home-faq__filters button {
	min-height: 2.75rem;
	cursor: pointer;
}

.home-testimonials__toggle {
	padding: var(--space-2) var(--space-4);
	background: hsl(var(--background));
	border: 1px solid hsl(var(--border-strong));
	border-radius: var(--radius-pill);
	font-size: var(--text-sm);
	font-weight: 600;
}

.home-testimonials__columns {
	display: grid;
	gap: var(--space-4);
	overflow: hidden;
}

.home-testimonials__column {
	display: grid;
	gap: var(--space-4);
}

.home-js .home-testimonials__column {
	animation: home-quotes var(--dur-marquee-quotes) var(--ease-in-out) infinite alternate;
}

.home-js .home-testimonials__column:nth-child(2) {
	animation-duration: calc(var(--dur-marquee-quotes) + 12s);
	animation-direction: alternate-reverse;
}

.home-js .home-testimonials__column:nth-child(3) {
	animation-duration: calc(var(--dur-marquee-quotes) - 6s);
}

.home-testimonials.is-paused .home-testimonials__column,
.home-testimonials:focus-within .home-testimonials__column,
.home-testimonials:hover .home-testimonials__column {
	animation-play-state: paused;
}

.home-quote {
	padding: var(--space-6);
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
}

.home-quote blockquote p {
	font-size: var(--text-lg);
	line-height: 1.5;
}

.home-quote figcaption {
	display: grid;
	gap: var(--space-1);
	color: hsl(var(--muted-foreground));
	font-size: var(--text-sm);
}

.home-quote figcaption strong {
	color: hsl(var(--foreground));
}

.home-quote__source {
	margin-block-start: var(--space-2);
}

.home-faq__inner {
	max-width: var(--container-faq);
}

.home-faq__filters {
	display: flex;
	gap: var(--space-2);
	overflow-x: auto;
	margin-block-end: var(--space-8);
	padding-block-end: var(--space-2);
	scroll-snap-type: inline mandatory;
}

.home-faq__filters[hidden],
.home-testimonials__toggle[hidden] {
	display: none;
}

.home-faq__filters button {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

.home-faq__filters button[aria-pressed="true"] {
	background: hsl(var(--foreground));
	color: hsl(var(--background));
}

.home-faq__items {
	display: grid;
	gap: var(--space-3);
}

.home-faq__item {
	background: hsl(var(--card));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-card);
}

.home-faq__item summary {
	min-height: 3.5rem;
	padding: var(--space-5) var(--space-6);
	font-size: var(--text-lg);
	font-weight: 600;
	cursor: pointer;
}

.home-faq__item > div {
	padding: 0 var(--space-6) var(--space-6);
	color: hsl(var(--muted-foreground));
	line-height: 1.6;
}

.home-faq__item p {
	margin-block-end: 0;
}

@keyframes home-quotes {
	from { transform: translateY(0); }
	to { transform: translateY(-8%); }
}

@media (min-width: 768px) {
	.home-proof__stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-stat {
		border-inline-end: 1px solid hsl(var(--border));
		border-block-end: 0;
	}

	.home-stat:last-child {
		border-inline-end: 0;
	}

	.home-logo-wall {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-card-grid,
	.home-levers__grid,
	.home-method__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-case-row {
		grid-auto-columns: calc(50% - var(--space-2));
	}

	.home-testimonials__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-ai__panel {
		grid-template-columns: minmax(0, 3fr) minmax(16rem, 2fr);
		align-items: center;
	}
}

@media (min-width: 1024px) {
	.home-hero__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}

	.home-situations__grid,
	.home-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-case-row {
		grid-auto-columns: calc((100% - (2 * var(--space-4))) / 3);
	}

	.home-case-row--grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-flow: row;
		grid-auto-columns: auto;
		overflow: visible;
		padding-block-end: 0;
		scroll-snap-type: none;
	}

	.home-method__steps,
	.home-levers__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-sector-grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-auto-rows: 16.25rem;
	}

	.home-sector-tile:first-child { grid-column: span 6; }
	.home-sector-tile:nth-child(2),
	.home-sector-tile:nth-child(3) { grid-column: span 3; }
	.home-sector-tile:nth-child(4) { grid-column: span 4; }
	.home-sector-tile:nth-child(5) { grid-column: span 8; }

	.home-testimonials__columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (hover: hover) and (pointer: fine) {
	.home-situation-card:hover,
	.home-spotlight-card:hover,
	.home-lever-card:hover,
	.home-case-card:hover {
		transform: translateY(-2px);
		box-shadow: var(--shadow-card-hover);
	}

	.home-spotlight-card:hover::after {
		opacity: 1;
	}

	.home-sector-tile:hover img {
		transform: scale(1.02);
		transition: transform var(--dur-base) var(--ease-out);
	}
}

@media (max-width: 767px) {
	.home-section {
		padding-block: var(--space-16);
	}

	.home-hero,
	.home-situations {
		padding-inline: var(--space-5);
	}

	.home-panel,
	.home-ai__panel {
		padding: var(--space-6);
	}

	.home-heading--row,
	.home-inline-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.home-hero__cover--3 {
		display: none;
	}

	.home-quote--mobile-hidden {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-hero__word-stack {
		display: none;
	}

	.home-hero__word[data-enhanced="true"] > span:first-child {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.home-js .home-testimonials__column {
		animation: none;
	}

	.home-testimonials__toggle {
		display: none;
	}

	.home-spotlight-card::after,
	.home-ai__canvas {
		display: none;
	}
}
