@import url("case.css");

.zone-page {
	overflow: clip;
}

.zone-shell {
	width: min(calc(100% - (2 * var(--panel-gutter))), var(--container));
	margin-inline: auto;
}

.zone-panel {
	margin: var(--panel-gutter);
	background: hsl(var(--background));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-panel);
	color: hsl(var(--foreground));
}

.zone-section,
.zone-panel > .zone-shell {
	padding-block: var(--section-y);
}

.zone-hero > .zone-shell {
	padding-block: var(--section-y-lg);
}

.zone-hero h1 {
	max-width: var(--measure-headline);
	margin: var(--space-10) 0 var(--space-6);
	font-size: var(--text-h1);
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.zone-hero__lede {
	max-width: var(--measure-prose);
	margin: 0 0 var(--space-8);
	color: hsl(var(--muted-foreground));
	font-size: var(--text-lg);
}

.zone-hero__lede p {
	margin: 0 0 var(--space-4);
}

.zone-hero__lede p:last-child {
	margin-bottom: 0;
}

.zone-section > h2,
.zone-panel h2 {
	max-width: var(--measure-headline);
	margin: 0 0 var(--head-gap);
	font-size: var(--text-3xl);
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.zone-losses__list {
	display: grid;
	gap: var(--space-8);
}

.zone-losses article {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-3);
	padding-block: var(--space-6);
	border-top: 1px solid hsl(var(--border));
}

.zone-losses h3,
.zone-steps h3,
.zone-local h2,
.zone-hub h3 {
	margin: 0;
	font-size: var(--text-xl);
	line-height: 1.3;
}

.zone-losses p,
.zone-steps p,
.zone-hub p {
	max-width: var(--measure-prose);
	margin: 0;
	color: hsl(var(--muted-foreground));
}

.zone-areas {
	background: hsl(var(--section-alt));
}

.zone-chip-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.zone-chip-cloud li {
	padding: var(--space-2) var(--space-4);
	background: hsl(var(--background));
	border: 1px solid hsl(var(--border));
	border-radius: var(--radius-pill);
	font-size: var(--text-sm);
}

.zone-local__grid {
	display: grid;
	gap: var(--space-12);
}

.zone-local h2 {
	margin-bottom: var(--space-6);
}

.zone-local ul {
	display: grid;
	gap: var(--space-4);
	margin: 0;
	padding-inline-start: var(--space-5);
}

.zone-local li {
	max-width: var(--measure-prose);
	padding-inline-start: var(--space-2);
}

.zone-steps ol {
	display: grid;
	gap: var(--space-8);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: zone-step;
}

.zone-steps li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--space-3) var(--space-5);
	padding-top: var(--space-6);
	border-top: 1px solid hsl(var(--border));
	counter-increment: zone-step;
}

.zone-steps li::before {
	content: counter(zone-step, decimal-leading-zero);
	grid-row: 1 / span 2;
	color: hsl(var(--accent-conversion));
	font-size: var(--text-sm);
	font-variant-numeric: tabular-nums;
}

.zone-cases__grid,
.zone-hub__grid {
	display: grid;
	min-width: 0;
	gap: var(--space-5);
}

.zone-cases__grid > *,
.zone-hub__grid > * {
	min-width: 0;
}

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

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

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

.zone-faq__item summary {
	cursor: pointer;
	padding: var(--space-5) var(--space-6);
	font-size: var(--text-lg);
	font-weight: 600;
}

.zone-faq__item div {
	padding: 0 var(--space-6) var(--space-6);
}

.zone-faq__item p {
	margin: 0;
	color: hsl(var(--muted-foreground));
}

.zone-hub__card {
	display: flex;
	min-width: 0;
	min-height: 14rem;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	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-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}

.zone-hub__card span {
	margin-top: auto;
	color: hsl(var(--accent-conversion));
	font-weight: 600;
}

@media (min-width: 768px) {
	.zone-losses article {
		grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr);
		gap: var(--space-10);
	}

	.zone-local__grid,
	.zone-cases__grid,
	.zone-hub__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zone-steps ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

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

@media (hover: hover) and (pointer: fine) {
	.zone-hub__card:hover {
		border-color: hsl(var(--border-strong));
		box-shadow: var(--shadow-card-hover);
		transform: translateY(-2px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.zone-hub__card {
		transition-duration: 0ms;
	}
}
