/* FURI landing interactive stage depth.
 * This layer is decorative, independent of layout, and intentionally isolated
 * from the hero cinematic's canvas/video/scroll transform ownership. */
body .furi-hero-cine .furi-stage-depth {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

body .furi-hero-cine .furi-stage-depth__layer {
	position: absolute;
	inset: -6%;
	pointer-events: none;
}

body .furi-hero-cine .furi-stage-depth.is-depth-active .furi-stage-depth__layer {
	will-change: transform;
}

body .furi-hero-cine .furi-stage-depth__far {
	background: none;
}

body .furi-hero-cine .furi-stage-depth__mid {
	opacity: 0;
}

body .furi-hero-cine .furi-stage-depth__fore {
	background: none;
	mix-blend-mode: normal;
}

body .furi-hero-cine .furi-hero-particles {
	background: none;
}

body .furi-hero-cine .furi-hero-particles::before,
body .furi-hero-cine .furi-hero-particles::after {
	display: none;
}

body .furi-hero-cine .furi-hero-burst-canvas {
	display: block;
	opacity: 1;
	filter: brightness(1.5) saturate(1.3) drop-shadow(0 0 8px rgba(255, 166, 40, .68));
}

body .furi-hero-cine .furi-scroll-ember {
	display: block;
}

body .furi-hero-cine .furi-stage-depth.is-depth-reduced .furi-stage-depth__layer {
	transform: none !important;
	will-change: auto;
}

body .furi-hero-cine .furi-hero-cine__subject-mask {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	pointer-events: none;
	display: none;
}

body .furi-hero-cine .furi-hero-cine__canvas {
	z-index: 3;
}

body .furi-hero-cine .furi-hero-burst-canvas,
body .furi-hero-cine .furi-hero-particles {
	z-index: 1;
}

body .furi-hero-cine .furi-hero-cine__flames {
	position: absolute;
	top: 8svh;
	left: 50%;
	width: min(34svh, 42vw);
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	object-position: center;
	clip-path: none;
	-webkit-mask-image: none;
	mask-image: none;
	mix-blend-mode: screen;
	filter: saturate(1.16) contrast(1.04) brightness(1.04);
	opacity: 0;
	z-index: 1;
	pointer-events: none;
	transition: opacity 360ms ease;
}

body .furi-hero-cine .furi-hero-cine__flames--left {
	--furi-wing-scale-x: 0.96;
	--furi-wing-scale-y: 1;
	--furi-wing-rotate: -8deg;
	transform-origin: 50% 80%;
	transform: scale(var(--furi-wing-scale-x), var(--furi-wing-scale-y)) rotate(var(--furi-wing-rotate));
}

body .furi-hero-cine .furi-hero-cine__flames--left[data-furi-fire-lobe="root"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 48% 88% at 57% 68%, #000 0 42%, rgba(0, 0, 0, .88) 57%, rgba(0, 0, 0, .35) 72%, transparent 91%);
	mask-image: radial-gradient(ellipse 48% 88% at 57% 68%, #000 0 42%, rgba(0, 0, 0, .88) 57%, rgba(0, 0, 0, .35) 72%, transparent 91%);
}

body .furi-hero-cine .furi-hero-cine__flames--left[data-furi-fire-lobe="sweep"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 70% 76% at 61% 66%, #000 0 38%, rgba(0, 0, 0, .78) 55%, rgba(0, 0, 0, .24) 72%, transparent 90%);
	mask-image: radial-gradient(ellipse 70% 76% at 61% 66%, #000 0 38%, rgba(0, 0, 0, .78) 55%, rgba(0, 0, 0, .24) 72%, transparent 90%);
}

body .furi-hero-cine .furi-hero-cine__flames--left[data-furi-fire-lobe="crown"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 73% 68% at 62% 59%, #000 0 34%, rgba(0, 0, 0, .7) 52%, rgba(0, 0, 0, .2) 69%, transparent 86%);
	mask-image: radial-gradient(ellipse 73% 68% at 62% 59%, #000 0 34%, rgba(0, 0, 0, .7) 52%, rgba(0, 0, 0, .2) 69%, transparent 86%);
}

body .furi-hero-cine .furi-hero-cine__flames--right {
	--furi-wing-scale-x: 0.96;
	--furi-wing-scale-y: 1;
	--furi-wing-rotate: 8deg;
	transform-origin: 50% 80%;
	transform: scale(var(--furi-wing-scale-x), var(--furi-wing-scale-y)) rotate(var(--furi-wing-rotate));
}

body .furi-hero-cine .furi-hero-cine__flames--right[data-furi-fire-lobe="root"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 48% 88% at 43% 68%, #000 0 42%, rgba(0, 0, 0, .88) 57%, rgba(0, 0, 0, .35) 72%, transparent 91%);
	mask-image: radial-gradient(ellipse 48% 88% at 43% 68%, #000 0 42%, rgba(0, 0, 0, .88) 57%, rgba(0, 0, 0, .35) 72%, transparent 91%);
}

body .furi-hero-cine .furi-hero-cine__flames--right[data-furi-fire-lobe="sweep"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 70% 76% at 39% 66%, #000 0 38%, rgba(0, 0, 0, .78) 55%, rgba(0, 0, 0, .24) 72%, transparent 90%);
	mask-image: radial-gradient(ellipse 70% 76% at 39% 66%, #000 0 38%, rgba(0, 0, 0, .78) 55%, rgba(0, 0, 0, .24) 72%, transparent 90%);
}

body .furi-hero-cine .furi-hero-cine__flames--right[data-furi-fire-lobe="crown"] {
	clip-path: none;
	-webkit-mask-image: radial-gradient(ellipse 73% 68% at 38% 59%, #000 0 34%, rgba(0, 0, 0, .7) 52%, rgba(0, 0, 0, .2) 69%, transparent 86%);
	mask-image: radial-gradient(ellipse 73% 68% at 38% 59%, #000 0 34%, rgba(0, 0, 0, .7) 52%, rgba(0, 0, 0, .2) 69%, transparent 86%);
}

body .furi-hero-cine .furi-scroll-hero-title > [data-furi-title-line] {
	display: flex;
	width: max-content;
	max-width: 100%;
	position: relative;
	z-index: 1;
	opacity: 0;
	transition: transform 760ms cubic-bezier(.16, 1, .3, 1), opacity 520ms ease;
}

body .furi-hero-cine .furi-hero-copy,
body .furi-hero-cine .furi-scroll-hero-title,
body .furi-hero-cine .furi-hero-actions {
	position: relative;
	z-index: 5;
	overflow: visible;
	isolation: isolate;
}

body .furi-hero-cine .furi-scroll-hero-title.is-split {
	white-space: nowrap;
}

body .furi-hero-cine .furi-scroll-hero-title > [data-furi-title-line="1"] {
	transform: translate3d(-16vw, 0, 0);
}

body .furi-hero-cine .furi-scroll-hero-title > [data-furi-title-line="2"] {
	transform: translate3d(16vw, 0, 0);
}

body .furi-hero-cine.is-title-ready .furi-scroll-hero-title > [data-furi-title-line] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (min-width: 901px) {
	body .furi-hero-cine .furi-hero-cine__canvas,
	body .furi-hero-cine .furi-hero-cine__subject-mask {
		inset: auto;
		left: 6%;
		top: 4%;
		width: 88%;
		height: 88%;
	}
}

body .furi-hero-cine.is-fire-ready .furi-hero-cine__flames {
	opacity: 0.92;
}

body .furi-hero-cine.is-fire-ready .furi-hero-cine__flames--feather {
	opacity: 0.48;
}

body .furi-hero-cine.is-fire-ready .furi-hero-cine__flames--feather[data-furi-fire-feather="2"] {
	opacity: 0.34;
}

body .furi-hero-cine.is-back-facing .furi-hero-cine__flames {
	z-index: 1;
	opacity: 0.9;
}

body .furi-hero-cine.is-v2-rear-fire-front .furi-hero-cine__flames {
	opacity: 0.9;
}

body .furi-hero-cine.is-v2-rear-fire-front .furi-hero-cine__flames--feather {
	opacity: 0.54;
}

body .furi-hero-cine.is-v2-rear-fire-front .furi-hero-cine__flames--feather[data-furi-fire-feather="2"] {
	opacity: 0.36;
}

body .furi-hero-cine.is-v2-rear-fire-front .furi-hero-cine__flames--left:not(.furi-hero-cine__flames--feather) {
	-webkit-mask-image: radial-gradient(ellipse 38% 72% at 72% 66%, #000 0 30%, rgba(0, 0, 0, .82) 48%, rgba(0, 0, 0, .28) 68%, transparent 86%);
	mask-image: radial-gradient(ellipse 38% 72% at 72% 66%, #000 0 30%, rgba(0, 0, 0, .82) 48%, rgba(0, 0, 0, .28) 68%, transparent 86%);
}

body .furi-hero-cine.is-v2-rear-fire-front .furi-hero-cine__flames--right:not(.furi-hero-cine__flames--feather) {
	-webkit-mask-image: radial-gradient(ellipse 38% 72% at 28% 66%, #000 0 30%, rgba(0, 0, 0, .82) 48%, rgba(0, 0, 0, .28) 68%, transparent 86%);
	mask-image: radial-gradient(ellipse 38% 72% at 28% 66%, #000 0 30%, rgba(0, 0, 0, .82) 48%, rgba(0, 0, 0, .28) 68%, transparent 86%);
}

@media (max-width: 900px) {
	body .furi-hero-cine .furi-stage-depth__mid {
		opacity: 0.09;
	}

	body .furi-hero-cine .furi-stage-depth__fore {
		opacity: 0.72;
	}

	body .furi-hero-cine .furi-hero-cine__flames {
		width: min(31svh, 48vw);
	}
}

@media (max-width: 760px) {
	body .furi-hero-cine .furi-hero-copy h1 {
		font-size: clamp(1.45rem, 6.7vw, 1.75rem) !important;
		line-height: .92 !important;
	}
}

/* The next section arrives at "knee level": its heading overlaps the base
   of the cinematic hero instead of starting in a hard cut below it. This is
   the active (non-reduced-motion) counterpart to the reset below, which
   restores normal flow when prefers-reduced-motion is set. */
body.home .furi-landing-video-stage,
body.front-page .furi-landing-video-stage {
	--furi-hero-next-overlap: clamp(280px, 44svh, 400px);
	margin-top: calc(-1 * var(--furi-hero-next-overlap));
	position: relative;
	z-index: 1;
}

@media (min-width: 761px) {
	body.home .furi-landing-video-stage,
	body.front-page .furi-landing-video-stage {
		--furi-hero-next-overlap: clamp(360px, 54svh, 500px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body .furi-hero-cine .furi-scroll-hero-title > [data-furi-title-line] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	/* The negative overlap belongs to the scrolling cinematic. Restore normal
	   flow in static mode so Watch-before cannot collide with hero controls. */
	body.home .furi-landing-video-stage,
	body.front-page .furi-landing-video-stage {
		margin-top: 0;
		padding-top: clamp(48px, 8svh, 96px);
	}
}
