@charset "utf-8";

.downloads-page {
	--downloads-navy: #18305b;
	--downloads-green: #247565;
	--downloads-pale: #edf5f2;
	color: #183c36;
	background: #fff;
}

.downloads-hero {
	padding: 180px 0 95px;
	background: linear-gradient(115deg, #edf6f2 0%, #f5f8fb 55%, #eef2f8 100%);
}

.downloads-hero__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.downloads-eyebrow {
	margin-bottom: 12px;
	color: var(--downloads-green);
	font-size: var(--font-xs);
	font-weight: 700;
	letter-spacing: 0.18em;
}

.downloads-hero h1 {
	margin-bottom: 25px;
	color: var(--downloads-navy);
	font-size: clamp(42px, 6vw, 72px);
	font-weight: 600;
}

.downloads-hero__inner > div:first-child > p:last-child {
	font-size: var(--font-base);
	line-height: 1.9;
}

.downloads-hero__symbol {
	position: relative;
	display: grid;
	width: 190px;
	height: 230px;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 8px;
	color: #fff;
	background: var(--downloads-navy);
	box-shadow: 22px 24px 0 rgba(36, 117, 101, 0.16);
}

.downloads-hero__symbol::before {
	position: absolute;
	top: 0;
	right: 0;
	border-width: 0 0 48px 48px;
	border-style: solid;
	border-color: transparent transparent rgba(255, 255, 255, 0.25) transparent;
	content: "";
}

.downloads-hero__symbol span {
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.downloads-hero__symbol i {
	position: absolute;
	bottom: 47px;
	left: 44px;
	width: 102px;
	height: 2px;
	background: rgba(255, 255, 255, 0.65);
}

.downloads-hero__symbol i:nth-of-type(2) {
	bottom: 34px;
}

.downloads-hero__symbol i:nth-of-type(3) {
	bottom: 21px;
	width: 70px;
}

.downloads-breadcrumb {
	padding-top: 27px;
	padding-bottom: 27px;
}

.downloads-breadcrumb ol {
	display: flex;
	gap: 10px;
	font-size: var(--font-xs);
}

.downloads-breadcrumb li + li::before {
	margin-right: 10px;
	content: "/";
}

.downloads-library {
	padding-top: 65px;
}

.downloads-heading {
	max-width: 760px;
	margin-bottom: 55px;
}

.downloads-heading h2 {
	margin-bottom: 20px;
	color: var(--downloads-navy);
	font-size: clamp(31px, 4vw, 48px);
	font-weight: 600;
}

.downloads-heading > p:last-child {
	font-size: var(--font-xs);
	line-height: 1.8;
}

.downloads-list {
	display: grid;
	gap: 30px;
}

.download-card {
	display: grid;
	grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1.35fr);
	overflow: hidden;
	border: 1px solid #dce7e3;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(24, 48, 91, 0.07);
}

.download-card__preview {
	display: grid;
	min-height: 420px;
	padding: 30px;
	place-items: center;
	background: #eef4f2;
}

.download-card__preview img {
	width: min(100%, 260px);
	max-height: 370px;
	object-fit: contain;
	box-shadow: 0 12px 30px rgba(24, 48, 91, 0.15);
}

.download-card__preview > span {
	font-size: 44px;
	font-weight: 700;
}

.download-card__content {
	align-self: center;
	padding: clamp(30px, 5vw, 60px);
}

.download-card__category {
	display: table;
	margin-bottom: 18px;
	padding: 6px 11px;
	border-radius: 999px;
	color: var(--downloads-green);
	background: var(--downloads-pale);
	font-size: var(--font-xs);
	font-weight: 700;
}

.download-card h3 {
	margin-bottom: 20px;
	color: var(--downloads-navy);
	font-size: var(--font-heading-md);
	font-weight: 600;
}

.download-card h3 + p {
	line-height: 1.9;
}

.download-card dl {
	display: flex;
	gap: 35px;
	margin: 25px 0 30px;
	padding: 16px 0;
	border-top: 1px solid #e2eae7;
	border-bottom: 1px solid #e2eae7;
}

.download-card dl > div {
	display: flex;
	gap: 12px;
}

.download-card dt {
	color: #71817d;
	font-size: var(--font-xs);
}

.download-card dd {
	font-size: var(--font-xs);
	font-weight: 700;
}

.download-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.download-card__actions a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border: 1px solid var(--downloads-green);
	font-size: var(--font-xs);
	font-weight: 700;
	transition: opacity 0.2s, transform 0.2s;
}

.download-card__actions a:hover {
	opacity: 0.78;
	transform: translateY(-2px);
}

.download-card__download {
	color: #fff;
	background: var(--downloads-green);
}

.downloads-empty {
	padding: 60px;
	background: #f3f7f5;
	text-align: center;
}

.downloads-help {
	padding: 80px 0;
	color: #fff;
	background: #183c36;
}

.downloads-help__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 45px;
}

.downloads-help h2 {
	margin-bottom: 14px;
	font-size: clamp(27px, 4vw, 40px);
	font-weight: 500;
}

.downloads-help__inner > div > p:last-child {
	color: rgba(255, 255, 255, 0.75);
}

.downloads-help a {
	display: flex;
	min-width: 280px;
	align-items: center;
	justify-content: space-between;
	padding: 17px 22px;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

@media (max-width: 760px) {
	.downloads-hero {
		padding: 130px 0 70px;
	}

	.downloads-hero__symbol {
		width: 105px;
		height: 135px;
		box-shadow: 12px 14px 0 rgba(36, 117, 101, 0.16);
	}

	.downloads-hero__symbol span {
		font-size: var(--font-2xl);
	}

	.downloads-hero__symbol i {
		display: none;
	}

	.download-card {
		grid-template-columns: 1fr;
	}

	.download-card__preview {
		min-height: 0;
		padding: 28px;
	}

	.download-card__preview img {
		max-height: 430px;
	}

	.downloads-help__inner {
		align-items: stretch;
		flex-direction: column;
	}

	.downloads-help a {
		min-width: 0;
	}
}

@media (max-width: 500px) {
	.downloads-hero__inner {
		align-items: flex-start;
	}

	.downloads-hero__symbol {
		display: none;
	}

	.download-card__actions {
		grid-template-columns: 1fr;
	}

	.download-card dl {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
}
