
:root {
	--ngt-teal: #00333F;
	--ngt-gold: #A16500;
	--ngt-ivory: #F5F0E6;
	--ngt-beige: #F7E4D5;
	--ngt-white: #ffffff;
}

.elementor-widget-ngt-homepage-hero,
.elementor-widget-ngt-cta {
	width: 100%;
}

.elementor-widget-ngt-homepage-hero > .elementor-widget-container,
.elementor-widget-ngt-cta > .elementor-widget-container {
	width: 100%;
}

.ngt-v3-shell {
	width: min(1152px, calc(100% - 3rem));
	margin-inline: auto;
}

.ngt-v3-eyebrow {
	margin: 0 0 .8rem;
	font: 700 .82rem/1.2 Barlow, Arial, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ngt-gold);
}

.ngt-v3-eyebrow--light {
	color: var(--ngt-beige);
}

.ngt-v3-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .9rem 1.35rem;
	background: var(--ngt-gold);
	border: 1px solid var(--ngt-gold);
	color: #fff !important;
	text-decoration: none !important;
	font: 700 1rem/1.2 Barlow, Arial, sans-serif;
}

.ngt-v3-button--outline-light {
	background: transparent;
	border-color: rgba(255,255,255,.65);
}

.ngt-v3-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.65rem;
}

/* Homepage hero — geometry preserved from approved homepage. */
.ngt-v3-home-hero {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: clamp(500px, 34vw, 560px);
	min-height: 500px;
	background: var(--ngt-teal);
}

.ngt-v3-home-hero__media {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 1;
	height: 100%;
}

.ngt-v3-home-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ngt-v3-home-hero__art {
	position: absolute;
	z-index: 2;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}

.ngt-v3-home-hero__copy-wrap {
	position: absolute;
	z-index: 10;
	inset: 0 auto 0 0;
	height: 100%;
	width: 50%;
	display: flex;
	align-items: center;
	padding: 6.5rem 1.5rem 3rem max(3rem, calc((100vw - 1152px)/2));
	box-sizing: border-box;
}

.ngt-v3-home-hero__copy {
	max-width: 575px;
	color: #fff;
}

.ngt-v3-home-hero__copy h1 {
	margin: 0;
	font-family: Fahkwang, Georgia, serif;
	font-size: clamp(2.8rem, 4.4vw, 4.75rem);
	line-height: 1.03;
	font-weight: 500;
	letter-spacing: -.02em;
	color: #fff;
}

.ngt-v3-gold-rule {
	width: 100%;
	height: 4px;
	margin: 1.45rem 0;
	background: linear-gradient(
		to right,
		var(--ngt-gold) 0%,
		var(--ngt-gold) 72%,
		rgba(161,101,0,.72) 88%,
		rgba(161,101,0,0) 100%
	);
}

.ngt-v3-home-hero__lead {
	max-width: 560px;
	font: 400 1.2rem/1.65 Barlow, Arial, sans-serif;
	color: rgba(255,255,255,.9);
}

.ngt-v3-home-hero__lead p {
	margin: 0;
}

.ngt-v3-photo-credit {
	position: absolute;
	right: .75rem;
	bottom: .5rem;
	z-index: 6;
	font: 400 .68rem/1.3 Barlow, Arial, sans-serif;
	color: rgba(255,255,255,.82);
	background: rgba(0,28,34,.58);
	padding: .2rem .4rem;
}

/* Reusable content components. */
.ngt-v3-section-heading h2,
.ngt-v3-faq-category h2,
.ngt-v3-cta h2 {
	font-family: Fahkwang, Georgia, serif;
	color: var(--ngt-teal);
	font-weight: 500;
	line-height: 1.08;
}

.ngt-v3-section-heading h2 {
	font-size: clamp(2.4rem, 4vw, 4rem);
	margin: .2rem 0 1rem;
}

.ngt-v3-section-heading > div {
	font: 400 1.08rem/1.7 Barlow, Arial, sans-serif;
	color: rgba(0,51,63,.8);
}

.ngt-v3-travel-tile {
	height: 100%;
	font-family: Barlow, Arial, sans-serif;
	color: var(--ngt-teal);
}

.ngt-v3-travel-tile__media {
	margin: 0;
	position: relative;
	overflow: hidden;
}

.ngt-v3-travel-tile__media img {
	display: block;
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.ngt-v3-travel-tile__media figcaption {
	margin-top: .5rem;
	font-size: .65rem;
	color: rgba(0,51,63,.48);
}

.ngt-v3-travel-tile__body {
	padding-top: 1.4rem;
}

.ngt-v3-travel-tile h3 {
	margin: 0 0 .7rem;
	font: 500 clamp(1.8rem, 2.2vw, 2.3rem)/1.08 Fahkwang, Georgia, serif;
	color: var(--ngt-teal);
}

.ngt-v3-travel-tile__body div {
	line-height: 1.65;
}

/* Approved mobile separation for vertically stacked Item Tiles. */
@media (max-width: 767px) {
	.ngt-v3-travel-tile__body {
		padding-bottom: 2rem;
		border-bottom: 3px solid var(--ngt-gold);
	}
}

.ngt-v3-text-link {
	display: inline-flex;
	margin-top: 1rem;
	color: var(--ngt-gold) !important;
	font-weight: 700;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(161,101,0,.45);
}

.ngt-v3-process-item {
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(0,51,63,.15);
	font-family: Barlow, Arial, sans-serif;
	color: var(--ngt-teal);
}

.ngt-v3-process-item h3 {
	margin: .15rem 0 .55rem;
	font: 500 1.6rem/1.15 Fahkwang, Georgia, serif;
	color: var(--ngt-teal);
}

.ngt-v3-process-item div {
	line-height: 1.65;
}

/* FAQ */
.elementor-element-v2faq {
	background: var(--ngt-ivory);
}

.elementor-element-v2faq > .elementor-container {
	max-width: 980px !important;
	width: calc(100% - 3rem) !important;
}

.ngt-v3-faq-category {
	padding: 1rem 0 1.4rem;
}

.ngt-v3-faq-category h2 {
	font-size: clamp(2.25rem, 3.6vw, 3.5rem);
	margin: .15rem 0;
}

.ngt-v3-faq-question {
	border-top: 1px solid rgba(0,51,63,.18);
	font-family: Barlow, Arial, sans-serif;
	color: var(--ngt-teal);
}

.ngt-v3-faq-question:last-child {
	border-bottom: 1px solid rgba(0,51,63,.18);
}

.ngt-v3-faq-question summary {
	cursor: pointer;
	list-style: none;
	padding: 1.2rem 2.5rem 1.2rem 0;
	font-weight: 600;
	font-size: 1.08rem;
	position: relative;
}

.ngt-v3-faq-question summary::-webkit-details-marker {
	display: none;
}

.ngt-v3-faq-question summary::after {
	content: "+";
	position: absolute;
	right: .25rem;
	top: 1rem;
	font: 400 1.6rem/1 Fahkwang, Georgia, serif;
	color: var(--ngt-gold);
}

.ngt-v3-faq-question[open] summary::after {
	content: "–";
}

.ngt-v3-faq-question > div {
	padding: 0 2.5rem 1.35rem 0;
	line-height: 1.7;
	color: rgba(0,51,63,.8);
}

/* Full-bleed CTAs. */
.ngt-v3-cta {
	width: 100%;
	padding: 4.5rem 0;
}

.ngt-v3-cta--editorial {
	background: var(--ngt-ivory);
}

.ngt-v3-cta--final {
	background: var(--ngt-teal);
}

.ngt-v3-cta__inner {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: 3rem;
	align-items: center;
}

.ngt-v3-cta h2 {
	font-size: clamp(2.5rem, 4vw, 4rem);
	margin: .2rem 0 .9rem;
}

.ngt-v3-cta__copy > div {
	font: 400 1.08rem/1.7 Barlow, Arial, sans-serif;
	color: rgba(0,51,63,.82);
	max-width: 760px;
}

.ngt-v3-cta--final h2,
.ngt-v3-cta--final .ngt-v3-eyebrow {
	color: #fff;
}

.ngt-v3-cta--final .ngt-v3-cta__copy > div {
	color: rgba(255,255,255,.84);
}

@media (max-width: 767px) {
	.ngt-v3-home-hero {
		height: auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	.ngt-v3-home-hero__art {
		display: none;
	}

	.ngt-v3-home-hero__copy-wrap {
		order: 1;
		position: relative;
		width: 100%;
		height: auto;
		padding: 4rem 1.5rem 3rem;
		background: var(--ngt-teal);
	}

	.ngt-v3-home-hero__media {
		order: 2;
		position: relative;
		height: 360px;
	}

	.ngt-v3-home-hero__copy h1 {
		font-size: clamp(2.5rem, 11vw, 3.7rem);
	}

	.ngt-v3-cta__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* v0.4 component polish */
.ngt-v3-home-hero__copy-wrap{padding-bottom:4.5rem}
.ngt-v3-cta--final .ngt-v3-eyebrow{color:var(--ngt-gold)}
.ngt-v3-cta--final .ngt-v3-cta__inner{display:block;text-align:center;max-width:760px}
.ngt-v3-cta--final .ngt-v3-cta__copy>div{margin-inline:auto}
.ngt-v3-cta--final .ngt-v3-actions{justify-content:center}

.elementor-widget-ngt-horizontal-ribbons-hero,.elementor-widget-ngt-vertical-ribbons-hero{width:100%}
.ngt-v4-ribbon-hero{width:100%;background:var(--ngt-ivory);color:var(--ngt-teal)}
.ngt-v4-ribbon-shell{width:min(1152px,calc(100% - 3rem));margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,5vw,5rem);align-items:center;padding:4.75rem 0}
.ngt-v4-ribbon-copy h1{margin:.15rem 0 1.25rem;font:500 clamp(2.7rem,4.5vw,4.75rem)/1.04 Fahkwang,Georgia,serif;letter-spacing:-.02em;color:var(--ngt-teal)}
.ngt-v4-ribbon-body{font:400 1.1rem/1.72 Barlow,Arial,sans-serif;color:rgba(0,51,63,.82);max-width:600px}
.ngt-v4-ribbon-visual{position:relative;min-height:440px;overflow:hidden}
.ngt-v4-ribbon-photo{display:block;width:100%;height:440px;object-fit:cover}
.ngt-v4-ribbon-credit{position:absolute;right:.65rem;bottom:.5rem;z-index:4;padding:.2rem .4rem;background:rgba(0,28,34,.58);color:#fff;font:400 .68rem/1.3 Barlow,Arial,sans-serif}
.ngt-v4-horizontal-ribbons{position:absolute;z-index:3;left:0;right:0;bottom:-1px;width:100%;height:42%;pointer-events:none}
.ngt-v4-vertical-ribbons{position:absolute;z-index:3;top:0;bottom:0;left:-1px;width:34%;height:100%;pointer-events:none}
@media(max-width:767px){.ngt-v4-ribbon-shell{grid-template-columns:1fr;gap:2rem;padding:3.5rem 0}.ngt-v4-ribbon-visual,.ngt-v4-ribbon-photo{min-height:0;height:340px}.ngt-v4-ribbon-copy h1{font-size:clamp(2.5rem,11vw,3.7rem)}}

/* v0.4.1 QA + alignment polish */
.ngt-v3-eyebrow{
	font-family:Barlow,Arial,sans-serif;
	font-size:.82rem;
	font-weight:700;
	line-height:1.2;
	letter-spacing:.16em;
	text-transform:uppercase;
}
.ngt-v3-home-hero .ngt-v3-eyebrow--light{color:var(--ngt-gold)}
.ngt-v3-travel-tile__media figcaption{text-align:right}
.ngt-v4-ribbon-hero--horizontal .ngt-v4-ribbon-credit{top:.5rem;right:.65rem;bottom:auto;text-align:right}
.ngt-v4-ribbon-hero--vertical .ngt-v4-ribbon-credit{right:.65rem;bottom:.5rem;text-align:right}
.ngt-v4-ribbon-hero{margin:0!important}
.elementor-widget-ngt-horizontal-ribbons-hero>.elementor-widget-container,
.elementor-widget-ngt-vertical-ribbons-hero>.elementor-widget-container{margin:0!important;padding:0!important}
.elementor-widget-ngt-horizontal-ribbons-hero,
.elementor-widget-ngt-vertical-ribbons-hero{margin-bottom:0!important}
.ngt-v3-actions:empty{display:none;margin:0}

/* v0.4.2 repeater-button polish */
.ngt-v3-cta--editorial .ngt-v3-button--outline-light,
.ngt-v4-ribbon-hero .ngt-v3-button--outline-light{
	background:transparent;
	border-color:var(--ngt-teal);
	color:var(--ngt-teal)!important;
}
.ngt-v3-cta--final .ngt-v3-button--outline-light{
	background:transparent;
	border-color:rgba(255,255,255,.65);
	color:#fff!important;
}

/* v0.4.3 — ribbon hero full-bleed + button interaction fixes */

/* Kill Elementor's default column/widget gutters around ribbon heroes. */
.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero),
.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero){
	width:100vw!important;
	max-width:100vw!important;
	margin:0!important;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	padding:0!important;
}
.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) > .elementor-container,
.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) > .elementor-container,
.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) .elementor-column,
.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) .elementor-column,
.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) .elementor-widget-wrap,
.elementor-widget-ngt-horizontal-ribbons-hero,
.elementor-widget-ngt-vertical-ribbons-hero,
.elementor-widget-ngt-horizontal-ribbons-hero > .elementor-widget-container,
.elementor-widget-ngt-vertical-ribbons-hero > .elementor-widget-container{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
}

/* The hero background itself is full-bleed; only its content shell is constrained. */
.ngt-v4-ribbon-hero{
	width:100vw!important;
	max-width:100vw!important;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	padding:0!important;
	background:var(--ngt-ivory)!important;
}
.ngt-v4-ribbon-shell{
	width:min(1152px,calc(100% - 3rem));
	margin:0 auto;
	padding:4.75rem 0;
}

/* Restore a clear interactive state on every NGT button. */
.ngt-v3-button{
	transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
	cursor:pointer;
}
.ngt-v3-button:hover,
.ngt-v3-button:focus-visible{
	background:#805000;
	border-color:#805000;
	color:#fff!important;
	transform:translateY(-1px);
	box-shadow:0 6px 18px rgba(0,51,63,.16);
}
.ngt-v3-button--outline-light:hover,
.ngt-v3-button--outline-light:focus-visible{
	background:#fff;
	border-color:#fff;
	color:var(--ngt-teal)!important;
}
.ngt-v3-cta--editorial .ngt-v3-button--outline-light:hover,
.ngt-v3-cta--editorial .ngt-v3-button--outline-light:focus-visible,
.ngt-v4-ribbon-hero .ngt-v3-button--outline-light:hover,
.ngt-v4-ribbon-hero .ngt-v3-button--outline-light:focus-visible{
	background:var(--ngt-teal);
	border-color:var(--ngt-teal);
	color:#fff!important;
}
.ngt-v3-button:focus-visible{
	outline:3px solid rgba(161,101,0,.28);
	outline-offset:3px;
}

/* v0.4.4 — gold buttons match header CTA hover behavior */
.ngt-v3-button:not(.ngt-v3-button--outline-light):hover,
.ngt-v3-button:not(.ngt-v3-button--outline-light):focus-visible{
	background:#805000;
	border-color:#805000;
	color:#fff!important;
	transform:none!important;
	box-shadow:none!important;
}

/* v0.4.5 — mobile QA pass; desktop rules intentionally unchanged */
@media(max-width:767px){
	/* Shared mobile gutter token for the custom library. */
	.ngt-v4-ribbon-shell{
		width:calc(100% - 2rem)!important;
		max-width:none!important;
		margin-inline:auto!important;
		padding:3.25rem 0!important;
		gap:2rem!important;
	}

	/* Ribbon hero media becomes a contained composition so SVG + credit stay attached. */
	.ngt-v4-ribbon-visual{
		position:relative!important;
		width:100%!important;
		height:340px!important;
		min-height:340px!important;
		margin:0!important;
		overflow:hidden!important;
	}
	.ngt-v4-ribbon-photo{
		position:absolute!important;
		inset:0!important;
		width:100%!important;
		height:100%!important;
		object-fit:cover!important;
		margin:0!important;
	}
	.ngt-v4-horizontal-ribbons{
		left:0!important;
		right:0!important;
		bottom:-1px!important;
		top:auto!important;
		width:100%!important;
		height:42%!important;
	}
	.ngt-v4-vertical-ribbons{
		left:-1px!important;
		top:0!important;
		bottom:0!important;
		right:auto!important;
		width:34%!important;
		height:100%!important;
	}
	.ngt-v4-ribbon-hero--horizontal .ngt-v4-ribbon-credit{
		top:.5rem!important;
		right:.5rem!important;
		bottom:auto!important;
		left:auto!important;
		text-align:right!important;
	}
	.ngt-v4-ribbon-hero--vertical .ngt-v4-ribbon-credit{
		right:.5rem!important;
		bottom:.5rem!important;
		top:auto!important;
		left:auto!important;
		text-align:right!important;
	}

	/* Ask Me: full-bleed band, same 1rem mobile content gutter as the ribbon heroes. */
	.ngt-v3-cta--editorial{
		padding:3.5rem 0!important;
	}
	.ngt-v3-cta--editorial .ngt-v3-cta__inner{
		width:calc(100% - 2rem)!important;
		max-width:none!important;
		margin-inline:auto!important;
		grid-template-columns:1fr!important;
		gap:1.75rem!important;
	}
	.ngt-v3-cta--editorial .ngt-v3-actions{
		justify-self:start!important;
		margin-top:.25rem!important;
	}
}

/* v0.4.6 — mobile gutter reset + vertical ribbon aspect-ratio correction */
@media(max-width:767px){

	/* Elementor's legacy sections/columns add their own 10px padding.
	   Strip that only around NGT full-width mobile components so our 1rem gutter is the only gutter. */
	.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) > .elementor-container,
	.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) > .elementor-container,
	.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) .elementor-column,
	.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) .elementor-column,
	.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) .elementor-widget-wrap,
	.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) .elementor-widget-wrap,
	.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero) .elementor-widget-container,
	.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero) .elementor-widget-container{
		padding-left:0!important;
		padding-right:0!important;
		margin-left:0!important;
		margin-right:0!important;
	}

	/* Same reset for editorial CTA/Ask Me. */
	.elementor-section:has(.ngt-v3-cta--editorial) > .elementor-container,
	.elementor-section:has(.ngt-v3-cta--editorial) .elementor-column,
	.elementor-section:has(.ngt-v3-cta--editorial) .elementor-widget-wrap,
	.elementor-section:has(.ngt-v3-cta--editorial) .elementor-widget-container{
		padding-left:0!important;
		padding-right:0!important;
		margin-left:0!important;
		margin-right:0!important;
	}

	/* One deliberate mobile gutter: 1rem each side. */
	.ngt-v4-ribbon-shell,
	.ngt-v3-cta--editorial .ngt-v3-cta__inner{
		width:calc(100% - 2rem)!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}

	/* Preserve the original vertical-ribbon geometry instead of scaling width by percentage.
	   220/540 aspect ratio at full photo height keeps the overlay attached to the image edge. */
	.ngt-v4-vertical-ribbons{
		position:absolute!important;
		top:0!important;
		bottom:0!important;
		left:0!important;
		right:auto!important;
		height:100%!important;
		width:auto!important;
		aspect-ratio:220 / 540!important;
		max-width:none!important;
		transform:none!important;
	}

	/* Keep vertical credit anchored to the actual image box. */
	.ngt-v4-ribbon-hero--vertical .ngt-v4-ribbon-credit{
		right:.5rem!important;
		bottom:.5rem!important;
		top:auto!important;
		left:auto!important;
	}
}

/* v0.4.7 — one mobile alignment grid across the NGT component library */
@media(max-width:767px){

	/* Remove Elementor's legacy horizontal column/widget padding from all NGT sections.
	   The section/component itself owns the mobile gutter. */
	.elementor-section:has([class*="elementor-widget-ngt-"]) > .elementor-container,
	.elementor-section:has([class*="elementor-widget-ngt-"]) .elementor-column,
	.elementor-section:has([class*="elementor-widget-ngt-"]) .elementor-widget-wrap,
	.elementor-section:has([class*="elementor-widget-ngt-"]) .elementor-widget-container{
		padding-left:0!important;
		padding-right:0!important;
	}

	/* Standard content sections: exactly 16px from viewport edge. */
	.elementor-section:has(.elementor-widget-ngt-section-heading),
	.elementor-section:has(.elementor-widget-ngt-travel-tile),
	.elementor-section:has(.elementor-widget-ngt-process-item){
		padding-left:1rem!important;
		padding-right:1rem!important;
	}

	/* FAQ is full-bleed background with a 16px readable inner grid. */
	.elementor-section:has(.elementor-widget-ngt-faq-category),
	.elementor-section:has(.elementor-widget-ngt-faq-question){
		padding-left:0!important;
		padding-right:0!important;
	}
	.elementor-section:has(.elementor-widget-ngt-faq-category) > .elementor-container,
	.elementor-section:has(.elementor-widget-ngt-faq-question) > .elementor-container{
		width:calc(100% - 2rem)!important;
		max-width:none!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}

	/* Full-bleed component sections own their own 16px inner gutter. */
	.elementor-section:has(.elementor-widget-ngt-homepage-hero),
	.elementor-section:has(.elementor-widget-ngt-horizontal-ribbons-hero),
	.elementor-section:has(.elementor-widget-ngt-vertical-ribbons-hero),
	.elementor-section:has(.elementor-widget-ngt-cta){
		padding-left:0!important;
		padding-right:0!important;
	}

	/* Homepage hero copy aligns to the same 16px mobile grid. */
	.ngt-v3-home-hero__copy-wrap{
		padding-left:1rem!important;
		padding-right:1rem!important;
	}

	/* Ribbon heroes + CTA use same 16px inner grid. */
	.ngt-v4-ribbon-shell,
	.ngt-v3-cta .ngt-v3-cta__inner{
		width:calc(100% - 2rem)!important;
		max-width:none!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}

	/* Final CTA also obeys the same inner alignment on mobile. */
	.ngt-v3-cta--final .ngt-v3-cta__inner{
		width:calc(100% - 2rem)!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}

	/* Prevent browser/default paragraph margins from visually faking a second left edge. */
	.ngt-v3-section-heading,
	.ngt-v3-travel-tile,
	.ngt-v3-process-item,
	.ngt-v3-faq-category,
	.ngt-v3-faq-question,
	.ngt-v3-cta__copy,
	.ngt-v4-ribbon-copy{
		margin-left:0!important;
		margin-right:0!important;
	}
}

/* v0.5.0 — standalone draggable NGT Button */
.elementor-widget-ngt-button{width:auto;max-width:100%}
.elementor-widget-ngt-button:has(.ngt-v5-button--full){width:100%}
.ngt-v5-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.35rem;border:1px solid var(--ngt-gold);font:700 1rem/1.2 Barlow,Arial,sans-serif;text-decoration:none!important;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.ngt-v5-button--solid{background:var(--ngt-gold);border-color:var(--ngt-gold);color:var(--ngt-on-dark-teal)!important}
.ngt-v5-button--solid:hover,.ngt-v5-button--solid:focus-visible{background:#805000;border-color:#805000;color:#fff!important;transform:none!important;box-shadow:none!important}
.ngt-v5-button--outline{background:transparent;border-color:var(--ngt-teal);color:var(--ngt-teal)!important}
.ngt-v5-button--outline:hover,.ngt-v5-button--outline:focus-visible{background:var(--ngt-teal);border-color:var(--ngt-teal);color:#fff!important}
.ngt-v5-button--full{width:100%}
.ngt-v5-button:focus-visible{outline:3px solid rgba(161,101,0,.28);outline-offset:3px}

/* Legacy embedded actions remain retired where those components no longer own buttons. */
.ngt-v4-ribbon-copy>.ngt-v3-actions,
.ngt-v3-cta__inner>.ngt-v3-actions{display:none!important}

/* v0.5.1 — continuous responsive ribbon composition */

/*
 * The photo frame is the source of truth.
 * Photo, ribbons, and credit all occupy the same positioned box, so nothing
 * drifts when Elementor changes the available width.
 */
.ngt-v4-ribbon-visual{
	position:relative!important;
	width:100%!important;
	overflow:hidden!important;
	min-height:0!important;
	height:auto!important;
	aspect-ratio:4 / 3;
}
.ngt-v4-ribbon-photo{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
	margin:0!important;
}

/* Horizontal ribbons stay attached to the bottom of the current photo frame. */
.ngt-v4-horizontal-ribbons{
	position:absolute!important;
	z-index:3!important;
	left:0!important;
	right:0!important;
	bottom:-1px!important;
	top:auto!important;
	width:100%!important;
	height:42%!important;
	max-width:none!important;
	pointer-events:none!important;
}

/*
 * Vertical ribbons always span the full photo height.
 * Width is proportional to the live photo width rather than a fixed pixel width.
 * preserveAspectRatio="none" lets the SVG fill this responsive overlay box.
 */
.ngt-v4-vertical-ribbons{
	position:absolute!important;
	z-index:3!important;
	top:0!important;
	bottom:0!important;
	left:-1px!important;
	right:auto!important;
	width:34%!important;
	height:100%!important;
	max-width:none!important;
	aspect-ratio:auto!important;
	transform:none!important;
	pointer-events:none!important;
}

/* Credits are anchored to the photo frame, never the ribbon geometry. */
.ngt-v4-ribbon-hero--horizontal .ngt-v4-ribbon-credit{
	top:.5rem!important;
	right:.65rem!important;
	bottom:auto!important;
	left:auto!important;
	text-align:right!important;
}
.ngt-v4-ribbon-hero--vertical .ngt-v4-ribbon-credit{
	right:.65rem!important;
	bottom:.5rem!important;
	top:auto!important;
	left:auto!important;
	text-align:right!important;
}

/* Desktop: retain approved two-column proportions. */
@media(min-width:1025px){
	.ngt-v4-ribbon-shell{
		grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
	}
	.ngt-v4-ribbon-visual{
		aspect-ratio:auto!important;
		height:440px!important;
	}
}

/* Tablet: still two-column, but with fluid proportions and a self-scaling photo frame. */
@media(min-width:768px) and (max-width:1024px){
	.ngt-v4-ribbon-shell{
		width:calc(100% - 3rem)!important;
		grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
		gap:clamp(1.75rem,4vw,3rem)!important;
		padding:3.75rem 0!important;
		align-items:center!important;
	}
	.ngt-v4-ribbon-copy h1{
		font-size:clamp(2.35rem,4.8vw,3.65rem)!important;
	}
	.ngt-v4-ribbon-visual{
		aspect-ratio:4 / 3!important;
		height:auto!important;
	}
	.ngt-v4-horizontal-ribbons{
		height:42%!important;
	}
	.ngt-v4-vertical-ribbons{
		width:34%!important;
		height:100%!important;
	}
}

/* Mobile: stack content and media, but keep the same photo-frame composition rules. */
@media(max-width:767px){
	.ngt-v4-ribbon-shell{
		grid-template-columns:1fr!important;
		width:calc(100% - 2rem)!important;
		gap:2rem!important;
		padding:3.25rem 0!important;
	}
	.ngt-v4-ribbon-visual{
		aspect-ratio:4 / 3!important;
		height:auto!important;
		min-height:0!important;
	}
	.ngt-v4-ribbon-photo{
		height:100%!important;
	}
	.ngt-v4-horizontal-ribbons{
		height:42%!important;
	}
	.ngt-v4-vertical-ribbons{
		width:34%!important;
		height:100%!important;
	}
}


/* v0.7.0 — complete drop-in Process Section */
.ngt-v7-process-section{width:100%}
.ngt-v7-process-section__inner{width:min(1152px,calc(100% - 48px));margin:0 auto;padding:70px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.ngt-v7-process-section__intro h2{margin:.55rem 0 1rem;font-family:Fahkwang,Georgia,serif;font-size:clamp(2.35rem,4vw,4rem);font-weight:500;line-height:1.06;color:var(--ngt-teal)}
.ngt-v7-process-section__body{font-family:Barlow,Arial,sans-serif;color:var(--ngt-teal);font-size:1.05rem;line-height:1.65;max-width:34rem}
.ngt-v7-process-section__items>.ngt-v3-process-item:first-child{padding-top:0}
@media(max-width:767px){
 .ngt-v7-process-section__inner{width:calc(100% - 32px);padding:52px 0;grid-template-columns:1fr;gap:2.25rem}
}


/* v0.7.2 — Process Section full-bleed wrapper correction */

/* Remove Elementor's outer widget/container gutters around the complete section. */
.elementor-widget-ngt-process-section,
.elementor-widget-ngt-process-section > .elementor-widget-container{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
}

.elementor-section:has(.elementor-widget-ngt-process-section),
.e-con:has(> .elementor-widget-ngt-process-section){
	width:100vw!important;
	max-width:100vw!important;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	padding-left:0!important;
	padding-right:0!important;
}

/* The colored section fills the viewport; only content is constrained. */
.ngt-v7-process-section{
	width:100vw!important;
	max-width:100vw!important;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	padding:0!important;
}
.ngt-v7-process-section__inner{
	width:min(1152px,calc(100% - 48px))!important;
	max-width:1152px!important;
	margin:0 auto!important;
	padding:70px 0!important;
}

@media(min-width:768px) and (max-width:1024px){
	.ngt-v7-process-section__inner{
		width:calc(100% - 48px)!important;
		padding:60px 0!important;
		gap:clamp(2rem,5vw,4rem)!important;
	}
}

@media(max-width:767px){
	.ngt-v7-process-section__inner{
		width:calc(100% - 32px)!important;
		padding:52px 0!important;
	}
}


/* v0.8.0 — complete section library + wrapper reset */
.elementor-widget-ngt-process-section,
.elementor-widget-ngt-three-tile-section,
.elementor-widget-ngt-faq-section,
.elementor-widget-ngt-ask-me-section,
.elementor-widget-ngt-final-cta-section,
.elementor-widget-ngt-process-section>.elementor-widget-container,
.elementor-widget-ngt-three-tile-section>.elementor-widget-container,
.elementor-widget-ngt-faq-section>.elementor-widget-container,
.elementor-widget-ngt-ask-me-section>.elementor-widget-container,
.elementor-widget-ngt-final-cta-section>.elementor-widget-container{
	width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
.ngt-v8-section,
.ngt-v7-process-section{
	position:relative;width:100vw!important;max-width:100vw!important;
	margin-top:0!important;margin-bottom:0!important;
	margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
	padding:0!important;
}
.ngt-v8-section__inner,
.ngt-v7-process-section__inner{
	width:min(1152px,calc(100% - 48px))!important;max-width:1152px!important;margin:0 auto!important;padding:70px 0!important;
}

.ngt-v8-three-tiles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:2.5rem}
@media(min-width:1025px){
 .ngt-v8-three-tiles--cols-2 .ngt-v8-three-tiles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ngt-v8-three-tiles--cols-3 .ngt-v8-three-tiles__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ngt-v8-three-tiles--cols-4 .ngt-v8-three-tiles__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

.ngt-v8-faq-section__inner{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}

.ngt-v8-ask-me__inner{display:grid;grid-template-columns:minmax(0,760px) 1fr}

@media(min-width:768px) and (max-width:1024px){
 .ngt-v8-section__inner,.ngt-v7-process-section__inner{width:calc(100% - 48px)!important;padding:60px 0!important}
 .ngt-v8-three-tiles__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:767px){
 .ngt-v8-section__inner,.ngt-v7-process-section__inner{width:calc(100% - 32px)!important;padding:52px 0!important}
 .ngt-v8-three-tiles__grid,.ngt-v8-faq-section__inner{grid-template-columns:1fr}
 .ngt-v8-three-tiles__grid{gap:20px}
}

/* v0.8.1 — complete-section fidelity corrections */

/* Complete FAQ now matches the approved FAQ treatment. */
.ngt-v8-faq-section{}
.ngt-v8-faq-section__inner{
	display:block!important;
	width:min(1152px,calc(100% - 48px))!important;
	max-width:1152px!important;
	margin:0 auto!important;
	padding:70px 0!important;
}
.ngt-v8-faq-section .ngt-v3-faq-category{
	margin-bottom:1.35rem!important;
	padding:0 0 1.25rem!important;
	border-bottom:4px solid var(--ngt-gold)!important;
}
.ngt-v8-faq-section .ngt-v3-faq-category h2{
	margin-top:.45rem!important;
	font-size:clamp(1.8rem,2.6vw,2.65rem)!important;
	line-height:1.12!important;
}
.ngt-v8-faq-section__questions .ngt-v3-faq-question{
	border-top:0!important;
	border-bottom:2px solid #2A7C85!important;
}
.ngt-v8-faq-section__questions .ngt-v3-faq-question:first-child{
	border-top:2px solid #2A7C85!important;
}
.ngt-v8-faq-section__questions .ngt-v3-faq-question summary{
	padding:1.25rem 4rem 1.25rem 0!important;
	font-family:Fahkwang,Georgia,serif!important;
	font-size:clamp(1.2rem,1.6vw,1.55rem)!important;
	line-height:1.25!important;
	font-weight:500!important;
}
.ngt-v8-faq-section__questions .ngt-v3-faq-question[open] summary{
	color:var(--ngt-gold)!important;
}
.ngt-v8-faq-section__questions .ngt-v3-faq-question>div{
	max-width:800px!important;
	padding:0 4rem 1.35rem 0!important;
}

/* Ask Me matches the approved editorial two-column CTA geometry. */
.ngt-v8-ask-me{}
.ngt-v8-ask-me__inner{
	display:grid!important;
	grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr)!important;
	column-gap:clamp(3rem,7vw,6rem)!important;
	align-items:center!important;
}
.ngt-v8-ask-me .ngt-v3-section-heading h2::after{
	content:'';display:block;width:min(58%,300px);height:4px;margin-top:1rem;
	background:linear-gradient(90deg,var(--ngt-gold) 0%,var(--ngt-gold) 65%,rgba(161,101,0,0) 100%);
}
.ngt-v8-section__action{
	justify-self:end!important;
	align-self:center!important;
}

/* Final CTA: centered with its action below the copy. */
.ngt-v8-final-cta .ngt-v3-cta__inner{
	display:block!important;
	max-width:760px!important;
	text-align:center!important;
}
.ngt-v8-final-cta .ngt-v3-eyebrow{
	color:var(--ngt-gold)!important;
}
.ngt-v8-final-cta .ngt-v3-cta__copy>div{
	max-width:620px!important;
	margin:1rem auto 0!important;
	font-size:1.15rem!important;
	line-height:1.65!important;
	color:rgba(255,255,255,.8)!important;
}
.ngt-v8-final-cta__action{
	display:flex!important;
	justify-content:center!important;
	margin-top:1.65rem!important;
}

@media(max-width:767px){
	.ngt-v8-faq-section__inner{
		width:calc(100% - 32px)!important;
		padding:52px 0!important;
	}
	.ngt-v8-ask-me__inner{
		grid-template-columns:1fr!important;
		gap:1.75rem!important;
	}
	.ngt-v8-section__action{
		justify-self:start!important;
	}
}

/* v0.8.2 — Homepage Hero complete-section actions */
.ngt-v8-home-hero__actions{display:flex!important;flex-wrap:wrap!important;gap:1rem!important;margin-top:1.65rem!important}
.ngt-v8-home-hero__outline{background:transparent!important;border-color:rgba(255,255,255,.65)!important;color:#fff!important}
.ngt-v8-home-hero__outline:hover,.ngt-v8-home-hero__outline:focus-visible{background:#fff!important;border-color:#fff!important;color:var(--ngt-teal)!important;transform:none!important;box-shadow:none!important}
@media(max-width:767px){.ngt-v8-home-hero__actions{align-items:flex-start!important}}

/* v0.14.2 — Desktop Homepage Hero content-fit correction.
 * The approved hero now has enough vertical room for its eyebrow and both actions.
 */
@media(min-width:1025px){
	.ngt-v3-home-hero{
		height:clamp(660px,42vw,720px)!important;
		min-height:660px!important;
	}
	.ngt-v3-home-hero__copy-wrap{
		padding-top:4.5rem!important;
		padding-bottom:3.5rem!important;
	}
	.ngt-v3-home-hero .ngt-v3-eyebrow{
		margin:0 0 .7rem!important;
		position:static!important;
	}
	.ngt-v8-home-hero__actions{
		position:static!important;
		max-width:100%!important;
		padding-bottom:.25rem!important;
	}
}


/* v0.9.0 — brand background selector + queued responsive corrections */
/* Approved complete-section brand backgrounds. */
.ngt-bg-dark-teal{background:var(--ngt-color-dark-teal)!important;color:#fff!important}
.ngt-bg-light-teal{background:var(--ngt-color-light-teal)!important;color:var(--ngt-on-light-teal)!important}
.ngt-bg-gold{background:var(--ngt-color-gold)!important;color:var(--ngt-on-gold)!important}
.ngt-bg-ivory{background:var(--ngt-color-ivory)!important;color:var(--ngt-on-ivory)!important}
.ngt-bg-white{background:var(--ngt-color-white)!important;color:var(--ngt-on-white)!important}

/* Automatic readable contrast for complete sections. */
.ngt-bg-dark-teal h2,.ngt-bg-dark-teal h3,
.ngt-bg-light-teal h2,.ngt-bg-light-teal h3,
.ngt-bg-dark-teal .ngt-v3-section-heading h2,
.ngt-bg-light-teal .ngt-v3-section-heading h2,
.ngt-bg-dark-teal .ngt-v3-faq-category h2,
.ngt-bg-light-teal .ngt-v3-faq-category h2,
.ngt-bg-dark-teal .ngt-v3-cta h2,
.ngt-bg-light-teal .ngt-v3-cta h2{
	color:#fff!important;
}
.ngt-bg-dark-teal .ngt-v3-eyebrow{color:var(--ngt-color-gold)!important}
.ngt-bg-light-teal .ngt-v3-eyebrow{color:var(--ngt-color-ivory)!important}
.ngt-bg-gold .ngt-v3-eyebrow{color:var(--ngt-color-dark-teal)!important}

.ngt-bg-dark-teal .ngt-v7-process-section__body,
.ngt-bg-dark-teal .ngt-v3-process-item__body,
.ngt-bg-dark-teal .ngt-v3-section-heading>div,
.ngt-bg-dark-teal .ngt-v3-travel-tile,
.ngt-bg-dark-teal .ngt-v3-faq-question,
.ngt-bg-dark-teal .ngt-v3-faq-question>div,
.ngt-bg-dark-teal .ngt-v3-cta__copy>div,
.ngt-bg-light-teal .ngt-v7-process-section__body,
.ngt-bg-light-teal .ngt-v3-process-item__body,
.ngt-bg-light-teal .ngt-v3-section-heading>div,
.ngt-bg-light-teal .ngt-v3-travel-tile,
.ngt-bg-light-teal .ngt-v3-faq-question,
.ngt-bg-light-teal .ngt-v3-faq-question>div,
.ngt-bg-light-teal .ngt-v3-cta__copy>div{
	color:rgba(255,255,255,.9)!important;
}
.ngt-bg-dark-teal .ngt-v3-faq-question summary,
.ngt-bg-light-teal .ngt-v3-faq-question summary{color:#fff!important}
.ngt-bg-dark-teal .ngt-v3-faq-question,
.ngt-bg-light-teal .ngt-v3-faq-question{border-color:rgba(255,255,255,.45)!important}
.ngt-bg-dark-teal .ngt-v3-faq-question[open] summary{color:var(--ngt-color-gold)!important}
.ngt-bg-light-teal .ngt-v3-faq-question[open] summary{color:var(--ngt-color-ivory)!important}

.ngt-bg-gold .ngt-v5-button--solid{
	background:var(--ngt-color-dark-teal)!important;
	border-color:var(--ngt-color-dark-teal)!important;
	color:#fff!important;
}
.ngt-bg-light-teal .ngt-v5-button--solid{
	background:var(--ngt-color-dark-teal)!important;
	border-color:var(--ngt-color-dark-teal)!important;
	color:#fff!important;
}

/* Tablet Homepage Hero: give the copy/actions room and keep the eyebrow in the copy flow. */
@media(min-width:768px) and (max-width:1024px){
	.ngt-v3-home-hero{
		height:auto!important;
		min-height:620px!important;
	}
	.ngt-v3-home-hero__copy-wrap{
		width:56%!important;
		height:100%!important;
		padding-top:4.25rem!important;
		padding-bottom:4.25rem!important;
		padding-left:1.5rem!important;
		padding-right:1.5rem!important;
		align-items:center!important;
	}
	.ngt-v3-home-hero__copy{
		max-width:500px!important;
	}
	.ngt-v3-home-hero .ngt-v3-eyebrow{
		margin:0 0 .7rem!important;
		position:static!important;
	}
	.ngt-v3-home-hero__copy h1{
		font-size:clamp(2.45rem,5vw,3.55rem)!important;
		line-height:1.04!important;
	}
	.ngt-v3-home-hero__lead{
		font-size:1.05rem!important;
		line-height:1.55!important;
	}
	.ngt-v8-home-hero__actions{
		position:static!important;
		max-width:100%!important;
		margin-top:1.35rem!important;
		padding-bottom:.25rem!important;
	}
}

/* Mobile header: align logo/menu to the same 16px page gutter. */
@media(max-width:767px){
	.ngt-site-header-row{
		padding-left:1rem!important;
		padding-right:1rem!important;
	}
}

/* v0.10.0 — hero palette support */
.ngt-v3-home-hero[class*="ngt-bg-"],
.ngt-v4-ribbon-hero[class*="ngt-bg-"]{color:inherit!important}
.ngt-v3-home-hero[class*="ngt-bg-"] h1,
.ngt-v4-ribbon-hero[class*="ngt-bg-"] h1{color:inherit!important}


/* v0.11.0 — Accent Text Section
 * Recovered from the earlier NGT teal/gold vertical-line design language.
 */
.ngt-v11-accent-text-section{
	position:relative;
	padding:clamp(3.75rem,6vw,5.5rem) 0;
	overflow:hidden;
}

/* v0.14.3 — Text-only hero
 * Matches the approved FAQ accent-section composition while preserving an H1.
 */
.elementor-widget-ngt-text-only-hero,
.elementor-widget-ngt-text-only-hero > .elementor-widget-container{
	width:100%;
	margin:0!important;
	padding:0!important;
}
.ngt-v14-text-hero{
	position:relative;
	width:100%;
	padding:clamp(3.75rem,6vw,5.5rem) 0;
	overflow:hidden;
}
.ngt-v14-text-hero__copy{
	position:relative;
	max-width:900px;
	padding-left:clamp(3.75rem,6vw,5.5rem);
}
.ngt-v14-text-hero__copy::before{
	content:'';
	position:absolute;
	left:1.25rem;
	top:.15rem;
	bottom:.15rem;
	width:5px;
	background:var(--ngt-color-gold);
}
.ngt-v14-text-hero .ngt-v3-eyebrow{
	margin:0 0 .7rem;
}
.ngt-v14-text-hero h1{
	max-width:900px;
	margin:0;
	font-family:"Fahkwang",Georgia,serif;
	font-size:clamp(2.5rem,4vw,4rem);
	line-height:1.08;
	font-weight:500;
	color:inherit;
}
.ngt-v14-text-hero__body{
	max-width:760px;
	margin-top:1.2rem;
	font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:1.08rem;
	line-height:1.72;
	color:inherit;
}
.ngt-v14-text-hero__body p{
	margin:0;
}
.ngt-v14-text-hero__body p + p{
	margin-top:1rem;
}

@media(max-width:767px){
	.ngt-v14-text-hero{
		padding:3.5rem 0;
	}
	.ngt-v14-text-hero__copy{
		padding-left:2.25rem;
	}
	.ngt-v14-text-hero__copy::before{
		left:.25rem;
		width:4px;
	}
	.ngt-v14-text-hero h1{
		font-size:clamp(2.15rem,10vw,3rem);
	}
}
.ngt-v11-accent-text-section__inner{
	position:relative;
}
.ngt-v11-accent-text-section__copy{
	position:relative;
	max-width:900px;
	padding-left:clamp(3.75rem,6vw,5.5rem);
}
.ngt-v11-accent-text-section__copy::before{
	content:'';
	position:absolute;
	left:1.25rem;
	top:.15rem;
	bottom:.15rem;
	width:5px;
	background:var(--ngt-accent-color,var(--ngt-color-gold));
}
.ngt-v11-accent-text-section .ngt-v3-eyebrow{
	margin:0 0 .7rem;
}
.ngt-v11-accent-text-section h2{
	margin:0;
	font-family:"Fahkwang",Georgia,serif;
	font-size:clamp(2.5rem,4vw,4rem);
	line-height:1.08;
	font-weight:500;
	color:inherit;
}
.ngt-v11-accent-text-section__body{
	max-width:760px;
	margin-top:1.2rem;
	font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:1.08rem;
	line-height:1.72;
	color:inherit;
}
.ngt-v11-accent-text-section__body p + p{
	margin-top:1.15rem;
}

/* Accent choices use the same editable Appearance > NGT Theme Colors palette. */
.ngt-accent-dark-teal{--ngt-accent-color:var(--ngt-color-dark-teal)}
.ngt-accent-light-teal{--ngt-accent-color:var(--ngt-color-light-teal)}
.ngt-accent-gold{--ngt-accent-color:var(--ngt-color-gold)}
.ngt-accent-ivory{--ngt-accent-color:var(--ngt-color-ivory)}
.ngt-accent-white{--ngt-accent-color:var(--ngt-color-white)}

@media(max-width:767px){
	.ngt-v11-accent-text-section{
		padding:3.5rem 0;
	}
	.ngt-v11-accent-text-section__copy{
		padding-left:2.25rem;
	}
	.ngt-v11-accent-text-section__copy::before{
		left:.25rem;
		width:4px;
	}
	.ngt-v11-accent-text-section h2{
		font-size:clamp(2.15rem,10vw,3rem);
	}
}

/* v0.12.0 reusable split callout/card */
.ngt-v12-split-callout{padding:clamp(4rem,7vw,6.5rem) 0}
.ngt-v12-split-callout__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.ngt-v12-split-callout__copy{max-width:720px}
.ngt-v12-split-callout__copy h2,.ngt-v12-work-together__heading h2{font-family:"Fahkwang",Georgia,serif;font-size:clamp(2.5rem,4vw,4rem);line-height:1.08;font-weight:500;margin:0;color:inherit}
.ngt-v12-split-callout__body,.ngt-v12-work-together__intro{font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.08rem;line-height:1.72;margin-top:1.2rem;color:inherit}
.ngt-v12-content-card{padding:clamp(2rem,4vw,3rem);box-shadow:0 18px 50px rgba(0,51,63,.10);border-top:5px solid var(--ngt-color-gold)}
.ngt-v12-content-card h3{font-family:"Fahkwang",Georgia,serif;font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.15;font-weight:500;margin:0;color:inherit}
.ngt-v12-content-card__body{font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;margin-top:1rem;color:inherit}
.ngt-v12-content-card__button{display:inline-flex;margin-top:1.4rem}
.ngt-card-bg-dark-teal{background:var(--ngt-color-dark-teal);color:var(--ngt-on-dark-teal)}
.ngt-card-bg-light-teal{background:var(--ngt-color-light-teal);color:var(--ngt-on-light-teal)}
.ngt-card-bg-gold{background:var(--ngt-color-gold);color:var(--ngt-on-gold)}
.ngt-card-bg-ivory{background:var(--ngt-color-ivory);color:var(--ngt-on-ivory)}
.ngt-card-bg-white{background:var(--ngt-color-white);color:var(--ngt-on-white)}
/* v0.12.0 reusable work-together/process step */
.ngt-v12-work-together{padding:clamp(4.5rem,7vw,7rem) 0}
.ngt-v12-work-together__heading{max-width:800px;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ngt-v12-work-together__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.ngt-v12-process-step{position:relative;padding-top:1.4rem;border-top:1px solid rgba(0,51,63,.20)}
.ngt-v12-process-step__number{font-family:"Fahkwang",Georgia,serif;font-size:.95rem;letter-spacing:.12em;color:var(--ngt-color-gold);font-weight:600;margin-bottom:1rem}
.ngt-v12-process-step h3{font-family:"Fahkwang",Georgia,serif;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.18;font-weight:500;margin:0;color:inherit}
.ngt-v12-process-step__body{font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;margin-top:.8rem;color:inherit}
@media(max-width:900px){.ngt-v12-split-callout__grid{grid-template-columns:1fr}.ngt-v12-content-card{max-width:680px}.ngt-v12-work-together__steps{grid-template-columns:1fr}.ngt-v12-process-step{display:grid;grid-template-columns:54px minmax(0,1fr);gap:1rem;padding-top:1.25rem}.ngt-v12-process-step__number{margin:0}}
@media(max-width:600px){.ngt-v12-split-callout,.ngt-v12-work-together{padding:3.5rem 0}.ngt-v12-content-card{padding:1.75rem}}


/* v0.12.1 — Feature Panel Section
 * Faithful section adaptation of the earlier NGT homepage hero composition.
 * Hero-only buttons and fixed hero-height behavior intentionally omitted.
 */
.ngt-v121-feature-section{
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
	width:100%;
	min-height:0;
}
.ngt-v121-feature-section__left,
.ngt-v121-feature-section__right{
	display:flex;
	align-items:center;
}
.ngt-v121-feature-section__left-inner{
	width:min(760px,calc(100% - 4rem));
	margin-left:max(2rem,calc((100vw - 1152px)/2));
	padding:clamp(4.5rem,7vw,6.5rem) 0;
}
.ngt-v121-feature-section__right-inner{
	width:100%;
	padding:clamp(3rem,5vw,4.5rem) clamp(2rem,4vw,4rem);
}
.ngt-v121-feature-section .ngt-v3-eyebrow{
	margin-bottom:1rem;
}
.ngt-v121-feature-section h2{
	margin:0;
	max-width:760px;
	font-family:"Fahkwang",Georgia,serif;
	font-size:clamp(3rem,5vw,5.1rem);
	line-height:1.03;
	font-weight:500;
	letter-spacing:-.02em;
	color:inherit;
}
.ngt-v121-feature-section__body{
	max-width:760px;
	margin-top:1.6rem;
	font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:clamp(1.08rem,1.5vw,1.3rem);
	line-height:1.7;
	color:inherit;
}
.ngt-v121-feature-section__body p + p{margin-top:1.15rem}

.ngt-v121-feature-panel{
	border:1px solid rgba(255,255,255,.18);
	padding:clamp(2rem,4vw,3.25rem);
	color:inherit;
}
.ngt-v121-feature-panel__statement{
	font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:clamp(1.08rem,1.5vw,1.3rem);
	line-height:1.7;
	font-weight:400;
	color:inherit;
}
.ngt-v121-feature-panel__rule{
	width:76px;
	height:4px;
	margin:1.4rem 0 1.3rem;
	background:var(--ngt-feature-rule,var(--ngt-color-gold));
}
.ngt-v121-feature-panel__body{
	font-family:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:1rem;
	line-height:1.65;
	color:inherit;
	opacity:.84;
}

.ngt-feature-left-bg-dark-teal{background:var(--ngt-color-dark-teal);color:var(--ngt-on-dark-teal)}
.ngt-feature-left-bg-light-teal{background:var(--ngt-color-light-teal);color:var(--ngt-on-light-teal)}
.ngt-feature-left-bg-gold{background:var(--ngt-color-gold);color:var(--ngt-on-gold)}
.ngt-feature-left-bg-ivory{background:var(--ngt-color-ivory);color:var(--ngt-on-ivory)}
.ngt-feature-left-bg-white{background:var(--ngt-color-white);color:var(--ngt-on-white)}

.ngt-feature-right-bg-dark-teal{background:color-mix(in srgb,var(--ngt-color-dark-teal) 82%,#000 18%);color:var(--ngt-on-dark-teal)}
.ngt-feature-right-bg-light-teal{background:color-mix(in srgb,var(--ngt-color-light-teal) 84%,#000 16%);color:var(--ngt-on-light-teal)}
.ngt-feature-right-bg-gold{background:color-mix(in srgb,var(--ngt-color-gold) 84%,#000 16%);color:var(--ngt-on-gold)}
.ngt-feature-right-bg-ivory{background:color-mix(in srgb,var(--ngt-color-ivory) 92%,#000 8%);color:var(--ngt-on-ivory)}
.ngt-feature-right-bg-white{background:color-mix(in srgb,var(--ngt-color-white) 94%,#000 6%);color:var(--ngt-on-white)}

.ngt-panel-bg-dark-teal{background:color-mix(in srgb,var(--ngt-color-dark-teal) 78%,#fff 8%);color:var(--ngt-on-dark-teal)}
.ngt-panel-bg-light-teal{background:color-mix(in srgb,var(--ngt-color-light-teal) 82%,#000 8%);color:var(--ngt-on-light-teal)}
.ngt-panel-bg-gold{background:var(--ngt-color-gold);color:var(--ngt-on-gold)}
.ngt-panel-bg-ivory{background:var(--ngt-color-ivory);color:var(--ngt-on-ivory);border-color:rgba(0,51,63,.16)}
.ngt-panel-bg-white{background:var(--ngt-color-white);color:var(--ngt-on-white);border-color:rgba(0,51,63,.16)}

.ngt-rule-dark-teal{--ngt-feature-rule:var(--ngt-color-dark-teal)}
.ngt-rule-light-teal{--ngt-feature-rule:var(--ngt-color-light-teal)}
.ngt-rule-gold{--ngt-feature-rule:var(--ngt-color-gold)}
.ngt-rule-ivory{--ngt-feature-rule:var(--ngt-color-ivory)}
.ngt-rule-white{--ngt-feature-rule:var(--ngt-color-white)}

@media(max-width:1024px){
	.ngt-v121-feature-section{
		grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);
	}
	.ngt-v121-feature-section__left-inner{
		width:calc(100% - 3rem);
		margin-left:1.5rem;
	}
	.ngt-v121-feature-section h2{
		font-size:clamp(2.7rem,5.4vw,4.2rem);
	}
}
@media(max-width:767px){
	.ngt-v121-feature-section{
		grid-template-columns:1fr;
	}
	.ngt-v121-feature-section__left-inner{
		width:calc(100% - 2rem);
		margin:0 auto;
		padding:3.5rem 0;
	}
	.ngt-v121-feature-section__right-inner{
		width:calc(100% - 2rem);
		margin:0 auto;
		padding:2rem 0 3.5rem;
	}
	.ngt-v121-feature-section h2{
		font-size:clamp(2.45rem,11vw,3.6rem);
	}
}
