.lmga,
.lmga * {
	box-sizing: border-box !important;
}

.lmga {
	--lmga-orange: #f6a300;
	--lmga-white: #ffffff;
	--lmga-muted: #8e99ab;
	--lmga-border: rgba(255, 255, 255, .14);
	width: 100% !important;
	padding: clamp(70px, 8vw, 120px) clamp(18px, 5vw, 80px) !important;
	color: var(--lmga-white) !important;
	background: #030303 !important;
	font-family: Poppins, Arial, sans-serif !important;
}

.lmga button {
	font-family: inherit !important;
}

.lmga__header {
	max-width: 900px !important;
	margin: 0 auto clamp(42px, 6vw, 72px) !important;
	text-align: center !important;
}

.lmga__eyebrow,
.lmga-album__eyebrow {
	margin: 0 0 14px !important;
	color: var(--lmga-orange) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .28em !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
}

.lmga__title {
	margin: 0 !important;
	color: var(--lmga-white) !important;
	font-size: clamp(42px, 6vw, 76px) !important;
	font-weight: 800 !important;
	letter-spacing: -.045em !important;
	line-height: 1.04 !important;
}

.lmga__intro {
	margin: 22px auto 0 !important;
	color: var(--lmga-muted) !important;
	font-size: clamp(16px, 1.6vw, 21px) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
}

.lmga__grid {
	display: grid !important;
	grid-template-columns: repeat(var(--lmga-columns), minmax(0, 1fr)) !important;
	gap: clamp(20px, 2.2vw, 34px) !important;
	max-width: 1600px !important;
	margin: 0 auto !important;
}

.lmga-card {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 390px !important;
	padding: 0 !important;
	border: 1px solid var(--lmga-border) !important;
	border-radius: 22px !important;
	overflow: hidden !important;
	color: var(--lmga-white) !important;
	background: #111 !important;
	text-align: left !important;
	cursor: pointer !important;
	isolation: isolate !important;
	transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.lmga-card:hover,
.lmga-card:focus-visible {
	border-color: rgba(246, 163, 0, .7) !important;
	box-shadow: 0 22px 55px rgba(0, 0, 0, .5) !important;
	transform: translateY(-7px) !important;
}

.lmga-card:focus-visible,
.lmga-modal button:focus-visible {
	outline: 3px solid var(--lmga-orange) !important;
	outline-offset: 3px !important;
}

.lmga-card__collage {
	position: absolute !important;
	inset: 0 !important;
	display: grid !important;
	gap: 3px !important;
	background: #151515 !important;
}

.lmga-card__collage--1 {
	grid-template-columns: 1fr !important;
}

.lmga-card__collage--2 {
	grid-template-columns: repeat(2, 1fr) !important;
}

.lmga-card__collage--3 {
	grid-template: repeat(2, 1fr) / 1.25fr 1fr !important;
}

.lmga-card__collage--3 .lmga-card__tile:first-child {
	grid-row: 1 / 3 !important;
}

.lmga-card__collage--4 {
	grid-template: repeat(2, 1fr) / repeat(2, 1fr) !important;
}

.lmga-card__tile {
	position: relative !important;
	display: block !important;
	min-width: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.lmga-card__tile img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	transition: transform .65s cubic-bezier(.2, .7, .2, 1), filter .3s ease !important;
}

.lmga-card:hover .lmga-card__tile img {
	filter: brightness(1.08) !important;
	transform: scale(1.045) !important;
}

.lmga-card__more {
	position: absolute !important;
	inset: 0 !important;
	display: grid !important;
	place-items: center !important;
	color: #fff !important;
	background: rgba(0, 0, 0, .57) !important;
	font-size: clamp(24px, 3vw, 42px) !important;
	font-weight: 700 !important;
}

.lmga-card__shade {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, rgba(0, 0, 0, .02) 25%, rgba(0, 0, 0, .94) 100%) !important;
	z-index: 1 !important;
}

.lmga-card__content {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	padding: clamp(24px, 3vw, 38px) !important;
	z-index: 2 !important;
}

.lmga-card__title {
	color: #fff !important;
	font-size: clamp(24px, 2.4vw, 36px) !important;
	font-weight: 800 !important;
	letter-spacing: -.025em !important;
	line-height: 1.12 !important;
}

.lmga-card__meta {
	margin-top: 7px !important;
	color: rgba(255, 255, 255, .76) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

.lmga-card__action {
	display: inline-block !important;
	margin-top: 17px !important;
	padding-bottom: 3px !important;
	border-bottom: 1px solid currentColor !important;
	color: var(--lmga-orange) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.lmga__empty {
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 34px !important;
	border: 1px dashed rgba(255, 255, 255, .25) !important;
	border-radius: 18px !important;
	color: var(--lmga-muted) !important;
	text-align: center !important;
}

.lmga-modal[hidden],
.lmga-lightbox[hidden],
.lmga-templates[hidden],
.lmga [hidden] {
	display: none !important;
}

.lmga-modal {
	position: fixed !important;
	inset: 0 !important;
	display: grid !important;
	place-items: center !important;
	padding: clamp(12px, 3vw, 38px) !important;
	z-index: 999999 !important;
}

.lmga-modal__backdrop,
.lmga-lightbox__backdrop {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: rgba(0, 0, 0, .9) !important;
	cursor: default !important;
}

.lmga-modal__dialog {
	position: relative !important;
	width: min(1240px, 100%) !important;
	max-height: calc(100vh - clamp(24px, 6vw, 76px)) !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	border-radius: 22px !important;
	overflow: auto !important;
	color: #fff !important;
	background: #0a0a0a !important;
	box-shadow: 0 35px 90px rgba(0, 0, 0, .75) !important;
	z-index: 1 !important;
}

.lmga-modal__close,
.lmga-lightbox__close {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	display: grid !important;
	place-items: center !important;
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .25) !important;
	border-radius: 50% !important;
	color: #fff !important;
	background: rgba(0, 0, 0, .72) !important;
	font-size: 31px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	z-index: 5 !important;
}

.lmga-album {
	padding: clamp(28px, 5vw, 68px) !important;
}

.lmga-album__header {
	display: grid !important;
	grid-template-columns: minmax(0, .85fr) minmax(280px, 1fr) !important;
	gap: 30px !important;
	align-items: end !important;
	margin-bottom: clamp(28px, 5vw, 54px) !important;
	padding-right: 55px !important;
}

.lmga-album__eyebrow {
	margin-bottom: 9px !important;
	font-size: 12px !important;
}

.lmga-album__title {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(31px, 5vw, 58px) !important;
	font-weight: 800 !important;
	letter-spacing: -.04em !important;
	line-height: 1.08 !important;
}

.lmga-album__count {
	margin: 10px 0 0 !important;
	color: var(--lmga-muted) !important;
	font-size: 14px !important;
}

.lmga-album__description,
.lmga-album__description p {
	margin: 0 !important;
	color: #b5bdca !important;
	font-size: 15px !important;
	line-height: 1.75 !important;
}

.lmga-album__description p + p {
	margin-top: 12px !important;
}

.lmga-album__photos {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

.lmga-photo {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 13px !important;
	aspect-ratio: 4 / 3 !important;
	overflow: hidden !important;
	background: #171717 !important;
	cursor: zoom-in !important;
}

.lmga-photo img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	transition: transform .35s ease, filter .35s ease !important;
}

.lmga-photo:hover img,
.lmga-photo:focus-visible img {
	filter: brightness(.7) !important;
	transform: scale(1.045) !important;
}

.lmga-photo__zoom {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	display: grid !important;
	place-items: center !important;
	width: 50px !important;
	height: 50px !important;
	border: 1px solid rgba(255, 255, 255, .4) !important;
	border-radius: 50% !important;
	color: #fff !important;
	background: rgba(0, 0, 0, .55) !important;
	font-size: 25px !important;
	opacity: 0 !important;
	transform: translate(-50%, -45%) !important;
	transition: opacity .25s ease, transform .25s ease !important;
}

.lmga-photo:hover .lmga-photo__zoom,
.lmga-photo:focus-visible .lmga-photo__zoom {
	opacity: 1 !important;
	transform: translate(-50%, -50%) !important;
}

.lmga-lightbox {
	position: fixed !important;
	inset: 0 !important;
	display: grid !important;
	place-items: center !important;
	padding: 16px !important;
	z-index: 3 !important;
}

.lmga-lightbox__backdrop {
	background: rgba(0, 0, 0, .96) !important;
}

.lmga-lightbox__stage {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) 64px !important;
	align-items: center !important;
	width: min(1500px, 100%) !important;
	height: min(900px, calc(100vh - 32px)) !important;
	z-index: 1 !important;
}

.lmga-lightbox__figure {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	height: 100% !important;
	margin: 0 !important;
}

.lmga-lightbox__image {
	display: block !important;
	max-width: 100% !important;
	max-height: calc(100% - 42px) !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

.lmga-lightbox__counter {
	margin-top: 15px !important;
	color: rgba(255, 255, 255, .72) !important;
	font-size: 14px !important;
}

.lmga-lightbox__nav {
	display: grid !important;
	place-items: center !important;
	width: 52px !important;
	height: 52px !important;
	padding: 0 0 5px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	border-radius: 50% !important;
	color: #fff !important;
	background: rgba(255, 255, 255, .08) !important;
	font-size: 42px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.lmga-lightbox__nav:hover {
	border-color: var(--lmga-orange) !important;
	background: var(--lmga-orange) !important;
}

.lmga-no-scroll {
	overflow: hidden !important;
}

@media (max-width: 1100px) {
	.lmga__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.lmga-card {
		min-height: 370px !important;
	}
}

@media (max-width: 760px) {
	.lmga {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	.lmga__grid,
	.lmga-album__header {
		grid-template-columns: 1fr !important;
	}

	.lmga-card {
		min-height: 350px !important;
	}

	.lmga-album__header {
		gap: 20px !important;
		padding-right: 42px !important;
	}

	.lmga-album__photos {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.lmga-modal {
		padding: 8px !important;
	}

	.lmga-modal__dialog {
		max-height: calc(100vh - 16px) !important;
		border-radius: 16px !important;
	}

	.lmga-lightbox__stage {
		grid-template-columns: 44px minmax(0, 1fr) 44px !important;
	}

	.lmga-lightbox__nav {
		width: 38px !important;
		height: 38px !important;
		font-size: 31px !important;
	}
}

@media (max-width: 480px) {
	.lmga-card {
		min-height: 330px !important;
	}

	.lmga-album {
		padding: 24px 15px 30px !important;
	}

	.lmga-album__photos {
		grid-template-columns: 1fr !important;
	}

	.lmga-photo {
		aspect-ratio: 4 / 3 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lmga *,
	.lmga *::before,
	.lmga *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

