.icon-list .section__inner {
	container-type: inline-size;
}

.icon-list__layout {
	--icon-list-divider: color-mix(in srgb, var(--text-body) 20%, transparent);
	--icon-list-item-muted: color-mix(in srgb, var(--text-body) 60%, transparent);
	--icon-list-gap: 3.75rem;
	--icon-list-media-radius: 0;
	--icon-list-icon-big: 5.625rem;
	--icon-list-icon-small: 1.875rem;
	--icon-list-item-width: 10.9375rem;

	display: grid;
	gap: var(--icon-list-gap);
}

.icon-list__intro {
	display: grid;
	gap: 1.25rem;
}

.icon-list__heading {
	color: var(--text-heading);
	line-height: 1.1;
	margin: 0;
}

.icon-list__body {
	color: var(--text-body);
	font-weight: 300;
	line-height: 1.5;
	margin: 0;
}

.icon-list__body > * {
	margin-block: 0 1em;
}

.icon-list__body > *:last-child {
	margin-block-end: 0;
}

.icon-list__editor-placeholder {
	color: var(--text-muted);
	font-style: italic;
	margin: 0;
}

.icon-list__items {
	display: grid;
	gap: 2.5rem;
	min-inline-size: 0;
}

.icon-list__item {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	min-inline-size: 0;
}

.icon-list__icon {
	block-size: var(--icon-list-icon-small);
	inline-size: var(--icon-list-icon-small);
	flex: 0 0 auto;
	line-height: 0;
}

.icon-list__icon-img {
	block-size: 100%;
	inline-size: 100%;
	object-fit: contain;
}

.icon-list__icon--placeholder {
	align-items: center;
	background: color-mix(in srgb, var(--section-background), var(--text-body) 12%);
	border: 1px dashed var(--border-color);
	color: var(--text-muted);
	display: flex;
	font-size: 0.625rem;
	justify-content: center;
	text-transform: uppercase;
}

.icon-list__item-copy {
	display: grid;
	gap: 0.3125rem;
}

.icon-list__item-heading {
	color: var(--text-body);
	font-family: var(--font-family-body);
	font-size: var(--type-size-body-medium);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0;
	text-transform: uppercase;
}

.icon-list__item-heading[data-type-size="xs"] {
	font-size: var(--type-size-body-xs);
}

.icon-list__item-heading[data-type-size="small"] {
	font-size: var(--type-size-body-small);
}

.icon-list__item-heading[data-type-size="medium"] {
	font-size: var(--type-size-body-medium);
}

.icon-list__item-heading[data-type-size="large"] {
	font-size: var(--type-size-body-large);
}

.icon-list__item-body {
	color: var(--icon-list-item-muted);
	font-size: var(--type-size-body-small);
	font-weight: 300;
	line-height: 1.5;
}

.icon-list__item-body[data-type-size="xs"] {
	font-size: var(--type-size-body-xs);
}

.icon-list__item-body[data-type-size="small"] {
	font-size: var(--type-size-body-small);
}

.icon-list__item-body[data-type-size="medium"] {
	font-size: var(--type-size-body-medium);
}

.icon-list__item-body[data-type-size="large"] {
	font-size: var(--type-size-body-large);
}

/* -------------------------------------------------------------------------
   Big icons — dual headings + left-aligned icon row
   ------------------------------------------------------------------------- */

.icon-list__layout[data-layout="big"] {
	--icon-list-gap: 3.125rem; /* 50px */
	--icon-list-col-gap: 3.125rem; /* 50px */
	--icon-list-icon-big: 7.5rem; /* 120px */
	--icon-list-heading-stack-gap: 7.3125rem; /* 117px */
	justify-items: stretch;
	text-align: start;
	width: 100%;
}

.icon-list__layout[data-layout="big"] .icon-list__intro {
	gap: 1.25rem;
	justify-items: center;
	max-inline-size: none;
	text-align: center;
	width: 100%;
}

.icon-list__layout[data-layout="big"] .icon-list__heading {
	letter-spacing: 0;
	line-height: 1.2;
	max-inline-size: 56.25rem; /* 900px */
}

.icon-list__layout[data-layout="big"] .icon-list__heading + .icon-list__heading-secondary,
.icon-list__layout[data-layout="big"] .icon-list__heading + .icon-list__body,
.icon-list__layout[data-layout="big"] .icon-list__heading + .icon-list__actions {
	margin-block-start: calc(var(--icon-list-heading-stack-gap) - 1.25rem);
}

.icon-list__heading-secondary {
	color: var(--text-heading);
	letter-spacing: 0;
	line-height: 1.4;
	margin: 0;
	max-inline-size: 100%;
}

.icon-list__actions {
	justify-content: center;
	margin: 0;
}

.icon-list__layout[data-layout="big"] .icon-list__body {
	font-weight: 400;
	line-height: 1.4;
	max-inline-size: 40rem;
}

.icon-list__layout[data-layout="big"] .icon-list__items {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem var(--icon-list-col-gap);
	inline-size: 100%;
	justify-content: stretch;
	width: 100%;
}

.icon-list__layout[data-layout="big"] .icon-list__item {
	align-items: flex-start;
	flex: 1 1 0;
	gap: 1.375rem; /* 22px */
	max-inline-size: none;
	min-inline-size: 0;
	position: relative;
	text-align: start;
}

.icon-list__layout[data-layout="big"][data-divider="true"] .icon-list__item + .icon-list__item::before {
	background: var(--icon-list-divider);
	content: "";
	inline-size: 1px;
	inset-block: 0;
	inset-inline-start: calc(var(--icon-list-col-gap) / -2);
	position: absolute;
}

.icon-list__layout[data-layout="big"] .icon-list__icon {
	block-size: var(--icon-list-icon-big);
	inline-size: var(--icon-list-icon-big);
	margin-inline: 0;
}

.icon-list__layout[data-layout="big"] .icon-list__item-copy {
	inline-size: 100%;
	justify-items: start;
}

.icon-list__layout[data-layout="big"] .icon-list__item-heading {
	color: var(--text-heading);
	font-family: var(--font-family-heading);
	font-size: var(--type-size-heading-xs);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

.icon-list__layout[data-layout="big"] .icon-list__item-heading[data-type-size="small"] {
	font-size: var(--type-size-body-small);
}

.icon-list__layout[data-layout="big"] .icon-list__item-heading[data-type-size="medium"] {
	font-size: var(--type-size-body-medium);
}

.icon-list__layout[data-layout="big"] .icon-list__item-heading[data-type-size="large"] {
	font-size: var(--type-size-body-large);
}

.icon-list__layout[data-layout="big"] .icon-list__item-body {
	color: var(--text-body);
	font-size: var(--type-size-body-small);
	font-weight: 400;
	line-height: 1.4;
}

.icon-list__layout[data-layout="big"] .icon-list__item-body[data-type-size="xs"] {
	font-size: var(--type-size-body-xs);
}

.icon-list__layout[data-layout="big"] .icon-list__item-body[data-type-size="medium"] {
	font-size: var(--type-size-body-medium);
}

.icon-list__layout[data-layout="big"] .icon-list__item-body[data-type-size="large"] {
	font-size: var(--type-size-body-large);
}

@container (max-width: 77.5rem) {
	.icon-list__layout[data-layout="big"] .icon-list__item {
		flex: 1 1 calc(50% - var(--icon-list-col-gap));
	}

	/* Avoid orphan vertical rules when the row wraps. */
	.icon-list__layout[data-layout="big"][data-divider="true"] .icon-list__item + .icon-list__item::before {
		display: none;
	}
}

@container (max-width: 47.998rem) {
	.icon-list__layout[data-layout="big"] {
		--icon-list-col-gap: 2rem;
		--icon-list-heading-stack-gap: 4rem;
	}
}

@container (max-width: 29.998rem) {
	.icon-list__layout[data-layout="big"] .icon-list__item {
		flex: 1 1 100%;
	}
}

/* -------------------------------------------------------------------------
   Featured — optional media + left-aligned icon grid
   ------------------------------------------------------------------------- */

.icon-list__layout[data-layout="featured"] {
	--icon-list-gap: 3.75rem;
	align-items: center;
}

.icon-list__layout[data-layout="featured"] .icon-list__intro {
	gap: 2.5rem;
}

.icon-list__layout[data-layout="featured"] .icon-list__heading {
	max-inline-size: 18ch;
}

.icon-list__layout[data-layout="featured"] .icon-list__body {
	max-inline-size: 46rem;
}

.icon-list__content {
	display: grid;
	gap: var(--icon-list-gap);
	min-inline-size: 0;
}

.icon-list__rule {
	background: var(--icon-list-divider);
	block-size: 1px;
	inline-size: 100%;
}

.icon-list__media {
	align-self: stretch;
	border-radius: var(--icon-list-media-radius);
	isolation: isolate;
	min-block-size: min(28rem, 70vh);
	overflow: clip;
	position: relative;
}

.icon-list__media .media,
.icon-list__media-placeholder {
	aspect-ratio: auto;
	block-size: 100%;
	border-radius: inherit;
	inline-size: 100%;
	margin: 0;
	min-block-size: inherit;
}

.icon-list__media .media img {
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover;
}

.icon-list__media-placeholder {
	align-items: center;
	background: color-mix(in srgb, var(--section-background), var(--text-body) 12%);
	border: 2px dashed var(--border-color);
	color: var(--text-muted);
	display: flex;
	justify-content: center;
	padding: 2rem;
	text-align: center;
}

.icon-list__layout[data-layout="featured"][data-media="false"] .icon-list__content {
	max-inline-size: 51.875rem;
}

.icon-list__layout[data-layout="featured"][data-columns="2"] .icon-list__items {
	grid-template-columns: 1fr;
}

.icon-list__layout[data-layout="featured"][data-columns="4"] .icon-list__items {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem 2.5rem;
}

.icon-list__layout[data-layout="featured"][data-columns="4"] .icon-list__item-body {
	display: none;
}

@container (min-width: 40rem) {
	.icon-list__layout[data-layout="featured"][data-columns="2"] .icon-list__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3.125rem 2.5rem;
	}

	.icon-list__layout[data-layout="featured"][data-columns="4"] .icon-list__items {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.75rem 2.5rem;
	}
}

@container (min-width: 48rem) {
	.icon-list__layout[data-layout="featured"][data-media="true"] {
		gap: clamp(2.5rem, 5vw, 5.625rem);
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.icon-list__layout[data-layout="featured"][data-media="true"][data-media-position="left"] {
		grid-template-areas: "media content";
	}

	.icon-list__layout[data-layout="featured"][data-media="true"][data-media-position="right"] {
		grid-template-areas: "content media";
	}

	.icon-list__layout[data-layout="featured"][data-media="true"] .icon-list__media {
		grid-area: media;
	}

	.icon-list__layout[data-layout="featured"][data-media="true"] .icon-list__content {
		grid-area: content;
		padding-block: clamp(2.5rem, 5vw, 5.625rem);
	}

	.icon-list__layout[data-layout="featured"][data-columns="4"] .icon-list__items {
		gap: 1.75rem 4.375rem;
	}
}

@container (max-width: 47.998rem) {
	.icon-list__layout[data-layout="featured"][data-media="true"] {
		gap: 2.5rem;
	}

	.icon-list__layout[data-layout="featured"] .icon-list__media {
		min-block-size: min(22rem, 60vh);
	}
}

/* -------------------------------------------------------------------------
   Featured services — heading above + linked icon labels + body/buttons
   ------------------------------------------------------------------------- */

.icon-list__layout[data-layout="featured_services"] {
	--icon-list-icon-small: 10.5rem; /* 168px */
	--icon-list-gap: clamp(1.5rem, 4vw, 2.5rem);

	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--icon-list-gap);
	text-align: center;
	width: 100%;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__heading {
	text-wrap: wrap;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__items {
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.25rem 2.5rem;
	justify-items: center;
	width: 100%;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__icon {
	block-size: var(--icon-list-icon-small);
	inline-size: var(--icon-list-icon-small);
}

.icon-list__layout[data-layout="featured_services"] .icon-list__icon .tjanst-icon {
	display: block;
	height: 100%;
	inline-size: 100%;
	object-fit: contain;
	width: 100%;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__service {
	align-items: center;
	color: var(--text-body);
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	text-decoration: none;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__service:focus-visible,
.icon-list__layout[data-layout="featured_services"] .icon-list__service:hover {
	color: var(--text-heading);
	text-decoration: none;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__service-label {
	font-family: var(--font-family-heading);
	font-size: 1.25rem; /* 20px */
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
	text-wrap: wrap;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__body {
	font-weight: 400;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem); /* ~20–24px */
	line-height: 1.4;
	margin: 0;
	max-inline-size: 1050px;
}

.icon-list__layout[data-layout="featured_services"] .icon-list__actions {
	justify-content: center;
	margin: 0;
}

@media (max-width: 63.99rem) {
	.icon-list__layout[data-layout="featured_services"] {
		--icon-list-icon-small: 7.5rem; /* 120px */
	}
}

@media (min-width: 48rem) {
	.icon-list__layout[data-layout="featured_services"] .icon-list__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.icon-list__layout[data-layout="featured_services"] .icon-list__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@container (min-width: 70rem) {
	.icon-list__layout[data-layout="featured_services"] .icon-list__items {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* -------------------------------------------------------------------------
   Big heading — display lines sandwich a compact centered icon row
   Mobile (1-col): headings stacked and centered above the icons.
   ------------------------------------------------------------------------- */

.icon-list__layout[data-layout="big_heading"] {
	--icon-list-gap: 2.5rem;
	--icon-list-icon-big: 9.375rem; /* 150px on small screens */
	--icon-list-col-gap: clamp(1.25rem, 5vw, 4.1875rem); /* 20–67px */
	--icon-list-item-width: 9.0625rem; /* 145px */

	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--icon-list-gap);
	text-align: center;
	width: 100%;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__headings {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0;
	order: 1;
	text-align: center;
	width: 100%;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__heading,
.icon-list__layout[data-layout="big_heading"] .icon-list__heading-after {
	font-size: clamp(2.75rem, 14vw, 7.8125rem); /* ~44–125px */
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	max-inline-size: none;
	text-align: center;
	width: 100%;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	order: 2;
	width: 100%;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item {
	align-items: center;
	flex: 0 0 auto;
	gap: 0.5rem;
	text-align: center;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__icon {
	block-size: calc(var(--icon-list-icon-big) * 114 / 129);
	inline-size: var(--icon-list-icon-big);
	margin-inline: auto;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item-copy {
	justify-items: center;
	width: 100%;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item-heading {
	color: var(--text-heading);
	font-family: var(--font-family-heading);
	font-size: 1.25rem; /* 20px */
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item-heading[data-type-size="xs"] {
	font-size: 0.875rem;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item-heading[data-type-size="small"] {
	font-size: 1rem;
}

.icon-list__layout[data-layout="big_heading"] .icon-list__item-heading[data-type-size="medium"] {
	font-size: 1.125rem;
}

/* 768px+: centered sandwich, icons in one row. Below: 1-col + headings stacked on top. */
@media (min-width: 48rem) {
	.icon-list__layout[data-layout="big_heading"] {
		--icon-list-gap: 1.375rem; /* 22px */
		--icon-list-icon-big: 8.0625rem; /* 129px */

		align-items: center;
		text-align: center;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__headings {
		display: contents;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__heading,
	.icon-list__layout[data-layout="big_heading"] .icon-list__heading-after {
		text-align: center;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__heading {
		order: 1;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__items {
		align-items: stretch;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: var(--icon-list-col-gap);
		justify-content: space-between;
		max-inline-size: 48.8125rem; /* 781px Figma row */
		order: 2;
		width: 100%;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__heading-after {
		order: 3;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__item {
		align-items: center;
		gap: 1.25rem; /* 20px */
		inline-size: var(--icon-list-item-width);
		text-align: center;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__icon {
		margin-inline: auto;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__item-copy {
		justify-items: center;
	}

	.icon-list__layout[data-layout="big_heading"] .icon-list__item-heading {
		text-align: center;
	}
}
