.ysl-home-pattern {
	width: 100%;
	max-width: none !important;
}

.ysl-home-pattern > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
}

.ysl-home-hero {
	position: relative;
	width: 100%;
	max-width: none !important;
	min-height: 750px;
	overflow: hidden;
	background: var(--ysl-ink);
}

.ysl-home-hero > .wp-block-group__inner-container,
.ysl-home-hero__slides,
.ysl-home-hero__slides > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
	min-height: inherit;
}

.ysl-home-hero__slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: none !important;
	min-height: inherit;
	margin: 0;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: opacity 520ms ease;
}

.ysl-home-hero__slide.wp-block-cover {
	justify-content: flex-start;
	padding: 0 max(40px, calc((100% - var(--ysl-container)) / 2));
}

.ysl-home-hero__slide .wp-block-cover__image-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ysl-home-hero__slide::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(8, 4, 5, 0.82), rgba(8, 4, 5, 0.38) 58%, rgba(8, 4, 5, 0.18));
}

.ysl-home-hero__slide > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: min(760px, 100%) !important;
	max-width: 760px !important;
	margin: 0 !important;
}

.ysl-home-hero__slide.is-active {
	position: relative;
	z-index: 1;
	opacity: 1;
}

.ysl-home-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none !important;
	min-height: 440px;
	margin: 0;
	padding: 108px 0;
	color: #fff;
}

.ysl-home-hero__inner > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 760px;
	min-height: 224px;
	margin-left: 0 !important;
	margin-right: auto !important;
}

.ysl-home-hero h1 {
	margin: 0 0 22px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 64px;
	line-height: 1.02;
	letter-spacing: 0;
	color: #fff;
}

.ysl-home-hero p:not(.ysl-section-eyebrow) {
	max-width: 700px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 17px;
	line-height: 1.78;
}

.ysl-home-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	background: rgba(8, 4, 5, 0.28);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 160ms ease, border-color 160ms ease;
}

.ysl-home-hero__arrow::before {
	content: "";
	width: 12px;
	height: 12px;
	border-top: 3px solid currentColor;
	border-right: 3px solid currentColor;
}

.ysl-home-hero__arrow--prev::before {
	transform: translateX(2px) rotate(-135deg);
}

.ysl-home-hero__arrow--next::before {
	transform: translateX(-2px) rotate(45deg);
}

.ysl-home-hero__arrow:hover,
.ysl-home-hero__arrow:focus {
	border-color: var(--ysl-orange);
	background: var(--ysl-orange);
	outline: none;
}

.ysl-home-hero__arrow--prev {
	left: max(22px, calc((100% - var(--ysl-container)) / 2 - 76px));
}

.ysl-home-hero__arrow--next {
	right: max(22px, calc((100% - var(--ysl-container)) / 2 - 76px));
}

.ysl-home-actions {
	display: flex;
	gap: 12px;
	margin-top: 28px;
}

.ysl-home-button .wp-block-button__link {
	padding: 14px 24px;
	border: 1px solid var(--ysl-orange);
	border-radius: 0;
	background: var(--ysl-orange);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.ysl-home-button .wp-block-button__link:hover,
.ysl-home-button .wp-block-button__link:focus {
	border-color: var(--ysl-orange-dark);
	background: var(--ysl-orange-dark);
	color: #fff;
}

.ysl-home-button--secondary .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.52);
	background: transparent;
}

.ysl-home-button--secondary .wp-block-button__link:hover,
.ysl-home-button--secondary .wp-block-button__link:focus {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
}

.ysl-home-stats,
.ysl-home-about,
.ysl-home-section-head,
.ysl-home-product-grid,
.ysl-home-feature-grid,
.ysl-home-customers,
.ysl-home-cta {
	width: min(var(--ysl-container), calc(100% - 80px));
	margin-left: auto;
	margin-right: auto;
}

.ysl-home-stats {
	position: relative;
	z-index: 4;
	gap: 0;
	margin-top: -54px;
	margin-bottom: 88px;
	background: var(--ysl-white);
	box-shadow: 0 20px 50px rgba(8, 4, 5, 0.12);
}

.ysl-home-stats .wp-block-column {
	padding: 28px 30px;
	border-right: 1px solid var(--ysl-line);
}

.ysl-home-stats .wp-block-column:last-child {
	border-right: 0;
}

.ysl-home-stats h3 {
	margin: 0 0 6px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 42px;
	line-height: 1;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
}

.ysl-home-stats p {
	margin: 0;
	color: var(--ysl-muted);
	font-size: 14px;
	font-weight: 800;
}

.ysl-home-about,
.ysl-home-customers {
	align-items: center;
	gap: 70px;
	margin-bottom: 92px;
}

.ysl-home-about h2,
.ysl-home-section-head h2,
.ysl-home-customers h2,
.ysl-home-cta h2 {
	margin-top: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 42px;
	line-height: 1.06;
	letter-spacing: 0;
}

.ysl-home-about p:not(.ysl-section-eyebrow),
.ysl-home-section-head p:not(.ysl-section-eyebrow),
.ysl-home-customers p:not(.ysl-section-eyebrow),
.ysl-home-cta p:not(.ysl-section-eyebrow) {
	color: var(--ysl-muted);
	line-height: 1.78;
}

.ysl-home-category-band {
	width: 100%;
	max-width: none !important;
	margin: 0 0 92px;
	padding: 82px max(40px, calc((100% - var(--ysl-container)) / 2));
	background: var(--ysl-paper);
}

.ysl-home-product-section--alt {
	width: 100%;
	max-width: none !important;
	margin: 0 0 92px;
	padding: 82px 0;
	background: var(--ysl-paper);
}

.ysl-home-category-band > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
}

.ysl-home-product-section--alt > .wp-block-group__inner-container {
	width: min(var(--ysl-container), calc(100% - 80px));
	max-width: var(--ysl-container);
	margin-left: auto;
	margin-right: auto;
}

.ysl-home-product-section--alt .ysl-home-section-head,
.ysl-home-product-section--alt .ysl-home-product-grid,
.ysl-home-product-section--alt .ysl-home-product-actions {
	width: 100%;
	max-width: none;
}

.ysl-home-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 52px;
	align-items: end;
	margin-bottom: 36px;
}

.ysl-home-section-head--center {
	display: block;
	max-width: 800px;
	margin-bottom: 42px;
	text-align: center;
}

.ysl-home-category-grid,
.ysl-home-feature-grid {
	gap: 24px;
}

.ysl-home-category-grid--dynamic {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ysl-home-category-card {
	position: relative;
	display: flex;
	min-height: 260px;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	padding: 28px;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.ysl-home-category-card--link {
	text-decoration: none;
}

.ysl-home-category-card--link img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
}

.ysl-home-category-card--link:hover img {
	transform: scale(1.04);
}

.ysl-home-category-card.wp-block-cover {
	align-items: flex-end;
	padding: 28px;
}

.ysl-home-category-card .wp-block-cover__image-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ysl-home-category-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(8, 4, 5, 0.12), rgba(8, 4, 5, 0.78));
}

.ysl-home-category-card > .wp-block-group__inner-container,
.ysl-home-category-card > .wp-block-cover__inner-container,
.ysl-home-category-card__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
	color: #fff;
}

.ysl-home-category-card__content {
	display: grid;
	gap: 10px;
}

.ysl-home-category-card h3,
.ysl-home-category-card strong,
.ysl-home-feature-card h3,
.ysl-home-product-card h3 {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	line-height: 1.12;
	letter-spacing: 0;
}

.ysl-home-category-card strong {
	display: block;
	margin-bottom: 0;
}

.ysl-home-category-card p,
.ysl-home-category-card__content span {
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
	line-height: 1.6;
}

.ysl-home-product-section {
	margin-bottom: 92px;
}

.ysl-home-product-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 22px;
}

.ysl-home-product-grid > .wp-block-column {
	min-width: 0;
}

.ysl-home-product-card {
	height: 100%;
	border: 1px solid var(--ysl-line);
	background: var(--ysl-white);
	box-shadow: 0 18px 45px rgba(8, 4, 5, 0.05);
}

.ysl-home-product-card a {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.ysl-home-product-card figure {
	margin: 0;
}

.ysl-home-product-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.ysl-home-product-card > .wp-block-group__inner-container,
.ysl-home-product-card__body {
	padding: 0 20px 22px;
}

.ysl-home-product-card .ysl-card-label,
.ysl-home-product-card__body .ysl-card-label {
	margin-top: 18px;
}

.ysl-home-product-card p:last-child,
.ysl-home-product-card__body p:last-child {
	margin: 0;
	color: var(--ysl-muted);
	font-size: 14px;
	line-height: 1.55;
}

.ysl-home-product-actions {
	justify-content: center;
	margin-top: 34px;
}

.ysl-home-feature-card {
	height: 100%;
	padding: 32px;
	border: 1px solid var(--ysl-line);
	background: var(--ysl-white);
	box-shadow: 0 18px 45px rgba(8, 4, 5, 0.05);
}

.ysl-home-feature-number {
	margin: 0 0 18px;
	color: var(--ysl-orange);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 2px;
}

.ysl-home-feature-card p:last-child {
	margin-bottom: 0;
	color: var(--ysl-muted);
	line-height: 1.7;
}

.ysl-home-why {
	margin-bottom: 92px;
}

.ysl-home-customers {
	padding: 72px max(40px, calc((100% - var(--ysl-container)) / 2));
	width: 100%;
	max-width: none !important;
	background: var(--ysl-ink);
	color: rgba(255, 255, 255, 0.72);
}

.ysl-home-customers h2 {
	color: #fff;
}

.ysl-home-customers p:not(.ysl-section-eyebrow) {
	color: rgba(255, 255, 255, 0.72);
}

.ysl-home-customers figure {
	margin: 0;
	padding: 22px;
	background: #fff;
}

.ysl-home-customers img {
	width: 100%;
	height: auto;
}

.ysl-home-cta {
	margin-bottom: 100px;
	padding: 48px;
	background: var(--ysl-paper);
	box-shadow: 12px 12px 0 rgba(239, 108, 19, 0.16);
}


@media (max-width: 960px) {
	.ysl-home-category-grid--dynamic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.ysl-home-hero__inner,
	.ysl-home-stats,
	.ysl-home-about,
	.ysl-home-section-head,
	.ysl-home-product-grid,
	.ysl-home-feature-grid,
	.ysl-home-cta {
		width: min(var(--ysl-container), calc(100% - 40px));
	}

	.ysl-home-hero {
		min-height: 750px;
	}

	.ysl-home-hero__inner {
		min-height: 430px;
		padding: 82px 0 104px;
	}

	.ysl-home-hero__inner > .wp-block-group__inner-container {
		min-height: 300px;
	}

	.ysl-home-hero h1 {
		font-size: 42px;
	}

	.ysl-home-hero__arrow {
		top: auto;
		bottom: 48px;
		width: 42px;
		height: 42px;
		transform: none;
	}

	.ysl-home-hero__arrow--prev {
		left: 20px;
	}

	.ysl-home-hero__arrow--next {
		right: 20px;
	}

	.ysl-home-stats {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: -42px;
		margin-bottom: 54px;
	}

	.ysl-home-stats .wp-block-column {
		padding: 22px;
		border-right: 0;
		border-bottom: 1px solid var(--ysl-line);
	}

	.ysl-home-about,
	.ysl-home-customers {
		gap: 30px;
		margin-bottom: 54px;
	}

	.ysl-home-category-band,
	.ysl-home-product-section--alt,
	.ysl-home-customers {
		margin-bottom: 54px;
		padding: 54px 20px;
	}

	.ysl-home-product-section--alt > .wp-block-group__inner-container {
		width: 100%;
	}

	.ysl-home-section-head {
		display: block;
		margin-bottom: 30px;
	}

	.ysl-home-product-section,
	.ysl-home-why {
		margin-bottom: 54px;
	}

	.ysl-home-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.ysl-home-category-grid--dynamic {
		grid-template-columns: 1fr;
	}

	.ysl-home-category-grid,
	.ysl-home-feature-grid {
		gap: 18px;
	}

	.ysl-home-cta {
		margin-bottom: 70px;
		padding: 28px;
	}

	.ysl-home-about h2,
	.ysl-home-section-head h2,
	.ysl-home-customers h2,
	.ysl-home-cta h2 {
		font-size: 34px;
	}

	.ysl-home-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ysl-home-actions .wp-block-button,
	.ysl-home-actions .wp-block-button__link {
		width: 100%;
	}

	.ysl-home-product-card > .wp-block-group__inner-container {
		padding: 0 16px 18px;
	}
}
