/*
 * AH Free Resources: link cards with coloured cover tiles (a navy, b gold, c blue-grey, d sand).
 * Cards rise in with `translate`, so the hover lift (`transform`) still works after the reveal.
 */
.ah-fr {
	--ah-fr-cols: 4;
	--ah-fr-cover: 120px;
	display: grid;
	grid-template-columns: repeat(var(--ah-fr-cols), minmax(0, 1fr));
	gap: 16px;
	font-family: var(--ah-f-body);
	font-size: 17px;
	line-height: 1.75;
	color: var(--ah-ink);
}
.ah-fr .ah-fr__card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ah-line);
	border-radius: 10px;
	background: var(--ah-paper);
	color: var(--ah-ink);
	text-decoration: none;
	transition: transform .45s var(--ah-ease), border-color .3s, box-shadow .45s var(--ah-ease), opacity .9s var(--ah-ease) var(--dl, 0ms), translate .9s var(--ah-ease) var(--dl, 0ms);
}
.ah-fr a.ah-fr__card:hover,
.ah-fr a.ah-fr__card:focus-visible { transform: translateY(-4px); border-color: var(--ah-ink-gold); color: var(--ah-ink); box-shadow: 0 22px 40px -30px rgba(9, 18, 42, .55); }
.ah-fr a.ah-fr__card:focus-visible { outline: 2px solid var(--ah-gold); outline-offset: 3px; }

.ah-fr .ah-fr__cv {
	display: grid;
	place-items: center;
	height: var(--ah-fr-cover);
	padding: 12px;
	overflow: hidden;
	font-family: var(--ah-f-mono);
	font-weight: 500;
	font-size: .7rem;
	letter-spacing: .18em;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
}
.ah-fr .ah-fr__cvin { display: block; transition: transform .6s var(--ah-spring); }
.ah-fr a.ah-fr__card:hover .ah-fr__cvin { transform: scale(1.08); }
.ah-fr .ah-fr__cv--a { background: var(--ah-navy); color: var(--ah-gold-hi); }
.ah-fr .ah-fr__cv--b { background: var(--ah-gold); color: var(--ah-deep); }
.ah-fr .ah-fr__cv--c { background: #2B3A63; color: var(--ah-on-navy); }
.ah-fr .ah-fr__cv--d { background: #E7E1D3; color: var(--ah-ink); }
.ah-fr .ah-fr__big { display: block; font-family: var(--ah-f-display); font-weight: 800; font-size: 2rem; letter-spacing: 0; line-height: 1.4; }

.ah-fr .ah-fr__body { display: grid; gap: 6px; align-content: start; padding: 16px; }
.ah-fr .ah-fr__st { font-family: var(--ah-f-mono); font-size: .7rem; line-height: 1.6; color: var(--ah-ink-gold); }
.ah-fr .ah-fr__title { font-weight: 700; font-size: .98rem; line-height: 1.6; color: var(--ah-ink); }
.ah-fr .ah-fr__text { font-size: .84rem; line-height: 1.7; color: var(--ah-muted); }

.ah-motion .ah-fr .ah-fr__card.ah-rv { opacity: 0; translate: 0 22px; }
.ah-motion .ah-fr .ah-fr__card.ah-rv.seen { opacity: 1; translate: none; }

@media (max-width: 1200px) {
	.ah-fr { --ah-fr-cols: 2; }
}
@media (max-width: 767px) {
	.ah-fr { --ah-fr-cols: 1; font-size: 16.5px; }
}
@media (prefers-reduced-motion: reduce) {
	.ah-motion .ah-fr .ah-fr__card.ah-rv { opacity: 1; translate: none; }
	.ah-fr .ah-fr__card, .ah-fr .ah-fr__cvin { transition: none; }
	.ah-fr a.ah-fr__card:hover { transform: none; }
}
