.dsd-sc-001,
.dsd-sc-001 * {
	box-sizing: border-box;
}

.dsd-sc-001 {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: var(--d-section-top) var(--d-side-padding) var(--d-section-bottom);
	background: #fff !important;
	color: var(--color-title);
	font-family: var(--font-family);
	overflow: hidden;
}

.dsd-sc-001.is-full-bleed {
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
}

/* Normal content width: mirrors the theme container (1232 / 960 / 720 / 540). */
.dsd-sc-001.is-boxed {
	left: auto;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 576px)  { .dsd-sc-001.is-boxed { max-width: 540px; } }
@media (min-width: 768px)  { .dsd-sc-001.is-boxed { max-width: 720px; } }
@media (min-width: 1024px) { .dsd-sc-001.is-boxed { max-width: 960px; } }
@media (min-width: 1200px) { .dsd-sc-001.is-boxed { max-width: 1232px; } }

.dsd-sc-001__header {
	max-width: max(var(--d-header-max, var(--header-max, 920px)), var(--d-subtitle-max, 0px));
	margin: 0 auto var(--header-mb, 36px);
	padding: var(--box-pad, 0);
	text-align: var(--header-align, center);
	background: var(--box-bg, transparent);
	border: var(--box-bw, 0) var(--box-bs, solid) var(--box-bc, #0d0d0d);
	border-radius: var(--box-radius, 0);
}
.dsd-sc-001__eyebrow,
.dsd-sc-001__heading,
.dsd-sc-001__subtitle {
	display: block;
	background: var(--el-bg, transparent);
	padding: var(--el-pad, 0);
	border: var(--el-bw, 0) var(--el-bs, solid) var(--el-bc, #0d0d0d);
	border-radius: var(--el-radius, 0);
}
.dsd-sc-001__eyebrow  { --el-bg: var(--eyebrow-bg);  --el-pad: var(--eyebrow-pad);  --el-bw: var(--eyebrow-bw);  --el-bs: var(--eyebrow-bs);  --el-bc: var(--eyebrow-bc);  --el-radius: var(--eyebrow-radius); }
.dsd-sc-001__heading  { --el-bg: var(--heading-bg);  --el-pad: var(--heading-pad);  --el-bw: var(--heading-bw);  --el-bs: var(--heading-bs);  --el-bc: var(--heading-bc);  --el-radius: var(--heading-radius); }
.dsd-sc-001__subtitle { --el-bg: var(--subtitle-bg); --el-pad: var(--subtitle-pad); --el-bw: var(--subtitle-bw); --el-bs: var(--subtitle-bs); --el-bc: var(--subtitle-bc); --el-radius: var(--subtitle-radius); }
.dsd-sc-001__header[hidden] { display: none; }

.dsd-sc-001__eyebrow {
	margin: 0 0 var(--eyebrow-mb, 10px);
	color: var(--color-eyebrow, #0d0d0d);
	font-size: var(--d-eyebrow-size, 12px);
	font-weight: var(--eyebrow-weight, 700);
	letter-spacing: var(--eyebrow-ls, .14em);
	text-transform: var(--eyebrow-tt, uppercase);
}

.dsd-sc-001__heading {
	margin: 0;
	color: var(--color-heading, #0d0d0d);
	font-size: var(--d-heading-size, 44px);
	font-weight: var(--heading-weight, 500);
	line-height: var(--d-heading-line, 1.15);
	letter-spacing: var(--heading-ls, 0);
	text-transform: var(--heading-tt, none);
}

.dsd-sc-001__subtitle {
	max-width: var(--d-subtitle-max, var(--subtitle-max, 720px));
	margin: var(--subtitle-mt, 14px) auto 0;
	color: var(--color-subtitle, #444);
	font-size: var(--d-subtitle-size, 16px);
	font-weight: var(--subtitle-weight, 400);
	line-height: var(--d-subtitle-line, 1.6);
	letter-spacing: var(--subtitle-ls, 0);
}
.dsd-sc-001__header[style*="--header-align:left"] .dsd-sc-001__subtitle,
.dsd-sc-001[style*="--header-align:left"] .dsd-sc-001__subtitle { margin-left: 0; }
.dsd-sc-001[style*="--header-align:right"] .dsd-sc-001__subtitle { margin-right: 0; }

.dsd-sc-001__viewport {
	width: 100%;
	padding-bottom: var(--d-section-bottom);
	margin-bottom: calc(-1 * var(--d-section-bottom));
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
	touch-action: pan-y pinch-zoom;
	cursor: grab;
	background: #fff;
}

.dsd-sc-001.has-hidden-scrollbar .dsd-sc-001__viewport {
	scrollbar-width: none;
}

.dsd-sc-001.has-hidden-scrollbar .dsd-sc-001__viewport::-webkit-scrollbar {
	display: none;
}

.dsd-sc-001.is-dragging .dsd-sc-001__viewport {
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
}

.dsd-sc-001__track {
	display: flex;
	align-items: stretch;
	width: max-content;
	min-width: 100%;
	gap: var(--d-gap);
	background: #fff;
}

.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__header,
.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__viewport {
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(100vw, 0, 0);
	transition:
		transform var(--entrance-duration) cubic-bezier(.22, .61, .36, 1),
		visibility 0s linear var(--entrance-duration);
	will-change: transform;
}

.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__header,
.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__viewport {
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	transition-delay: 0s, 0s;
}

.dsd-sc-001__card {
	display: flex;
	flex-direction: column;
	flex: 0 0 var(--d-card-width);
	width: var(--d-card-width);
	min-width: 0;
	margin: 0;
	background: var(--color-card-bg);
	border: var(--card-border-width) solid var(--card-border-color);
	border-radius: var(--card-radius);
	box-shadow: none;
	overflow: visible;
	scroll-snap-align: start;
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.dsd-sc-001__card:hover {
	transform: translateY(calc(-1 * var(--hover-lift)));
}

.dsd-sc-001__media {
	position: relative;
	z-index: 2;
	height: var(--d-image-height);
	min-height: 0;
	background: #eceae7;
	border-radius: var(--card-radius) var(--card-radius) 0 0;
	overflow: hidden;
}

.dsd-sc-001__image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.dsd-sc-001__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transform: scale(1);
	transition: transform 550ms cubic-bezier(.2,.7,.2,1);
}

.dsd-sc-001__card:hover .dsd-sc-001__image {
	transform: scale(var(--image-zoom));
}

.dsd-sc-001__badge {
	position: absolute;
	top: var(--badge-top);
	left: var(--badge-left);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: var(--badge-min-height);
	padding: var(--badge-pad-y) var(--badge-pad-x);
	background: var(--color-badge-bg);
	color: var(--color-badge-text);
	border-radius: var(--badge-radius);
	font-size: var(--badge-font-size);
	font-weight: 500;
	line-height: 1;
}

.dsd-sc-001__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: var(--d-body-min-height);
	padding: var(--d-body-top) var(--d-body-right) var(--d-body-bottom) var(--d-body-left);
	background: var(--color-card-bg);
	border-radius: 0 0 var(--card-radius) var(--card-radius);
	box-shadow: var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-spread) var(--shadow-display);
	text-align: var(--text-align);
}

.dsd-sc-001__copy {
	flex: 1 1 auto;
}

/* Card element switches: when a card's body loses its text or its button, the reserved
   minimum height collapses so the remaining content is not left floating in empty space. */
.dsd-sc-001__card.has-no-copy .dsd-sc-001__body,
.dsd-sc-001__card.has-no-button .dsd-sc-001__body {
	min-height: 0;
}

.dsd-sc-001__card.has-no-copy .dsd-sc-001__body {
	justify-content: center;
}

.dsd-sc-001__card.is-media-only .dsd-sc-001__body {
	display: none;
}

.dsd-sc-001__card.is-media-only .dsd-sc-001__media {
	border-radius: var(--card-radius);
	box-shadow: var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-spread) var(--shadow-display);
}

.dsd-sc-001__title {
	margin: 0;
	color: var(--color-title);
	font-family: inherit;
	font-size: var(--d-title-size);
	font-weight: var(--title-weight);
	line-height: var(--d-title-line);
}

.dsd-sc-001__meta {
	margin: var(--meta-gap-top) calc(-1 * var(--d-body-right)) var(--meta-gap-bottom) 0;
	color: var(--color-meta);
	font-size: var(--d-meta-size);
	font-weight: var(--meta-weight);
	line-height: var(--d-meta-line);
}

.dsd-sc-001__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--d-button-height);
	min-height: var(--d-button-height);
	padding: var(--button-pad-y) var(--button-pad-x);
	background: var(--color-button-bg);
	color: var(--color-button-text);
	border: var(--button-border) solid var(--color-button-border);
	border-radius: var(--button-radius);
	font-size: var(--d-button-size);
	font-weight: var(--button-weight);
	line-height: 1;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.dsd-sc-001__button:hover,
.dsd-sc-001__button:focus-visible {
	background: var(--color-button-hover-bg);
	color: var(--color-button-hover-text);
	border-color: var(--color-button-hover-border);
	text-decoration: none;
}

.dsd-sc-001__arrow {
	position: absolute;
	top: calc(var(--d-section-top) + var(--d-arrow-top));
	z-index: 5;
	display: var(--show-d-arrows);
	align-items: center;
	justify-content: center;
	width: var(--d-arrow-size);
	height: var(--d-arrow-size);
	padding: 0;
	background: var(--color-arrow-bg);
	color: var(--color-arrow-text);
	border: var(--arrow-border-width) solid var(--color-arrow-border);
	border-radius: 50%;
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 160ms ease, background-color 160ms ease;
}

.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__arrow {
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(100vw, -50%, 0);
	transition:
		transform var(--entrance-duration) cubic-bezier(.22, .61, .36, 1),
		visibility 0s linear var(--entrance-duration),
		opacity 160ms ease,
		background-color 160ms ease;
	will-change: transform;
}

.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__arrow {
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, -50%, 0);
	transition-delay: 0s, 0s, 0s, 0s;
}

.dsd-sc-001__arrow--prev {
	left: var(--d-arrow-edge);
}

.dsd-sc-001__arrow--next {
	right: var(--d-arrow-edge);
}

.dsd-sc-001__arrow svg {
	width: var(--arrow-icon-size);
	height: var(--arrow-icon-size);
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: var(--arrow-stroke-width);
}

.dsd-sc-001__arrow:hover {
	background: var(--color-card-bg);
}

.dsd-sc-001__arrow:disabled {
	opacity: .28;
	cursor: default;
}

.dsd-sc-001__arrow[hidden] {
	display: none !important;
}

.dsd-sc-001 a:focus-visible,
.dsd-sc-001 button:focus-visible,
.dsd-sc-001__viewport:focus-visible {
	outline: var(--focus-width) solid var(--color-focus);
	outline-offset: var(--focus-offset);
}

.dsd-sc-001 .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1024px) {
	.dsd-sc-001 {
		padding: var(--t-section-top) var(--t-side-padding) var(--t-section-bottom);
	}
	.dsd-sc-001__header { max-width: max(var(--t-header-max, var(--header-max)), var(--t-subtitle-max, 0px)); }
	.dsd-sc-001__heading { font-size: var(--t-heading-size); line-height: var(--t-heading-line); }
	.dsd-sc-001__subtitle { max-width: var(--t-subtitle-max, var(--subtitle-max)); font-size: var(--t-subtitle-size); line-height: var(--t-subtitle-line); }
	.dsd-sc-001__eyebrow { font-size: var(--t-eyebrow-size); }

	.dsd-sc-001__track {
		gap: var(--t-gap);
	}

	.dsd-sc-001__viewport {
		padding-bottom: var(--t-section-bottom);
		margin-bottom: calc(-1 * var(--t-section-bottom));
	}

	.dsd-sc-001__card {
		flex-basis: var(--t-card-width);
		width: var(--t-card-width);
	}

	.dsd-sc-001__media { height: var(--t-image-height); }
	.dsd-sc-001__body {
		min-height: var(--t-body-min-height);
		padding: var(--t-body-top) var(--t-body-right) var(--t-body-bottom) var(--t-body-left);
	}
	.dsd-sc-001__title { font-size: var(--t-title-size); line-height: var(--t-title-line); }
	.dsd-sc-001__meta { font-size: var(--t-meta-size); line-height: var(--t-meta-line); }
	.dsd-sc-001__meta { margin-right: calc(-1 * var(--t-body-right)); }
	.dsd-sc-001__button { height: var(--t-button-height); min-height: var(--t-button-height); font-size: var(--t-button-size); }
	.dsd-sc-001__arrow {
		top: calc(var(--t-section-top) + var(--t-arrow-top));
		display: var(--show-t-arrows);
		width: var(--t-arrow-size);
		height: var(--t-arrow-size);
	}
	.dsd-sc-001__arrow--prev { left: var(--t-arrow-edge); }
	.dsd-sc-001__arrow--next { right: var(--t-arrow-edge); }
}

@media (max-width: 767px) {
	.dsd-sc-001 {
		padding: var(--p-section-top) var(--p-side-padding) var(--p-section-bottom);
	}

	.dsd-sc-001__header { max-width: max(var(--p-header-max, var(--header-max)), var(--p-subtitle-max, 0px)); }
	.dsd-sc-001__heading { font-size: var(--p-heading-size); line-height: var(--p-heading-line); }
	.dsd-sc-001__subtitle { max-width: var(--p-subtitle-max, var(--subtitle-max)); font-size: var(--p-subtitle-size); line-height: var(--p-subtitle-line); }
	.dsd-sc-001__eyebrow { font-size: var(--p-eyebrow-size); }
	.dsd-sc-001__viewport {
		padding-bottom: var(--p-section-bottom);
		margin-bottom: calc(-1 * var(--p-section-bottom));
	}
	.dsd-sc-001__track { gap: var(--p-gap); }
	.dsd-sc-001__card {
		flex-basis: min(var(--p-card-width), calc(100vw - (2 * var(--p-side-padding))));
		width: min(var(--p-card-width), calc(100vw - (2 * var(--p-side-padding))));
	}
	.dsd-sc-001__media { height: var(--p-image-height); }
	.dsd-sc-001__body {
		min-height: var(--p-body-min-height);
		padding: var(--p-body-top) var(--p-body-right) var(--p-body-bottom) var(--p-body-left);
	}
	.dsd-sc-001__title { font-size: var(--p-title-size); line-height: var(--p-title-line); }
	.dsd-sc-001__meta { font-size: var(--p-meta-size); line-height: var(--p-meta-line); }
	.dsd-sc-001__meta { margin-right: calc(-1 * var(--p-body-right)); }
	.dsd-sc-001__button { height: var(--p-button-height); min-height: var(--p-button-height); font-size: var(--p-button-size); }
	.dsd-sc-001__arrow {
		top: calc(var(--p-section-top) + var(--p-arrow-top));
		display: var(--show-p-arrows);
		width: var(--p-arrow-size);
		height: var(--p-arrow-size);
	}
	.dsd-sc-001__arrow--prev { left: var(--p-arrow-edge); }
	.dsd-sc-001__arrow--next { right: var(--p-arrow-edge); }
}

@media (prefers-reduced-motion: reduce) {
	.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__header,
	.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__viewport,
	.dsd-sc-001.is-awaiting-reveal .dsd-sc-001__arrow,
	.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__header,
	.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__viewport,
	.dsd-sc-001.is-awaiting-reveal.is-revealed .dsd-sc-001__arrow {
		transform: none !important;
		visibility: visible !important;
	}

	.dsd-sc-001 *,
	.dsd-sc-001 *::before,
	.dsd-sc-001 *::after {
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
	}
}
