/* ═══════════════════════════════════════════════════════════════
   Icon row band — 1728x404.
   Icons bottom-align on a 40px box, labels 12px below (10px mobile).
   ═══════════════════════════════════════════════════════════════ */
.icon-row-band__band {
	background: var(--gd-blue);
	padding-bottom: clamp(40px, 28.05px + 3.0643vw, 81px);
	padding-top: clamp(42px, 30.63px + 2.9148vw, 81px);
}

.icon-row-band__intro {
	color: var(--gd-white);
	font-size: clamp(22px, 20.25px + 0.4484vw, 28px);
	font-weight: var(--gd-heavy);
	line-height: clamp(30px, 28.25px + 0.4484vw, 36px);
	margin: 0 auto;
	max-width: 881px;
	text-align: center;
}

.icon-row-band__grid {
	align-items: start;
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	justify-content: center;
	list-style: none;
	margin: clamp(20px, 17.38px + 0.6726vw, 29px) auto 0;
	max-width: 1375px; /* 5 x 243 + 4 x 40 */
	padding: 0;
}

.icon-row-band__item {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 0;
	text-align: center;
}

.icon-row-band__icon {
	align-self: center;
	background-color: var(--gd-white);
	display: block;
	height: 40px;
	-webkit-mask-image: var(--gd-icon);
	mask-image: var(--gd-icon);
	-webkit-mask-position: center bottom;
	mask-position: center bottom;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.35s var(--gd-ease);
	width: 44px;
}

.icon-row-band__item:hover .icon-row-band__icon {
	transform: translateY(-4px);
}

.icon-row-band__label {
	color: var(--gd-white);
	display: block;
	font-size: clamp(18px, 16.83px + 0.299vw, 22px);
	font-weight: var(--gd-heavy);
	line-height: clamp(26px, 24.83px + 0.299vw, 30px);
	margin-top: clamp(10px, 9.42px + 0.1495vw, 12px);
}

.icon-row-band__sub {
	color: var(--gd-white);
	display: block;
	font-size: clamp(14px, 13.42px + 0.1495vw, 16px);
	font-weight: var(--gd-heavy);
	line-height: 22px;
	margin-top: 7px;
}

@media (max-width: 1400px) {
	.icon-row-band__grid {
		gap: 40px 30px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 800px;
	}
}

@media (max-width: 767px) {
	.icon-row-band__grid {
		gap: 20px;
		grid-template-columns: 1fr;
		max-width: none;
	}
}
