.fdp {
	--fdp-section-bg: transparent;
	--fdp-heading: #39393e;
	--fdp-title: #ffffff;
	--fdp-shade-c: #1d1d20;
	--fdp-accent: #f21818;
	--fdp-accent-text: #ffffff;
		--fdp-h: 520px;
	--fdp-h-r: 260px;
	--fdp-h-m: 200px;
	--fdp-shade: .45;
	--fdp-tsize: 44px;
	--fdp-gap: 0px;
	background: var(--fdp-section-bg);
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	box-sizing: border-box;
	font-family: inherit;
}
.fdp *, .fdp *::before, .fdp *::after { box-sizing: border-box; }

.fdp-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.fdp-head:not(:has(.fdp-heading)) { justify-content: flex-end; }
.fdp-heading { margin: 0; color: var(--fdp-heading); font-size: clamp(28px, 4vw, 48px); line-height: 1.1; font-weight: 800; text-transform: none; text-align: left; }
.fdp .fdp-track {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--fdp-gap);
}
.fdp.lay-rows .fdp-track { grid-template-columns: 1fr; }

.fdp-panel {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: var(--fdp-h);
	overflow: hidden;
	background: linear-gradient(160deg, #5a5a62, #2b2b30);
	color: var(--fdp-title);
	text-decoration: none !important;
	outline-offset: -4px;
}
a.fdp-panel, div.fdp-panel { cursor: default; }
a.fdp-panel { cursor: pointer; }

.fdp-img-el {
	position: absolute; inset: 0;
	width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover; display: block;
	transition: transform .9s cubic-bezier(.2, .7, .2, 1), filter .6s;
}
.fdp-shade {
	position: absolute; inset: 0;
	background: var(--fdp-shade-c);
	opacity: var(--fdp-shade);
	transition: opacity .5s;
}
.fdp-slide {
	position: absolute; inset: 0;
	background: var(--fdp-accent);
	opacity: .82;
	transform: translateY(101%);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.fdp-title {
	position: relative; z-index: 2;
	display: block;
	padding: 40px 36px;
	overflow-wrap: break-word;
	font-size: min(var(--fdp-tsize), 2.6vw);
	line-height: 1.12;
	font-weight: 800;
	color: var(--fdp-title);
	text-transform: none;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
}
.fdp-title::after {
	content: "";
	display: block;
	width: 0; height: 5px;
	margin-top: 18px;
	background: var(--fdp-accent);
	transition: width .45s ease;
}

.fdp.fx-gray .fdp-img-el { filter: grayscale(1); }

@media (hover: hover) {
	.fdp.fx-zoomdark .fdp-panel:hover .fdp-img-el, .fdp.fx-zoomdark .fdp-panel:focus-visible .fdp-img-el,
	.fdp.fx-zoom .fdp-panel:hover .fdp-img-el, .fdp.fx-zoom .fdp-panel:focus-visible .fdp-img-el { transform: scale(1.09); }
	.fdp.fx-zoomdark .fdp-panel:hover .fdp-shade, .fdp.fx-zoomdark .fdp-panel:focus-visible .fdp-shade,
	.fdp.fx-brighten .fdp-panel:hover .fdp-shade, .fdp.fx-brighten .fdp-panel:focus-visible .fdp-shade { opacity: calc(var(--fdp-shade) * .35); }
	.fdp.fx-slide .fdp-panel:hover .fdp-slide, .fdp.fx-slide .fdp-panel:focus-visible .fdp-slide { transform: translateY(0); }
	.fdp.fx-gray .fdp-panel:hover .fdp-img-el, .fdp.fx-gray .fdp-panel:focus-visible .fdp-img-el { filter: grayscale(0); transform: scale(1.04); }
	.fdp.fx-line .fdp-panel:hover .fdp-title::after, .fdp.fx-line .fdp-panel:focus-visible .fdp-title::after { width: 84px; }
}


.fdp.lay-rows .fdp-panel { min-height: var(--fdp-h-r); }
.fdp-head { padding: 0 24px; }

@media (max-width: 767px) {
	.fdp .fdp-track, .fdp.lay-rows .fdp-track { grid-template-columns: 1fr; }
	.fdp { --fdp-gap: 0px; }
	.fdp-heading { font-size: clamp(24px, 7vw, 30px); }
	.fdp .fdp-panel, .fdp.lay-rows .fdp-panel { min-height: var(--fdp-h-m); }
	.fdp-title { font-size: min(calc(var(--fdp-tsize) * .6), 7vw); padding: 20px 22px; }
}
