/* Index project tiles — typographic reveal on hover */

.page-index .index-tile {
	display: block;
	text-decoration: none;
	color: inherit;
}

.page-index .index-tile:hover {
	text-decoration: none;
}

.page-index .index-tile__visual {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f0f0f0;
}

.page-index .index-tile__visual img,
.page-index .index-tile__visual video,
.page-index .index-tile__visual dotlottie-player {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.page-index .index-tile__visual .breen-logo-preview {
	width: 100%;
	height: 100%;
}

.page-index .index-tile__caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 0 0;
	background: #fff;
	color: #000;
	text-align: left;
	transform: translateY(100%);
	transition: transform 0.22s ease;
	z-index: 2;
}

.page-index .index-tile__title {
	display: block;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2;
}

.page-index .index-tile__category {
	display: block;
	margin-top: 4px;
	font-size: 75%;
	line-height: 1.4;
}

.page-index .index-tile__mrr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px solid #1a1a1a;
	font-size: 75%;
	line-height: 1.4;
}

.page-index .index-tile__mrr-label {
	font-weight: bold;
}

.page-index .index-tile__mrr-value {
	font-variant-numeric: tabular-nums;
}

.page-index .index-tile__caption > :last-child {
	line-height: 1;
}

@media (hover: hover) {
	.page-index .index-tile:hover .index-tile__caption,
	.page-index .index-tile:focus-visible .index-tile__caption {
		transform: translateY(0);
	}
}

@media screen and (max-width: 772px) {
	.page-index .index-tile__caption {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.page-index .index-tile__caption {
		transition: none;
	}
}
