/* ==========================================================================
   LUXE LIFT FACIAL (/luxe-lift-facial/) — full treatment page
   Same tokens, type scale, buttons and easings as the rest of the Glow Fusion
   system. Particular to this page: a champagne-forward palette, three portrait
   films presented as editorial objects, and one restrained scientific study
   for the treatment journey. Every selector is prefixed .gfe-ll- and the
   sheet loads on /luxe-lift-facial/ only.
   ========================================================================== */

/* 1. Bands */
.e-con.gfe-ll-sec {
	--padding-top: clamp(62px, 5.8vw, 104px);
	--padding-bottom: clamp(62px, 5.8vw, 104px);
	position: relative;
	overflow: hidden;
	--ll-ink: #4F4A39;
	--ll-ink-2: rgba(79, 74, 57, .52);
	--ll-cons: rgba(79, 74, 57, .27);
	--ll-faint: rgba(79, 74, 57, .13);
	--ll-acc: #B08F50;
}
.e-con.gfe-ll-bone {
	background-color: #F0EDE6;
	background-image:
		radial-gradient(60% 54% at 50% 0%, rgba(253, 251, 246, .92) 0%, rgba(253, 251, 246, 0) 72%),
		linear-gradient(180deg, #F2EFE9 0%, #EEEBE3 60%, #EAE7DE 100%);
}
.e-con.gfe-ll-cream {
	background-color: #E8E5D9;
	background-image:
		radial-gradient(64% 56% at 84% 30%, rgba(251, 249, 243, .78) 0%, rgba(251, 249, 243, 0) 74%),
		linear-gradient(180deg, #EAE7DB 0%, #E5E2D5 58%, #E1DED0 100%);
}
.e-con.gfe-ll-sage {
	background-color: #565B45;
	background-image:
		radial-gradient(56% 60% at 74% 44%, rgba(226, 201, 151, .17) 0%, rgba(226, 201, 151, 0) 70%),
		linear-gradient(180deg, #4E5340 0%, #545943 52%, #5B6049 100%);
}
.e-con.gfe-ll-deep {
	background-color: #474C3A;
	background-image: linear-gradient(180deg, #3F4433 0%, #454A38 54%, #4C5140 100%);
}
/* The closing film sits on ink: the cinema of the page. */
.e-con.gfe-ll-cine {
	background-color: #33372A;
	background-image:
		radial-gradient(48% 54% at 50% 46%, rgba(226, 201, 151, .13) 0%, rgba(226, 201, 151, 0) 72%),
		linear-gradient(180deg, #2E3226 0%, #34382B 52%, #3A3E2F 100%);
}
.e-con.gfe-ll-sage,
.e-con.gfe-ll-deep,
.e-con.gfe-ll-cine {
	--ll-ink: rgba(235, 231, 217, .74);
	--ll-ink-2: rgba(235, 231, 217, .46);
	--ll-cons: rgba(235, 231, 217, .26);
	--ll-faint: rgba(235, 231, 217, .12);
	--ll-acc: #D2B27A;
}
.e-con.gfe-ll-sec > .e-con-inner { position: relative; z-index: 1; }

#luxe-lift-facial, #meet-luxe-lift, #aging-focused, #raspberry-enzyme,
#firming-peptide, #the-experience, #what-it-does, #right-for-you,
#with-katherinne, #luxe-lift-questions, #in-motion, #book-luxe-lift {
	scroll-margin-top: calc(var(--gfe-header-h) - 8px);
}

/* 2. Type */
.gfe-sec .gfe-ll-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	font-family: var(--gfe-sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: #6B5329;
}
.gfe-sec .gfe-ll-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 26px;
	height: 8px;
	background: var(--gfe-gold);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 8' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M1 4h9M16 4h9'/%3E%3Ccircle cx='13' cy='4' r='2.4'/%3E%3C/svg%3E") no-repeat 50% / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 8' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M1 4h9M16 4h9'/%3E%3Ccircle cx='13' cy='4' r='2.4'/%3E%3C/svg%3E") no-repeat 50% / contain;
	transform-origin: 50% 50%;
}
.gfe-sec .gfe-ll-eyebrow--light .elementor-heading-title { color: #E6D3AE; }
.gfe-sec .gfe-ll-eyebrow--light .elementor-heading-title::before { background: #D2B27A; }

.gfe-sec .gfe-ll-h1 .elementor-heading-title {
	margin-top: 16px;
	font-family: var(--gfe-serif);
	font-size: clamp(38px, 5.2vw, 70px);
	line-height: 1.03;
	letter-spacing: -.018em;
	color: var(--gfe-paper);
}
.gfe-sec .gfe-ll-h2 .elementor-heading-title {
	margin-top: 14px;
	font-family: var(--gfe-serif);
	font-size: clamp(29px, 3.4vw, 50px);
	line-height: 1.06;
	letter-spacing: -.014em;
	color: var(--gfe-ink);
}
.gfe-sec .gfe-ll-h2--light .elementor-heading-title { color: var(--gfe-paper); }
.gfe-sec .gfe-ll-sub.elementor-widget-text-editor {
	margin-top: 18px;
	max-width: 46ch;
	font-family: var(--gfe-serif);
	font-size: clamp(18px, 1.6vw, 23px);
	font-style: italic;
	line-height: 1.42;
	color: #E6D3AE;
}
.gfe-sec .gfe-ll-lead.elementor-widget-text-editor {
	margin-top: 20px;
	max-width: 52ch;
	font-size: clamp(16.5px, 1.35vw, 19px);
	line-height: 1.72;
	color: rgba(244, 240, 235, .92);
}
.gfe-sec .gfe-ll-text.elementor-widget-text-editor {
	margin-top: 18px;
	max-width: 62ch;
	font-size: 16.5px;
	line-height: 1.82;
	color: var(--gfe-ink-soft);
}
.gfe-sec .gfe-ll-text--light.elementor-widget-text-editor { color: rgba(244, 240, 235, .9); }
.gfe-sec .gfe-ll-text a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-sec .gfe-ll-text a:hover { color: var(--gfe-ink); }
.gfe-sec .gfe-ll-text--light a { color: #E6D3AE; }
.gfe-sec .gfe-ll-text--light a:hover { color: var(--gfe-paper); }

/* Duration chip */
.gfe-ll-metaw { margin-top: 26px; }
.gfe-ll-dur {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 15px 6px 12px;
	border: 1px solid rgba(107, 83, 41, .36);
	border-radius: 2px;
	background: rgba(255, 253, 247, .55);
	font-family: var(--gfe-sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6B5329;
	white-space: nowrap;
}
.gfe-ll-dur--light {
	border-color: rgba(226, 201, 151, .44);
	background: rgba(255, 253, 247, .07);
	color: #E6D3AE;
}
.gfe-ll-dur::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat 50% / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat 50% / contain;
}
.gfe-ll-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* --------------------------------------------------------------------------
   3. The film component — native 9:16, poster first, nothing preloaded
   -------------------------------------------------------------------------- */
.gfe-ll-film { width: 100%; max-width: 420px; margin-left: auto; margin-right: auto; position: relative; }
.gfe-ll-film__frame {
	position: relative;
	border-radius: 3px;
	overflow: hidden;
	background: #23261C;
	box-shadow: 0 1px 1px rgba(20, 22, 16, .24), 0 26px 52px rgba(20, 22, 16, .36);
}
.gfe-ll-film__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba(226, 201, 151, .3);
	border-radius: 3px;
	pointer-events: none;
}
.gfe-ll-film video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 9 / 16;
	object-fit: contain;
	background: #23261C;
}
.gfe-ll-film video:focus-visible { outline: 2px solid #E6D3AE; outline-offset: 3px; }
.gfe-ll-film__cap {
	margin: 14px 0 0;
	font-family: var(--gfe-sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ll-ink-2);
	text-align: center;
}
/* Until the film files are in the Media Library the poster still presents. */
.gfe-ll-film__fallback {
	position: absolute;
	inset: auto 0 0 0;
	padding: 14px 16px;
	background: linear-gradient(180deg, rgba(20, 22, 16, 0) 0%, rgba(20, 22, 16, .82) 46%);
	font-family: var(--gfe-sans);
	font-size: 12px;
	line-height: 1.6;
	color: rgba(244, 240, 235, .9);
	text-align: center;
}

/* --------------------------------------------------------------------------
   4. Hero
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-hero {
	--padding-top: calc(var(--gfe-header-h) + clamp(50px, 5.2vw, 92px));
	--padding-bottom: clamp(62px, 6vw, 108px);
}
.e-con.gfe-ll-hero > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	gap: clamp(30px, 4.4vw, 74px);
	align-items: center;
}
.e-con.gfe-ll-copy { --gap: 0px; padding: 0; max-width: 620px; position: relative; z-index: 1; }
.e-con.gfe-ll-media { padding: 0; width: 100%; position: relative; z-index: 1; }
.gfe-ll-hero .e-con.gfe-actions { margin-top: 32px; padding: 0; flex-wrap: wrap; gap: 14px; justify-content: flex-start; }
.gfe-ll-media::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 50%;
	width: min(760px, 124%);
	height: min(760px, 124%);
	pointer-events: none;
	translate: -50% -50%;
	background: radial-gradient(50% 50% at 50% 50%, rgba(226, 201, 151, .3) 0%, rgba(226, 201, 151, .1) 46%, rgba(226, 201, 151, 0) 72%);
}
.gfe-ll-img { position: relative; z-index: 1; }
.gfe-ll-img img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 1px 1px rgba(28, 31, 22, .22)) drop-shadow(0 18px 30px rgba(28, 31, 22, .28));
}
.gfe-ll-note {
	margin: 26px 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(226, 201, 151, .26);
	max-width: 50ch;
	font-family: var(--gfe-sans);
	font-size: 13.5px;
	line-height: 1.75;
	color: rgba(244, 240, 235, .76);
}
.gfe-ll-note a { color: #E6D3AE; text-decoration: underline; text-underline-offset: 3px; }
.gfe-ll-note a:hover { color: var(--gfe-paper); }

/* --------------------------------------------------------------------------
   5. Film + copy sections (Meet Luxe Lift, Firming Peptide)
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-split > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .6fr);
	gap: clamp(30px, 4.6vw, 78px);
	align-items: center;
}
.e-con.gfe-ll-split--flip > .e-con-inner { grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); }
.gfe-ll-split .e-con.gfe-actions { margin-top: 28px; padding: 0; justify-content: flex-start; flex-wrap: wrap; gap: 14px; }
.gfe-ll-bridge {
	margin: 24px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--ll-cons);
	max-width: 52ch;
	font-family: var(--gfe-sans);
	font-size: 13.5px;
	line-height: 1.74;
	color: var(--ll-ink-2);
}
.gfe-ll-bridge a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-ll-bridge a:hover { color: var(--gfe-ink); }
.gfe-ll-bridge--light { color: rgba(244, 240, 235, .78); }
.gfe-ll-bridge--light a { color: #E6D3AE; }
.gfe-ll-bridge--light a:hover { color: var(--gfe-paper); }

/* --------------------------------------------------------------------------
   6. A different kind of aging-focused facial — three measured movements
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-block > .e-con-inner { display: block; }
.gfe-ll-head { max-width: 62ch; }
.gfe-ll-moves {
	list-style: none;
	margin: clamp(32px, 3.4vw, 52px) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 52px);
}
.gfe-ll-move { padding-top: 22px; border-top: 1px solid rgba(226, 201, 151, .34); }
.gfe-ll-move__n {
	display: block;
	font-family: var(--gfe-serif);
	font-size: 14px;
	letter-spacing: .16em;
	color: #E6D3AE;
}
.gfe-ll-move__t {
	margin: 12px 0 0;
	font-family: var(--gfe-serif);
	font-size: clamp(21px, 1.9vw, 27px);
	line-height: 1.16;
	color: var(--gfe-paper);
}
.gfe-ll-move__p {
	margin: 12px 0 0;
	font-family: var(--gfe-sans);
	font-size: 15px;
	line-height: 1.78;
	color: rgba(244, 240, 235, .84);
}

/* --------------------------------------------------------------------------
   7. The Raspberry Enzyme — three measured words
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-enz > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .82fr);
	gap: clamp(28px, 4.2vw, 72px);
	align-items: center;
}
.gfe-ll-words { list-style: none; margin: 0; padding: 0; }
.gfe-ll-word {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	align-items: baseline;
	gap: 18px;
	padding: clamp(18px, 1.9vw, 26px) 0;
	border-bottom: 1px solid rgba(79, 74, 57, .16);
}
.gfe-ll-word:first-child { border-top: 1px solid rgba(79, 74, 57, .16); }
.gfe-ll-word__n {
	font-family: var(--gfe-serif);
	font-size: 13px;
	letter-spacing: .12em;
	color: #8D9078;
}
.gfe-ll-word__t {
	display: block;
	font-family: var(--gfe-serif);
	font-size: clamp(26px, 2.8vw, 40px);
	line-height: 1.08;
	letter-spacing: .01em;
	color: var(--gfe-ink);
}
.gfe-ll-word__p {
	display: block;
	margin-top: 8px;
	max-width: 42ch;
	font-family: var(--gfe-sans);
	font-size: 14.5px;
	line-height: 1.74;
	color: var(--gfe-ink-soft);
}

/* --------------------------------------------------------------------------
   8. The 80-minute experience — four stages over a scientific study
   The drawing is laid into the band itself: its baseline runs behind the
   numerals, never behind body copy, and its edges feather into the ground.
   -------------------------------------------------------------------------- */
.gfe-ll-journey { position: relative; margin-top: clamp(30px, 3.2vw, 48px); }
.gfe-ll-journey__art {
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 0;
	width: min(112%, 1180px);
	translate: -50% 0;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 12%, #000 88%, rgba(0,0,0,0) 100%);
	mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 12%, #000 88%, rgba(0,0,0,0) 100%);
}
.gfe-ll-study { display: block; width: 100%; height: auto; overflow: visible; }
.gfe-ll-study .ll-f, .gfe-ll-study .ll-c, .gfe-ll-study .ll-t,
.gfe-ll-study .ll-g, .gfe-ll-study .ll-d, .gfe-ll-study .ll-h, .gfe-ll-study .ll-a {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.gfe-ll-study .ll-f { stroke: var(--ll-faint); stroke-width: .7; }
.gfe-ll-study .ll-c { stroke: var(--ll-cons); stroke-width: .75; }
.gfe-ll-study .ll-t { stroke: var(--ll-ink-2); stroke-width: .8; }
.gfe-ll-study .ll-g { stroke: var(--ll-ink-2); stroke-width: .75; }
.gfe-ll-study .ll-d { stroke: var(--ll-ink); stroke-width: 1.15; }
.gfe-ll-study .ll-h { stroke: var(--ll-ink-2); stroke-width: .55; }
.gfe-ll-study .ll-a { stroke: var(--ll-acc); stroke-width: 1.2; }
.gfe-ll-study .ll-af { fill: var(--ll-acc); stroke: none; }
.gfe-ll-study .ll-if { fill: var(--ll-ink); stroke: none; }
.gfe-ll-stages {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0;
	padding: clamp(150px, 15vw, 210px) 0 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 40px);
}
.gfe-ll-stage__n {
	display: block;
	font-family: var(--gfe-serif);
	font-size: 14px;
	letter-spacing: .16em;
	color: #6B5329;
}
.gfe-ll-stage__t {
	margin: 10px 0 0;
	font-family: var(--gfe-serif);
	font-size: clamp(19px, 1.7vw, 25px);
	line-height: 1.14;
	color: var(--gfe-ink);
}
.gfe-ll-stage__p {
	margin: 10px 0 0;
	font-family: var(--gfe-sans);
	font-size: 14.5px;
	line-height: 1.74;
	color: var(--gfe-ink-soft);
}
.gfe-ll-journey__note {
	position: relative;
	z-index: 1;
	margin: clamp(26px, 2.8vw, 40px) 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(176, 143, 80, .34);
	max-width: 64ch;
	font-family: var(--gfe-sans);
	font-size: 14.5px;
	line-height: 1.76;
	color: var(--gfe-ink-soft);
}

/* --------------------------------------------------------------------------
   9. What Luxe Lift can do — editorial benefit typography, no icon grid
   -------------------------------------------------------------------------- */
.gfe-ll-bens { list-style: none; margin: clamp(30px, 3.2vw, 48px) 0 0; padding: 0; }
.gfe-ll-ben {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(16px, 2.4vw, 44px);
	align-items: baseline;
	padding: clamp(20px, 2.2vw, 30px) 0;
	border-bottom: 1px solid rgba(79, 74, 57, .16);
}
.gfe-ll-ben:first-child { border-top: 1px solid rgba(79, 74, 57, .16); }
.gfe-ll-ben__t {
	font-family: var(--gfe-serif);
	font-size: clamp(23px, 2.5vw, 36px);
	line-height: 1.08;
	letter-spacing: -.012em;
	color: var(--gfe-ink);
}
.gfe-ll-ben__p {
	font-family: var(--gfe-sans);
	font-size: 15px;
	line-height: 1.78;
	color: var(--gfe-ink-soft);
}

/* --------------------------------------------------------------------------
   10. Is Luxe Lift right for you
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-fit > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .86fr);
	gap: clamp(28px, 4vw, 68px);
	align-items: start;
}
.gfe-ll-cons { list-style: none; margin: clamp(22px, 2.4vw, 32px) 0 0; padding: 0; }
.gfe-ll-cons li {
	position: relative;
	padding: 12px 0 12px 30px;
	border-bottom: 1px solid rgba(79, 74, 57, .14);
	font-family: var(--gfe-sans);
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--gfe-ink-soft);
}
.gfe-ll-cons li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 21px;
	width: 13px;
	height: 1px;
	background: rgba(176, 143, 80, .8);
}
.gfe-ll-panel {
	padding: clamp(24px, 2.6vw, 34px) clamp(22px, 2.2vw, 30px);
	border: 1px solid rgba(107, 83, 41, .28);
	border-radius: 3px;
	background: rgba(253, 251, 246, .56);
}
.gfe-ll-panel__label {
	margin: 0 0 12px;
	font-family: var(--gfe-sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: #6B5329;
}
.gfe-ll-panel p {
	margin: 0;
	font-family: var(--gfe-sans);
	font-size: 15px;
	line-height: 1.78;
	color: var(--gfe-ink-soft);
}
.gfe-ll-panel p + p { margin-top: 12px; }
.gfe-ll-panel a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-ll-panel a:hover { color: var(--gfe-ink); }

/* --------------------------------------------------------------------------
   11. Katherinne
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-kath > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, .74fr) minmax(0, 1fr);
	gap: clamp(30px, 4.6vw, 76px);
	align-items: center;
}
.gfe-ll-portrait { position: relative; width: min(100%, 380px); margin-left: auto; margin-right: auto; }
.gfe-ll-portrait img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 6;
	object-fit: cover;
	object-position: 44% 18%;
	border-radius: 2px;
	-webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.14) 0%, #000 22%, #000 100%);
	mask-image: linear-gradient(180deg, rgba(0,0,0,.14) 0%, #000 22%, #000 100%);
}
.gfe-ll-portrait::after {
	content: "";
	position: absolute;
	right: -14px;
	bottom: -14px;
	width: 44%;
	height: 38%;
	border-right: 1px solid rgba(226, 201, 151, .55);
	border-bottom: 1px solid rgba(226, 201, 151, .55);
	pointer-events: none;
}
.gfe-ll-kath .e-con.gfe-actions { margin-top: 30px; padding: 0; justify-content: flex-start; flex-wrap: wrap; gap: 14px; }

/* --------------------------------------------------------------------------
   12. Questions
   -------------------------------------------------------------------------- */
.gfe-ll-faq { margin-top: clamp(26px, 2.6vw, 38px); width: 100%; }
.gfe-ll-faq details { border-top: 1px solid rgba(79, 74, 57, .18); }
.gfe-ll-faq details:last-of-type { border-bottom: 1px solid rgba(79, 74, 57, .18); }
.gfe-ll-faq summary {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 2px;
	cursor: pointer;
	list-style: none;
	font-family: var(--gfe-serif);
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.35;
	color: var(--gfe-ink);
	transition: color .35s var(--gfe-ease);
}
.gfe-ll-faq summary::-webkit-details-marker { display: none; }
.gfe-ll-faq summary:hover { color: #6B5329; }
.gfe-ll-faq summary:focus-visible { outline: 2px solid #3B3F31; outline-offset: 3px; }
.gfe-ll-faq summary::after {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	margin-top: 6px;
	background: #6B5329;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 6l5 4.5L13 6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M3 6l5 4.5L13 6'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .4s var(--gfe-ease);
}
.gfe-ll-faq details[open] summary::after { transform: rotate(180deg); }
.gfe-ll-faq__a {
	margin: 0;
	padding: 0 40px 22px 2px;
	font-size: 15px;
	line-height: 1.75;
	color: #565A4B;
	max-width: 54em;
}
.gfe-ll-faq__a a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-ll-faq__a a:hover { color: var(--gfe-ink); }

/* --------------------------------------------------------------------------
   13. Closing film and final booking moment
   -------------------------------------------------------------------------- */
.e-con.gfe-ll-cine > .e-con-inner { align-items: center; text-align: center; }
.gfe-ll-cine .gfe-ll-eyebrow .elementor-heading-title,
.gfe-ll-cine .gfe-ll-h2 .elementor-heading-title,
.gfe-ll-cine .gfe-ll-text { margin-left: auto; margin-right: auto; }
.gfe-ll-cine .gfe-ll-text.elementor-widget-text-editor { max-width: 50ch; text-align: center; }
.gfe-ll-cine .gfe-ll-film { margin-top: clamp(28px, 3vw, 44px); max-width: 380px; }

.e-con.gfe-ll-cta {
	--padding-top: clamp(66px, 6.2vw, 112px);
	--padding-bottom: clamp(66px, 6.2vw, 112px);
	text-align: center;
}
.e-con.gfe-ll-cta > .e-con-inner { align-items: center; }
.gfe-ll-cta .gfe-ll-eyebrow .elementor-heading-title,
.gfe-ll-cta .gfe-ll-h2 .elementor-heading-title,
.gfe-ll-cta .gfe-ll-text,
.gfe-ll-cta .gfe-ll-metaw { margin-left: auto; margin-right: auto; }
.gfe-ll-cta .gfe-ll-text.elementor-widget-text-editor { max-width: 54ch; text-align: center; }
.gfe-ll-cta .e-con.gfe-actions { margin-top: 32px; padding: 0; justify-content: center; flex-wrap: wrap; gap: 14px; }
.gfe-ll-nap {
	margin: clamp(34px, 3.4vw, 52px) auto 0;
	padding-top: clamp(24px, 2.4vw, 34px);
	border-top: 1px solid rgba(226, 201, 151, .26);
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px clamp(20px, 3vw, 42px);
	font-style: normal;
	font-family: var(--gfe-sans);
	font-size: 13.5px;
	line-height: 1.7;
	color: rgba(244, 240, 235, .82);
}
.gfe-ll-nap a { color: rgba(244, 240, 235, .92); text-decoration: none; border-bottom: 1px solid rgba(226, 201, 151, .42); }
.gfe-ll-nap a:hover { color: var(--gfe-paper); border-color: rgba(244, 240, 235, .72); }

/* Container resets for the inner containers used on this page. */
.e-con.gfe-ll-copy, .e-con.gfe-ll-head-con { --gap: 0px; padding: 0; }
.e-con.gfe-ll-media, .e-con.gfe-ll-figcon { padding: 0; }

/* --------------------------------------------------------------------------
   14. Motion — materialising reveals, masked film wipes, a drawn study
   -------------------------------------------------------------------------- */
@keyframes gfeLlRise { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; } }
@keyframes gfeLlFade { to { opacity: 1; } }
@keyframes gfeLlGlow { to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes gfeLlForm {
	from { opacity: 0; transform: translate3d(0, 34px, 0) scale(1.025); filter: blur(12px) drop-shadow(0 1px 1px rgba(28,31,22,0)) drop-shadow(0 18px 30px rgba(28,31,22,0)); }
	to   { opacity: 1; transform: none; filter: blur(0) drop-shadow(0 1px 1px rgba(28,31,22,.22)) drop-shadow(0 18px 30px rgba(28,31,22,.28)); }
}

/* Copy rises. */
.gfe-js .gfe-ll-sec .gfe-ll-eyebrow,
.gfe-js .gfe-ll-sec .gfe-ll-h1,
.gfe-js .gfe-ll-sec .gfe-ll-h2,
.gfe-js .gfe-ll-sec .gfe-ll-sub,
.gfe-js .gfe-ll-sec .gfe-ll-lead,
.gfe-js .gfe-ll-sec .gfe-ll-text,
.gfe-js .gfe-ll-sec .gfe-ll-metaw,
.gfe-js .gfe-ll-sec .gfe-ll-rise,
.gfe-js .gfe-ll-sec .e-con.gfe-actions {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
	transition: opacity .9s var(--gfe-ease-out), transform 1s var(--gfe-ease-out);
}
.gfe-js .gfe-ll-sec.is-in .gfe-ll-eyebrow,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-h1,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-h2,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-sub,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-lead,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-text,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-metaw,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-rise,
.gfe-js .gfe-ll-sec.is-in .e-con.gfe-actions { opacity: 1; transform: none; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-eyebrow { transition-delay: .05s; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-h1,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-h2 { transition-delay: .14s; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-sub,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-lead,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-text { transition-delay: .24s; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-metaw { transition-delay: .32s; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-rise { transition-delay: .38s; }
.gfe-js .gfe-ll-sec.is-in .e-con.gfe-actions { transition-delay: .44s; }

/* The films are unveiled rather than faded: a mask wipes up the frame. */
.gfe-js .gfe-ll-sec .gfe-ll-film__frame {
	clip-path: inset(0 0 100% 0);
	opacity: .001;
	transition: clip-path 1.25s var(--gfe-ease-out) .12s, opacity .4s linear .12s;
}
.gfe-js .gfe-ll-sec.is-in .gfe-ll-film__frame { clip-path: inset(0 0 0 0); opacity: 1; }
.gfe-js .gfe-ll-sec .gfe-ll-film__cap { opacity: 0; transition: opacity .8s var(--gfe-ease-out) 1.1s; }
.gfe-js .gfe-ll-sec.is-in .gfe-ll-film__cap { opacity: 1; }

/* Sequenced rows. */
.gfe-js .gfe-ll-sec .gfe-ll-move,
.gfe-js .gfe-ll-sec .gfe-ll-word,
.gfe-js .gfe-ll-sec .gfe-ll-ben,
.gfe-js .gfe-ll-sec .gfe-ll-cons li,
.gfe-js .gfe-ll-sec .gfe-ll-stage,
.gfe-js .gfe-ll-sec .gfe-ll-faq details {
	opacity: 0;
	transform: translate3d(0, 16px, 0);
	transition: opacity .8s var(--gfe-ease-out), transform .9s var(--gfe-ease-out);
	transition-delay: var(--d, 0s);
}
.gfe-js .gfe-ll-sec.is-in .gfe-ll-move,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-word,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-ben,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-cons li,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-stage,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-faq details { opacity: 1; transform: none; }

/* The study is made in the order a study is made. */
.gfe-js .gfe-ll-sec .ll-f, .gfe-js .gfe-ll-sec .ll-c,
.gfe-js .gfe-ll-sec .ll-t, .gfe-js .gfe-ll-sec .ll-g,
.gfe-js .gfe-ll-sec .ll-d, .gfe-js .gfe-ll-sec .ll-a {
	stroke-dasharray: 1.004;
	stroke-dashoffset: 1.004;
}
.gfe-js .gfe-ll-sec .ll-f,
.gfe-js .gfe-ll-sec .ll-c { transition: stroke-dashoffset 1s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .05s); }
.gfe-js .gfe-ll-sec .ll-t { transition: stroke-dashoffset .45s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .5s); }
.gfe-js .gfe-ll-sec .ll-g { transition: stroke-dashoffset .95s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .68s); }
.gfe-js .gfe-ll-sec .ll-d { transition: stroke-dashoffset 1.2s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .84s); }
.gfe-js .gfe-ll-sec .ll-a { transition: stroke-dashoffset .9s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.9s); }
.gfe-js .gfe-ll-sec.is-in .ll-f, .gfe-js .gfe-ll-sec.is-in .ll-c,
.gfe-js .gfe-ll-sec.is-in .ll-t, .gfe-js .gfe-ll-sec.is-in .ll-g,
.gfe-js .gfe-ll-sec.is-in .ll-d, .gfe-js .gfe-ll-sec.is-in .ll-a { stroke-dashoffset: 0; }
.gfe-js .gfe-ll-sec .ll-h { opacity: 0; transition: opacity .7s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.4s); }
.gfe-js .gfe-ll-sec.is-in .ll-h { opacity: 1; }
.gfe-js .gfe-ll-sec .ll-n { opacity: 0; transition: opacity .6s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.65s); }
.gfe-js .gfe-ll-sec.is-in .ll-n { opacity: 1; }
.gfe-js .gfe-ll-sec .ll-if, .gfe-js .gfe-ll-sec .ll-af {
	opacity: 0;
	transform: scale(.3);
	transform-box: fill-box;
	transform-origin: 50% 50%;
	transition: opacity .55s var(--gfe-ease-out), transform .8s var(--gfe-ease-out);
}
.gfe-js .gfe-ll-sec .ll-if { transition-delay: calc(var(--d, 0s) + 1.05s); }
.gfe-js .gfe-ll-sec .ll-af { transition-delay: calc(var(--d, 0s) + 2s); }
.gfe-js .gfe-ll-sec.is-in .ll-if,
.gfe-js .gfe-ll-sec.is-in .ll-af { opacity: 1; transform: none; }

/* Portrait and its drawn corner. */
.gfe-js .gfe-ll-kath .gfe-ll-portrait img {
	opacity: 0;
	transform: translate3d(0, 18px, 0) scale(1.03);
	transition: opacity 1.1s var(--gfe-ease-out) .12s, transform 1.6s var(--gfe-ease-out) .12s;
}
.gfe-js .gfe-ll-kath.is-in .gfe-ll-portrait img { opacity: 1; transform: none; }
.gfe-js .gfe-ll-kath .gfe-ll-portrait::after {
	opacity: 0;
	transform: scale(.6);
	transform-origin: 100% 100%;
	transition: opacity .9s var(--gfe-ease-out) .7s, transform 1.1s var(--gfe-ease-out) .7s;
}
.gfe-js .gfe-ll-kath.is-in .gfe-ll-portrait::after { opacity: 1; transform: none; }

/* The hero plays on load, as every other Glow Fusion hero does. */
.gfe-js .gfe-ll-hero .gfe-ll-eyebrow { animation: gfeLlRise .9s var(--gfe-ease-out) .06s both; }
.gfe-js .gfe-ll-hero .gfe-ll-h1 { animation: gfeLlRise 1s var(--gfe-ease-out) .16s both; }
.gfe-js .gfe-ll-hero .gfe-ll-sub { animation: gfeLlRise 1s var(--gfe-ease-out) .28s both; }
.gfe-js .gfe-ll-hero .gfe-ll-lead { animation: gfeLlRise 1s var(--gfe-ease-out) .36s both; }
.gfe-js .gfe-ll-hero .gfe-ll-metaw { animation: gfeLlRise 1s var(--gfe-ease-out) .44s both; }
.gfe-js .gfe-ll-hero .e-con.gfe-actions { animation: gfeLlRise 1s var(--gfe-ease-out) .52s both; }
.gfe-js .gfe-ll-hero .gfe-ll-rise { animation: gfeLlRise 1s var(--gfe-ease-out) .6s both; }
.gfe-js .gfe-ll-hero .gfe-ll-eyebrow .elementor-heading-title::before { animation: gfeLlFade .7s var(--gfe-ease-out) .34s both; }
.gfe-js .gfe-ll-hero .gfe-ll-media::before { opacity: 0; transform: translate(-50%, -50%) scale(.86); animation: gfeLlGlow 1.6s var(--gfe-ease-out) .18s both; }
.gfe-js .gfe-ll-hero .gfe-ll-img img { animation: gfeLlForm 1.5s cubic-bezier(.17, .84, .24, 1) .18s both; }

.elementor-editor-active .gfe-ll-sec .gfe-ll-film__frame { clip-path: none; opacity: 1; }
.elementor-editor-active .gfe-ll-sec .gfe-ll-move,
.elementor-editor-active .gfe-ll-sec .gfe-ll-word,
.elementor-editor-active .gfe-ll-sec .gfe-ll-ben,
.elementor-editor-active .gfe-ll-sec .gfe-ll-stage,
.elementor-editor-active .gfe-ll-sec .gfe-ll-faq details { opacity: 1; transform: none; }

/* --------------------------------------------------------------------------
   15. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.gfe-ll-ben { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
	.e-con.gfe-ll-split > .e-con-inner { grid-template-columns: minmax(0, 1fr) minmax(0, .68fr); }
	.e-con.gfe-ll-split--flip > .e-con-inner { grid-template-columns: minmax(0, .68fr) minmax(0, 1fr); }
}

@media (max-width: 960px) {
	.gfe-ll-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3vw, 38px) clamp(20px, 3vw, 40px); padding-top: 0; }
	/* Once the stages stop being four across the study no longer maps onto them,
	   so it stops being a background and simply stands above them. */
	.gfe-ll-journey__art { position: relative; left: auto; top: auto; translate: none; width: 100%; margin-bottom: clamp(18px, 2.4vw, 30px); }
}

@media (max-width: 900px) {
	.e-con.gfe-ll-hero > .e-con-inner,
	.e-con.gfe-ll-split > .e-con-inner,
	.e-con.gfe-ll-split--flip > .e-con-inner,
	.e-con.gfe-ll-enz > .e-con-inner,
	.e-con.gfe-ll-fit > .e-con-inner,
	.e-con.gfe-ll-kath > .e-con-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(24px, 3.6vw, 38px);
	}
	.e-con.gfe-ll-hero .gfe-ll-media { order: -1; width: min(100%, 440px); margin-left: auto; margin-right: auto; }
	.e-con.gfe-ll-split .gfe-ll-figcon { order: -1; }
	.e-con.gfe-ll-kath .gfe-ll-figcon { order: -1; }
	.gfe-ll-note, .gfe-ll-bridge { max-width: none; }
	.gfe-ll-moves { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 32px); }
}

@media (max-width: 880px) {
	/* Three measured movements at 210px each read as columns of fragments, so
	   below this they become a stacked, rule-separated sequence. */
	.gfe-ll-moves { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.gfe-ll-move { padding-top: 20px; padding-bottom: 20px; }
	.gfe-ll-move:last-child { padding-bottom: 0; }
}

@media (max-width: 760px) {
	.gfe-ll-moves { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.gfe-ll-move { padding-top: 20px; padding-bottom: 20px; }
	.gfe-ll-move:last-child { padding-bottom: 0; }
	.gfe-ll-ben { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.gfe-ll-word { grid-template-columns: 32px minmax(0, 1fr); gap: 14px; }
	/* On a phone the study stops being a background and simply stands above
	   the stages, so no line work ever runs behind the copy. */
	.gfe-ll-journey__art { position: relative; left: auto; top: auto; translate: none; width: 100%; margin-bottom: 18px; }
	.gfe-ll-stages { padding-top: 0; }
}

@media (max-width: 600px) {
	.e-con.gfe-ll-sec { --padding-top: clamp(50px, 11vw, 70px); --padding-bottom: clamp(50px, 11vw, 70px); }
	.e-con.gfe-ll-hero { --padding-top: calc(var(--gfe-header-h) + 34px); }
	.e-con.gfe-ll-cta { --padding-top: clamp(56px, 12vw, 78px); --padding-bottom: clamp(56px, 12vw, 78px); }
	.gfe-sec .gfe-ll-eyebrow .elementor-heading-title { letter-spacing: .26em; gap: 10px; }
	.gfe-sec .gfe-ll-text.elementor-widget-text-editor { font-size: 15.8px; }
	.gfe-ll-dur { letter-spacing: .1em; }
	/* Portrait film takes the available width, still exactly 9:16. */
	.gfe-ll-film { max-width: min(100%, 420px); }
	.gfe-ll-faq summary { font-size: 16.5px; gap: 14px; }
	.gfe-ll-faq__a { padding-right: 8px; }
	.gfe-ll-nap { gap: 8px 18px; font-size: 13px; }
	.gfe-ll-stages { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.gfe-ll-stage { padding: 18px 0; border-top: 1px solid rgba(79, 74, 57, .14); }
	.gfe-ll-stage:first-child { border-top: 0; padding-top: 0; }
	.gfe-ll-portrait::after { right: -8px; bottom: -8px; }
}

@media (max-width: 400px) {
	.gfe-ll-word { grid-template-columns: 26px minmax(0, 1fr); gap: 10px; }
	.gfe-ll-word__t { font-size: 24px; }
	.gfe-ll-cons li { padding-left: 24px; font-size: 15px; }
	.gfe-ll-journey__art { display: none; }
}

/* --------------------------------------------------------------------------
   16. Reduced motion — the finished page, immediately
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.gfe-js .gfe-ll-sec .ll-f, .gfe-js .gfe-ll-sec .ll-c,
	.gfe-js .gfe-ll-sec .ll-t, .gfe-js .gfe-ll-sec .ll-g,
	.gfe-js .gfe-ll-sec .ll-d, .gfe-js .gfe-ll-sec .ll-a {
		stroke-dasharray: none !important;
		stroke-dashoffset: 0 !important;
		transition: none !important;
		animation: none !important;
	}
	.gfe-js .gfe-ll-sec .gfe-ll-film__frame {
		clip-path: none !important;
		opacity: 1 !important;
		transition: none !important;
		animation: none !important;
	}
	.gfe-js .gfe-ll-sec .ll-h, .gfe-js .gfe-ll-sec .ll-n,
	.gfe-js .gfe-ll-sec .ll-if, .gfe-js .gfe-ll-sec .ll-af,
	.gfe-js .gfe-ll-sec .gfe-ll-eyebrow,
	.gfe-js .gfe-ll-sec .gfe-ll-h1,
	.gfe-js .gfe-ll-sec .gfe-ll-h2,
	.gfe-js .gfe-ll-sec .gfe-ll-sub,
	.gfe-js .gfe-ll-sec .gfe-ll-lead,
	.gfe-js .gfe-ll-sec .gfe-ll-text,
	.gfe-js .gfe-ll-sec .gfe-ll-metaw,
	.gfe-js .gfe-ll-sec .gfe-ll-rise,
	.gfe-js .gfe-ll-sec .e-con.gfe-actions,
	.gfe-js .gfe-ll-sec .gfe-ll-eyebrow .elementor-heading-title::before,
	.gfe-js .gfe-ll-sec .gfe-ll-move,
	.gfe-js .gfe-ll-sec .gfe-ll-word,
	.gfe-js .gfe-ll-sec .gfe-ll-ben,
	.gfe-js .gfe-ll-sec .gfe-ll-cons li,
	.gfe-js .gfe-ll-sec .gfe-ll-stage,
	.gfe-js .gfe-ll-sec .gfe-ll-faq details,
	.gfe-js .gfe-ll-sec .gfe-ll-film__cap,
	.gfe-js .gfe-ll-kath .gfe-ll-portrait img,
	.gfe-js .gfe-ll-kath .gfe-ll-portrait::after,
	.gfe-js .gfe-ll-hero .gfe-ll-media::before,
	.gfe-js .gfe-ll-hero .gfe-ll-img img {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
		animation: none !important;
	}
	.gfe-js .gfe-ll-hero .gfe-ll-media::before { transform: translate(-50%, -50%) !important; }
}

/* --------------------------------------------------------------------------
   17. Poster-only state for a film whose source file is not yet in the
   Media Library. Same geometry as the video element, same masked wipe.
   -------------------------------------------------------------------------- */
.gfe-ll-film__frame > img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	background: #23261C;
}
.gfe-ll-head .gfe-ll-dur { margin-top: 22px; }
.gfe-ll-cine .gfe-ll-film { margin-left: auto; margin-right: auto; }

/* --------------------------------------------------------------------------
   18. Band-aware ink. The ground a section sits on decides the ink for its
   eyebrow, heading, sub and lead, so no per-widget modifier class is needed
   and no band can ever be authored with the wrong contrast.
   -------------------------------------------------------------------------- */
.gfe-sec.gfe-ll-sage .gfe-ll-h2 .elementor-heading-title,
.gfe-sec.gfe-ll-deep .gfe-ll-h2 .elementor-heading-title,
.gfe-sec.gfe-ll-cine .gfe-ll-h2 .elementor-heading-title { color: var(--gfe-paper); }
.gfe-sec.gfe-ll-sage .gfe-ll-eyebrow .elementor-heading-title,
.gfe-sec.gfe-ll-deep .gfe-ll-eyebrow .elementor-heading-title,
.gfe-sec.gfe-ll-cine .gfe-ll-eyebrow .elementor-heading-title,
.gfe-sec.gfe-ll-hero .gfe-ll-eyebrow .elementor-heading-title { color: #E6D3AE; }
.gfe-sec.gfe-ll-sage .gfe-ll-eyebrow .elementor-heading-title::before,
.gfe-sec.gfe-ll-deep .gfe-ll-eyebrow .elementor-heading-title::before,
.gfe-sec.gfe-ll-cine .gfe-ll-eyebrow .elementor-heading-title::before,
.gfe-sec.gfe-ll-hero .gfe-ll-eyebrow .elementor-heading-title::before { background: #D2B27A; }
.gfe-sec.gfe-ll-bone .gfe-ll-lead.elementor-widget-text-editor,
.gfe-sec.gfe-ll-cream .gfe-ll-lead.elementor-widget-text-editor { color: var(--gfe-ink-soft); }
.gfe-sec.gfe-ll-bone .gfe-ll-sub.elementor-widget-text-editor,
.gfe-sec.gfe-ll-cream .gfe-ll-sub.elementor-widget-text-editor { color: #6B5329; }

/* --------------------------------------------------------------------------
   19. Elementor resets figure margins with a higher-specificity selector than
   anything sane here, so the film is centred by its widget rather than by its
   own auto margins.
   -------------------------------------------------------------------------- */
.gfe-ll-media > .elementor-widget-html,
.gfe-ll-cine .gfe-ll-copy > .elementor-widget-html {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.gfe-ll-media > .elementor-widget-html > .gfe-ll-film,
.gfe-ll-cine .gfe-ll-copy > .elementor-widget-html > .gfe-ll-film { width: 100%; }

/* --------------------------------------------------------------------------
   20. The trailing notes — the hero footnote, the cross-link bridges, the
   reassurance panel, the journey note and the NAP — join the rise instead of
   standing there before the copy that introduces them has arrived.
   -------------------------------------------------------------------------- */
.gfe-js .gfe-ll-sec:not(.gfe-ll-hero) .gfe-ll-note,
.gfe-js .gfe-ll-sec:not(.gfe-ll-hero) .gfe-ll-bridge,
.gfe-js .gfe-ll-sec:not(.gfe-ll-hero) .gfe-ll-panel,
.gfe-js .gfe-ll-sec:not(.gfe-ll-hero) .gfe-ll-journey__note,
.gfe-js .gfe-ll-sec:not(.gfe-ll-hero) .gfe-ll-nap {
	opacity: 0;
	transform: translate3d(0, 16px, 0);
	transition: opacity .9s var(--gfe-ease-out) .5s, transform 1s var(--gfe-ease-out) .5s;
}
.gfe-js .gfe-ll-sec.is-in .gfe-ll-note,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-bridge,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-panel,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-journey__note,
.gfe-js .gfe-ll-sec.is-in .gfe-ll-nap { opacity: 1; transform: none; }
/* The hero never waits on the observer, so its footnote is keyed to the load. */
.gfe-js .gfe-ll-hero .gfe-ll-note { animation: gfeLlRise 1s var(--gfe-ease-out) .62s both; }

@media (prefers-reduced-motion: reduce) {
	.gfe-js .gfe-ll-sec .gfe-ll-note,
	.gfe-js .gfe-ll-sec .gfe-ll-bridge,
	.gfe-js .gfe-ll-sec .gfe-ll-panel,
	.gfe-js .gfe-ll-sec .gfe-ll-journey__note,
	.gfe-js .gfe-ll-sec .gfe-ll-nap {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}
.elementor-editor-active .gfe-ll-sec .gfe-ll-note,
.elementor-editor-active .gfe-ll-sec .gfe-ll-bridge,
.elementor-editor-active .gfe-ll-sec .gfe-ll-panel,
.elementor-editor-active .gfe-ll-sec .gfe-ll-journey__note,
.elementor-editor-active .gfe-ll-sec .gfe-ll-nap { opacity: 1; transform: none; }
