

.llu-section {
	--llu-hs: 1;
	--llu-bs: 1;
	
	--llu-fh-vh: 58vh;
	--llu-fh-vw: 92vw;
	
	--llu-ow: 1;
	--llu-overlap: calc( var( --llu-overlap-set, 14px ) * var( --llu-ow ) );
	--llu-gutter: calc( ( var( --llu-canvas, 1440px ) - var( --llu-content, 1200px ) ) / 2 );

	width: 100%;
	padding: var( --llu-pad-y, 60px ) 0;
	background-color: var( --llu-section-bg, #FFFFFF );
	font-family: 'Google Sans', sans-serif;
	box-sizing: border-box;
}
.llu-section * { box-sizing: border-box; }

.llu-container {
	max-width: var( --llu-canvas, 1440px );
	margin: 0 auto;
	padding: 0 var( --llu-gutter );
}

.llu-section h2,
.llu-section p { margin: 0; padding: 0; }
.llu-section h2 { font-family: inherit; letter-spacing: 0; }
.llu-section button {
	font: inherit;
	color: inherit;
	appearance: none;
	-webkit-appearance: none;
}

.llu-section .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	white-space: nowrap;
	border: 0;
}

/* Headline block */

.llu-head {
	
	max-width: 921px;
	margin: 0 auto;
	text-align: center;
}

.llu-heading {
	
	font-family: 'Anybody', sans-serif !important;
	font-weight: 700;
	line-height: 1.025;
	text-transform: uppercase;
	color: var( --llu-heading, #333333 );
	font-size: max( 24px, calc( var( --llu-heading-fs, 40px ) * var( --llu-hs ) ) );
}

.llu-subtitle {
	font-style: italic;
	font-weight: 400;
	line-height: 1.25;
	color: var( --llu-subtitle, #333333 );
	font-size: max( 14px, calc( var( --llu-subtitle-fs, 20px ) * var( --llu-hs ) ) );
}

.llu-intro { margin-top: 20px; }
.llu-intro p {
	font-weight: 400;
	line-height: 1.25;
	color: var( --llu-intro, #9F9F9F );
	font-size: max( 13px, calc( var( --llu-intro-fs, 20px ) * var( --llu-bs ) ) );
}

.llu-intro p + p { margin-top: 10px; }

/* Slider */

.llu-slider {
	position: relative;
	margin-top: var( --llu-slider-gap, 40px );
}

.llu-stage {
	position: relative;
	overflow: hidden;
	border: 0;
	background: transparent;
	border-radius: var( --llu-stage-radius, 20px );
}
.llu-stage.llu-has-frame {
	background: var( --llu-stage-bg, #FFFFFF );
	border: 1px solid var( --llu-stage-border, #EEEEEE );
}

.llu-track {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	will-change: transform;
	transition: transform .62s cubic-bezier( .22, .8, .26, 1 );
}

.llu-slide {
	
	flex: 0 0 auto;
	position: relative;
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	
	margin-inline: calc( var( --llu-overlap, 14px ) / -2 );
}

.llu-slide,
.llu-slide:hover,
.llu-slide:focus,
.llu-slide:active,
.llu-slide:focus-visible {
	border: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	text-shadow: none;
	transform: none;
}

.llu-slide:focus-visible .llu-figure {
	outline: 3px solid var( --llu-heading, #333333 );
	outline-offset: 4px;
}

.llu-figure {
	display: block;

	
	height: min( var( --llu-frame-set, 552px ), var( --llu-fh-vh, 58vh ), var( --llu-fh-vw, 92vw ) );
	width: auto;

	transform: scale( var( --llu-side-scale, .83 ) );
	opacity: var( --llu-side-opacity, .3 );
	transition: transform .62s cubic-bezier( .22, .8, .26, 1 ),
		opacity .5s ease,
		box-shadow .5s ease;
}
.llu-slide.is-active .llu-figure {
	transform: scale( 1 );
	opacity: 1;
	
	box-shadow: 0 0 24.8px 7px rgba( 0, 0, 0, .04 );
}
.llu-slide:hover .llu-figure { opacity: calc( var( --llu-side-opacity, .3 ) + .25 ); }
.llu-slide.is-active:hover .llu-figure { opacity: 1; }

.llu-figure img {
	display: block;
	height: 100% !important;
	width: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
}

.llu-figure img:not( [width] ) {
	aspect-ratio: var( --llu-ratio, 423 / 552 );
}

.llu-slide.is-active { cursor: zoom-in; }

.llu-stage.is-shifting .llu-track,
.llu-stage.is-shifting .llu-figure { transition: none !important; }

.llu-stage.is-grabbable { cursor: grab; touch-action: pan-y; }

.llu-stage.is-grabbable .llu-slide,
.llu-stage.is-grabbable .llu-slide.is-active { cursor: grab; }

.llu-stage.is-grabbing { cursor: grabbing; }
.llu-stage.is-grabbing .llu-slide,
.llu-stage.is-grabbing .llu-slide.is-active { cursor: grabbing; }
.llu-stage.is-grabbing,
.llu-stage.is-grabbing * { user-select: none; -webkit-user-select: none; }
.llu-stage img { -webkit-user-drag: none; }

/* Arrows */

.llu-section .llu-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	padding: 0;
	border: 1px solid var( --llu-stage-border, #EEEEEE );
	border-radius: 50%;
	background: rgba( 255, 255, 255, .92 );
	color: var( --llu-heading, #333333 );
	cursor: pointer;
	box-shadow: 0 4px 14px rgba( 16, 24, 40, .08 );
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.llu-arrow:hover { transform: scale( 1.06 ); box-shadow: 0 8px 20px rgba( 16, 24, 40, .12 ); }
.llu-arrow:disabled { opacity: .35; cursor: default; transform: none; box-shadow: none; }
.llu-arrow-prev { left: 10px; }
.llu-arrow-next { right: 10px; }

/* Captions */

.llu-captions {
	display: grid;
	
	margin: 21px auto 0;
	max-width: 375px;
	text-align: center;
}
.llu-caption {
	grid-area: 1 / 1;
	font-weight: 500;
	line-height: 1.25;
	text-transform: capitalize;
	color: var( --llu-caption, #333333 );
	font-size: max( 14px, calc( var( --llu-caption-fs, 20px ) * var( --llu-bs ) ) );
	opacity: 0;
	visibility: hidden;
	transform: translateY( 6px );
	transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
}
.llu-caption.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY( 0 );
	transition-delay: 0s;
}

/* Dots */
.llu-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.llu-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #D3D9E4;
	cursor: pointer;
	transition: width .3s ease, background-color .3s ease;
}
.llu-dot.is-active {
	width: 26px;
	background-image: linear-gradient( 90deg, #2663EB 0%, #773DED 100% );
}
.llu-dot:focus-visible { outline: 2px solid #2663EB; outline-offset: 3px; }

.llu-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	
	padding: clamp( 24px, 4vw, 48px );
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .28s ease, visibility 0s linear .28s;
}
.llu-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .28s ease;
}

.llu-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba( 12, 16, 28, .82 );
	cursor: zoom-out;
}

.llu-lightbox__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 100%;
	max-height: 100%;
	transform: scale( .96 );
	transition: transform .28s cubic-bezier( .22, .8, .26, 1 );
}
.llu-lightbox.is-open .llu-lightbox__panel { transform: scale( 1 ); }

.llu-lightbox__img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: min( 1200px, 92vw ) !important;
	max-height: 82vh !important;
	object-fit: contain !important;
	border-radius: 10px;
	background: #FFFFFF;
	box-shadow: 0 30px 80px rgba( 0, 0, 0, .45 );

	
	transform-origin: center center;
	transition: transform .18s ease;
	will-change: transform;
}
.llu-lightbox.is-panning .llu-lightbox__img { transition: none; }

.llu-lightbox.is-zoomed .llu-lightbox__img { cursor: grab; }
.llu-lightbox.is-zoomed.is-panning .llu-lightbox__img { cursor: grabbing; }
.llu-lightbox.is-zoomed .llu-lightbox__img,
.llu-lightbox.is-zoomed .llu-lightbox__img * { user-select: none; -webkit-user-select: none; }

.llu-lightbox__caption {
	max-width: min( 1200px, 92vw );
	margin: 0;
	text-align: center;
	font-weight: 500;
	line-height: 1.3;
	text-transform: capitalize;
	color: #FFFFFF;
	font-size: max( 14px, calc( var( --llu-caption-fs, 20px ) * var( --llu-bs ) ) );
}
.llu-lightbox__caption:empty { display: none; }

.llu-section .llu-lightbox__close,
.llu-section .llu-lightbox__close:hover,
.llu-section .llu-lightbox__close:focus,
.llu-section .llu-lightbox__close:active,
.llu-section .llu-lightbox__close:focus-visible {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid rgba( 255, 255, 255, .92 );
	border-radius: 50%;
	background: #0C101C;
	background-image: none;
	box-shadow: 0 2px 10px rgba( 0, 0, 0, .45 );
	outline: none;
	color: #FFFFFF;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease;
}
.llu-section .llu-lightbox__close:hover { background: #1B2233; transform: scale( 1.08 ); }
.llu-section .llu-lightbox__close:focus-visible { box-shadow: 0 0 0 3px rgba( 255, 255, 255, .55 ); }
.llu-lightbox__close svg { display: block; width: 20px; height: 20px; }

.llu-lightbox__tools {
	position: absolute;
	top: 0;
	right: 0;
	transform: translateY( -50% );
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 8px;
}
.llu-section .llu-lightbox__btn,
.llu-section .llu-lightbox__btn:hover,
.llu-section .llu-lightbox__btn:focus,
.llu-section .llu-lightbox__btn:active,
.llu-section .llu-lightbox__btn:focus-visible {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 2px solid rgba( 255, 255, 255, .92 );
	border-radius: 50%;
	background: #0C101C;
	background-image: none;
	box-shadow: 0 2px 10px rgba( 0, 0, 0, .45 );
	outline: none;
	color: #FFFFFF;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}
.llu-section .llu-lightbox__btn:hover { background: #1B2233; transform: scale( 1.08 ); }
.llu-section .llu-lightbox__btn:focus-visible { box-shadow: 0 0 0 3px rgba( 255, 255, 255, .55 ); }

.llu-section .llu-lightbox__btn:disabled,
.llu-section .llu-lightbox__btn:disabled:hover {
	opacity: .4;
	cursor: default;
	transform: none;
}
.llu-lightbox__btn svg { display: block; }

html.llu-lightbox-open,
body.llu-lightbox-open { overflow: hidden !important; }

@media ( prefers-reduced-motion: reduce ) {
	.llu-lightbox,
	.llu-lightbox__panel { transition: none !important; }
	.llu-lightbox__panel { transform: none !important; }
}

.llu-js .llu-rv { opacity: 0; }

/* Headline */
.llu-js .llu-rv--rise.llu-rv-in {
	animation: llu-rise .75s cubic-bezier( .22, .8, .26, 1 ) both;
	animation-delay: calc( var( --llu-rv-i, 0 ) * 85ms );
}
@keyframes llu-rise {
	0% {
		opacity: 0;
		transform: translate3d( 0, 22px, 0 ) scale( .985 );
		filter: blur( 5px );
	}
	55% { opacity: 1; }
	100% {
		opacity: 1;
		transform: translate3d( 0, 0, 0 ) scale( 1 );
		filter: none;
	}
}

/* Posters */

.llu-js .llu-slider.llu-rv-in { opacity: 1; }

.llu-js .llu-slider .llu-slide {
	opacity: 0;
	
	transform: translate3d( var( --llu-from, 0% ), 0, 0 ) rotate( var( --llu-tilt, 0deg ) ) scale( .94 );
}
.llu-js .llu-slider.llu-rv-in .llu-slide {
	animation: llu-deal .8s cubic-bezier( .2, .78, .28, 1 ) both;
	
	animation-delay: calc( var( --llu-rv-i, 0 ) * 110ms + 180ms );
}
@keyframes llu-deal {
	0% {
		opacity: 0;
		transform: translate3d( var( --llu-from, 0% ), 0, 0 ) rotate( var( --llu-tilt, 0deg ) ) scale( .94 );
	}
	45% { opacity: 1; }
	100% {
		opacity: 1;
		transform: translate3d( 0, 0, 0 ) rotate( 0deg ) scale( 1 );
	}
}

.llu-js .llu-slider .llu-captions,
.llu-js .llu-slider .llu-dots,
.llu-js .llu-slider .llu-arrow { opacity: 0; }
.llu-js .llu-slider.llu-rv-in .llu-captions,
.llu-js .llu-slider.llu-rv-in .llu-dots,
.llu-js .llu-slider.llu-rv-in .llu-arrow {
	animation: llu-settle .5s ease .95s both;
}
@keyframes llu-settle {
	from { opacity: 0; transform: translateY( 8px ); }
	to   { opacity: 1; transform: translateY( 0 ); }
}

.llu-js .llu-slider.llu-rv-in .llu-arrow { animation-name: llu-settle-fade; }
@keyframes llu-settle-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@media ( prefers-reduced-motion: reduce ) {
	.llu-js .llu-rv,
	.llu-js .llu-rv.llu-rv-in,
	.llu-js .llu-slider .llu-slide,
	.llu-js .llu-slider .llu-captions,
	.llu-js .llu-slider .llu-dots,
	.llu-js .llu-slider .llu-arrow {
		opacity: 1;
		transform: none;
		filter: none;
		animation: none !important;
	}
	.llu-js .llu-slider .llu-slide { opacity: 1; }
	.llu-track,
	.llu-figure,
	.llu-caption { transition: none !important; }
}

@media ( max-width: 1439px ) {
	.llu-section { --llu-gutter: clamp( 40px, 6vw, 120px ); }
}

@media ( max-width: 1200px ) {
	.llu-section { --llu-hs: .9; --llu-bs: .95; }
}

@media ( min-width: 1366px ) and ( max-width: 1919px ) {
	.llu-section {
		--llu-overlap-set: 30px;
	}
	.llu-stage {
		max-width: 95vw;
	}
	.llu-track {
		width: 100%;
	}
}

@media ( min-width: 1920px ) {
	.llu-section {
		--llu-overlap-set: 150px;
	}
	.llu-stage {
		max-width: 95vw;
	}
	.llu-track {
		width: 100%;
	}
}

@media ( min-width: 1025px ) and ( max-width: 1365px ) {
	.llu-section {
		--llu-overlap-set: 100px;
	}
	.llu-stage {
		max-width: 95vw;
	}
	.llu-track {
		width: 100%;
	}
}

/* Tablet landscape */
@media ( max-width: 1024px ) {
	.llu-section { --llu-hs: .82; --llu-bs: .92; --llu-fh-vh: 54vh; --llu-slider-gap: 32px; padding: 48px 0; --llu-overlap-set: 100px; }
	.llu-arrow { width: 40px; height: 40px; margin-top: -20px; }
}

/* Tablet portrait */
@media ( max-width: 900px ) {
	.llu-section { --llu-hs: .8; --llu-bs: .95; --llu-fh-vw: 88vw; --llu-overlap-set: 80px; }
}

/* Large phone */
@media ( max-width: 600px ) {
	.llu-section {
		--llu-hs: .7;
		--llu-bs: .9;
		--llu-gutter: 20px;
		--llu-slider-gap: 24px;
		
		--llu-fh-vh: 52vh;
		--llu-fh-vw: 84vw;
		padding: 40px 0;
		--llu-overlap-set: 60px;
	}

	.llu-captions { margin-top: 16px; }
	.llu-arrow { width: 36px; height: 36px; margin-top: -18px; }
	.llu-arrow-prev { left: 4px; }
	.llu-arrow-next { right: 4px; }
}

/* Small phone */
@media ( max-width: 400px ) {
	.llu-section { --llu-hs: .64; --llu-bs: .88; --llu-fh-vw: 82vw; --llu-gutter: 16px; }
	
	.llu-section { --llu-ow: 0; }
}
