.anp {
	--anp-accent: #C1282A;
	--anp-navy: #000C3F;
	--anp-card: #FFFFFF;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.anp-head { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.anp-title { margin: 0; font-family: Poppins, sans-serif; font-size: 36px; font-weight: 700; color: var(--anp-navy); text-align: center; }
.anp-bar { width: 56px; height: 4px; border-radius: 2px; background: var(--anp-accent); }

.anp-grid {
	--anp-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--anp-cols), minmax(0, 1fr));
	gap: 30px;
}
@media (max-width: 1024px) { .anp-grid { --anp-cols: 2; } }
@media (max-width: 767px) { .anp-grid { --anp-cols: 1; } .anp-title { font-size: 28px; } }

.anp-card {
	display: flex;
	flex-direction: column;
	background: var(--anp-card);
	border: 1px solid #E4E6EE;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
a.anp-card:hover,
a.anp-card:focus-visible {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(0, 12, 63, .10);
	border-color: var(--anp-accent);
}

.anp-logo-wrap {
	height: 170px;
	box-sizing: border-box;
	padding: 28px 36px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.anp-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform .25s ease;
}
a.anp-card:hover .anp-logo { transform: scale(1.04); }

.anp-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 24px;
	border-top: 1px solid #EEF0F5;
}
.anp-name { font-family: Poppins, sans-serif; font-size: 15px; font-weight: 600; color: var(--anp-navy); letter-spacing: .02em; overflow-wrap: anywhere; }

.anp-go {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border: 1px solid var(--anp-navy);
	border-radius: 50%;
	color: var(--anp-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color .25s, border-color .25s, color .25s;
}
.anp-go svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
a.anp-card:hover .anp-go,
a.anp-card:focus-visible .anp-go { background: var(--anp-accent); border-color: var(--anp-accent); color: #fff; }

@media (prefers-reduced-motion: reduce) {
	.anp-card, .anp-logo, .anp-go { transition: none; }
	a.anp-card:hover { transform: none; }
}
