/* Top Photo Studio. Every selector is scoped to the fixed home-page registry. */
html body #body_wrap.home.page-id-19 picture[data-lm23-photo] {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	isolation: isolate;
}

html body #body_wrap.home.page-id-19 picture[data-lm23-photo] > img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: var(--lm23-pc-focus-x, 50%) var(--lm23-pc-focus-y, 50%) !important;
	transform: scale(var(--lm23-pc-zoom, 1)) !important;
	transform-origin: var(--lm23-pc-focus-x, 50%) var(--lm23-pc-focus-y, 50%) !important;
	animation: none !important;
	backface-visibility: hidden;
}

/* The recruit image was absolutely positioned before it became a picture. */
html body #body_wrap.home.page-id-19 picture.lm23-photo--recruit[data-lm23-photo] {
	position: absolute;
	inset: 0;
	z-index: -2 !important;
}

html body #body_wrap.home.page-id-19 picture.lm23-photo--recruit[data-lm23-photo] > img {
	z-index: 0 !important;
}

/* Salon pictures sit inside a link; give that intermediate box the card height. */
html body #body_wrap.home.page-id-19 .lm3-salon-card figure > a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

@media (max-width: 599px) {
	html body #body_wrap.home.page-id-19 picture[data-lm23-photo] > img {
		object-position: var(--lm23-sp-focus-x, 50%) var(--lm23-sp-focus-y, 50%) !important;
		transform: scale(var(--lm23-sp-zoom, 1)) !important;
		transform-origin: var(--lm23-sp-focus-x, 50%) var(--lm23-sp-focus-y, 50%) !important;
	}
}

/* Existing Hero Studio markup and saved x/y values stay fully compatible. */
html body #body_wrap.home.page-id-19 .lm3-hero picture.lm3-hero__media.lm6-hero__slide.lm18-hero__slide {
	overflow: hidden !important;
}

html body #body_wrap.home.page-id-19 .lm3-hero picture.lm3-hero__media.lm6-hero__slide.lm18-hero__slide img {
	position: absolute !important;
	inset: auto !important;
	left: clamp(
		calc(100% - var(--lm18-pc-size, 100%)),
		calc(0% - var(--lm18-pc-half, 0%) + var(--lm18-pc-x, 0%)),
		0%
	) !important;
	top: clamp(
		calc(100% - var(--lm18-pc-size, 100%)),
		calc(0% - var(--lm18-pc-half, 0%) + var(--lm18-pc-y, 0%)),
		0%
	) !important;
	width: var(--lm18-pc-size, 100%) !important;
	height: var(--lm18-pc-size, 100%) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: var(--lm18-pc-focus-x, 50%) var(--lm18-pc-focus-y, 50%) !important;
	transform: none !important;
	transform-origin: 50% 50% !important;
	animation: none !important;
}

@media (max-width: 599px) {
	html body #body_wrap.home.page-id-19 .lm3-hero picture.lm3-hero__media.lm6-hero__slide.lm18-hero__slide img {
		left: clamp(
			calc(100% - var(--lm18-sp-size, 100%)),
			calc(0% - var(--lm18-sp-half, 0%) + var(--lm18-sp-x, 0%)),
			0%
		) !important;
		top: clamp(
			calc(100% - var(--lm18-sp-size, 100%)),
			calc(0% - var(--lm18-sp-half, 0%) + var(--lm18-sp-y, 0%)),
			0%
		) !important;
		width: var(--lm18-sp-size, 100%) !important;
		height: var(--lm18-sp-size, 100%) !important;
		object-position: var(--lm18-sp-focus-x, 50%) var(--lm18-sp-focus-y, 50%) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body #body_wrap.home.page-id-19 .lm3-hero .lm18-hero__slide,
	html body #body_wrap.home.page-id-19 picture[data-lm23-photo] > img {
		transition: none !important;
	}
}

/*
 * Keep the editorial rail visible and moving even when one image is delayed.
 * The page's legacy initializer may still add is-ready/is-static, but motion
 * no longer depends on all 12 leading images decoding before its timeout.
 */
html body #body_wrap.home.page-id-19 .lm9-instagram .lm19-visualrail {
	opacity: 1 !important;
}

@keyframes lm23VisualRailContinuous {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-33.333333%, 0, 0); }
}

@media (prefers-reduced-motion: no-preference) {
	html body #body_wrap.home.page-id-19 .lm9-instagram .lm19-visualrail .lm19-visualrail__track {
		animation: lm23VisualRailContinuous 104s linear infinite !important;
		animation-play-state: running !important;
	}
}

@media (prefers-reduced-motion: no-preference) and (max-width: 767px) {
	html body #body_wrap.home.page-id-19 .lm9-instagram .lm19-visualrail .lm19-visualrail__track {
		animation-duration: 76s !important;
	}
}
