/* ==========================================================================
   NEW CLIENTS (/new-clients/)
   The same palette, type scale, buttons and easings as the rest of the Glow
   Fusion system. What is new here is the drawing language: Renaissance
   notebook studies — construction geometry first, measurement, then the
   contour, then one champagne accent. Every selector is prefixed .gfe-nc-
   (SVG stroke roles are scoped under .gfe-nc-study) and the sheet loads on
   /new-clients/ only, so nothing here can reach another page.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Bands and ink
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-sec {
	--padding-top: clamp(58px, 5.4vw, 96px);
	--padding-bottom: clamp(58px, 5.4vw, 96px);
	position: relative;
	overflow: hidden;
	/* graphite on paper */
	--nc-ink: #4F4A39;
	--nc-ink-2: rgba(79, 74, 57, .52);
	--nc-cons: rgba(79, 74, 57, .27);
	--nc-faint: rgba(79, 74, 57, .13);
	--nc-acc: #B08F50;
}
.e-con.gfe-nc-bone {
	background-color: #F0EDE6;
	background-image:
		radial-gradient(62% 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-nc-cream {
	background-color: #E8E5D9;
	background-image:
		radial-gradient(66% 56% at 14% 42%, rgba(251, 249, 243, .8) 0%, rgba(251, 249, 243, 0) 74%),
		linear-gradient(180deg, #EAE7DB 0%, #E5E2D5 58%, #E1DED0 100%);
}
.e-con.gfe-nc-sage {
	background-color: #565B45;
	background-image: linear-gradient(180deg, #4E5340 0%, #545943 52%, #5B6049 100%);
}
.e-con.gfe-nc-sage--deep {
	background-color: #474C3A;
	background-image: linear-gradient(180deg, #3F4433 0%, #454A38 54%, #4C5140 100%);
}
/* Ink flips on the dark bands so a study reads as white chalk on sage. */
.e-con.gfe-nc-sage,
.e-con.gfe-nc-sage--deep {
	--nc-ink: rgba(235, 231, 217, .74);
	--nc-ink-2: rgba(235, 231, 217, .46);
	--nc-cons: rgba(235, 231, 217, .26);
	--nc-faint: rgba(235, 231, 217, .12);
	--nc-acc: #D2B27A;
}

/* A whisper of paper tooth under the light bands. */
.e-con.gfe-nc-paper::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: .045;
	background-image: var(--gfe-grain);
	background-size: 200px 200px;
}
.e-con.gfe-nc-sec > .e-con-inner { position: relative; z-index: 1; }

#new-clients,
#start-here,
#not-sure,
#meet-katherinne,
#before-your-appointment,
#finding-glow-fusion,
#first-visit-faq,
#begin {
	scroll-margin-top: calc(var(--gfe-header-h) - 8px);
}

/* --------------------------------------------------------------------------
   2. Type
   -------------------------------------------------------------------------- */
.gfe-sec .gfe-nc-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;
}
/* The marker is a drawn origin: a point with a short measured ray. */
.gfe-sec .gfe-nc-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 28px;
	height: 12px;
	background: var(--gfe-gold);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round'%3E%3Ccircle cx='4' cy='6' r='2.6'/%3E%3Cpath d='M8 6h14M18.5 3.4 22 6l-3.5 2.6M12 3.6v-1.6M16 3.6v-1.6'/%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 28 12' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round'%3E%3Ccircle cx='4' cy='6' r='2.6'/%3E%3Cpath d='M8 6h14M18.5 3.4 22 6l-3.5 2.6M12 3.6v-1.6M16 3.6v-1.6'/%3E%3C/svg%3E") no-repeat 50% / contain;
	transform-origin: 0% 50%;
}
.gfe-sec .gfe-nc-eyebrow--light .elementor-heading-title { color: #E6D3AE; }
.gfe-sec .gfe-nc-eyebrow--light .elementor-heading-title::before { background: #D2B27A; }

.gfe-sec .gfe-nc-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: -.017em;
	color: var(--gfe-paper);
}
.gfe-sec .gfe-nc-h2 .elementor-heading-title {
	margin-top: 14px;
	font-family: var(--gfe-serif);
	font-size: clamp(29px, 3.3vw, 48px);
	line-height: 1.07;
	letter-spacing: -.013em;
	color: var(--gfe-ink);
}
.gfe-sec .gfe-nc-h2--light .elementor-heading-title { color: var(--gfe-paper); }
.gfe-sec .gfe-nc-lead.elementor-widget-text-editor {
	margin-top: 20px;
	max-width: 54ch;
	font-size: clamp(16.5px, 1.35vw, 19px);
	line-height: 1.72;
	color: rgba(244, 240, 235, .92);
}
.gfe-sec .gfe-nc-text.elementor-widget-text-editor {
	margin-top: 18px;
	max-width: 64ch;
	font-size: 16.5px;
	line-height: 1.82;
	color: var(--gfe-ink-soft);
}
.gfe-sec .gfe-nc-text--light.elementor-widget-text-editor { color: rgba(244, 240, 235, .9); }
.gfe-sec .gfe-nc-text a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-sec .gfe-nc-text a:hover { color: var(--gfe-ink); }
.gfe-sec .gfe-nc-text--light a { color: #E6D3AE; }
.gfe-sec .gfe-nc-text--light a:hover { color: var(--gfe-paper); }

/* A quiet inline link under a button row. */
.gfe-nc-aside {
	margin: 18px 0 0;
	font-family: var(--gfe-sans);
	font-size: 13.5px;
	line-height: 1.7;
	color: rgba(244, 240, 235, .74);
}
.gfe-nc-aside a { color: #E6D3AE; text-decoration: underline; text-underline-offset: 3px; }
.gfe-nc-aside a:hover { color: var(--gfe-paper); }

/* --------------------------------------------------------------------------
   3. The study drawings
   Stroke roles, in the order a study is actually made:
   .nc-f faint guide  .nc-c construction  .nc-t measurement  .nc-g searching
   line  .nc-d finished contour  .nc-h hatching  .nc-n numeral  .nc-a accent
   -------------------------------------------------------------------------- */
.gfe-nc-study {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.gfe-nc-study .nc-f,
.gfe-nc-study .nc-c,
.gfe-nc-study .nc-t,
.gfe-nc-study .nc-g,
.gfe-nc-study .nc-d,
.gfe-nc-study .nc-h,
.gfe-nc-study .nc-a {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}
.gfe-nc-study .nc-f { stroke: var(--nc-faint); stroke-width: .7; }
.gfe-nc-study .nc-c { stroke: var(--nc-cons); stroke-width: .75; }
.gfe-nc-study .nc-t { stroke: var(--nc-ink-2); stroke-width: .8; }
.gfe-nc-study .nc-g { stroke: var(--nc-ink-2); stroke-width: .75; }
.gfe-nc-study .nc-d { stroke: var(--nc-ink); stroke-width: 1.2; }
.gfe-nc-study .nc-h { stroke: var(--nc-ink-2); stroke-width: .55; }
.gfe-nc-study .nc-a { stroke: var(--nc-acc); stroke-width: 1.25; }
.gfe-nc-study .nc-af { fill: var(--nc-acc); stroke: none; }
.gfe-nc-study .nc-if { fill: var(--nc-ink); stroke: none; }
.gfe-nc-study .nc-n {
	fill: var(--nc-ink-2);
	stroke: none;
	font-family: var(--gfe-serif);
	font-size: 13px;
	letter-spacing: .08em;
}
.gfe-nc-study .nc-n--a { fill: var(--nc-acc); }

/* --------------------------------------------------------------------------
   4. Hero
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-hero {
	--padding-top: calc(var(--gfe-header-h) + clamp(48px, 5vw, 90px));
	--padding-bottom: clamp(58px, 5.2vw, 96px);
}
.e-con.gfe-nc-hero > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
	gap: clamp(28px, 4.2vw, 68px);
	align-items: center;
}
.e-con.gfe-nc-hero__copy { --gap: 0px; padding: 0; max-width: 620px; }
.e-con.gfe-nc-hero__fig { padding: 0; width: 100%; }
.gfe-nc-hero .e-con.gfe-actions { margin-top: 34px; padding: 0; flex-wrap: wrap; gap: 14px; justify-content: flex-start; }
.gfe-nc-hero__fig .gfe-nc-study { aspect-ratio: 460 / 340; }

/* --------------------------------------------------------------------------
   5. Start with what you are looking for — the directions index
   The study sits behind and beside the index; its construction arc is allowed
   to pass behind the numerals, never behind body copy.
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-start > .e-con-inner { display: block; }
.gfe-nc-start__head { max-width: 58ch; position: relative; z-index: 2; }
.gfe-nc-start__art {
	position: absolute;
	z-index: 0;
	right: -4%;
	top: 8%;
	width: min(46%, 560px);
	pointer-events: none;
	opacity: .9;
	-webkit-mask-image: radial-gradient(78% 78% at 52% 46%, #000 52%, rgba(0, 0, 0, 0) 100%);
	mask-image: radial-gradient(78% 78% at 52% 46%, #000 52%, rgba(0, 0, 0, 0) 100%);
}
.gfe-nc-dirs {
	list-style: none;
	margin: clamp(30px, 3vw, 46px) 0 0;
	padding: 0;
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(26px, 3.4vw, 56px);
}
.gfe-nc-dir__link {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 26px;
	align-items: center;
	gap: 16px;
	padding: clamp(18px, 1.9vw, 24px) 4px;
	border-bottom: 1px solid rgba(79, 74, 57, .16);
	text-decoration: none;
	color: inherit;
}
.gfe-nc-dir__num {
	justify-self: start;
	font-family: var(--gfe-serif);
	font-size: 15px;
	letter-spacing: .1em;
	color: #8D9078;
	transition: color .45s var(--gfe-ease);
	position: relative;
}
/* Each numeral sits on a drawn tick, as in the study. */
.gfe-nc-dir__num::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 16px;
	height: 1px;
	background: rgba(176, 143, 80, .7);
	transform-origin: 0 50%;
	transition: width .45s var(--gfe-ease);
}
.gfe-nc-dir__body { min-width: 0; }
.gfe-nc-dir__q {
	display: block;
	font-family: var(--gfe-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--gfe-ink-soft);
}
.gfe-nc-dir__name {
	display: block;
	margin-top: 7px;
	font-family: var(--gfe-serif);
	font-size: clamp(21px, 1.95vw, 27px);
	line-height: 1.16;
	letter-spacing: -.01em;
	color: var(--gfe-ink);
	transition: transform .5s var(--gfe-ease), color .45s var(--gfe-ease);
}
.gfe-nc-dir__go {
	justify-self: end;
	width: 20px;
	height: 10px;
	background: var(--gfe-ink-soft);
	-webkit-mask: var(--gfe-arrow) no-repeat 50% / contain;
	mask: var(--gfe-arrow) no-repeat 50% / contain;
	transition: transform .5s var(--gfe-ease), background-color .45s var(--gfe-ease);
}
.gfe-nc-dir__link:hover .gfe-nc-dir__name,
.gfe-nc-dir__link:focus-visible .gfe-nc-dir__name { color: #4E5340; transform: translateX(5px); }
.gfe-nc-dir__link:hover .gfe-nc-dir__num,
.gfe-nc-dir__link:focus-visible .gfe-nc-dir__num { color: #6B5329; }
.gfe-nc-dir__link:hover .gfe-nc-dir__num::after,
.gfe-nc-dir__link:focus-visible .gfe-nc-dir__num::after { width: 26px; }
.gfe-nc-dir__link:hover .gfe-nc-dir__go,
.gfe-nc-dir__link:focus-visible .gfe-nc-dir__go { transform: translateX(6px); background: #6B5329; }
.gfe-nc-dir__link:focus-visible { outline: 2px solid #6B5329; outline-offset: 4px; border-radius: 2px; }

/* --------------------------------------------------------------------------
   6. Not sure what to book
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-unsure > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .78fr);
	gap: clamp(28px, 4.2vw, 70px);
	align-items: center;
}
.e-con.gfe-nc-unsure__copy { --gap: 0px; padding: 0; max-width: 600px; }
.e-con.gfe-nc-unsure__fig { padding: 0; width: 100%; }
.gfe-nc-unsure__fig .gfe-nc-study { aspect-ratio: 380 / 300; }
.gfe-nc-unsure .e-con.gfe-actions { margin-top: 30px; padding: 0; justify-content: flex-start; flex-wrap: wrap; gap: 14px; }

/* --------------------------------------------------------------------------
   7. Meet Katherinne — a tondo, framed by proportional study marks
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-kath > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
	gap: clamp(30px, 4.6vw, 76px);
	align-items: center;
}
.e-con.gfe-nc-kath__fig { padding: 0; width: 100%; }
.e-con.gfe-nc-kath__copy { --gap: 0px; padding: 0; max-width: 580px; }
.gfe-nc-tondo {
	position: relative;
	width: min(100%, 400px);
	margin-inline: auto;
}
/* The portrait stays in normal flow and sets the square itself: 8.5% margin
   + 83% width + 8.5% margin all resolve against the same width, so the tondo
   is always exactly as tall as it is wide, with no dependence on a container
   aspect-ratio resolving. The study marks are the only absolute layer. */
.gfe-nc-tondo__marks {
	position: absolute;
	left: -12%;
	top: -12%;
	width: 124%;
	height: 124%;
	pointer-events: none;
}
.gfe-nc-tondo__img {
	position: relative;
	z-index: 1;
	width: 83%;
	margin: 8.5% auto;
	border-radius: 50%;
	overflow: hidden;
}
.gfe-nc-tondo__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 58% 30%;
}
.gfe-nc-kath .e-con.gfe-actions { margin-top: 30px; padding: 0; justify-content: flex-start; flex-wrap: wrap; gap: 14px; }

/* --------------------------------------------------------------------------
   8. Before your appointment — three stages
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-prep > .e-con-inner { display: block; }
.gfe-nc-prep__head { max-width: 60ch; }
.gfe-nc-prep__art { width: min(100%, 620px); margin: clamp(26px, 2.8vw, 40px) 0 0; }
.gfe-nc-prep__art .gfe-nc-study { aspect-ratio: 440 / 190; }
.gfe-nc-stages {
	list-style: none;
	margin: clamp(22px, 2.4vw, 34px) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.6vw, 44px);
}
.gfe-nc-stage { padding-top: 20px; border-top: 1px solid rgba(79, 74, 57, .24); }
.gfe-nc-stage__n {
	display: block;
	font-family: var(--gfe-serif);
	font-size: 14px;
	letter-spacing: .14em;
	color: #6B5329;
}
.gfe-nc-stage__t {
	margin: 10px 0 0;
	font-family: var(--gfe-serif);
	font-size: clamp(20px, 1.8vw, 25px);
	line-height: 1.18;
	color: var(--gfe-ink);
}
.gfe-nc-stage__p {
	margin: 10px 0 0;
	font-family: var(--gfe-sans);
	font-size: 15px;
	line-height: 1.76;
	color: var(--gfe-ink-soft);
}
.gfe-nc-stage__p a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-nc-stage__p a:hover { color: var(--gfe-ink); }
.gfe-nc-prep__note {
	margin: clamp(26px, 2.8vw, 40px) 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(176, 143, 80, .34);
	max-width: 62ch;
	font-family: var(--gfe-sans);
	font-size: 14.5px;
	line-height: 1.76;
	color: var(--gfe-ink-soft);
}
.gfe-nc-prep__note a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-nc-prep__note a:hover { color: var(--gfe-ink); }

/* --------------------------------------------------------------------------
   9. Finding Glow Fusion
   Authentic entrance photograph, feathered into the band rather than boxed;
   the directional study sits behind it in the negative space.
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-find > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
	gap: clamp(30px, 4.4vw, 74px);
	align-items: center;
}
.e-con.gfe-nc-find__copy { --gap: 0px; padding: 0; max-width: 560px; }
.e-con.gfe-nc-find__fig { padding: 0; width: 100%; position: relative; }
.gfe-nc-find__wrap { position: relative; width: 100%; }
.gfe-nc-find__art {
	/* The directional study sits low and left of the photograph, so roughly
	   half of it reads on the band itself and the rest passes behind the
	   picture's corner. No body copy is ever read through it. */
	position: absolute;
	z-index: 0;
	left: -8%;
	top: auto;
	bottom: -22%;
	width: 60%;
	pointer-events: none;
	opacity: .9;
}
.gfe-nc-find__photo {
	position: relative;
	z-index: 1;
	margin: 0 0 0 auto;
	width: min(88%, 410px);
}
.gfe-nc-find__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 760 / 434;
	object-fit: cover;
	border-radius: 2px;
	-webkit-mask-image: linear-gradient(105deg, rgba(0, 0, 0, .1) 0%, #000 22%, #000 100%);
	mask-image: linear-gradient(105deg, rgba(0, 0, 0, .1) 0%, #000 22%, #000 100%);
}
.gfe-nc-find__cap {
	margin: 14px 0 0;
	font-family: var(--gfe-sans);
	font-size: 13px;
	line-height: 1.7;
	color: var(--gfe-ink-soft);
}
.gfe-nc-addr {
	margin: clamp(22px, 2.4vw, 32px) 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(79, 74, 57, .2);
	font-style: normal;
	font-family: var(--gfe-sans);
	font-size: 15.5px;
	line-height: 1.8;
	color: var(--gfe-ink-soft);
}
.gfe-nc-addr strong { display: block; font-weight: 500; color: var(--gfe-ink); }
.gfe-nc-addr a { color: #6B5329; text-decoration: none; border-bottom: 1px solid rgba(107, 83, 41, .4); }
.gfe-nc-addr a:hover { color: var(--gfe-ink); border-color: rgba(59, 63, 49, .55); }
.gfe-nc-find .e-con.gfe-actions { margin-top: 28px; padding: 0; justify-content: flex-start; flex-wrap: wrap; gap: 14px; }

/* --------------------------------------------------------------------------
   10. First-visit FAQs
   -------------------------------------------------------------------------- */
.gfe-nc-faq { margin-top: clamp(26px, 2.6vw, 38px); width: 100%; }
.gfe-nc-faq details { border-top: 1px solid rgba(79, 74, 57, .18); }
.gfe-nc-faq details:last-of-type { border-bottom: 1px solid rgba(79, 74, 57, .18); }
.gfe-nc-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-nc-faq summary::-webkit-details-marker { display: none; }
.gfe-nc-faq summary:hover { color: #6B5329; }
.gfe-nc-faq summary:focus-visible { outline: 2px solid #3B3F31; outline-offset: 3px; }
/* A drawn cross that becomes a rule: the study mark for a point, resolved. */
.gfe-nc-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.4' stroke-linecap='round'%3E%3Cpath d='M2.6 8h10.8M8 2.6v10.8'/%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.4' stroke-linecap='round'%3E%3Cpath d='M2.6 8h10.8M8 2.6v10.8'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .42s var(--gfe-ease);
}
.gfe-nc-faq details[open] summary::after { transform: rotate(45deg); }
.gfe-nc-faq__a {
	margin: 0;
	padding: 0 40px 22px 2px;
	font-size: 15px;
	line-height: 1.75;
	color: #565A4B;
	max-width: 54em;
}
.gfe-nc-faq__a a { color: #6B5329; text-decoration: underline; text-underline-offset: 3px; }
.gfe-nc-faq__a a:hover { color: var(--gfe-ink); }

/* --------------------------------------------------------------------------
   11. Closing CTA
   -------------------------------------------------------------------------- */
.e-con.gfe-nc-cta {
	--padding-top: clamp(64px, 6vw, 108px);
	--padding-bottom: clamp(64px, 6vw, 108px);
	text-align: center;
}
.e-con.gfe-nc-cta > .e-con-inner { align-items: center; }
.gfe-nc-cta .gfe-nc-eyebrow .elementor-heading-title,
.gfe-nc-cta .gfe-nc-h2 .elementor-heading-title,
.gfe-nc-cta .gfe-nc-text { margin-inline: auto; }
.gfe-nc-cta .gfe-nc-text.elementor-widget-text-editor { max-width: 56ch; }
.gfe-nc-cta__mark { width: 132px; margin: 0 auto; }
.gfe-nc-cta__mark .gfe-nc-study { aspect-ratio: 132 / 34; }
.gfe-nc-cta .e-con.gfe-actions { margin-top: 32px; padding: 0; justify-content: center; flex-wrap: wrap; gap: 14px; }
.gfe-nc-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-nc-nap a { color: rgba(244, 240, 235, .92); text-decoration: none; border-bottom: 1px solid rgba(226, 201, 151, .42); }
.gfe-nc-nap a:hover { color: var(--gfe-paper); border-color: rgba(244, 240, 235, .72); }

/* --------------------------------------------------------------------------
   12. Layout correction: the directions study takes its own column beside
   the heading rather than sitting behind the index, so no body copy is ever
   read through a drawing. Only the mask's faint outer geometry overlaps.
   -------------------------------------------------------------------------- */
.gfe-nc-start__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .66fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: center;
}
.gfe-nc-start__art {
	position: relative;
	right: auto;
	top: auto;
	width: 100%;
	opacity: 1;
	-webkit-mask-image: radial-gradient(82% 82% at 50% 50%, #000 58%, rgba(0, 0, 0, 0) 100%);
	mask-image: radial-gradient(82% 82% at 50% 50%, #000 58%, rgba(0, 0, 0, 0) 100%);
}
.gfe-nc-start__art .gfe-nc-study { aspect-ratio: 460 / 380; }

/* --------------------------------------------------------------------------
   13. Motion — observation, construction, discovery, finished study
   Guides and construction go down first, then the measurements, then the
   searching line, then the finished contour, then the hatching settles, the
   numerals are written, and the champagne accent resolves last.
   -------------------------------------------------------------------------- */
@keyframes gfeNcDraw { to { stroke-dashoffset: 0; } }
@keyframes gfeNcFade { to { opacity: 1; } }
@keyframes gfeNcPop  { to { opacity: 1; transform: none; } }
@keyframes gfeNcRise { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; } }

.gfe-js .gfe-nc-sec .nc-f,
.gfe-js .gfe-nc-sec .nc-c,
.gfe-js .gfe-nc-sec .nc-t,
.gfe-js .gfe-nc-sec .nc-g,
.gfe-js .gfe-nc-sec .nc-d,
.gfe-js .gfe-nc-sec .nc-a {
	stroke-dasharray: 1.004;
	stroke-dashoffset: 1.004;
}
.gfe-js .gfe-nc-sec .nc-f,
.gfe-js .gfe-nc-sec .nc-c { transition: stroke-dashoffset 1s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .05s); }
.gfe-js .gfe-nc-sec .nc-t { transition: stroke-dashoffset .45s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .55s); }
.gfe-js .gfe-nc-sec .nc-g { transition: stroke-dashoffset .95s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .72s); }
.gfe-js .gfe-nc-sec .nc-d { transition: stroke-dashoffset 1.25s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + .88s); }
.gfe-js .gfe-nc-sec .nc-a { transition: stroke-dashoffset .9s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.95s); }
.gfe-js .gfe-nc-sec.is-in .nc-f,
.gfe-js .gfe-nc-sec.is-in .nc-c,
.gfe-js .gfe-nc-sec.is-in .nc-t,
.gfe-js .gfe-nc-sec.is-in .nc-g,
.gfe-js .gfe-nc-sec.is-in .nc-d,
.gfe-js .gfe-nc-sec.is-in .nc-a { stroke-dashoffset: 0; }

/* Hatching is laid in, not drawn: it settles as a tone. */
.gfe-js .gfe-nc-sec .nc-h { opacity: 0; transition: opacity .7s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.45s); }
.gfe-js .gfe-nc-sec.is-in .nc-h { opacity: 1; }

/* Numerals are written after the study reads. */
.gfe-js .gfe-nc-sec .nc-n { opacity: 0; transition: opacity .6s var(--gfe-ease-out); transition-delay: calc(var(--d, 0s) + 1.7s); }
.gfe-js .gfe-nc-sec.is-in .nc-n { opacity: 1; }

/* Filled marks land last. */
.gfe-js .gfe-nc-sec .nc-if,
.gfe-js .gfe-nc-sec .nc-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-nc-sec .nc-if { transition-delay: calc(var(--d, 0s) + 1.1s); }
.gfe-js .gfe-nc-sec .nc-af { transition-delay: calc(var(--d, 0s) + 2.05s); }
.gfe-js .gfe-nc-sec.is-in .nc-if,
.gfe-js .gfe-nc-sec.is-in .nc-af { opacity: 1; transform: none; }

/* Copy rises. */
.gfe-js .gfe-nc-sec .gfe-nc-eyebrow,
.gfe-js .gfe-nc-sec .gfe-nc-h1,
.gfe-js .gfe-nc-sec .gfe-nc-h2,
.gfe-js .gfe-nc-sec .gfe-nc-lead,
.gfe-js .gfe-nc-sec .gfe-nc-text,
.gfe-js .gfe-nc-sec .gfe-nc-rise,
.gfe-js .gfe-nc-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-nc-sec.is-in .gfe-nc-eyebrow,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-h1,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-h2,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-lead,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-text,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-rise,
.gfe-js .gfe-nc-sec.is-in .e-con.gfe-actions { opacity: 1; transform: none; }
.gfe-js .gfe-nc-sec.is-in .gfe-nc-eyebrow { transition-delay: .05s; }
.gfe-js .gfe-nc-sec.is-in .gfe-nc-h1,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-h2 { transition-delay: .14s; }
.gfe-js .gfe-nc-sec.is-in .gfe-nc-lead,
.gfe-js .gfe-nc-sec.is-in .gfe-nc-text { transition-delay: .24s; }
.gfe-js .gfe-nc-sec.is-in .gfe-nc-rise { transition-delay: .34s; }
.gfe-js .gfe-nc-sec.is-in .e-con.gfe-actions { transition-delay: .42s; }
.gfe-js .gfe-nc-sec .gfe-nc-eyebrow .elementor-heading-title::before {
	opacity: 0;
	transform: scaleX(.2);
	transition: opacity .7s var(--gfe-ease-out) .3s, transform .9s var(--gfe-ease-out) .3s;
}
.gfe-js .gfe-nc-sec.is-in .gfe-nc-eyebrow .elementor-heading-title::before { opacity: 1; transform: none; }

/* Index rows, stages and FAQ rows arrive in sequence. */
.gfe-js .gfe-nc-start .gfe-nc-dir__link,
.gfe-js .gfe-nc-prep .gfe-nc-stage,
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details {
	opacity: 0;
	transform: translate3d(0, 14px, 0);
	transition: opacity .78s var(--gfe-ease-out), transform .88s var(--gfe-ease-out);
	transition-delay: var(--d, 0s);
}
.gfe-js .gfe-nc-start.is-in .gfe-nc-dir__link,
.gfe-js .gfe-nc-prep.is-in .gfe-nc-stage,
.gfe-js .gfe-nc-faq-sec.is-in .gfe-nc-faq details { opacity: 1; transform: none; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(1) { --d: .14s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(2) { --d: .2s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(3) { --d: .26s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(4) { --d: .32s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(5) { --d: .38s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(6) { --d: .44s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(7) { --d: .5s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(8) { --d: .56s; }
.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details:nth-of-type(9) { --d: .62s; }

/* Portrait and the marks that measure it. */
.gfe-js .gfe-nc-kath .gfe-nc-tondo__img {
	opacity: 0;
	transform: scale(.955);
	transition: opacity 1.1s var(--gfe-ease-out) .5s, transform 1.5s var(--gfe-ease-out) .5s;
}
.gfe-js .gfe-nc-kath.is-in .gfe-nc-tondo__img { opacity: 1; transform: none; }

/* The entrance photograph resolves under its own feathered edge. */
.gfe-js .gfe-nc-find .gfe-nc-find__photo img {
	opacity: 0;
	transform: translate3d(0, 16px, 0) scale(1.02);
	transition: opacity 1.05s var(--gfe-ease-out) .45s, transform 1.5s var(--gfe-ease-out) .45s;
}
.gfe-js .gfe-nc-find.is-in .gfe-nc-find__photo img { opacity: 1; transform: none; }
.gfe-js .gfe-nc-find .gfe-nc-find__cap { opacity: 0; transition: opacity .8s var(--gfe-ease-out) 1.1s; }
.gfe-js .gfe-nc-find.is-in .gfe-nc-find__cap { opacity: 1; }

/* Above the fold the hero never waits on the observer, matching every other
   Glow Fusion page: it plays on load, study and all. */
.gfe-js .gfe-nc-hero .gfe-nc-eyebrow { animation: gfeNcRise .9s var(--gfe-ease-out) .06s both; }
.gfe-js .gfe-nc-hero .gfe-nc-h1 { animation: gfeNcRise 1s var(--gfe-ease-out) .16s both; }
.gfe-js .gfe-nc-hero .gfe-nc-lead { animation: gfeNcRise 1s var(--gfe-ease-out) .28s both; }
.gfe-js .gfe-nc-hero .e-con.gfe-actions { animation: gfeNcRise 1s var(--gfe-ease-out) .4s both; }
.gfe-js .gfe-nc-hero .gfe-nc-rise { animation: gfeNcRise 1s var(--gfe-ease-out) .5s both; }
.gfe-js .gfe-nc-hero .gfe-nc-eyebrow .elementor-heading-title::before { animation: gfeNcFade .7s var(--gfe-ease-out) .34s both; }
.gfe-js .gfe-nc-hero .nc-f,
.gfe-js .gfe-nc-hero .nc-c { animation: gfeNcDraw 1s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + .3s); }
.gfe-js .gfe-nc-hero .nc-t { animation: gfeNcDraw .45s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + .8s); }
.gfe-js .gfe-nc-hero .nc-g { animation: gfeNcDraw .95s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + .97s); }
.gfe-js .gfe-nc-hero .nc-d { animation: gfeNcDraw 1.25s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 1.13s); }
.gfe-js .gfe-nc-hero .nc-h { animation: gfeNcFade .7s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 1.7s); }
.gfe-js .gfe-nc-hero .nc-n { animation: gfeNcFade .6s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 1.95s); }
.gfe-js .gfe-nc-hero .nc-if { animation: gfeNcPop .7s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 1.35s); }
.gfe-js .gfe-nc-hero .nc-a { animation: gfeNcDraw .9s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 2.2s); }
.gfe-js .gfe-nc-hero .nc-af { animation: gfeNcPop .7s var(--gfe-ease-out) both; animation-delay: calc(var(--d, 0s) + 2.3s); }

/* The editor always shows the finished study. */
.elementor-editor-active .gfe-nc-sec .nc-f,
.elementor-editor-active .gfe-nc-sec .nc-c,
.elementor-editor-active .gfe-nc-sec .nc-t,
.elementor-editor-active .gfe-nc-sec .nc-g,
.elementor-editor-active .gfe-nc-sec .nc-d,
.elementor-editor-active .gfe-nc-sec .nc-a { stroke-dashoffset: 0; }
.elementor-editor-active .gfe-nc-sec .nc-h,
.elementor-editor-active .gfe-nc-sec .nc-n,
.elementor-editor-active .gfe-nc-sec .nc-if,
.elementor-editor-active .gfe-nc-sec .nc-af,
.elementor-editor-active .gfe-nc-start .gfe-nc-dir__link,
.elementor-editor-active .gfe-nc-prep .gfe-nc-stage,
.elementor-editor-active .gfe-nc-faq-sec .gfe-nc-faq details { opacity: 1; transform: none; }

/* --------------------------------------------------------------------------
   14. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.gfe-nc-dir__link { grid-template-columns: 36px minmax(0, 1fr) 22px; gap: 12px; }
	.gfe-nc-dirs { gap: 0 clamp(20px, 3vw, 36px); }
}

@media (max-width: 900px) {
	.e-con.gfe-nc-hero > .e-con-inner,
	.e-con.gfe-nc-unsure > .e-con-inner,
	.e-con.gfe-nc-kath > .e-con-inner,
	.e-con.gfe-nc-find > .e-con-inner,
	.gfe-nc-start__top {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(22px, 3.4vw, 34px);
	}
	.e-con.gfe-nc-hero__fig { order: -1; width: min(100%, 460px); }
	.e-con.gfe-nc-unsure__fig { width: min(100%, 380px); margin-inline: auto; }
	.e-con.gfe-nc-kath__fig { order: -1; width: min(100%, 340px); margin-inline: auto; }
	.gfe-nc-start__art { width: min(100%, 420px); margin-inline: auto; }
	.gfe-nc-find__photo { margin-inline: auto; }
	.gfe-nc-find__art { left: -4%; bottom: -10%; width: 44%; }
	.gfe-nc-stages { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.gfe-nc-stage { padding-top: 18px; padding-bottom: 18px; }
	.gfe-nc-stage:last-child { padding-bottom: 0; }
}

/* The directions index goes to one column early: two short columns of
   question-plus-destination are harder to scan than one clean list. */
@media (max-width: 880px) {
	.gfe-nc-dirs { grid-template-columns: minmax(0, 1fr); }
	.gfe-nc-dir__name { font-size: 21px; }
	.gfe-nc-dir__q { font-size: 13px; }
}

@media (max-width: 600px) {
	.e-con.gfe-nc-sec { --padding-top: clamp(46px, 10vw, 64px); --padding-bottom: clamp(46px, 10vw, 64px); }
	.e-con.gfe-nc-hero { --padding-top: calc(var(--gfe-header-h) + 34px); }
	.e-con.gfe-nc-cta { --padding-top: clamp(52px, 12vw, 74px); --padding-bottom: clamp(52px, 12vw, 74px); }
	.gfe-sec .gfe-nc-eyebrow .elementor-heading-title { letter-spacing: .26em; gap: 10px; }
	.gfe-sec .gfe-nc-text.elementor-widget-text-editor { font-size: 15.8px; }
	.gfe-nc-faq summary { font-size: 16.5px; gap: 14px; }
	.gfe-nc-faq__a { padding-right: 8px; }
	.gfe-nc-nap { gap: 8px 18px; font-size: 13px; }
	.gfe-nc-find__art { display: none; }
	.gfe-nc-tondo { width: min(100%, 300px); }
}

@media (max-width: 400px) {
	.gfe-nc-dir__link { grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 10px; padding-right: 2px; }
	.gfe-nc-dir__num { font-size: 13.5px; }
	.gfe-nc-dir__num::after { width: 12px; }
	.gfe-nc-dir__name { font-size: 19.5px; }
	.gfe-nc-dir__go { width: 17px; }
	.gfe-nc-prep__art { display: none; }
}

/* --------------------------------------------------------------------------
   15. Reduced motion — the finished study, immediately
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.gfe-js .gfe-nc-sec .nc-f,
	.gfe-js .gfe-nc-sec .nc-c,
	.gfe-js .gfe-nc-sec .nc-t,
	.gfe-js .gfe-nc-sec .nc-g,
	.gfe-js .gfe-nc-sec .nc-d,
	.gfe-js .gfe-nc-sec .nc-a {
		stroke-dasharray: none !important;
		stroke-dashoffset: 0 !important;
		transition: none !important;
		animation: none !important;
	}
	.gfe-js .gfe-nc-sec .nc-h,
	.gfe-js .gfe-nc-sec .nc-n,
	.gfe-js .gfe-nc-sec .nc-if,
	.gfe-js .gfe-nc-sec .nc-af,
	.gfe-js .gfe-nc-sec .gfe-nc-eyebrow,
	.gfe-js .gfe-nc-sec .gfe-nc-h1,
	.gfe-js .gfe-nc-sec .gfe-nc-h2,
	.gfe-js .gfe-nc-sec .gfe-nc-lead,
	.gfe-js .gfe-nc-sec .gfe-nc-text,
	.gfe-js .gfe-nc-sec .gfe-nc-rise,
	.gfe-js .gfe-nc-sec .e-con.gfe-actions,
	.gfe-js .gfe-nc-sec .gfe-nc-eyebrow .elementor-heading-title::before,
	.gfe-js .gfe-nc-start .gfe-nc-dir__link,
	.gfe-js .gfe-nc-prep .gfe-nc-stage,
	.gfe-js .gfe-nc-faq-sec .gfe-nc-faq details,
	.gfe-js .gfe-nc-kath .gfe-nc-tondo__img,
	.gfe-js .gfe-nc-find .gfe-nc-find__photo img,
	.gfe-js .gfe-nc-find .gfe-nc-find__cap {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}
}

/* Container resets for the Elementor inner containers used on this page. */
.e-con.gfe-nc-start__top { padding: 0; --gap: 0px; width: 100%; }
.e-con.gfe-nc-start__head { padding: 0; --gap: 0px; }
.e-con.gfe-nc-unsure__copy,
.e-con.gfe-nc-kath__copy,
.e-con.gfe-nc-find__copy,
.e-con.gfe-nc-hero__copy { --gap: 0px; padding: 0; }
.e-con.gfe-nc-unsure__fig,
.e-con.gfe-nc-kath__fig,
.e-con.gfe-nc-find__fig,
.e-con.gfe-nc-hero__fig { padding: 0; }
.gfe-nc-prep__art { display: block; }
.gfe-nc-cta__mark { display: block; }

