@layer components {

	.sitemap-container {
		display: flex;
		flex-direction: column;
		gap: var(--section-space-xs);
	}

	/* Simple groups pack into balanced columns — no per-group boxes (whitespace
	   separates them), no orphaned empty cells. `columns` auto-balances the five
	   short lists across the available width. */
	.sitemap-columns {
		columns: 4 220px;
		column-gap: calc(var(--container-gap) * 2);
	}

	.sitemap-group {
		display: flex;
		flex-direction: column;
		gap: var(--content-gap);
		break-inside: avoid;
		margin-block-end: var(--section-space-xs);
	}

	.sitemap-group__title {
		margin: 0;
		font-family: var(--font-heading);
		font-size: var(--h5);
		font-weight: var(--weight-bold);
		line-height: var(--leading-tight);
		color: var(--text-main);
		padding-block-end: var(--space-xs);
		border-block-end: 2px solid var(--border-subtle);
	}

	.sitemap-list {
		display: flex;
		flex-direction: column;
		gap: var(--stack-gap);
		list-style: none;
	}

	.sitemap-link {
		color: var(--text-body);
		font-size: var(--text-s);
		line-height: var(--leading-snug);
		text-decoration: none;
		transition: color 0.15s ease;
	}

	.sitemap-link:hover,
	.sitemap-link:focus-visible {
		color: var(--primary);
	}

	/* Industries — its own full-width block below the simple groups. Parents
	   flow in a responsive grid; each parent is a clear 3-level hierarchy:
	   parent (large) → sub-industry (medium) → services (small, rule-indented). */
	.sitemap-industries-block {
		display: flex;
		flex-direction: column;
		gap: var(--container-gap);
	}

	.sitemap-industries {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--grid-gap);
	}

	.sitemap-industry {
		display: flex;
		flex-direction: column;
		gap: var(--content-gap);
	}

	.sitemap-industry__parent {
		color: var(--text-main);
		font-family: var(--font-heading);
		font-size: var(--h6);
		font-weight: var(--weight-bold);
		line-height: var(--leading-tight);
		text-decoration: none;
		padding-block-end: var(--space-2xs);
		border-block-end: 2px solid var(--primary);
	}

	.sitemap-industry__parent:hover,
	.sitemap-industry__parent:focus-visible {
		color: var(--primary);
	}

	.sitemap-subindustry {
		display: flex;
		flex-direction: column;
		gap: var(--stack-gap);
	}

	.sitemap-subindustry__title {
		color: var(--text-main);
		font-size: var(--text-base);
		font-weight: var(--weight-semibold);
		line-height: var(--leading-snug);
		text-decoration: none;
	}

	.sitemap-subindustry__title:hover,
	.sitemap-subindustry__title:focus-visible {
		color: var(--primary);
	}

	.sitemap-list--services {
		gap: calc(var(--stack-gap) * 0.5);
		padding-inline-start: var(--space-m);
		border-inline-start: 2px solid var(--border-subtle);
	}

	.sitemap-list--services .sitemap-link {
		color: var(--text-muted);
		font-size: var(--text-xs);
	}

	@media (min-width: 48em) {
		.sitemap-industries {
			grid-template-columns: repeat(2, 1fr);
			gap: calc(var(--grid-gap) * 1.5);
		}
	}

	@media (min-width: 64em) {
		.sitemap-industries {
			grid-template-columns: repeat(3, 1fr);
			align-items: start;
		}
	}

}
