.plo-hover {
	transition:
		background-color var(--plo-hover-duration, .35s) cubic-bezier(.22, .61, .36, 1),
		color var(--plo-hover-duration, .35s) cubic-bezier(.22, .61, .36, 1),
		border-color var(--plo-hover-duration, .35s) cubic-bezier(.22, .61, .36, 1),
		transform var(--plo-hover-duration, .35s) cubic-bezier(.22, .61, .36, 1),
		box-shadow var(--plo-hover-duration, .35s) cubic-bezier(.22, .61, .36, 1);
}

.plo-hover-invert:hover,
.plo-hover-invert:focus-within {
	background-color: var(--plo-hover-background, #171512) !important;
	border-color: var(--plo-hover-border, #171512) !important;
	color: var(--plo-hover-color, #FAF8F3) !important;
}

.plo-hover-invert:hover :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a),
.plo-hover-invert:focus-within :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a) {
	color: inherit !important;
	border-color: currentColor !important;
}

.plo-hover-motion:hover,
.plo-hover-motion:focus-within {
	transform: translateY(var(--plo-hover-y, -6px)) scale(var(--plo-hover-scale, 1));
	position: relative;
	z-index: 2;
}

.plo-hover-lift:hover,
.plo-hover-lift:focus-within {
	box-shadow: 0 18px 40px rgba(23, 21, 18, .14);
}

.plo-hover-underline:hover,
.plo-hover-underline:focus-within {
	border-bottom-color: var(--plo-hover-border, currentColor) !important;
}

.plo-hover-fade:hover,
.plo-hover-fade:focus-within {
	opacity: .78;
}

.plo-hover-has-background:hover,
.plo-hover-has-background:focus-within {
	background-color: var(--plo-hover-background) !important;
}

.plo-hover-has-color:hover,
.plo-hover-has-color:focus-within {
	color: var(--plo-hover-color) !important;
}

.plo-hover-has-border:hover,
.plo-hover-has-border:focus-within {
	border-color: var(--plo-hover-border) !important;
}

.plo-hover-has-background:hover :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a),
.plo-hover-has-background:focus-within :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a),
.plo-hover-has-color:hover :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a),
.plo-hover-has-color:focus-within :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a) {
	color: inherit !important;
}

.plo-hover-has-border:hover :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a),
.plo-hover-has-border:focus-within :is(.elementor-heading-title, .elementor-icon-list-text, .elementor-icon, .elementor-widget-text-editor, p, h1, h2, h3, h4, h5, h6, a) {
	border-color: currentColor !important;
}

/* A reusable three-column pattern for numbered matter listings. */
.plo-listing-row {
	display: grid !important;
	grid-template-columns: minmax(56px, 8%) minmax(300px, 32%) minmax(0, 1fr) !important;
	column-gap: clamp(28px, 4vw, 80px) !important;
	align-items: start !important;
}

.plo-listing-row > .elementor-element {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

.plo-listing-row > .elementor-widget-heading,
.plo-listing-row > .elementor-widget-text-editor {
	align-self: start;
}

@media (max-width: 1024px) {
	.plo-listing-row {
		grid-template-columns: 56px minmax(240px, 36%) minmax(0, 1fr) !important;
		column-gap: 36px !important;
	}
}

@media (max-width: 767px) {
	.plo-listing-row {
		grid-template-columns: 48px minmax(0, 1fr) !important;
		row-gap: 14px !important;
	}

	.plo-listing-row > .elementor-widget-text-editor {
		grid-column: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.plo-hover,
	.plo-hover:hover,
	.plo-hover:focus-within {
		transition: none !important;
		transform: none !important;
	}
}
