.jjin-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.jjin-review-card {
	display: flex;
	flex: 0 0 390px;
	flex-direction: column;
	min-height: 250px;
	padding: 32px;
	border: 1px solid var(--jjin-review-line);
	border-radius: 34px;
	background: var(--jjin-review-surface);
	box-shadow: var(--jjin-review-shadow);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.jjin-review-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--jjin-review-shadow-strong);
}

.jjin-review-card span {
	width: 42px;
	height: 3px;
	margin-bottom: 28px;
	border-radius: 99px;
	background: var(--jjin-review-accent, #0000ff);
}

.jjin-review-card-image {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 10;
	margin: -6px 0 24px;
	border-radius: 24px;
	background: var(--jjin-review-surface-soft);
}

.jjin-review-card-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.jjin-review-card blockquote {
	margin: 0;
	color: var(--jjin-review-text);
	font-size: var(--jjin-review-card-text-size);
	line-height: 1.6;
	font-weight: 560;
	letter-spacing: 0;
	word-break: keep-all;
}

.jjin-review-card p {
	margin: auto 0 0;
	padding-top: 28px;
	color: var(--jjin-review-subtle);
	font-size: var(--jjin-review-card-meta-size);
	font-weight: 430;
}
