
.cy-logo-wall {
	background: var(--cy-surface-page);
	font-family: var(--cy-font-body);
	padding: 120px 0 80px;
}

.lw-head {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 48px;
}

.lw-head h2 {
	color: var(--cy-text-primary);
	font: var(--cy-display-sm);
	margin: 0;
	max-width: 792px;
}

.lw-rows {
	flex-direction: column;
}

.lw-row, .lw-rows {
	display: flex;
	gap: 24px;
}

.lw-cell {
	background: var(--cy-surface-card);
	border: 1px solid var(--cy-border-subtle);
	border-radius: 14px;
	display: grid;
	flex: 1 0 0;
	height: 96px;
	min-width: 0;
	overflow: hidden;
	place-items: center;
	transition: box-shadow .25s;
}

.lw-cell:hover {
	box-shadow: 0 1px 4px rgba(0, 0, 0, .03), 0 1px 1px rgba(0, 0, 0, .02);
}

.lw-art {
	display: block;
	height: auto;
	width: min(180px, 100%);
}

.lw-art .lw-color, .lw-art .lw-mono {
	transition: opacity .28s;
}

.lw-art .lw-color {
	opacity: 0;
}

.lw-cell:hover .lw-color {
	opacity: 1;
}

.lw-cell:hover .lw-mono {
	opacity: 0;
}

.lw-rows--dynamic .lw-cell {
	flex: 0 calc(16.6667% - 20px);
}

.lw-cell-link {
	display: grid;
	height: 100%;
	place-items: center;
	width: 100%;
}

.lw-img {
	display: block;
	height: auto;
	max-height: 48px;
	max-width: min(180px, 80%);
	transition: filter .28s;
	width: auto;
}

.lw-cell:hover .lw-img {
	filter: none;
}

#cyWallDefs {
	height: 0;
	overflow: hidden;
	position: absolute;
	width: 0;
}

@media (max-width: 1080px) {
	.lw-row {
		flex-wrap: wrap;
	}
	
	.lw-cell, .lw-rows--dynamic .lw-cell {
		flex: calc(33.333% - 16px);
	}
}

@media (max-width: 720px) {
	.cy-logo-wall {
		padding: 64px 0;
	}
	
	.lw-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
		margin-bottom: 32px;
	}
	
	.cy-logo-wall:not(.cy-logo-wall-bare) .lw-row, .cy-logo-wall:not(.cy-logo-wall-bare) .lw-rows {
		gap: 8px;
	}
	
	.cy-logo-wall:not(.cy-logo-wall-bare) .lw-row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	
	.cy-logo-wall:not(.cy-logo-wall-bare) .lw-cell, .cy-logo-wall:not(.cy-logo-wall-bare) .lw-rows--dynamic .lw-cell {
		aspect-ratio: 180/96;
		border-radius: 12px;
		height: auto;
	}
	
	.cy-logo-wall:not(.cy-logo-wall-bare) .lw-art {
		width: 100%;
	}
	
	.cy-logo-wall:not(.cy-logo-wall-bare) .lw-img {
		max-height: 50%;
		max-width: 80%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lw-art .lw-color, .lw-art .lw-mono, .lw-cell, .lw-img {
		transition: none;
	}
}

.cy-logo-wall.cy-logo-wall-bare {
	padding: 0 0 120px;
}

@media (max-width: 1080px) {
	.cy-logo-wall.cy-logo-wall-bare {
		padding-bottom: 80px;
	}
}

@media (max-width: 720px) {
	.cy-logo-wall.cy-logo-wall-bare {
		padding-bottom: 64px;
	}
	
	.cy-logo-wall.cy-logo-wall-bare .lw-row, .cy-logo-wall.cy-logo-wall-bare .lw-rows {
		gap: 12px;
	}
	
	.cy-logo-wall.cy-logo-wall-bare .lw-cell, .cy-logo-wall.cy-logo-wall-bare .lw-rows--dynamic .lw-cell {
		border-radius: 12px;
		flex: calc(33.333% - 8px);
		height: 56px;
	}
	
	.cy-logo-wall.cy-logo-wall-bare .lw-art {
		width: min(88px, 80%);
	}
	
	.cy-logo-wall.cy-logo-wall-bare .lw-img {
		max-height: 28px;
		max-width: min(88px, 80%);
	}
}
