/* Header: logo + título */
.jp-proj-head {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	margin-bottom: .25rem;
}

.jp-proj-logo {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	object-fit: cover;
	flex: 0 0 auto;
	background: #fff;
}

/* Información profesional debajo del título */
.jp-proj-head + .jp-mini-case {
	margin-top: .15rem;
}

/* Líneas de información del proyecto */
.jp-mini-case {
	font-size: .95rem;
	margin: .35rem 0 .2rem;
}

.jp-mini-case.line1 {
	font-weight: 600;
}

.jp-mini-case .lbl {
	opacity: .7;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;
	margin-right: .15rem;
}

.jp-mini-case .sep {
	opacity: .5;
	margin: 0 .25rem;
}

.jp-mini-case.line2 {
	opacity: .9;
	line-height: 1.45;
}

/* Tarjetas con enlace externo, sin mostrar botón "Ver más" */
.project.jp-project-clickable {
	cursor: pointer;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}

.project.jp-project-clickable:hover {
	transform: translateY(-2px);
}

.project.jp-project-clickable:focus {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.project.jp-project-clickable:focus:not(:focus-visible) {
	outline: none;
}

/* Ajuste responsive */
@media (max-width: 640px) {
	.jp-proj-head {
		gap: .65rem;
	}

	.jp-proj-logo {
		width: 42px;
		height: 42px;
		border-radius: 10px;
	}

	.jp-mini-case {
		font-size: .9rem;
	}
}