/* Free Resources page — /free-resources/. Additive layer on home.css.
   Per-vertical sections × Explorer/Builder columns × ranked resource list. */

.aryf-fr {
	--fr-card-bg: rgba(255, 255, 255, 0.04);
	--fr-card-border: rgba(255, 255, 255, 0.10);
	--fr-card-radius: 14px;
}

html { scroll-behavior: smooth; }
.aryf-fr [id] { scroll-margin-top: 90px; }

/* ---------- Anchor nav in the hero ---------- */
.aryf-fr-anchornav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: center;
	margin: 0.6rem auto 0;
	max-width: 820px;
}
.aryf-fr-anchornav__chip {
	display: inline-flex;
	align-items: center;
	padding: 0.42rem 0.95rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.10);
	color: #e9eef5;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.aryf-fr-anchornav__chip:hover,
.aryf-fr-anchornav__chip:focus-visible {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(255, 255, 255, 0.22);
	transform: translateY(-1px);
}
.aryf-fr-anchornav__chip--blue   { border-color: color-mix(in srgb, var(--c-blue)   40%, transparent); }
.aryf-fr-anchornav__chip--teal   { border-color: color-mix(in srgb, var(--c-teal)   40%, transparent); }
.aryf-fr-anchornav__chip--purple { border-color: color-mix(in srgb, var(--c-purple) 40%, transparent); }
.aryf-fr-anchornav__chip--amber  { border-color: color-mix(in srgb, var(--c-amber)  40%, transparent); }

/* ---------- Vertical section ---------- */
.aryf-fr-vertical__head {
	margin-bottom: 1.8rem;
}
.aryf-fr-vertical__head .aryf-home-h2 {
	margin-top: 0.4rem;
	margin-bottom: 0.8rem;
	font-size: 1.85rem;
	line-height: 1.18;
}
.aryf-fr-vertical__head .aryf-home-p {
	color: #c9d1de;
	font-size: 0.98rem;
	line-height: 1.6;
	margin: 0;
}
.aryf-fr-vertical__note {
	margin-top: 0.9rem;
	padding: 0.7rem 0.95rem;
	background: rgba(251, 191, 36, 0.06);
	border-left: 3px solid var(--c-amber);
	border-radius: 6px;
	color: #d6dde6;
	font-size: 0.9rem;
	line-height: 1.55;
}

/* Per-vertical eyebrow color */
.aryf-fr-vertical--blue   .aryf-home-eyebrow { color: var(--c-blue); }
.aryf-fr-vertical--teal   .aryf-home-eyebrow { color: var(--c-teal); }
.aryf-fr-vertical--purple .aryf-home-eyebrow { color: var(--c-purple); }
.aryf-fr-vertical--amber  .aryf-home-eyebrow { color: var(--c-amber); }

/* Section divider between verticals */
.aryf-fr-vertical + .aryf-fr-vertical::before {
	content: "";
	display: block;
	max-width: 1180px;
	margin: 0 auto 1.2rem;
	height: 1px;
	background: linear-gradient(90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.10) 50%,
		rgba(255, 255, 255, 0) 100%);
}

/* ---------- Explorer + Builder columns ---------- */
.aryf-fr-levels {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.4rem;
}
.aryf-fr-level__h {
	margin: 0 0 0.9rem;
}
.aryf-fr-level__chip {
	display: inline-flex;
	align-items: center;
	padding: 0.42rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.03em;
}
.aryf-fr-level__chip--explorer { color: var(--c-blue); border-color: color-mix(in srgb, var(--c-blue) 40%, transparent); }
.aryf-fr-level__chip--builder  { color: var(--c-teal); border-color: color-mix(in srgb, var(--c-teal) 40%, transparent); }

/* ---------- Resource list ---------- */
.aryf-fr-reslist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.aryf-fr-resource__link {
	display: grid;
	grid-template-columns: 36px 1fr 16px;
	gap: 0.85rem;
	align-items: start;
	padding: 0.95rem 1.05rem;
	background: var(--fr-card-bg);
	border: 1px solid var(--fr-card-border);
	border-radius: 12px;
	color: inherit;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.aryf-fr-resource__link:hover,
.aryf-fr-resource__link:focus-visible {
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.22);
	transform: translateY(-1px);
}
.aryf-fr-resource--honor .aryf-fr-resource__link {
	background: rgba(255, 255, 255, 0.025);
	border-style: dashed;
}
.aryf-fr-resource__tier {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	font-size: 1.15rem;
	line-height: 1;
}
.aryf-fr-resource--honor .aryf-fr-resource__tier {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.4);
}
.aryf-fr-resource__body {
	display: block;
	min-width: 0;
}
.aryf-fr-resource__name {
	display: block;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.2rem;
	line-height: 1.3;
}
.aryf-fr-resource__desc {
	display: block;
	color: #c5cdd8;
	font-size: 0.9rem;
	line-height: 1.55;
}
.aryf-fr-resource__ext {
	color: rgba(255, 255, 255, 0.4);
	margin-top: 6px;
}

/* ---------- Tail ---------- */
.aryf-fr-tail__ctas {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.4rem;
	align-items: center;
	justify-content: center;
	margin-top: 1.3rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.aryf-fr-levels {
		grid-template-columns: 1fr;
		gap: 1.2rem;
	}
	.aryf-fr-vertical__head .aryf-home-h2 {
		font-size: 1.55rem;
	}
}
@media (max-width: 600px) {
	.aryf-fr-resource__link {
		padding: 0.85rem 0.9rem;
		grid-template-columns: 30px 1fr;
	}
	.aryf-fr-resource__ext { display: none; }
	.aryf-fr-tail__ctas {
		flex-direction: column;
		gap: 0.7rem;
	}
}
