/* Rude Academy — Programs widget. Extracted verbatim from source index.html. */

.programs__intro {
	max-width: 720px;
	margin-bottom: 64px;
	font-size: 18px;
	line-height: 1.55;
	color: #333;
}

.programs__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
}

.program {
	grid-column: span 3;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	transition: all 0.25s ease;
	min-height: 280px;
}
.program:hover {
	border-color: var(--ink);
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(10,10,10,0.08);
}

.program--featured {
	grid-column: span 6;
	background: var(--ink);
	color: var(--bone);
	border-color: var(--ink);
}
.program--featured:hover { background: var(--ink); }

.program--highlight {
	grid-column: span 3;
	background: var(--gold);
	border-color: var(--gold);
}
.program--highlight:hover { border-color: var(--ink); }

.program__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.program__age {
	display: inline-block;
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid currentColor;
	border-radius: 100px;
	opacity: 0.8;
}
.program--featured .program__age {
	border-color: var(--gold);
	color: var(--gold);
	opacity: 1;
}

.program__num {
	font-family: "DM Sans", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	opacity: 0.4;
}

.program__name {
	font-family: "Archivo Black", sans-serif;
	font-size: clamp(26px, 2.5vw, 36px);
	line-height: 1;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}
.program--featured .program__name { font-size: clamp(32px, 3.5vw, 48px); }

.program__desc {
	font-size: 15px;
	line-height: 1.55;
	opacity: 0.82;
	margin-top: auto;
}

.program__tags {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}
.program__tag {
	font-size: 12px;
	font-weight: 500;
	padding: 5px 11px;
	background: rgba(255,255,255,0.1);
	border-radius: 100px;
}
.program:not(.program--featured) .program__tag {
	background: rgba(10,10,10,0.05);
}
.program--highlight .program__tag {
	background: rgba(10,10,10,0.12);
}

@media (max-width: 860px) {
	.programs__grid { grid-template-columns: repeat(2, 1fr); }
	.program, .program--featured, .program--highlight { grid-column: span 2; }
}
@media (max-width: 520px) {
	.programs__grid { grid-template-columns: 1fr; }
	.program, .program--featured, .program--highlight { grid-column: span 1; }
}
