.area-grid-block > ul {
	display: grid;
	grid-template-columns: repeat(
		auto-fit,
		minmax(clamp(12rem, 10rem + 12vw, 19rem), 1fr)
	);
	gap: 2rem;
	list-style: none;
	padding: 0;
}

.area-grid-item {
	display: block;
	text-decoration: none;
	color: currentColor;
	transition: transform 0.3s, opacity 0.95s;
}

.area-grid-list-item:only-child {
	max-width: 22.5rem;
	margin-left: auto;
	margin-right: auto;
}

.area-grid-item:hover,
.area-grid-item:focus-visible {
	transform: translateY(-0.35rem);
}

.area-grid-item:hover .area-grid-item-content,
.area-grid-item:focus-visible .area-grid-item-content {
	border: 2px solid var(--primary-500);
	border-top: none;
}

.area-grid-item:hover .area-trip-time,
.area-grid-item:focus-visible .area-trip-time {
	color: var(--primary-600);
	opacity: 1;
}

.area-grid-item:hover img,
.area-grid-item:focus-visible img {
	filter: saturate(0.15);
}

.area-grid-item img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	overflow: hidden;
	transition: filter 0.3s, opacity 0.9s;
}

.area-grid-item-content {
	padding: 6%;
	border: 1px solid rgba(125, 125, 125, 0.5);
	border-top: 0;
	transition: border 0.3s;
}

.area-grid-item h1 {
	font-size: calc(clamp(1rem, 1.1vw + 1rem, 1.5rem));
}

.area-trip-time {
	opacity: 0.8;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.875rem;
	transition: opacity 0.3s, color 0.3s;
}

.area-trip-excerpt {
	font-size: 0.875rem;
}

.area-trip-excerpt p {
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	display: -webkit-box;
}
