﻿.furi-landing-hero {
	position: relative;
	--furi-ember-yellow: #fff2a6;
	--furi-ember-orange: #ff9a24;
	--furi-ember-red: #ff3b0a;
}

.furi-scroll-hero-title {
	display: block;
}

.furi-scroll-hero-title.is-split {
	white-space: normal;
}

.furi-scroll-word {
	display: inline-flex;
	white-space: nowrap;
}

.furi-scroll-char {
	display: inline-grid;
	place-items: center;
	position: relative;
	min-width: 0.35em;
	will-change: transform, opacity, filter;
	transform-origin: center bottom;
	vertical-align: baseline;
}

.furi-scroll-char--space {
	width: 0.35em;
	display: inline-block;
	min-width: 0.35em;
}

.furi-scroll-char__glyph {
	grid-area: 1 / 1;
	display: inline-block;
	position: relative;
	z-index: 2;
	will-change: transform, opacity, filter;
	transform-origin: center bottom;
	color: inherit;
}

.furi-scroll-char__embers {
	grid-area: 1 / 1;
	position: absolute;
	inset: 0;
	display: block;
	pointer-events: none;
	z-index: 1;
}

.furi-scroll-ember {
	position: absolute;
	left: 50%;
	top: 50%;
	width: var(--ember-size, 3px);
	height: var(--ember-size, 3px);
	border-radius: 999px;
	color: inherit;
	opacity: 0;
	pointer-events: none;
	background:
		radial-gradient(circle, var(--ember-heat-color, rgba(255,247,229,1)) 0%, rgba(255,247,229,0.92) 18%, rgba(255,224,130,0.98) 30%, rgba(255,140,36,0.92) 58%, rgba(255,74,0,0) 100%);
	box-shadow:
		0 0 5px rgba(255, 240, 188, .96),
		0 0 9px rgba(255, 210, 80, .94),
		0 0 16px rgba(255, 128, 24, .66),
		0 0 24px rgba(255, 88, 0, .18);
	transform: translate3d(var(--ember-start-x, 0px), var(--ember-start-y, 0px), 0) scale(.2);
	will-change: transform, opacity;
	mix-blend-mode: screen;
}

.furi-scroll-hero-title.is-disintegrating .furi-scroll-char__glyph {
	text-shadow:
		0 0 8px rgba(255, 198, 63, 0.32),
		0 0 16px rgba(255, 118, 20, 0.18);
}

.furi-scroll-hero-title.is-disintegrating .furi-scroll-char__glyph {
	opacity: 0.25;
}

.furi-lazy-segment {
	position: relative;
	transition: opacity 1.08s ease, visibility 1.08s ease, transform 1.08s ease, filter 1.08s ease;
	--furi-lazy-shift: 62px;
}

.furi-lazy-segment.is-segment-pending {
	opacity: 0.02;
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(var(--furi-lazy-shift), 28px, 0);
	filter: saturate(0.78) blur(0.4px);
}

.furi-lazy-segment.is-segment-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	filter: saturate(1);
}

.furi-lazy-segment.is-segment-complete {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	filter: none;
}

.furi-lazy-segment::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	background: linear-gradient(90deg, transparent, rgba(255, 208, 82, 0.16), transparent);
	mix-blend-mode: screen;
}

.furi-lazy-segment.is-segment-active::after {
	animation: furiSegmentSweep 0.75s ease-out forwards;
}

.furi-hero-audio {
	margin-top: 14px;
}

body.furi-audio-armed .furi-hero-audio {
	outline: 1px solid rgba(255, 206, 80, 0.22);
}

html.furi-landing-loading .furi-landing-video-stage,
html.furi-landing-loading .furi-landing-footer-stage,
body.furi-landing-loading .furi-landing-video-stage,
body.furi-landing-loading .furi-landing-footer-stage {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

body.furi-videos-ready .furi-landing-video-stage,
body.furi-footer-ready .furi-landing-footer-stage,
body.furi-landing-ready .furi-landing-video-stage,
body.furi-landing-ready .furi-landing-footer-stage,
html.furi-landing-ready .furi-landing-video-stage,
html.furi-landing-ready .furi-landing-footer-stage {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

body.furi-lazy-loading .furi-lazy-segment {
	transition-duration: 0.66s;
}

.furi-landing-video-stage {
	min-height: 240px;
}

.furi-landing-video-stage .furi-youtube-holder,
.furi-landing-video-stage .furi-video-holder {
	position: relative;
	transition: opacity 0.52s ease, transform 0.52s ease, box-shadow 0.52s ease, visibility 0.52s ease;
}

.furi-landing-video-stage .furi-youtube-holder::before,
.furi-landing-video-stage .furi-video-holder::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 184, 0, 0.06), rgba(0, 0, 0, 0));
	pointer-events: none;
	opacity: 0.6;
}

.furi-landing-video-stage .furi-youtube-holder.is-segment-pending,
.furi-landing-video-stage .furi-video-holder.is-segment-pending {
	opacity: 0;
	visibility: hidden;
	transform: translate3d(50px, 24px, 0);
}

.furi-landing-video-stage .furi-youtube-holder.is-segment-active,
.furi-landing-video-stage .furi-video-holder.is-segment-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	box-shadow: 0 0 0 1px rgba(255, 210, 82, 0.12) inset, 0 0 24px rgba(255, 184, 0, 0.12);
}

.furi-landing-footer-stage .furi-lazy-segment.is-segment-pending {
	transform: translate3d(-58px, 42px, 0);
}

.furi-lazy-segment.is-lazy-from-left.is-segment-pending {
	--furi-lazy-shift: -48px;
}

.furi-lazy-segment.is-lazy-from-right.is-segment-pending {
	--furi-lazy-shift: 48px;
}

@keyframes furiSegmentSweep {
	0% {
		opacity: 0;
		transform: translateX(-18px);
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translateX(18px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.furi-scroll-char {
		transform: none !important;
		opacity: 1 !important;
	}
	.furi-scroll-ember,
	.furi-lazy-segment::after {
		display: none !important;
	}
	.furi-lazy-segment,
	.furi-landing-video-stage .furi-youtube-holder,
	.furi-landing-video-stage .furi-video-holder {
		transition: opacity 0.25s ease, visibility 0.25s ease !important;
		transform: none !important;
		filter: none !important;
	}
	html.furi-landing-loading .furi-landing-video-stage,
	html.furi-landing-loading .furi-landing-footer-stage,
	body.furi-landing-loading .furi-landing-video-stage,
	body.furi-landing-loading .furi-landing-footer-stage,
	body.furi-videos-ready .furi-landing-video-stage,
	body.furi-footer-ready .furi-landing-footer-stage,
	body.furi-landing-ready .furi-landing-video-stage,
	body.furi-landing-ready .furi-landing-footer-stage,
	html.furi-landing-ready .furi-landing-video-stage,
	html.furi-landing-ready .furi-landing-footer-stage {
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}
}
