/**
 * Photographic cards. Image, then title, then description.
 */

.page-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr);
	gap: 22px;
	align-items: center;
	max-width: none;
}

.page-hero__visual {
	margin: 0;
}

.page-hero__photo {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
	border-radius: 22px;
	border: 1px solid rgba(246, 199, 91, 0.45);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.page-hero__mark,
.page-wrap .art-scene {
	display: none;
}

.card-grid,
.feature-cards,
.benefits-row,
.capability-grid,
.member-row,
.gallery-grid,
.legal-index,
.link-row,
.store-row,
.journey--visual,
.tier-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.feature-cards {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home .feature-card.media-card,
.home .benefits-row > li.media-card,
.home .capability-grid > li.media-card,
.home .member-row > a.media-card,
.home .gallery-grid > a.preview-card.media-card,
.home .store-card.media-card,
.home .download-band.media-card,
body .page-wrap .info-card.media-card,
body .page-wrap .journey--visual > li.media-card,
body .page-wrap .link-row > a.media-card,
body .page-wrap .legal-index > a.media-card,
body .page-wrap .store-card.media-card,
body .page-wrap .preview-card.media-card,
body .page-wrap .tier-card.media-card,
.media-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(180deg, #1a1028 0%, #0c0614 100%) !important;
	border: 1px solid rgba(246, 199, 91, 0.46) !important;
	border-radius: 20px !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.38) !important;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.media-card::before,
.media-card::after,
.journey--visual > li::before,
.journey--visual > li::after,
.home .feature-card.media-card::before,
.home .feature-card.media-card::after,
body .journey li.media-card::before,
body .journey li.media-card::marker {
	content: none !important;
	display: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	counter-increment: none !important;
}

.journey--visual {
	counter-reset: none;
}

.media-card__img,
.media-card__visual {
	display: block;
	width: 100%;
	height: 168px;
	margin: 0;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
	background:
		radial-gradient(circle at 50% 30%, rgba(165, 44, 255, 0.35), transparent 55%),
		#120818;
}

.media-card__visual {
	display: grid;
	place-items: center;
}

.media-card__visual .tier-mark {
	width: 132px;
	height: auto;
}

.media-card__img {
	transition: transform 0.45s ease;
}

.media-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 14px 16px 16px;
}

.media-card h2,
.media-card h3,
.media-card .preview-card__title,
.media-card .store-card__name {
	margin: 0;
	color: #ffe6a8;
	font-family: var(--display);
	font-size: 1.35rem;
	line-height: 1.2;
}

.media-card p,
.media-card .preview-card__text,
.media-card .store-card__detail {
	margin: 0;
	color: #d9c9f4;
}

.preview-card__kind {
	color: #f6c75b;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.store-card__state,
.legal-meta {
	color: #f6c75b;
	font-size: 0.86rem;
}

.download-band.media-card {
	display: grid;
	grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
	align-items: center;
	margin: 22px 0;
}

.download-band.media-card .media-card__img {
	height: 100%;
	min-height: 180px;
}

.download-band.media-card .btn {
	align-self: flex-start;
}

.feature-card .feature-icon,
.benefits-row .feature-icon {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	a.media-card:hover,
	.media-card:hover {
		transform: translateY(-6px);
		border-color: #ffe6a0 !important;
		box-shadow: 0 22px 40px rgba(0, 0, 0, 0.46), 0 0 22px rgba(227, 75, 255, 0.18) !important;
	}

	a.media-card:hover .media-card__img,
	.media-card:hover .media-card__img {
		transform: scale(1.045);
	}
}

.media-card:focus-visible {
	outline: 2px solid #ffe6a0;
	outline-offset: 3px;
}

@media (max-width: 1100px) {
	.feature-cards,
	.card-grid,
	.gallery-grid,
	.legal-index,
	.tier-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-hero {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.feature-cards,
	.card-grid,
	.benefits-row,
	.capability-grid,
	.member-row,
	.gallery-grid,
	.legal-index,
	.link-row,
	.store-row,
	.journey--visual,
	.tier-grid,
	.download-band.media-card {
		grid-template-columns: 1fr;
	}

	.page-hero__photo,
	.media-card__img,
	.media-card__visual {
		height: 190px;
	}
}

body[class*="route-"] .page-wrap .journey li.media-card::before,
body[class*="route-"] .page-wrap .journey li.media-card::after,
.home .feature-card.media-card::before,
.home .gallery-grid .preview-card.media-card::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.media-card,
	.media-card__img {
		transition: none;
	}

	.media-card:hover,
	a.media-card:hover {
		transform: none;
	}

	.media-card:hover .media-card__img,
	a.media-card:hover .media-card__img {
		transform: none;
	}
}
