.lw-process {
	--lw-bg: #050505;
	--lw-panel: rgba(255, 255, 255, 0.055);
	--lw-panel-strong: rgba(255, 255, 255, 0.1);
	--lw-text: #ffffff;
	--lw-muted: #bfc0c7;
	--lw-accent: #8a078a;
	--lw-line: rgba(255, 255, 255, 0.14);
	background:
		radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--lw-accent) 38%, transparent), transparent 30%),
		linear-gradient(145deg, var(--lw-bg) 0%, #101014 50%, #050505 100%);
	color: var(--lw-text);
	overflow: hidden;
	position: relative;
}

.lw-process::before {
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--lw-accent) 72%, #ffffff 0%), transparent);
	content: "";
	height: 1px;
	left: 8%;
	opacity: 0.7;
	position: absolute;
	right: 8%;
	top: 0;
}

.lw-process__inner {
	margin: 0 auto;
	max-width: 1180px;
	position: relative;
	z-index: 1;
}

.lw-process__header {
	max-width: 800px;
}

.lw-process__eyebrow {
	color: var(--lw-muted);
	display: inline-flex;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 6px;
	line-height: 1.4;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.lw-process__title {
	color: var(--lw-text);
	font-size: clamp(34px, 5vw, 68px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
}

.lw-process__title::after {
	background: var(--lw-accent);
	content: "";
	display: block;
	height: 4px;
	margin-top: 22px;
	width: 94px;
}

.lw-process__intro {
	color: var(--lw-muted);
	font-size: clamp(16px, 1.6vw, 19px);
	line-height: 1.75;
	margin: 24px 0 0;
	max-width: 680px;
}

.lw-process__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 48px;
}

.lw-process__card {
	background: linear-gradient(145deg, var(--lw-panel), rgba(255, 255, 255, 0.025));
	border: 1px solid var(--lw-line);
	border-radius: 8px;
	display: grid;
	gap: 22px;
	grid-template-columns: 86px minmax(0, 1fr);
	min-height: 230px;
	overflow: hidden;
	padding: 30px;
	position: relative;
	transition: border-color 220ms ease, transform 220ms ease, background 220ms ease;
}

.lw-process__card::before {
	background: linear-gradient(180deg, var(--lw-accent), transparent);
	content: "";
	inset: 0 auto 0 0;
	opacity: 0.82;
	position: absolute;
	width: 3px;
}

.lw-process__card:hover {
	background: linear-gradient(145deg, var(--lw-panel-strong), rgba(138, 7, 138, 0.1));
	border-color: var(--lw-accent);
	border-color: color-mix(in srgb, var(--lw-accent) 72%, #ffffff 0%);
	transform: translateY(-4px);
}

.lw-process__card:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.lw-process__number {
	align-items: center;
	aspect-ratio: 1;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid color-mix(in srgb, var(--lw-accent) 48%, rgba(255, 255, 255, 0.24));
	border-radius: 8px;
	color: var(--lw-text);
	display: inline-flex;
	font-size: 26px;
	font-weight: 300;
	justify-content: center;
	line-height: 1;
	width: 72px;
}

.lw-process__step-title {
	color: var(--lw-text);
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0 0 14px;
}

.lw-process__step-text {
	color: var(--lw-muted);
	font-size: 16px;
	line-height: 1.75;
	margin: 0;
}

@media (max-width: 880px) {
	.lw-process__grid {
		grid-template-columns: 1fr;
	}

	.lw-process__card:last-child:nth-child(odd) {
		grid-column: auto;
	}
}

@media (max-width: 560px) {
	.lw-process__eyebrow {
		letter-spacing: 3px;
	}

	.lw-process__card {
		grid-template-columns: 1fr;
		min-height: auto;
		padding: 24px;
	}

	.lw-process__number {
		width: 62px;
	}
}

.lw-accordion {
	--lwa-bg: #050505;
	--lwa-panel: rgba(255, 255, 255, 0.045);
	--lwa-panel-strong: rgba(255, 255, 255, 0.085);
	--lwa-text: #ffffff;
	--lwa-muted: #c7c8cf;
	--lwa-accent: #8a078a;
	--lwa-line: rgba(255, 255, 255, 0.14);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		radial-gradient(circle at 15% 18%, color-mix(in srgb, var(--lwa-accent) 26%, transparent), transparent 28%),
		linear-gradient(180deg, #09090b 0%, var(--lwa-bg) 100%);
	background-size: 58px 58px, 58px 58px, auto, auto;
	color: var(--lwa-text);
	overflow: hidden;
	position: relative;
}

.lw-accordion::before {
	background: var(--lwa-accent);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.88;
	position: absolute;
	top: 0;
	width: 6px;
}

.lw-accordion__inner {
	display: grid;
	gap: 54px;
	grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.38fr);
	margin: 0 auto;
	max-width: 1180px;
	position: relative;
	z-index: 1;
}

.lw-accordion__header {
	align-self: start;
	position: sticky;
	top: 32px;
}

.lw-accordion__eyebrow {
	border: 1px solid color-mix(in srgb, var(--lwa-accent) 42%, rgba(255, 255, 255, 0.2));
	border-radius: 999px;
	color: var(--lwa-text);
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 4px;
	line-height: 1;
	margin-bottom: 22px;
	padding: 10px 14px;
	text-transform: uppercase;
}

.lw-accordion__title {
	color: var(--lwa-text);
	font-size: clamp(36px, 5vw, 70px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
}

.lw-accordion__title::after {
	background: linear-gradient(90deg, var(--lwa-accent), rgba(255, 255, 255, 0.72));
	content: "";
	display: block;
	height: 2px;
	margin-top: 28px;
	width: min(240px, 72%);
}

.lw-accordion__intro {
	color: var(--lwa-muted);
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.75;
	margin: 24px 0 0;
}

.lw-accordion__list {
	display: grid;
	gap: 10px;
	position: relative;
}

.lw-accordion__list::before {
	background: linear-gradient(180deg, var(--lwa-accent), rgba(255, 255, 255, 0.16), transparent);
	content: "";
	height: calc(100% - 24px);
	left: 27px;
	position: absolute;
	top: 12px;
	width: 1px;
}

.lw-accordion__item {
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	position: relative;
	transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.lw-accordion__item[open],
.lw-accordion__item:hover {
	background: transparent;
	border-color: transparent;
}

.lw-accordion__item:hover {
	transform: translateX(4px);
}

.lw-accordion__summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 20px;
	grid-template-columns: 56px minmax(0, 1fr) 42px;
	list-style: none;
	padding: 0;
}

.lw-accordion__summary::-webkit-details-marker {
	display: none;
}

.lw-accordion__count {
	align-items: center;
	aspect-ratio: 1;
	background: #050505;
	border: 1px solid color-mix(in srgb, var(--lwa-accent) 64%, rgba(255, 255, 255, 0.24));
	border-radius: 999px;
	box-shadow: 0 0 0 8px #050505;
	color: var(--lwa-text);
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	justify-content: center;
	line-height: 1;
	position: relative;
	width: 54px;
	z-index: 2;
}

.lw-accordion__question {
	background:
		linear-gradient(145deg, var(--lwa-panel), rgba(255, 255, 255, 0.018));
	border: 1px solid var(--lwa-line);
	border-radius: 8px;
	color: var(--lwa-text);
	display: block;
	font-size: clamp(18px, 1.6vw, 23px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	padding: 24px 28px;
	transition: background 220ms ease, border-color 220ms ease;
}

.lw-accordion__item:hover .lw-accordion__question,
.lw-accordion__item[open] .lw-accordion__question {
	background:
		linear-gradient(145deg, var(--lwa-panel-strong), rgba(138, 7, 138, 0.12));
	border-color: color-mix(in srgb, var(--lwa-accent) 72%, #ffffff 0%);
}

.lw-accordion__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid color-mix(in srgb, var(--lwa-accent) 34%, rgba(255, 255, 255, 0.18));
	border-radius: 8px;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	position: relative;
	width: 42px;
}

.lw-accordion__icon::before,
.lw-accordion__icon::after {
	background: var(--lwa-text);
	content: "";
	height: 2px;
	position: absolute;
	transition: opacity 180ms ease, transform 180ms ease;
	width: 14px;
}

.lw-accordion__icon::after {
	transform: rotate(90deg);
}

.lw-accordion__item[open] .lw-accordion__icon {
	background: var(--lwa-accent);
	border-color: var(--lwa-accent);
}

.lw-accordion__item[open] .lw-accordion__icon::after {
	opacity: 0;
	transform: rotate(0deg);
}

.lw-accordion__panel {
	margin-left: 76px;
	padding: 0 0 14px;
}

.lw-accordion__answer {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-top: 0;
	border-radius: 0 0 8px 8px;
	color: var(--lwa-muted);
	font-size: 16px;
	line-height: 1.78;
	margin: 0;
	padding: 22px 28px 24px;
}

@media (max-width: 960px) {
	.lw-accordion__inner {
		grid-template-columns: 1fr;
	}

	.lw-accordion__header {
		position: static;
	}
}

@media (max-width: 560px) {
	.lw-accordion__eyebrow {
		letter-spacing: 3px;
	}

	.lw-accordion__summary {
		gap: 14px;
		grid-template-columns: 44px minmax(0, 1fr) 34px;
	}

	.lw-accordion__count {
		width: 42px;
	}

	.lw-accordion__icon {
		height: 34px;
		width: 34px;
	}

	.lw-accordion__question {
		padding: 20px 18px;
	}

	.lw-accordion__panel {
		margin-left: 58px;
		padding: 0 0 12px;
	}

	.lw-accordion__answer {
		padding: 18px;
	}
}

.lw-service {
	--lws-bg: #050505;
	--lws-accent: #8a078a;
	--lws-button: #d93bdd;
	--lws-text: #ffffff;
	--lws-muted: #d9d4dc;
	--lws-panel: rgba(255, 255, 255, 0.045);
	--lws-line: rgba(255, 255, 255, 0.13);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		radial-gradient(circle at 15% 16%, color-mix(in srgb, var(--lws-accent) 16%, transparent), transparent 24%),
		linear-gradient(145deg, #09090b 0%, var(--lws-bg) 68%, #000000 100%);
	background-size: 64px 64px, 64px 64px, auto, auto;
	color: var(--lws-text);
	overflow: hidden;
	position: relative;
}

.lw-service--bg-grid {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		radial-gradient(circle at 15% 16%, color-mix(in srgb, var(--lws-accent) 16%, transparent), transparent 24%),
		linear-gradient(145deg, #09090b 0%, var(--lws-bg) 68%, #000000 100%);
	background-size: 64px 64px, 64px 64px, auto, auto;
}

.lw-service--bg-spotlight {
	background:
		radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--lws-button) 24%, transparent), transparent 26%),
		radial-gradient(circle at 12% 86%, color-mix(in srgb, var(--lws-accent) 18%, transparent), transparent 30%),
		linear-gradient(135deg, #000000 0%, #08080b 54%, #160018 100%);
}

.lw-service--bg-luxury {
	background:
		linear-gradient(125deg, transparent 0 28%, color-mix(in srgb, var(--lws-accent) 24%, transparent) 28.2%, transparent 28.7%),
		linear-gradient(305deg, transparent 0 62%, rgba(255, 255, 255, 0.08) 62.2%, transparent 62.6%),
		linear-gradient(180deg, #050505 0%, #0d0d10 52%, #000000 100%);
}

.lw-service--bg-glass {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 18%),
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--lws-accent) 28%, transparent), transparent 34%),
		linear-gradient(145deg, #030303 0%, #111113 48%, #050005 100%);
}

.lw-service--bg-glass::after {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.06), transparent 36%),
		linear-gradient(315deg, color-mix(in srgb, var(--lws-accent) 16%, transparent), transparent 42%);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	content: "";
	inset: 28px;
	pointer-events: none;
	position: absolute;
}

.lw-service::before {
	background: linear-gradient(90deg, transparent, var(--lws-accent), transparent);
	content: "";
	height: 1px;
	left: 8%;
	opacity: 0.72;
	position: absolute;
	right: 8%;
	top: 0;
}

.lw-service__inner {
	margin: 0 auto;
	max-width: 1180px;
	position: relative;
	z-index: 1;
}

.lw-service__title {
	color: var(--lws-text);
	font-size: clamp(34px, 4.4vw, 62px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	position: relative;
	text-shadow:
		0 0 18px color-mix(in srgb, var(--lws-accent) 52%, transparent),
		0 8px 32px rgba(0, 0, 0, 0.72);
}

.lw-service__title::before {
	background: linear-gradient(90deg, var(--lws-accent), transparent 72%);
	border-radius: 999px;
	bottom: -12px;
	box-shadow: 0 0 22px color-mix(in srgb, var(--lws-accent) 58%, transparent);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: min(180px, 46%);
}

.lw-service__description {
	color: var(--lws-muted);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.62;
	margin: 0;
}

.lw-service__services-title {
	color: var(--lws-text);
	font-size: clamp(24px, 2.6vw, 38px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.14;
	margin: 0;
	padding-top: 4px;
}

.lw-service__list {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.lw-service__item {
	color: var(--lws-muted);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.42;
	padding-left: 24px;
	position: relative;
}

.lw-service__item::before {
	background: var(--lws-accent);
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 2px;
	position: absolute;
	top: 0.72em;
	width: 5px;
}

.lw-service__button {
	align-items: center;
	background: #0d0d10;
	border: 1px solid color-mix(in srgb, var(--lws-button) 62%, rgba(255, 255, 255, 0.2));
	border-radius: 999px;
	box-shadow: 0 14px 36px color-mix(in srgb, var(--lws-button) 20%, transparent);
	color: var(--lws-text);
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	min-width: 160px;
	padding: 17px 30px;
	text-decoration: none !important;
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.lw-service__button:hover,
.lw-service__button:focus,
.lw-service__button:visited {
	color: var(--lws-text);
	text-decoration: none !important;
}

.lw-service__button:hover,
.lw-service__button:focus {
	background: linear-gradient(135deg, #151518, color-mix(in srgb, var(--lws-accent) 34%, #111114));
	box-shadow: 0 18px 46px color-mix(in srgb, var(--lws-button) 28%, transparent);
	transform: translateY(-2px);
}

.lw-service--button-purple .lw-service__button {
	background: linear-gradient(135deg, var(--lws-accent), var(--lws-button));
	border-color: color-mix(in srgb, var(--lws-button) 78%, rgba(255, 255, 255, 0.22));
	box-shadow: 0 16px 42px color-mix(in srgb, var(--lws-button) 34%, transparent);
}

.lw-service--button-purple .lw-service__button:hover,
.lw-service--button-purple .lw-service__button:focus {
	background: linear-gradient(135deg, color-mix(in srgb, var(--lws-accent) 82%, #ffffff), var(--lws-button));
	box-shadow: 0 20px 54px color-mix(in srgb, var(--lws-button) 44%, transparent);
}

.lw-service--button-outline .lw-service__button {
	background: transparent;
	border-color: var(--lws-accent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lws-accent) 32%, transparent), 0 14px 36px rgba(0, 0, 0, 0.32);
}

.lw-service--button-outline .lw-service__button:hover,
.lw-service--button-outline .lw-service__button:focus {
	background: color-mix(in srgb, var(--lws-accent) 18%, transparent);
	box-shadow: 0 18px 46px color-mix(in srgb, var(--lws-accent) 25%, transparent);
}

.lw-service__media {
	align-self: stretch;
	background: #050505;
	position: relative;
}

.lw-service__image,
.lw-service__video {
	display: block;
	height: 100% !important;
	inset: 0;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	width: 100%;
}

.lw-service__video {
	background: #050505;
}

.lw-service--split .lw-service__inner {
	align-items: center;
	display: grid;
	gap: clamp(28px, 4vw, 48px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.lw-service--split .lw-service__media {
	border-radius: 34px 0 34px 0;
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--lws-accent) 30%, transparent), 0 22px 70px rgba(0, 0, 0, 0.42);
	min-height: 430px;
	overflow: hidden;
}

.lw-service--split .lw-service__content {
	display: grid;
	gap: 18px;
}

.lw-service--split .lw-service__list {
	gap: 9px;
}

.lw-service--split .lw-service__button {
	justify-self: start;
	margin-top: 6px;
}

.lw-service--editorial {
	isolation: isolate;
}

.lw-service--editorial .lw-service__inner {
	align-items: stretch;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.lw-service--editorial .lw-service__media {
	border: 1px solid var(--lws-line);
	border-radius: 8px;
	min-height: 520px;
	overflow: hidden;
}

.lw-service--editorial .lw-service__content {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid var(--lws-line);
	border-radius: 8px;
	display: grid;
	gap: 18px;
	padding: clamp(28px, 4vw, 44px);
}

.lw-service--editorial .lw-service__title::after {
	background: var(--lws-button);
	content: "";
	display: block;
	height: 2px;
	margin-top: 22px;
	width: 96px;
}

.lw-service--editorial .lw-service__title::before {
	display: none;
}

.lw-service--stacked .lw-service__inner {
	display: grid;
	gap: 22px;
}

.lw-service--stacked .lw-service__title {
	text-align: left;
}

.lw-service--stacked .lw-service__media {
	aspect-ratio: 16 / 6;
	border: 1px solid var(--lws-line);
	border-radius: 8px;
	box-shadow: 0 24px 90px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.lw-service--stacked .lw-service__content {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
}

.lw-service--stacked .lw-service__title,
.lw-service--stacked .lw-service__description {
	grid-column: 1;
}

.lw-service--stacked .lw-service__services-title,
.lw-service--stacked .lw-service__list,
.lw-service--stacked .lw-service__button {
	grid-column: 2;
}

.lw-service--stacked .lw-service__services-title {
	align-self: end;
}

.lw-service--stacked .lw-service__button {
	align-self: start;
	justify-self: start;
}

.lw-service--grid .lw-service__inner {
	align-items: stretch;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.lw-service--grid .lw-service__content {
	display: grid;
	gap: 18px;
}

.lw-service--grid .lw-service__media {
	border-radius: 8px;
	min-height: 520px;
	overflow: hidden;
}

.lw-service--grid .lw-service__list {
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lw-service--grid .lw-service__item {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid var(--lws-line);
	border-radius: 8px;
	min-height: 92px;
	padding: 18px 18px 18px 38px;
}

.lw-service--grid .lw-service__item::before {
	background: var(--lws-button);
	left: 18px;
	top: 26px;
}

.lw-service--media-right.lw-service--split .lw-service__media,
.lw-service--media-right.lw-service--editorial .lw-service__media,
.lw-service--media-right.lw-service--grid .lw-service__media {
	grid-column: 2;
	grid-row: 1;
}

.lw-service--media-right.lw-service--split .lw-service__content,
.lw-service--media-right.lw-service--editorial .lw-service__content,
.lw-service--media-right.lw-service--grid .lw-service__content {
	grid-column: 1;
	grid-row: 1;
}

@media (max-width: 980px) {
	.lw-service--split .lw-service__inner,
	.lw-service--editorial .lw-service__inner,
	.lw-service--stacked .lw-service__content,
	.lw-service--grid .lw-service__inner {
		grid-template-columns: 1fr;
	}

	.lw-service--editorial .lw-service__media,
	.lw-service--editorial .lw-service__content {
		border-radius: 8px;
	}

	.lw-service--editorial .lw-service__media {
		min-height: 360px;
	}

	.lw-service--media-right.lw-service--split .lw-service__media,
	.lw-service--media-right.lw-service--editorial .lw-service__media,
	.lw-service--media-right.lw-service--grid .lw-service__media,
	.lw-service--media-right.lw-service--split .lw-service__content,
	.lw-service--media-right.lw-service--editorial .lw-service__content,
	.lw-service--media-right.lw-service--grid .lw-service__content {
		grid-column: auto;
		grid-row: auto;
	}

	.lw-service--stacked .lw-service__title,
	.lw-service--stacked .lw-service__description,
	.lw-service--stacked .lw-service__services-title,
	.lw-service--stacked .lw-service__list,
	.lw-service--stacked .lw-service__button {
		grid-column: auto;
	}

	.lw-service--grid .lw-service__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.lw-service__button {
		width: 100%;
	}

	.lw-service--split .lw-service__media,
	.lw-service--grid .lw-service__media {
		min-height: 300px;
	}

	.lw-service--stacked .lw-service__media {
		aspect-ratio: 4 / 3;
	}

	.lw-service--grid .lw-service__list {
		grid-template-columns: 1fr;
	}
}

.lw-posts {
	--lwp-bg: #050505;
	--lwp-accent: #8a078a;
	--lwp-text: #ffffff;
	--lwp-muted: #d9d4dc;
	--lwp-line: rgba(255, 255, 255, 0.13);
	--lwp-panel: rgba(255, 255, 255, 0.045);
	background:
		radial-gradient(circle at 84% 14%, color-mix(in srgb, var(--lwp-accent) 22%, transparent), transparent 28%),
		linear-gradient(145deg, #08080a 0%, var(--lwp-bg) 70%, #000000 100%);
	color: var(--lwp-text);
	overflow: hidden;
	position: relative;
}

.lw-posts::before {
	background: linear-gradient(90deg, transparent, var(--lwp-accent), transparent);
	content: "";
	height: 1px;
	left: 8%;
	opacity: 0.72;
	position: absolute;
	right: 8%;
	top: 0;
}

.lw-posts__inner {
	margin: 0 auto;
	max-width: 1180px;
	position: relative;
	z-index: 1;
}

.lw-posts__header {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-bottom: 34px;
	max-width: 760px;
}

.lw-posts__header[style*="center"],
.lw-posts--align-center .lw-posts__header {
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.lw-posts__header[style*="right"],
.lw-posts--align-right .lw-posts__header {
	align-items: flex-end;
	margin-left: auto;
	text-align: right;
}

.lw-posts__title {
	color: var(--lwp-text);
	font-size: clamp(34px, 4.4vw, 62px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	position: relative;
	text-shadow:
		0 0 18px color-mix(in srgb, var(--lwp-accent) 52%, transparent),
		0 8px 32px rgba(0, 0, 0, 0.72);
}

.lw-posts__title::after {
	background: linear-gradient(90deg, var(--lwp-accent), transparent 72%);
	border-radius: 999px;
	box-shadow: 0 0 22px color-mix(in srgb, var(--lwp-accent) 58%, transparent);
	content: "";
	display: block;
	height: 2px;
	margin-top: 14px;
	width: min(180px, 46%);
}

.lw-posts--align-center .lw-posts__title::after {
	margin-left: auto;
	margin-right: auto;
}

.lw-posts--align-right .lw-posts__title::after {
	margin-left: auto;
}

.lw-posts__intro,
.lw-posts__empty {
	color: var(--lwp-muted);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.62;
	margin: 0;
}

.lw-posts__list {
	gap: 20px;
}

.lw-posts--grid .lw-posts__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lw-posts--carousel .lw-posts__list {
	display: grid;
	grid-auto-columns: minmax(300px, 31%);
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 2px 0 18px;
	scroll-snap-type: inline mandatory;
	scrollbar-color: var(--lwp-accent) rgba(255, 255, 255, 0.08);
}

.lw-posts--carousel .lw-posts__card {
	scroll-snap-align: start;
}

.lw-posts__card {
	background: linear-gradient(145deg, var(--lwp-panel), rgba(255, 255, 255, 0.018));
	border: 1px solid var(--lwp-line);
	border-radius: 8px;
	display: grid;
	overflow: hidden;
	transition: border-color 220ms ease, transform 220ms ease, background 220ms ease;
}

.lw-posts__card:hover {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), color-mix(in srgb, var(--lwp-accent) 10%, transparent));
	border-color: color-mix(in srgb, var(--lwp-accent) 70%, #ffffff 0%);
	transform: translateY(-4px);
}

.lw-posts__media {
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.06), transparent),
		#09090b;
	display: block;
	overflow: hidden;
	position: relative;
}

.lw-posts__media::after {
	background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.42));
	content: "";
	inset: 0;
	position: absolute;
}

.lw-posts__image {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 260ms ease;
	width: 100%;
}

.lw-posts__card:hover .lw-posts__image {
	transform: scale(1.04);
}

.lw-posts__content {
	display: grid;
	gap: 12px;
	padding: 24px;
}

.lw-posts__meta {
	color: color-mix(in srgb, var(--lwp-accent) 68%, var(--lwp-muted));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.2;
	text-transform: uppercase;
}

.lw-posts__post-title {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0;
}

.lw-posts__post-title a {
	color: var(--lwp-text);
	text-decoration: none !important;
	transition: color 180ms ease, text-shadow 180ms ease;
}

.lw-posts__post-title a:hover,
.lw-posts__post-title a:focus {
	color: var(--lwp-accent);
	text-shadow: 0 0 18px color-mix(in srgb, var(--lwp-accent) 52%, transparent);
}

.lw-posts__excerpt {
	color: var(--lwp-muted);
	font-size: 15px;
	line-height: 1.58;
	margin: 0;
}

.lw-posts__button {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--lwp-accent) 62%, rgba(255, 255, 255, 0.2));
	border-radius: 999px;
	color: var(--lwp-text);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	justify-self: start;
	line-height: 1;
	margin-top: 8px;
	min-height: 46px;
	padding: 14px 22px;
	text-decoration: none !important;
	transition: background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.lw-posts__button:hover,
.lw-posts__button:focus,
.lw-posts__button:visited {
	color: var(--lwp-text);
	text-decoration: none !important;
}

.lw-posts__button:hover,
.lw-posts__button:focus {
	background: color-mix(in srgb, var(--lwp-accent) 22%, transparent);
	box-shadow: 0 14px 34px color-mix(in srgb, var(--lwp-accent) 24%, transparent);
	transform: translateY(-2px);
}

@media (max-width: 980px) {
	.lw-posts--grid .lw-posts__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lw-posts--carousel .lw-posts__list {
		grid-auto-columns: minmax(286px, 48%);
	}
}

@media (max-width: 620px) {
	.lw-posts--grid .lw-posts__list {
		grid-template-columns: 1fr;
	}

	.lw-posts--carousel .lw-posts__list {
		grid-auto-columns: minmax(280px, 86%);
	}
}

.lw-video-banner {
	--lwv-bg: #050505;
	--lwv-accent: #8a078a;
	--lwv-title: #ffffff;
	--lwv-subtitle: #9b0a9b;
	--lwv-video-visibility: 68%;
	--lwv-purple-filter: 28%;
	align-items: center;
	background:
		var(--lwv-fallback-image, linear-gradient(145deg, #050505, #120014)),
		radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--lwv-accent) 24%, transparent), transparent 32%),
		linear-gradient(145deg, var(--lwv-bg), #000000);
	background-position: center;
	background-size: cover;
	color: var(--lwv-title);
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: clamp(70px, 9vw, 140px) 28px;
	position: relative;
	text-align: center;
}

.lw-video-banner__video {
	filter: brightness(var(--lwv-video-visibility)) saturate(1.06);
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.lw-video-banner__overlay {
	background:
		radial-gradient(circle at 52% 48%, color-mix(in srgb, var(--lwv-accent) var(--lwv-purple-filter), transparent), transparent 28%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.52)),
		linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.42));
	inset: 0;
	position: absolute;
	z-index: 1;
}

.lw-video-banner__overlay::before {
	animation: lw-banner-smoke 9s ease-in-out infinite alternate;
	background:
		radial-gradient(ellipse at 32% 40%, color-mix(in srgb, var(--lwv-accent) var(--lwv-purple-filter), transparent), transparent 34%),
		radial-gradient(ellipse at 68% 44%, color-mix(in srgb, var(--lwv-accent) var(--lwv-purple-filter), transparent), transparent 38%);
	content: "";
	filter: blur(8px);
	inset: -18%;
	opacity: var(--lwv-purple-filter);
	position: absolute;
}

.lw-video-banner__content {
	display: grid;
	gap: clamp(22px, 3vw, 40px);
	justify-items: center;
	position: relative;
	z-index: 2;
}

.lw-video-banner__title {
	animation: lw-banner-title 900ms ease both;
	color: var(--lwv-title);
	font-size: clamp(42px, 5vw, 86px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
	text-shadow:
		0 0 22px color-mix(in srgb, var(--lwv-accent) 42%, transparent),
		0 18px 54px rgba(0, 0, 0, 0.82);
}

.lw-video-banner__line {
	animation: lw-banner-line 1000ms ease 220ms both;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.92), transparent);
	height: 2px;
	width: min(100%, 1180px);
}

.lw-video-banner__subtitle {
	animation: lw-banner-subtitle 900ms ease 420ms both;
	color: var(--lwv-subtitle);
	font-size: clamp(25px, 3.1vw, 48px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.22;
	margin: 0;
	max-width: 1280px;
	text-shadow:
		0 0 18px color-mix(in srgb, var(--lwv-accent) 56%, transparent),
		0 14px 42px rgba(0, 0, 0, 0.76);
}

.lw-video-banner--glow .lw-video-banner__title,
.lw-video-banner--glow .lw-video-banner__subtitle {
	animation-name: lw-banner-glow;
	animation-duration: 1600ms;
}

.lw-video-banner--minimal .lw-video-banner__overlay::before {
	opacity: 0.32;
}

.lw-video-banner--minimal .lw-video-banner__title,
.lw-video-banner--minimal .lw-video-banner__subtitle,
.lw-video-banner--minimal .lw-video-banner__line {
	animation-name: lw-banner-fade;
}

@keyframes lw-banner-title {
	from {
		opacity: 0;
		transform: translateY(24px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes lw-banner-subtitle {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes lw-banner-line {
	from {
		opacity: 0;
		transform: scaleX(0.18);
	}

	to {
		opacity: 1;
		transform: scaleX(1);
	}
}

@keyframes lw-banner-smoke {
	from {
		transform: translate3d(-2%, -1%, 0) scale(1);
	}

	to {
		transform: translate3d(2%, 1%, 0) scale(1.08);
	}
}

@keyframes lw-banner-glow {
	from {
		opacity: 0;
		text-shadow: 0 0 0 transparent;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		text-shadow:
			0 0 24px color-mix(in srgb, var(--lwv-accent) 62%, transparent),
			0 18px 54px rgba(0, 0, 0, 0.82);
		transform: translateY(0);
	}
}

@keyframes lw-banner-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (max-width: 680px) {
	.lw-video-banner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.lw-video-banner__line {
		width: 92%;
	}
}

.lw-image-banner {
	--lwi-bg: #050505;
	--lwi-accent: #8a078a;
	--lwi-title: #ffffff;
	--lwi-subtitle: #9b0a9b;
	--lwi-image-visibility: 62%;
	--lwi-purple-filter: 28%;
	align-items: center;
	background: linear-gradient(145deg, var(--lwi-bg), #000000);
	color: var(--lwi-title);
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: clamp(70px, 9vw, 140px) 28px;
	position: relative;
	text-align: center;
}

.lw-image-banner__image {
	background:
		var(--lwi-bg-image, linear-gradient(145deg, #050505, #120014)),
		linear-gradient(145deg, #050505, #120014);
	background-position: center;
	background-size: cover;
	inset: 0;
	filter: brightness(var(--lwi-image-visibility)) saturate(1.06);
	opacity: 1;
	position: absolute;
	transform: scale(1.02);
	z-index: 0;
}

.lw-image-banner--cinematic .lw-image-banner__image,
.lw-image-banner--glow .lw-image-banner__image {
	animation: lw-image-banner-zoom 11s ease-in-out infinite alternate;
}

.lw-image-banner__overlay {
	background:
		radial-gradient(circle at 52% 48%, color-mix(in srgb, var(--lwi-accent) var(--lwi-purple-filter), transparent), transparent 28%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.52)),
		linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.42));
	inset: 0;
	position: absolute;
	z-index: 1;
}

.lw-image-banner__overlay::before {
	animation: lw-banner-smoke 9s ease-in-out infinite alternate;
	background:
		radial-gradient(ellipse at 32% 40%, color-mix(in srgb, var(--lwi-accent) var(--lwi-purple-filter), transparent), transparent 34%),
		radial-gradient(ellipse at 68% 44%, color-mix(in srgb, var(--lwi-accent) var(--lwi-purple-filter), transparent), transparent 38%);
	content: "";
	filter: blur(8px);
	inset: -18%;
	opacity: var(--lwi-purple-filter);
	position: absolute;
}

.lw-image-banner__content {
	display: grid;
	gap: clamp(22px, 3vw, 40px);
	justify-items: center;
	max-width: 1320px;
	position: relative;
	z-index: 2;
}

.lw-image-banner__title {
	animation: lw-banner-title 900ms ease both;
	color: var(--lwi-title);
	font-size: clamp(42px, 5vw, 86px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
	text-shadow:
		0 0 22px color-mix(in srgb, var(--lwi-accent) 42%, transparent),
		0 18px 54px rgba(0, 0, 0, 0.82);
}

.lw-image-banner__line {
	animation: lw-banner-line 1000ms ease 220ms both;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.92), transparent);
	height: 2px;
	width: min(100%, 1180px);
}

.lw-image-banner__subtitle {
	animation: lw-banner-subtitle 900ms ease 420ms both;
	color: var(--lwi-subtitle);
	font-size: clamp(25px, 3.1vw, 48px);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.22;
	margin: 0;
	max-width: 1280px;
	text-shadow:
		0 0 18px color-mix(in srgb, var(--lwi-accent) 56%, transparent),
		0 14px 42px rgba(0, 0, 0, 0.76);
}

.lw-image-banner--glow .lw-image-banner__title,
.lw-image-banner--glow .lw-image-banner__subtitle {
	animation-name: lw-banner-glow;
	animation-duration: 1600ms;
}

.lw-image-banner--minimal .lw-image-banner__overlay::before {
	opacity: 0.24;
}

.lw-image-banner--minimal .lw-image-banner__image {
	animation: none;
}

.lw-image-banner--minimal .lw-image-banner__title,
.lw-image-banner--minimal .lw-image-banner__subtitle,
.lw-image-banner--minimal .lw-image-banner__line {
	animation-name: lw-banner-fade;
}

@keyframes lw-image-banner-zoom {
	from {
		transform: scale(1.02);
	}

	to {
		transform: scale(1.08);
	}
}

@media (max-width: 680px) {
	.lw-image-banner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.lw-image-banner__line {
		width: 92%;
	}
}
