	.gallery-carousel {
		--gallery-bleed: clamp(1.5rem, 4vw, 4.5rem);
		--gallery-card-max-width: 22rem;
		--gallery-media-height: 19rem;
		margin-bottom: 2.8rem;
		margin-top: 0.4em;
		margin-left: calc(-1 * var(--gallery-bleed));
		margin-right: calc(-1 * var(--gallery-bleed));
		padding: 0 4.25rem;
		position: relative;
		text-align: left;
	}

	.gallery-viewport {
		cursor: grab;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0.35rem 0 0.5rem;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x pan-y;
	}

	.gallery-viewport::-webkit-scrollbar {
		display: none;
	}

	.gallery-viewport:focus-visible {
		outline: 3px solid #8ebebc;
		outline-offset: 3px;
	}

	.gallery-carousel.is-dragging .gallery-viewport {
		cursor: grabbing;
		user-select: none;
	}

	.gallery-track {
		align-items: stretch;
		display: flex;
		gap: 1.35rem;
		width: max-content;
	}

	.gallery-card {
		display: flex;
		flex: 0 0 auto;
		flex-direction: column;
		height: var(--gallery-card-uniform-height, auto);
		margin-bottom: 0;
		max-width: min(var(--gallery-card-max-width), 78vw);
		min-width: 0;
		width: calc(var(--gallery-media-height) * var(--gallery-card-aspect, 1));
	}

	.gallery-card-media {
		background: transparent;
		border: 0;
		display: block;
		line-height: 0;
		min-height: 0;
		padding: 0;
	}

	.gallery-card-media img {
		border-radius: 0;
		display: block;
		height: auto;
		max-height: var(--gallery-media-height);
		-webkit-user-drag: none;
		user-select: none;
		width: 100%;
	}

	.gallery-card figcaption {
		flex: 1 1 auto;
	}

	.gallery-nav {
		align-items: center;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: #476260 !important;
		display: inline-flex;
		height: 3rem;
		justify-content: center;
		overflow: hidden;
		padding: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 1.85rem;
		z-index: 2;
		-moz-transition: background-color 0.18s ease, width 0.18s ease, color 0.18s ease;
		-webkit-transition: background-color 0.18s ease, width 0.18s ease, color 0.18s ease;
		-ms-transition: background-color 0.18s ease, width 0.18s ease, color 0.18s ease;
		transition: background-color 0.18s ease, width 0.18s ease, color 0.18s ease;
	}

	.gallery-nav:hover {
		background: rgba(111, 138, 135, 0.18);
		color: #314846 !important;
		width: 2.45rem;
	}

	.gallery-nav:active {
		background: rgba(111, 138, 135, 0.24);
		color: #314846 !important;
		width: 2.45rem;
	}

	.gallery-nav:focus-visible {
		outline: 3px solid #8ebebc;
		outline-offset: 3px;
	}

	.gallery-nav-prev {
		left: 1rem;
	}

	.gallery-nav-next {
		right: 1rem;
	}

	.gallery-nav .icon:before {
		font-size: 1.35rem;
		line-height: 1;
		text-shadow: 0 0.08em 0.18em rgba(255, 255, 255, 0.6);
	}

	@media screen and (min-width: 961px) and (max-width: 1320px) {
		.gallery-carousel {
			--gallery-bleed: 1.5rem;
			--gallery-card-max-width: 21rem;
			--gallery-media-height: 16.75rem;
			padding: 0 3.3rem;
		}

		.gallery-track {
			gap: 1.05rem;
		}

		.gallery-nav {
			height: 2.6rem;
			width: 1.7rem;
		}
	}

	@media screen and (max-width: 736px) {
		.gallery-carousel {
			--gallery-bleed: 0;
			--gallery-card-max-width: min(18.5rem, 84vw);
			--gallery-media-height: 13.9rem;
			margin-bottom: 2.15rem;
			padding: 0 2.8rem;
		}

		.gallery-track {
			gap: 0.9rem;
		}

		.gallery-card figcaption {
			font-size: 0.78em;
			line-height: 1.55em;
		}

		.gallery-nav {
			height: 2.25rem;
			width: 1.5rem;
		}

		.gallery-nav .icon:before {
			font-size: 1.1rem;
		}
	}
