/* Innovator projects page. */

.aryf-projects {
	--pj-card-bg: rgba(255, 255, 255, 0.04);
	--pj-card-border: rgba(255, 255, 255, 0.10);
}

/* ============================================================
   Frameworks grid
   ============================================================ */
.aryf-projects-frameworks__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
	margin-top: 1.4rem;
}
.aryf-projects-framework {
	padding: 1.3rem 1.4rem;
	background: var(--pj-card-bg);
	border: 1px solid var(--pj-card-border);
	border-radius: 14px;
}
.aryf-projects-framework__h {
	margin: 0 0 0.6rem;
	font-size: 1.02rem;
	font-weight: 600;
	color: #fff;
	line-height: 1.3;
}
.aryf-projects-framework__h a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.20);
	transition: color 180ms ease, border-color 180ms ease;
}
.aryf-projects-framework__h a:hover,
.aryf-projects-framework__h a:focus-visible {
	color: var(--c-purple);
	border-bottom-color: var(--c-purple);
}
.aryf-projects-framework__p {
	margin: 0;
	color: #c9d1de;
	font-size: 0.95rem;
	line-height: 1.55;
}

/* ============================================================
   Project briefs — full cards
   ============================================================ */
.aryf-projects-list {
	display: grid;
	gap: 1.4rem;
	margin-top: 1.6rem;
}
.aryf-project {
	position: relative;
	padding: 1.6rem 1.8rem 1.5rem;
	background: var(--pj-card-bg);
	border: 1px solid var(--pj-card-border);
	border-left: 3px solid var(--c-purple);
	border-radius: 16px;
	color: var(--c-purple);
	scroll-margin-top: 100px;
}
.aryf-project::after {
	content: "";
	position: absolute;
	top: -70px;
	right: -70px;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	background: radial-gradient(closest-side, currentColor, transparent 70%);
	opacity: 0.08;
	pointer-events: none;
}
.aryf-project__head {
	margin-bottom: 1.1rem;
}
.aryf-project__eyebrow {
	margin: 0 0 0.3rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: currentColor;
}
.aryf-project__name {
	margin: 0;
	font-size: clamp(1.4rem, 2vw, 1.7rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.aryf-project__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.5rem;
}
.aryf-project__field {
	margin: 0;
}
.aryf-project__field--problem,
.aryf-project__field--stack,
.aryf-project__field--precedent {
	grid-column: 1 / -1;
}
.aryf-project__field dt {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #a9b3c2;
	margin: 0 0 0.25rem;
}
.aryf-project__field dd {
	margin: 0;
	color: #dbe2ec;
	font-size: 0.95rem;
	line-height: 1.55;
}
.aryf-project__field--problem dd {
	color: #f1f5fa;
	font-weight: 500;
	font-size: 1rem;
}
.aryf-project__field--v1 dt,
.aryf-project__field--v2 dt {
	color: currentColor;
}
.aryf-project__field--v1,
.aryf-project__field--v2 {
	padding: 0.75rem 0.9rem;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left: 2px solid currentColor;
	border-radius: 0 8px 8px 0;
}

.aryf-project__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 1.2rem;
	color: currentColor;
	font-weight: 600;
	font-size: 0.92rem;
	text-decoration: none;
	transition: gap 200ms ease;
}
.aryf-project__cta:hover,
.aryf-project__cta:focus-visible { gap: 0.65rem; }
.aryf-project__cta span {
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}

/* Final pitch-your-own CTA */
.aryf-projects-pitch__ctas {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	align-items: center;
	justify-content: center;
	margin-top: 1.4rem;
}

/* ============================================================
   Innovator teaser on /courses/
   ============================================================ */
.aryf-courses-innovator-teaser {
	display: grid;
	gap: 1.1rem;
}
.aryf-courses-innovator-lede {
	color: #c9d1de;
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 0.4rem;
	max-width: 720px;
}
.aryf-courses-innovator-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.aryf-courses-project-teaser {
	display: block;
	position: relative;
	padding: 1.2rem 1.3rem 1.3rem;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.10);
	border-left: 3px solid var(--c-purple);
	border-radius: 12px;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.aryf-courses-project-teaser:hover,
.aryf-courses-project-teaser:focus-visible {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.22);
	border-left-color: var(--c-purple);
	transform: translateY(-2px);
	outline: none;
}
.aryf-courses-project-teaser__eyebrow {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-purple);
	margin-bottom: 0.3rem;
}
.aryf-courses-project-teaser__name {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #fff;
	line-height: 1.3;
}
.aryf-courses-project-teaser__problem {
	margin: 0;
	color: #c9d1de;
	font-size: 0.9rem;
	line-height: 1.5;
}
.aryf-courses-project-teaser__arrow {
	position: absolute;
	top: 1.2rem;
	right: 1.3rem;
	color: var(--c-purple);
	font-size: 1.1rem;
}
.aryf-courses-innovator-cta {
	display: flex;
	justify-content: flex-start;
	margin-top: 0.4rem;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 768px) {
	.aryf-project { padding: 1.3rem 1.25rem 1.2rem; }
	.aryf-project__grid { grid-template-columns: 1fr; gap: 0.9rem; }
}
