:root {
	--accent: #529bbd;
	--text: #1e293b;
	--text-muted: #64748b;
	--border: #e2e8f0;
	--radius: 16px;
	--radius-sm: 10px;
	--shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 18px rgba(15, 23, 42, 0.05);
	--font:
		-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
		sans-serif;
	--background-color: rgba(197, 238, 249, 0.698);
}

* {
	box-sizing: border-box;
}
body {
	margin: 0;
	font-family: var(--font);
	color: var(--text);
	background: var(--background-color);
	line-height: 1.55;
}

.personnages {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 24px 16px;
}
.section-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 12px;
}
.centered {
	text-align: center;
}
.personnages > p {
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: center;
	color: var(--text-muted);
}

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

.perso.ajla {
	--c: #2563eb;
}
.perso.camille {
	--c: #0d9488;
}
.perso.isabelle {
	--c: #16a34a;
}
.perso.liam {
	--c: #9333ea;
}
.perso.lukas {
	--c: #c2680c;
}
.perso.marco {
	--c: #e8451f;
}

.perso {
	--c: #2563eb;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: 0.18s ease;
}
.perso:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}
.perso.selected {
	box-shadow: 0 0 0 3px #3b82f6;
	border-color: #3b82f6;
}

.perso > div {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 24px;
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--c) 20%, #fff),
		color-mix(in srgb, var(--c) 6%, #fff)
	);
}

.perso-pp {
	flex: none;
	width: 86px;
	height: 86px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-size: 42px;
	background: radial-gradient(
		circle at 32% 28%,
		color-mix(in srgb, var(--c) 28%, #fff),
		color-mix(in srgb, var(--c) 12%, #fff)
	);
	overflow: hidden;
}

.perso-pp img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.perso-nom {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	text-transform: capitalize;
	margin-bottom: 6px;
}
.perso-data {
	display: block;
	color: var(--text-muted);
	font-size: 0.95rem;
	line-height: 1.7;
}

.btn-suivre {
	display: block;
	margin: 16px;
	padding: 13px;
	text-align: center;
	text-decoration: none;
	border: none;
	border-radius: var(--radius-sm);
	background: var(--c);
	color: #ffffff;
	font-weight: 600;
	font-size: 0.98rem;
	cursor: pointer;
	transition: 0.15s ease;
}
.btn-suivre:hover {
	filter: brightness(0.94);
}

@media (max-width: 900px) {
	.perso-grid {
		grid-template-columns: 1fr;
	}
}
