/* ═══════════════════════════════════════════════
   HALL OF FAME 2025 — Speaker Showcase
   Nebula particles + infinite marquee slider
   ═══════════════════════════════════════════════ */

/* ── Section ── */
.dt-halloffame {
	position: relative;
	overflow: hidden;
	padding: 100px 0 80px;
	z-index: 2;
	min-height: 85vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: transparent !important;
}
.dt-halloffame::before {
	display: none;
}

/* ── Constellation canvas ── */
.dt-hof-nebula {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

/* ── Header ── */
.dt-hof-header {
	position: relative;
	z-index: 4;
	text-align: center;
	margin-bottom: 50px;
	padding: 0 24px;
}

.dt-hof-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 18px;
	border-radius: 100px;
	border: 1px solid rgba(108, 99, 255, 0.35);
	background: rgba(108, 99, 255, 0.08);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6C63FF;
	margin-bottom: 20px;
	animation: hof-badge-glow 3s ease-in-out infinite;
}
@keyframes hof-badge-glow {
	0%, 100% { box-shadow: 0 0 12px rgba(108, 99, 255, 0.15); }
	50%      { box-shadow: 0 0 24px rgba(108, 99, 255, 0.35), 0 0 48px rgba(108, 99, 255, 0.1); }
}

.dt-hof-title {
	font-family: var(--dt-font);
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: #fff;
	margin-bottom: 16px;
	background: linear-gradient(135deg, #28c5ea 0%, #6C63FF 50%, #e040fb 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.dt-hof-subtitle {
	font-size: clamp(0.95rem, 1.8vw, 1.15rem);
	color: var(--dt-text);
	max-width: 580px;
	margin: 0 auto;
	line-height: 1.6;
}

/* ── Marquee container ── */
.dt-hof-marquee {
	position: relative;
	z-index: 4;
}

.dt-hof-marquee__row {
	position: relative;
	overflow: hidden;
	padding: 12px 0;
	margin-bottom: 8px;
}

.dt-hof-marquee__track {
	display: flex;
	width: max-content;
	will-change: transform;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}
.dt-hof-marquee__track.is-dragging {
	cursor: grabbing;
}

/* ── Speaker Card ── */
.dt-hof-card {
	flex-shrink: 0;
	position: relative;
	width: 240px;
	height: 320px;
	margin-right: 20px;
	border-radius: 1.2rem;
	cursor: default;
	background: conic-gradient(from var(--dt-angle), var(--dt-accent), #ca32df, rgba(40,197,234,0.3), var(--dt-accent));
	animation: dt-border-spin 4s linear infinite;
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
}

.dt-hof-card:hover {
	transform: scale(1.03) translateY(-4px);
	box-shadow:
		0 0 20px rgba(40, 197, 234, 0.2),
		0 0 40px rgba(108, 99, 255, 0.1),
		0 12px 24px rgba(0, 0, 0, 0.4);
}

.dt-hof-card__inner {
	position: absolute;
	inset: 2px;
	border-radius: calc(1.2rem - 2px);
	overflow: hidden;
	background: #0a0c18;
}

.dt-hof-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
	filter: brightness(0.85) saturate(0.9);
}
.dt-hof-card:hover .dt-hof-card__img {
	transform: scale(1.05);
	filter: brightness(0.9) saturate(0.95);
}

/* Glassmorphism overlay with name + role */
.dt-hof-card__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 16px;
	z-index: 2;
	background: linear-gradient(to top, rgba(3, 5, 16, 0.95) 0%, rgba(3, 5, 16, 0.6) 50%, transparent 100%);
	transform: translateY(4px);
	opacity: 0.9;
	transition: transform 0.4s ease, opacity 0.4s ease;
}
.dt-hof-card:hover .dt-hof-card__overlay {
	transform: translateY(0);
	opacity: 1;
}

.dt-hof-card__name {
	font-family: var(--dt-font);
	font-size: 0.95rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
	margin-bottom: 4px;
}

.dt-hof-card__role {
	font-size: 0.72rem;
	font-weight: 500;
	color: #28c5ea;
	letter-spacing: 0.02em;
	line-height: 1.4;
	opacity: 0.9;
}

/* ── Responsive ── */
@media (max-width: 768px) {
	.dt-halloffame {
		padding: 60px 0 50px;
		min-height: auto;
	}
	.dt-hof-header {
		margin-bottom: 32px;
	}
	.dt-hof-card {
		width: 180px;
		height: 240px;
		margin-right: 14px;
		border-radius: 1rem;
	}
	.dt-hof-card__inner {
		border-radius: calc(1rem - 2px);
	}
	.dt-hof-card__overlay {
		padding: 12px;
	}
	.dt-hof-card__name {
		font-size: 0.82rem;
	}
	.dt-hof-card__role {
		font-size: 0.65rem;
	}
	.dt-hof-marquee__row {
		margin-bottom: 14px;
	}
}

@media (max-width: 480px) {
	.dt-hof-card {
		width: 150px;
		height: 200px;
		margin-right: 10px;
	}
	.dt-hof-title {
		font-size: 1.6rem;
	}
}
