/*
 * NNN-ECEC — shared site styles
 * Loaded by the "NNN Site Styles" plugin. Edit this file, not the pages.
 */


/* ===========================================================================
   NNN-ECEC — shared styles
   ---------------------------------------------------------------------------
   WHY THIS FILE EXISTS

   Every page on this site kept its layout CSS inside an Elementor HTML widget.
   That works until someone without the `unfiltered_html` capability saves the
   page: WordPress strips the <style> and </style> tags and leaves the CSS
   behind as plain text, which then renders as a wall of code at the top of the
   page. It has already happened twice — on About Us and on the old About page.

   Rules here load on every page, cannot be stripped by an editor, and live in
   one file rather than twenty-two. When a page's inline block is removed, the
   equivalent rules below take over.

   MIGRATION ORDER (do one page at a time and check it before moving on):
     1. Install and activate this child theme.
     2. Confirm the site looks unchanged — these rules duplicate what the
        inline blocks already do, so nothing should move.
     3. Delete the <style> block from ONE page's HTML widget. Check that page.
     4. Repeat for the rest.

   Anything genuinely unique to a single page (the Best Practice Guide's purple
   sub-brand, the Home slider) is deliberately NOT here and should stay with
   its page.
   ======================================================================== */


/* ---------------------------------------------------------------------------
   1. Design tokens
   ------------------------------------------------------------------------ */

:root {
	/* Greens */
	--nnn-green:        #7EBB3E;
	--nnn-green-dk:     #4F8418;   /* AA on white — use for text on light */
	--nnn-green-mid:    #59A14B;
	--nnn-green-deep:   #445A44;
	--nnn-green-pale:   #F2F8E6;
	--nnn-green-soft:   #DCEEC0;
	--nnn-green-wash:   #F0F5E8;

	/* Neutrals */
	--nnn-ink:          #14180F;
	--nnn-body:         #4A4F40;
	--nnn-body-soft:    #6E766E;
	--nnn-soft:         #8C9082;
	--nnn-line:         #E2DDCD;
	--nnn-line-soft:    #E6E9E1;
	--nnn-paper:        #FCFAF5;
	--nnn-paper-2:      #F5F1E8;

	/* Accents */
	--nnn-coral:        #F39877;
	--nnn-coral-dk:     #c25a34;

	/* Jurisdiction / pillar colours */
	--nnn-j-act:        #3C7C8A;
	--nnn-j-nsw:        #4F8418;
	--nnn-j-nt:         #DB8223;
	--nnn-j-qld:        #9A4D9B;
	--nnn-j-sa:         #502363;
	--nnn-j-tas:        #2D7C8A;
	--nnn-j-vic:        #9BC22C;
	--nnn-j-wa:         #C24B4B;

	/* Radii */
	--nnn-r:            12px;
	--nnn-r-md:         18px;
	--nnn-r-lg:         28px;
}


/* ---------------------------------------------------------------------------
   2. Hero pattern
   ---------------------------------------------------------------------------
   Applied to any container carrying .nnn-hero-d.

   Elementor CONTAINERS render their background overlay as a ::before
   pseudo-element — sections use a child div, containers do not. That is why
   this targets ::before and neutralises .elementor-background-overlay.

   Overlay strength is deliberately NOT uniform. Perceived contrast is what
   should be constant, not the alpha value: the same overlay over a white
   flat-lay and over a dark photograph produces very different results.
   ------------------------------------------------------------------------ */

.nnn-hero-d {
	position: relative !important;
	overflow: hidden !important;
}

.nnn-hero-d::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 1 !important;
	opacity: 1 !important;
	pointer-events: none !important;
	/* Default: mid-tone photography */
	background: linear-gradient(100deg,
		rgba(18, 18, 22, .84) 0%,
		rgba(18, 18, 22, .72) 45%,
		rgba(18, 18, 22, .60) 100%) !important;
}

/* Bright, near-white food flat-lays need a heavier scrim to match. */
.nnn-hero-d.nnn-hero--light-photo::before {
	background: linear-gradient(100deg,
		rgba(18, 18, 22, .90) 0%,
		rgba(18, 18, 22, .82) 45%,
		rgba(18, 18, 22, .74) 100%) !important;
}

/* Dark photography needs far less, or it goes black. */
.nnn-hero-d.nnn-hero--dark-photo::before {
	background: linear-gradient(100deg,
		rgba(18, 18, 22, .58) 0%,
		rgba(18, 18, 22, .46) 45%,
		rgba(18, 18, 22, .38) 100%) !important;
}

.nnn-hero-d > .elementor-background-overlay {
	background: transparent !important;
	opacity: 0 !important;
}

.nnn-hero-d .nnn-hero-inner {
	position: relative !important;
	z-index: 2 !important;
	max-width: 780px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	align-items: center !important;
}

/* Suppress the CSS-injected eyebrow some pages used. Eyebrows should be real
   widgets — a pseudo-element cannot be edited by staff, is invisible to search
   engines and is not read by screen readers. */
.nnn-hero-d .nnn-hero-inner > .e-con-inner::before {
	content: none !important;
	display: none !important;
}

.nnn-hero-d .nnn-h1 .elementor-heading-title,
.nnn-hero-d .nnn-d-h1 .elementor-heading-title {
	font-family: 'Lato', sans-serif !important;
	font-weight: 900 !important;
	font-size: clamp(36px, 5.6vw, 62px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.02em !important;
	color: #fff !important;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .28) !important;
	margin: 0 0 14px !important;
}

.nnn-hero-d .nnn-lead .elementor-widget-container,
.nnn-hero-d .nnn-lead-on-dark .elementor-widget-container,
.nnn-hero-d .nnn-hero-lead .elementor-widget-container,
.nnn-hero-d .nnn-d-lead .elementor-widget-container {
	font-family: 'Lato', sans-serif !important;
	font-size: 16.5px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, .94) !important;
	text-align: center !important;
	max-width: 660px;
	margin: 0 auto 24px !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .3);
}

.nnn-hero-d .nnn-d-eyebrow .elementor-heading-title {
	display: inline-block;
	background: rgba(255, 255, 255, .94);
	border-radius: 999px;
	padding: 7px 16px;
	font-family: 'Lato', sans-serif;
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nnn-green-dk);
	margin: 0 0 14px;
}

.nnn-hero-d .elementor-button {
	background-color: var(--nnn-green) !important;
	background-image: none !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: 'Lato', sans-serif !important;
	font-weight: 900 !important;
	font-size: 12.5px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	padding: 15px 30px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.nnn-hero-d .elementor-button:hover {
	background-color: var(--nnn-green-dk) !important;
	color: #fff !important;
}

@media (max-width: 700px) {
	.nnn-hero-d {
		min-height: 340px !important;
		padding-top: 72px !important;
		padding-bottom: 68px !important;
	}
}


/* ---------------------------------------------------------------------------
   3. Section scaffolding and typography
   ------------------------------------------------------------------------ */

.nnn-section .nnn-inner > .e-con-inner {
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}

.nnn-section em {
	font-style: normal;
	color: var(--nnn-green-dk);
	font-weight: 900;
}

.nnn-eyebrow .elementor-heading-title {
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nnn-green-mid);
	background: rgba(89, 161, 75, .12);
	padding: 7px 15px;
	border-radius: 999px;
	margin: 0 0 6px;
}

.nnn-evi .elementor-heading-title {
	color: var(--nnn-coral-dk);
	background: rgba(243, 152, 119, .2);
}

.nnn-h2 .elementor-heading-title {
	font-family: 'Abril Fatface', Georgia, serif;
	font-weight: 400;
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.14;
	color: var(--nnn-green-deep);
	margin: 0 0 16px;
}

.nnn-h2.nnn-center .elementor-heading-title::after,
.nnn-h2 .elementor-heading-title::after {
	content: '';
	display: block;
	width: 64px;
	height: 4px;
	border-radius: 3px;
	background: #B3CD4C;
	margin: 20px auto 0;
}

.nnn-h3 .elementor-heading-title {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.25;
	color: var(--nnn-green-deep);
}

.nnn-h4 .elementor-heading-title,
.nnn-feature-title .elementor-heading-title {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 15px;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--nnn-green-mid);
	line-height: 1.4;
}

.nnn-body,
.nnn-body .elementor-widget-container {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	color: var(--nnn-body-soft);
	line-height: 1.7;
}

.nnn-lead .elementor-widget-container {
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	color: var(--nnn-body-soft);
	line-height: 1.6;
}

.nnn-center .elementor-heading-title,
.nnn-center .elementor-widget-container {
	text-align: center;
}


/* ---------------------------------------------------------------------------
   4. Cards and grids
   ------------------------------------------------------------------------ */

.nnn-card {
	background: #fff !important;
	border: 1px solid var(--nnn-line-soft);
	border-radius: var(--nnn-r-md);
	padding: 34px 30px !important;
}

.nnn-grid-row > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px !important;
	align-items: stretch;
}

@media (max-width: 900px) {
	.nnn-grid-row > .e-con-inner {
		grid-template-columns: 1fr;
	}
}


/* ---------------------------------------------------------------------------
   5. Checklists
   ------------------------------------------------------------------------ */

.nnn-checklist .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nnn-checklist .elementor-icon-list-icon {
	display: none !important;
}

.nnn-checklist .elementor-icon-list-text {
	position: relative;
	padding-left: 34px;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	color: var(--nnn-body-soft);
	line-height: 1.55;
}

/* No tick is drawn here on purpose.
   Every migrated page defines its own — some on .elementor-icon-list-text,
   About Us on .elementor-icon-list-item — and a generic one here produced a
   second, paler tick sitting on top of the text. If a page ever needs the
   default treatment back, add it to that page's own block below rather than
   reinstating it globally. */


/* ---------------------------------------------------------------------------
   6. Buttons
   ------------------------------------------------------------------------ */

.nnn-btn .elementor-button,
.nnn-btn-primary .elementor-button {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	background-color: var(--nnn-green-mid) !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 15px 30px !important;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background-color .2s ease, transform .2s ease;
}

.nnn-btn .elementor-button:hover,
.nnn-btn-primary .elementor-button:hover {
	background-color: var(--nnn-green-deep) !important;
}

.nnn-btn .elementor-button::after,
.nnn-btn-primary .elementor-button::after {
	content: '\2192';
	margin-left: 2px;
}


/* ---------------------------------------------------------------------------
   7. WPForms — shared card treatment
   ------------------------------------------------------------------------ */

.nnn-formcard {
	background: #fff !important;
	border: 1.5px solid var(--nnn-line) !important;
	border-radius: var(--nnn-r-lg) !important;
	padding: 44px !important;
	max-width: 760px !important;
	margin: 34px auto 0 !important;
	box-shadow: 0 32px 64px -32px rgba(20, 24, 15, .10) !important;
}

@media (max-width: 700px) {
	.nnn-formcard {
		padding: 28px 24px 32px !important;
		border-radius: 20px !important;
	}
}

.nnn-formcard .wpforms-head-container {
	margin-bottom: 24px !important;
	padding-bottom: 22px !important;
	border-bottom: 1px solid var(--nnn-line) !important;
}

.nnn-formcard .wpforms-field { padding: 9px 0 !important; }

.nnn-formcard .wpforms-field-label {
	font-family: 'Lato', sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	color: var(--nnn-ink) !important;
	margin-bottom: 6px !important;
}

.nnn-formcard .wpforms-required-label {
	color: var(--nnn-green-dk) !important;
	font-weight: 700 !important;
}

.nnn-formcard .wpforms-field-sublabel {
	font-size: 12px !important;
	color: #707468 !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

.nnn-formcard input[type=text],
.nnn-formcard input[type=email],
.nnn-formcard input[type=tel],
.nnn-formcard input[type=url],
.nnn-formcard input[type=number],
.nnn-formcard select,
.nnn-formcard textarea {
	width: 100% !important;
	border: 1.5px solid var(--nnn-line) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
	color: var(--nnn-ink) !important;
	background: var(--nnn-paper) !important;
	min-height: 46px !important;
	height: auto !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition: border-color .2s, box-shadow .2s, background .2s !important;
}

.nnn-formcard textarea {
	min-height: 110px !important;
	resize: vertical !important;
}

.nnn-formcard input:focus,
.nnn-formcard select:focus,
.nnn-formcard textarea:focus {
	border-color: var(--nnn-green) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(126, 187, 62, .15) !important;
	outline: none !important;
}

.nnn-formcard .wpforms-submit-container { margin-top: 24px !important; }

.nnn-formcard button.wpforms-submit {
	background: var(--nnn-green-dk) !important;
	color: #fff !important;
	border: 1.5px solid var(--nnn-green-dk) !important;
	border-radius: 50px !important;
	min-height: 48px !important;
	padding: 0 30px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: background .2s, border-color .2s, transform .2s !important;
}

.nnn-formcard button.wpforms-submit:hover {
	background: var(--nnn-ink) !important;
	border-color: var(--nnn-ink) !important;
	transform: translateY(-2px) !important;
}

.nnn-formcard button.wpforms-submit:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(126, 187, 62, .25) !important;
}

.nnn-formcard .wpforms-error {
	color: #B72C2C !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.nnn-formcard input.wpforms-error,
.nnn-formcard select.wpforms-error,
.nnn-formcard textarea.wpforms-error {
	border-color: #B72C2C !important;
}

.nnn-formcard .wpforms-confirmation-container-full {
	background: var(--nnn-green-pale) !important;
	border: 1.5px solid var(--nnn-green-soft) !important;
	border-radius: 12px !important;
	color: var(--nnn-ink) !important;
}


/* ---------------------------------------------------------------------------
   8. Timeline (A Brief History)
   ------------------------------------------------------------------------ */

.nnn-timeline-wrap {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 16px;
}

.nnn-timeline-wrap .timeline {
	list-style: none;
	padding: 0;
	margin: 0;
}

.nnn-timeline-wrap .timeline-item {
	position: relative;
	padding: 0 0 36px 64px;
	display: block;
	font-family: 'Lato', sans-serif;
}

.nnn-timeline-wrap .timeline-item:last-child { padding-bottom: 0; }

.nnn-timeline-wrap .timeline-item::before {
	content: '';
	position: absolute;
	left: 21px;
	top: 22px;
	bottom: -2px;
	width: 4px;
	background: #E8E8E8;
	border-radius: 2px;
}

.nnn-timeline-wrap .timeline-item:last-child::before { display: none; }

.nnn-timeline-wrap .timeline-marker {
	position: absolute;
	left: 0;
	top: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nnn-timeline-wrap .timeline-dot {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--dot-color, var(--nnn-green));
	box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--dot-color, var(--nnn-green));
}

.nnn-timeline-wrap .timeline-content { padding-top: 6px; }

.nnn-timeline-wrap .timeline-date {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--dot-color, var(--nnn-green-dk));
	margin-bottom: 6px;
}

.nnn-timeline-wrap .timeline-content p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #555;
}


/* ---------------------------------------------------------------------------
   9. Floating Best Practice Guide link
   ---------------------------------------------------------------------------
   Built by nnn-scripts.js and appended to <body>, so it is never trapped
   inside a section's stacking context.
   ------------------------------------------------------------------------ */

.nnn-bpg-float {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 16px 22px 16px 26px;
	border-radius: 999px;
	background: #772D61;
	color: #fff !important;
	font-family: 'Lato', sans-serif;
	text-decoration: none !important;
	box-shadow: 0 14px 34px -12px rgba(58, 20, 47, .6);
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nnn-bpg-float:hover,
.nnn-bpg-float:focus {
	background: #5E2350;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 20px 44px -14px rgba(58, 20, 47, .68);
}

.nnn-bpg-float:focus-visible {
	outline: 3px solid #AFBE30;
	outline-offset: 3px;
}

/* Text block is centred within itself, so the two lines sit as a unit
   rather than ragging against the left edge. */
.nnn-bpg-float__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	line-height: 1.25;
}

.nnn-bpg-float__kicker {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #E7D3E0;
	margin-bottom: 3px;
}

.nnn-bpg-float__label {
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -.005em;
	color: #fff;
}

.nnn-bpg-float__chev {
	flex: 0 0 auto;
	opacity: .85;
	transition: transform .2s ease, opacity .2s ease;
}

.nnn-bpg-float:hover .nnn-bpg-float__chev {
	transform: translateX(3px);
	opacity: 1;
}

@media (max-width: 600px) {
	.nnn-bpg-float {
		right: 14px;
		bottom: 14px;
		gap: 10px;
		padding: 13px 16px 13px 20px;
	}
	.nnn-bpg-float__label { font-size: 13.5px; }
	.nnn-bpg-float__kicker { font-size: 9.5px; letter-spacing: .13em; }
}

@media (prefers-reduced-motion: reduce) {
	.nnn-bpg-float,
	.nnn-bpg-float__chev { transition: none; }
	.nnn-bpg-float:hover { transform: none; }
	.nnn-bpg-float:hover .nnn-bpg-float__chev { transform: none; }
}


/* ---------------------------------------------------------------------------
   10. Accessibility
   ------------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.nnn-btn .elementor-button,
	.nnn-btn-primary .elementor-button,
	.nnn-bpg-float,
	.nnn-formcard button.wpforms-submit {
		transition: none !important;
	}
	.nnn-btn .elementor-button:hover,
	.nnn-btn-primary .elementor-button:hover,
	.nnn-bpg-float:hover,
	.nnn-formcard button.wpforms-submit:hover {
		transform: none !important;
	}
}

a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--nnn-green);
	outline-offset: 2px;
}


/* ===========================================================================
   11. Migrated page CSS
   ---------------------------------------------------------------------------
   These blocks were previously inline <style> tags inside each page's Elementor
   HTML widget. They are reproduced here verbatim, with every selector scoped to
   that page's body class, so each page keeps exactly the styling it had and no
   page can affect another.

   The @import for Google Fonts is deliberately dropped — fonts are enqueued by
   the plugin instead, which is faster and cannot be silently broken by a rule
   being placed above the import.

   As each page is migrated its inline widget is emptied, so nothing remains for
   kses to strip.
   ======================================================================== */

/* --- Collaboration (body.page-id-31466) ------------------------------------ */

body.page-id-31466 .elementor-element-32e4854, body.page-id-31466 .elementor-element-cf2edad, body.page-id-31466 .elementor-element-4985f83, body.page-id-31466 .elementor-element-cf87309{padding:84px 24px!important}body.page-id-31466 .elementor-element-b9b76ff>.e-con-inner, body.page-id-31466 .elementor-element-2c026c8>.e-con-inner, body.page-id-31466 .elementor-element-29585c3>.e-con-inner, body.page-id-31466 .elementor-element-87c0b4a>.e-con-inner{max-width:1160px;margin-left:auto;margin-right:auto}body.page-id-31466 .nnn-h1 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(34px,5.4vw,58px);line-height:1.08;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.25)}body.page-id-31466 .nnn-btn .elementor-button{font-family:'Lato',sans-serif;font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;padding:15px 30px}body.page-id-31466 .nnn-btn .elementor-button:after{content:'\2192';margin-left:2px}body.page-id-31466 .nnn-eyebrow .elementor-heading-title{display:inline-block;font-family:'Lato',sans-serif;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#59A14B;background:rgba(89,161,75,.12);padding:7px 15px;border-radius:999px;margin:0 0 6px}body.page-id-31466 .nnn-h2 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.14;color:#445A44;margin:0 0 16px;text-align:center}body.page-id-31466 .nnn-h2 .elementor-heading-title:after{content:'';display:block;width:64px;height:4px;border-radius:3px;background:#B3CD4C;margin:20px auto 0}body.page-id-31466 .nnn-h3 .elementor-heading-title, body.page-id-31466 .nnn-feature-title .elementor-heading-title{font-family:'Lato',sans-serif;font-weight:900;font-size:clamp(19px,2.2vw,23px);line-height:1.28;color:#445A44}body.page-id-31466 .nnn-lead .elementor-widget-container{font-family:'Lato',sans-serif;font-size:18px;color:#6E766E;text-align:center;max-width:660px;margin-left:auto;margin-right:auto}body.page-id-31466 .nnn-body, body.page-id-31466 .nnn-body .elementor-widget-container{font-family:'Lato',sans-serif;font-size:16px;color:#6E766E;line-height:1.7}body.page-id-31466 .elementor-element-2cd0a5f>.e-con-inner, body.page-id-31466 .elementor-element-493644b>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px!important;align-items:stretch}body.page-id-31466 .elementor-element-89eb032>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,1fr);gap:24px!important;align-items:stretch}body.page-id-31466 .elementor-element-9913298>.e-con-inner{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:40px!important;align-items:center}body.page-id-31466 .elementor-element-c287b68, body.page-id-31466 .elementor-element-9bd4d16, body.page-id-31466 .elementor-element-d491585, body.page-id-31466 .elementor-element-ba7823f, body.page-id-31466 .elementor-element-536af24, body.page-id-31466 .elementor-element-8eb505a, body.page-id-31466 .elementor-element-55254a2, body.page-id-31466 .elementor-element-34db3db{background:#fff!important;border:1px solid #E6E9E1!important;border-radius:18px!important;padding:32px 28px!important;transition:transform .22s,box-shadow .22s,border-color .22s}body.page-id-31466 .elementor-element-c287b68:hover, body.page-id-31466 .elementor-element-9bd4d16:hover, body.page-id-31466 .elementor-element-d491585:hover, body.page-id-31466 .elementor-element-ba7823f:hover, body.page-id-31466 .elementor-element-536af24:hover, body.page-id-31466 .elementor-element-8eb505a:hover, body.page-id-31466 .elementor-element-55254a2:hover, body.page-id-31466 .elementor-element-34db3db:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(68,90,68,.45);border-color:#B3CD4C}body.page-id-31466 .nnn-question-item .elementor-icon-box-wrapper, body.page-id-31466 .nnn-outcome-item .elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}body.page-id-31466 .nnn-question-item .elementor-icon, body.page-id-31466 .nnn-outcome-item .elementor-icon{font-size:46px;line-height:1}body.page-id-31466 .nnn-question-item .elementor-icon svg, body.page-id-31466 .nnn-outcome-item .elementor-icon svg{fill:#59A14B!important;width:46px;height:46px}body.page-id-31466 .nnn-question-item .elementor-icon i, body.page-id-31466 .nnn-outcome-item .elementor-icon i{color:#59A14B!important}body.page-id-31466 .nnn-question-item .elementor-icon-box-title, body.page-id-31466 .nnn-outcome-item .elementor-icon-box-title{font-family:'Lato',sans-serif;font-weight:700;font-size:17px;line-height:1.4;color:#445A44;margin:0}body.page-id-31466 .nnn-checklist .elementor-icon-list-items{display:flex;flex-direction:column;gap:14px}body.page-id-31466 .nnn-checklist .elementor-icon-list-icon{display:none!important}body.page-id-31466 .nnn-checklist .elementor-icon-list-text{position:relative;padding-left:36px;font-family:'Lato',sans-serif;font-size:16px;color:#445A44;line-height:1.5;font-weight:700}body.page-id-31466 .nnn-checklist .elementor-icon-list-text:before{content:'\2713';position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#59A14B;color:#fff;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}body.page-id-31466 .elementor-element-ee82896>.e-con-inner{align-items:center;justify-content:center}body.page-id-31466 .elementor-element-51f625c img{max-width:170px;margin:0 auto;display:block}body.page-id-31466 .elementor-element-fc8ca3c img{max-width:250px;margin:0 auto;display:block}@media(max-width:900px){body.page-id-31466 .elementor-element-2cd0a5f>.e-con-inner, body.page-id-31466 .elementor-element-493644b>.e-con-inner, body.page-id-31466 .elementor-element-89eb032>.e-con-inner, body.page-id-31466 .elementor-element-9913298>.e-con-inner{grid-template-columns:1fr!important}}body.page-id-31466 .nnn-hero-lead .elementor-widget-container{font-family:'Lato',sans-serif;font-size:18px;line-height:1.6;color:rgba(255,255,255,.92);text-align:center;max-width:720px;margin:0 auto 26px}body.page-id-31466 .nnn-question-item .elementor-icon-box-wrapper, body.page-id-31466 .nnn-outcome-item .elementor-icon-box-wrapper{text-align:center!important}body.page-id-31466 .nnn-question-item .elementor-icon-box-icon, body.page-id-31466 .nnn-outcome-item .elementor-icon-box-icon{margin:0 auto 14px!important}body.page-id-31466 .nnn-checklist .elementor-icon-list-text{padding-left:36px!important}

/* --- Past Reach and Engagement (body.page-id-31474) ------------------------------------ */

body.page-id-31474 .elementor-element-e21c9bb, body.page-id-31474 .elementor-element-11e6e81, body.page-id-31474 .elementor-element-e26bf4f{padding:88px 24px!important}body.page-id-31474 .elementor-element-2663d5f>.e-con-inner, body.page-id-31474 .elementor-element-c1ddd29>.e-con-inner{max-width:1160px;margin-left:auto;margin-right:auto}body.page-id-31474 .elementor-element-010e33a>.e-con-inner{max-width:880px;margin-left:auto;margin-right:auto}body.page-id-31474 .nnn-h1 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(36px,5.4vw,58px);line-height:1.07;color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.28)}body.page-id-31474 .nnn-eyebrow .elementor-heading-title{display:inline-block;font-family:'Lato',sans-serif;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#59A14B;background:rgba(89,161,75,.12);padding:7px 15px;border-radius:999px;margin:0 0 12px}body.page-id-31474 .nnn-h2 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.14;color:#445A44!important;text-align:center;margin:0 0 16px}body.page-id-31474 .nnn-h2 .elementor-heading-title:after{content:'';display:block;width:64px;height:4px;border-radius:3px;background:#B3CD4C;margin:18px auto 0}body.page-id-31474 .nnn-h3 .elementor-heading-title{font-family:'Lato',sans-serif;font-weight:900;font-size:18px;line-height:1.3;color:#445A44!important;margin:0 0 10px}body.page-id-31474 .nnn-lead .elementor-widget-container{font-family:'Lato',sans-serif;font-size:18px;color:#6E766E!important;text-align:center;max-width:680px;margin:6px auto 0}body.page-id-31474 .nnn-body, body.page-id-31474 .nnn-body .elementor-widget-container{font-family:'Lato',sans-serif;font-size:16px;color:#6E766E!important;line-height:1.7}body.page-id-31474 .elementor-element-887337c>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,1fr);gap:26px!important;align-items:stretch}body.page-id-31474 .elementor-element-47aa6cc, body.page-id-31474 .elementor-element-b4bad95, body.page-id-31474 .elementor-element-2d76b4f{background:#fff!important;border:1px solid #E6E9E1!important;border-radius:20px!important;overflow:hidden!important;padding:24px 24px 26px 24px!important;box-shadow:0 14px 40px -30px rgba(68,90,68,.6)!important;transition:transform .24s,box-shadow .24s!important}body.page-id-31474 .elementor-element-47aa6cc:hover, body.page-id-31474 .elementor-element-b4bad95:hover, body.page-id-31474 .elementor-element-2d76b4f:hover{transform:translateY(-5px);box-shadow:0 26px 52px -30px rgba(68,90,68,.5)!important}body.page-id-31474 .nnn-kes-img .elementor-widget-container{margin:-24px -24px 18px -24px!important;line-height:0}body.page-id-31474 .nnn-kes-img img{width:100%!important;height:180px!important;object-fit:cover!important;display:block}body.page-id-31474 .elementor-element-47aa6cc .nnn-body .elementor-widget-container, body.page-id-31474 .elementor-element-b4bad95 .nnn-body .elementor-widget-container, body.page-id-31474 .elementor-element-2d76b4f .nnn-body .elementor-widget-container{font-size:15px;margin-bottom:16px}body.page-id-31474 .nnn-btn-outline .elementor-button{font-family:'Lato',sans-serif;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:transparent!important;color:#59A14B!important;border:2px solid #59A14B!important;border-radius:999px!important;padding:11px 24px!important;transition:all .2s!important}body.page-id-31474 .nnn-btn-outline .elementor-button:hover{background:#59A14B!important;color:#fff!important}body.page-id-31474 .nnn-conf-year{font-family:'Lato',sans-serif!important;font-weight:900!important;font-size:24px!important;color:#59A14B!important;display:flex!important;align-items:center;gap:16px;margin:38px 0 20px!important}body.page-id-31474 .nnn-conf-year:after{content:'';flex:1;height:2px;background:linear-gradient(90deg,rgba(89,161,75,.5),rgba(89,161,75,.05))}body.page-id-31474 .nnn-conf-list{padding-left:22px;display:flex;flex-direction:column;gap:18px;margin:0}body.page-id-31474 .nnn-conf-list li{padding-left:8px;color:#6E766E;line-height:1.55;font-size:15px}body.page-id-31474 .nnn-conf-list li::marker{color:#59A14B;font-weight:900}body.page-id-31474 .nnn-conf-list li strong{color:#39402F;display:block;margin-bottom:4px;font-weight:700;line-height:1.45}body.page-id-31474 .nnn-conf-list a{color:#59A14B;word-break:break-word}body.page-id-31474 .elementor-element-bcb1a33{background:#F0F5E8!important;border:1px solid #E4EBDA;border-radius:20px;padding:32px 38px!important;max-width:820px;margin-left:auto!important;margin-right:auto!important}body.page-id-31474 .nnn-checklist .elementor-icon-list-items{display:flex;flex-direction:column;gap:16px}body.page-id-31474 .nnn-checklist .elementor-icon-list-icon{display:none!important}body.page-id-31474 .nnn-checklist .elementor-icon-list-text{position:relative;padding-left:38px!important;font-family:'Lato',sans-serif;font-size:16px;color:#445A44!important;font-weight:700;line-height:1.5}body.page-id-31474 .nnn-checklist .elementor-icon-list-text:before{content:'\2713';position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#59A14B;color:#fff;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}@media(max-width:860px){body.page-id-31474 .elementor-element-887337c>.e-con-inner{grid-template-columns:1fr}}body.page-id-31474 .nnn-checklist .elementor-icon-list-text a{color:#59A14B!important;text-decoration:underline;text-underline-offset:2px}body.page-id-31474 .nnn-checklist .elementor-icon-list-text a:hover{color:#445A44!important}
/* --- Engagement (body.page-id-31468) ------------------------------ */
body.page-id-31468 .elementor-element-ac54310{padding:88px 24px 96px!important;background-image:radial-gradient(1100px 380px at 85% -8%,rgba(179,205,76,.2),transparent 60%)!important}body.page-id-31468 .nnn-h1 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(34px,5.4vw,58px);line-height:1.08;color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.25)}body.page-id-31468 .nnn-lead-on-dark .elementor-widget-container{font-family:'Lato',sans-serif;font-size:19px;color:rgba(255,255,255,.92)!important;text-align:center;max-width:600px;margin:6px auto 4px}body.page-id-31468 .nnn-btn .elementor-button{font-family:'Lato',sans-serif;font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;padding:15px 32px}body.page-id-31468 .nnn-btn .elementor-button:after{content:'\2192';margin-left:2px}body.page-id-31468 .nnn-h2 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.14;color:#445A44!important;text-align:center;margin-bottom:44px}body.page-id-31468 .nnn-h2 .elementor-heading-title:after{content:'';display:block;width:64px;height:4px;border-radius:3px;background:#B3CD4C;margin:18px auto 0}body.page-id-31468 .elementor-element-8ef899b>.e-con-inner, body.page-id-31468 .elementor-element-25b639f>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,1fr);gap:28px!important;align-items:stretch}body.page-id-31468 .elementor-element-9a2f16a, body.page-id-31468 .elementor-element-071e6f2, body.page-id-31468 .elementor-element-f1f818a, body.page-id-31468 .elementor-element-705d35e{background:#fff!important;border:1px solid #E6E9E1!important;border-radius:22px!important;padding:36px 34px!important;box-shadow:0 14px 40px -28px rgba(68,90,68,.5)!important;transition:transform .24s,box-shadow .24s,border-color .24s;overflow:hidden}body.page-id-31468 .elementor-element-9a2f16a:hover, body.page-id-31468 .elementor-element-071e6f2:hover, body.page-id-31468 .elementor-element-f1f818a:hover, body.page-id-31468 .elementor-element-705d35e:hover{transform:translateY(-5px);box-shadow:0 26px 54px -28px rgba(68,90,68,.5)}body.page-id-31468 .nnn-pillar-title .elementor-heading-title{font-family:'Lato',sans-serif;font-weight:900;font-size:21px;line-height:1.24;color:#445A44!important}body.page-id-31468 .nnn-pillar-subtitle .elementor-heading-title{font-family:'Lato',sans-serif;font-weight:900;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;margin-top:24px;margin-bottom:12px;display:flex;align-items:center;gap:10px}body.page-id-31468 .nnn-pillar-subtitle .elementor-heading-title:after{content:'';flex:1;height:1px;background:#E6E9E1}body.page-id-31468 .nnn-body .elementor-widget-container{font-family:'Lato',sans-serif;font-size:15px;color:#6E766E!important;margin:-2px 0 10px}body.page-id-31468 .nnn-checklist .elementor-icon-list-items{display:flex;flex-direction:column;gap:11px}body.page-id-31468 .nnn-checklist .elementor-icon-list-icon{display:none!important}body.page-id-31468 .nnn-checklist .elementor-icon-list-text{position:relative;padding-left:32px!important;font-family:'Lato',sans-serif;font-size:15px;color:#4b5147!important;line-height:1.55}body.page-id-31468 .nnn-checklist .elementor-icon-list-text:before{content:'\2713';position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}body.page-id-31468 .nnn-pillar-icon{margin-bottom:8px}body.page-id-31468 .nnn-pillar-icon .elementor-widget-container{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center}body.page-id-31468 .nnn-pillar-icon img{width:31px!important;height:31px!important;object-fit:contain;filter:brightness(0) invert(1)}body.page-id-31468 .elementor-element-9a2f16a{border-top:5px solid #59A14B!important}body.page-id-31468 .elementor-element-9a2f16a:hover{border-color:#59A14B!important}body.page-id-31468 .elementor-element-9a2f16a .nnn-pillar-icon .elementor-widget-container{background:#59A14B!important}body.page-id-31468 .elementor-element-9a2f16a .nnn-pillar-subtitle .elementor-heading-title{color:#3f7d34!important}body.page-id-31468 .elementor-element-9a2f16a .nnn-checklist .elementor-icon-list-text:before{background:#E7F1DE;color:#59A14B}body.page-id-31468 .elementor-element-071e6f2{border-top:5px solid #EE8B66!important}body.page-id-31468 .elementor-element-071e6f2:hover{border-color:#EE8B66!important}body.page-id-31468 .elementor-element-071e6f2 .nnn-pillar-icon .elementor-widget-container{background:#EE8B66!important}body.page-id-31468 .elementor-element-071e6f2 .nnn-pillar-subtitle .elementor-heading-title{color:#c9673f!important}body.page-id-31468 .elementor-element-071e6f2 .nnn-checklist .elementor-icon-list-text:before{background:#FBE9E1;color:#EE8B66}body.page-id-31468 .elementor-element-f1f818a{border-top:5px solid #7FB53E!important}body.page-id-31468 .elementor-element-f1f818a:hover{border-color:#7FB53E!important}body.page-id-31468 .elementor-element-f1f818a .nnn-pillar-icon .elementor-widget-container{background:#7FB53E!important}body.page-id-31468 .elementor-element-f1f818a .nnn-pillar-subtitle .elementor-heading-title{color:#5c862a!important}body.page-id-31468 .elementor-element-f1f818a .nnn-checklist .elementor-icon-list-text:before{background:#EDF4DD;color:#7FB53E}body.page-id-31468 .elementor-element-705d35e{border-top:5px solid #5FA7D4!important}body.page-id-31468 .elementor-element-705d35e:hover{border-color:#5FA7D4!important}body.page-id-31468 .elementor-element-705d35e .nnn-pillar-icon .elementor-widget-container{background:#5FA7D4!important}body.page-id-31468 .elementor-element-705d35e .nnn-pillar-subtitle .elementor-heading-title{color:#3c7aa6!important}body.page-id-31468 .elementor-element-705d35e .nnn-checklist .elementor-icon-list-text:before{background:#E7F1F9;color:#5FA7D4}@media(max-width:860px){body.page-id-31468 .elementor-element-8ef899b>.e-con-inner, body.page-id-31468 .elementor-element-25b639f>.e-con-inner{grid-template-columns:1fr}}body.page-id-31468 .nnn-pbadge{display:inline-flex!important;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;margin-bottom:14px;box-shadow:0 9px 20px -10px rgba(0,0,0,.35)}body.page-id-31468 .nnn-picon{width:30px!important;height:30px!important;max-width:30px!important;object-fit:contain;filter:brightness(0) invert(1)}


/* ---------------------------------------------------------------------------
   12. Timeline widget
   ---------------------------------------------------------------------------
   Styling for the NNN Timeline Elementor widget. Each entry sets its own accent
   through the --nnn-tl-c custom property, so a colour picked in the editor
   drives the dot, its halo and the year label without any extra CSS.
   ------------------------------------------------------------------------ */

.nnn-tl {
	position: relative;
	max-width: 820px;
	margin: 0 auto;
	padding-left: 6px;
}

.nnn-tl__item {
	position: relative;
	padding: 0 0 22px 48px;
}

.nnn-tl__item:last-child {
	padding-bottom: 0 !important;
}

/* Connecting rail. Drawn per item and hidden on the last one, so it never
   overshoots the final entry. */
.nnn-tl__item::before {
	content: '';
	position: absolute;
	left: 13px;
	top: 28px;
	bottom: -4px;
	width: 2px;
	background: #E8E4DA;
}

.nnn-tl__item:last-child::before {
	display: none;
}

.nnn-tl__dot {
	position: absolute;
	left: 6px;
	top: 7px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--nnn-tl-c, #3C7C8A);
	/* Two rings: white to lift the dot off the rail, then a translucent halo
	   in the accent colour. */
	box-shadow:
		0 0 0 4px #fff,
		0 0 0 6px color-mix(in srgb, var(--nnn-tl-c, #3C7C8A) 28%, #fff);
}

/* color-mix is well supported but not universal — this keeps the halo sane
   where it is missing. */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.nnn-tl__dot {
		box-shadow: 0 0 0 4px #fff, 0 0 0 6px rgba(0, 0, 0, .08);
	}
}

.nnn-tl__card {
	background: #FCFAF5;
	border: 1px solid #EDE8DA;
	border-radius: 14px;
	padding: 16px 20px 17px;
}

.nnn-tl__year {
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nnn-tl-c, #3C7C8A);
	margin-bottom: 6px;
}

.nnn-tl__title {
	font-family: 'Lato', sans-serif;
	font-size: 16.5px;
	font-weight: 900;
	line-height: 1.3;
	color: #14180F;
	margin: 0 0 6px;
}

.nnn-tl__desc {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 1.62;
	color: #5C6152;
	margin: 0;
}

/* No fixed breakpoint here on purpose.
   Spacing, indent, width and card padding are exposed as responsive controls
   in the widget, so they follow Elementor's own breakpoints and can be tuned
   per device in the editor rather than being decided in this file. Everything
   above is a default the editor can override. */

/* Optional scroll reveal. The class is only added when the editor switches it
   on, and the transition is removed entirely for anyone who has asked for
   reduced motion — they see the finished state immediately. */
.nnn-tl--reveal .nnn-tl__item {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s ease, transform .5s ease;
}

.nnn-tl--reveal .nnn-tl__item.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.nnn-tl--reveal .nnn-tl__item {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --- About Us (body.page-id-31458) --------------------------------- */
/* Timeline rules deliberately omitted: the icon-box timeline has been replaced
   by the NNN Timeline widget, which carries its own styling. */
body.page-id-31458 .nnn-h1 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(38px,5.6vw,60px);line-height:1.07;color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.28)}body.page-id-31458 .elementor-element-2991cc9{padding:90px 24px 34px!important}body.page-id-31458 .nnn-h2 .elementor-heading-title{font-family:'Abril Fatface',serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.14;color:#445A44!important;margin:0 0 16px}body.page-id-31458 .nnn-center .elementor-heading-title{text-align:center}body.page-id-31458 .nnn-h2.nnn-center .elementor-heading-title:after{content:'';display:block;width:64px;height:4px;border-radius:3px;background:#B3CD4C;margin:18px auto 0}body.page-id-31458 .nnn-lead .elementor-widget-container{font-family:'Lato',sans-serif;font-size:18px;color:#54604a!important;line-height:1.6}body.page-id-31458 .nnn-center .elementor-widget-container{text-align:center}body.page-id-31458 .elementor-element-1b59c10{background:rgba(255,255,255,.74)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.7)!important;border-radius:24px!important;padding:50px 46px!important;max-width:1010px!important;margin-left:auto!important;margin-right:auto!important;box-shadow:0 30px 70px -40px rgba(68,90,68,.6)!important}body.page-id-31458 .elementor-element-1b59c10 .nnn-h2 .elementor-heading-title{font-size:clamp(28px,3.6vw,40px);margin-bottom:12px}body.page-id-31458 .elementor-element-1b59c10 .nnn-lead .elementor-widget-container{margin-bottom:30px;max-width:760px}body.page-id-31458 .nnn-checklist .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:20px;margin:0}body.page-id-31458 .nnn-checklist .elementor-icon-list-item{background:#fff;border:1px solid #E6E9E1;border-radius:16px;padding:20px 22px 20px 56px!important;position:relative;margin:0!important}body.page-id-31458 .nnn-checklist .elementor-icon-list-icon{display:none!important}body.page-id-31458 .nnn-checklist .elementor-icon-list-text{font-family:'Lato',sans-serif;font-size:15px;color:#4b5147!important;line-height:1.55;padding:0!important}body.page-id-31458 .nnn-checklist .elementor-icon-list-item:before{content:'\2713';position:absolute;left:20px;top:20px;width:26px;height:26px;border-radius:50%;background:#59A14B;color:#fff;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}body.page-id-31458 .nnn-btn-primary .elementor-button{font-family:'Lato',sans-serif;font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;background-color:#59A14B!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 32px!important;margin-top:32px;transition:all .2s}body.page-id-31458 .nnn-btn-primary .elementor-button:hover{background-color:#445A44!important}body.page-id-31458 .nnn-btn-primary .elementor-button:after{content:'\2192';margin-left:8px}@media(max-width:820px){body.page-id-31458 .nnn-checklist .elementor-icon-list-items{grid-template-columns:1fr}}


/* ---------------------------------------------------------------------------
   13. Home page (body.page-id-2)
   ---------------------------------------------------------------------------
   Restored after being removed by mistake in 1.11.0: this block sat between
   two System Improvement sections that were deleted together, so it went with
   them. Section 14 below overrides parts of it deliberately and must stay
   after it.
   ------------------------------------------------------------------------ */

body.page-id-2 .elementor-widget-slides .elementor-background-overlay{display:none !important}body.page-id-2 .elementor-widget-slides .swiper-slide-bg{position:absolute}body.page-id-2 .elementor-widget-slides .swiper-slide-bg::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(100deg,rgba(18,18,22,0.84) 0%,rgba(18,18,22,0.72) 45%,rgba(18,18,22,0.60) 100%);z-index:1;pointer-events:none}body.page-id-2 .elementor-widget-slides .swiper-slide-inner, body.page-id-2 .elementor-widget-slides .swiper-slide-contents{position:relative;z-index:2}body.page-id-2 .elementor-widget-slides .elementor-slide-heading, body.page-id-2 .elementor-widget-slides .elementor-slide-description{text-shadow:0 2px 12px rgba(0,0,0,0.55)}body.page-id-2 .elementor-widget-slides .swiper-slide-contents, body.page-id-2 .elementor-widget-slides .elementor-slide-content{margin-left:auto !important;margin-right:auto !important;text-align:center !important;max-width:720px}body.page-id-2 .elementor-element-nnnfx01{display:none !important}body.page-id-2 .elementor-element-0000064{margin-top:0 !important;padding-top:0 !important;gap:0 !important}body.page-id-2 .elementor-element-0000065{margin-top:0 !important}body.page-id-2 .elementor-widget-slides .elementor-slide-heading{color:#ffffff !important}body.page-id-2 .elementor-widget-slides .elementor-slide-description{color:#ffffff !important}body.page-id-2 .elementor-element-000009c{display:none !important}body.page-id-2 .elementor-element-00000a0{position:relative;overflow:hidden}body.page-id-2 .elementor-element-00000a0 > .e-con-inner, body.page-id-2 .elementor-element-00000a0 .elementor-widget-wrap{position:relative;z-index:1}body.page-id-2 .elementor-element-00000a0::before, body.page-id-2 .elementor-element-00000a0::after{content:'';position:absolute;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0.15;pointer-events:none;z-index:0}body.page-id-2 .elementor-element-00000a0::before{width:150px;height:150px;top:-24px;left:5%;background-image:url(https://nnn-ecec-apr26.ek007x.ap-southeast-2.wpstaqhosting.com/wp-content/uploads/2026/07/NNN-apple-pieace-4.svg);transform:translateY(var(--nnnpl,0)) rotate(-12deg)}body.page-id-2 .elementor-element-00000a0::after{width:120px;height:120px;bottom:-18px;right:6%;background-image:url(https://nnn-ecec-apr26.ek007x.ap-southeast-2.wpstaqhosting.com/wp-content/uploads/2026/07/NNN-apple-piece-2.svg);transform:translateY(var(--nnnpr,0)) rotate(14deg)}@media(max-width:768px){body.page-id-2 .elementor-element-00000a0::before, body.page-id-2 .elementor-element-00000a0::after{width:90px;height:90px}}body.page-id-2 .elementor-element-000007c{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important;align-items:stretch !important}body.page-id-2 .elementor-element-000007c > .e-con-inner{display:contents !important}body.page-id-2 .elementor-element-000007c > .e-con-inner > .e-con, body.page-id-2 .elementor-element-000007c > .e-con{min-width:0 !important;width:auto !important;height:100% !important;transition:transform .2s ease,box-shadow .2s ease}body.page-id-2 .elementor-element-000007c .e-con:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(68,90,68,0.16) !important}body.page-id-2 .elementor-element-000008b .elementor-widget-image .elementor-widget-container{background:#eef5db;border:1px solid #d9e9b0;border-radius:14px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden}body.page-id-2 .elementor-element-000008b .elementor-widget-image img{width:30px !important;height:30px !important;max-width:30px !important}@media(max-width:1024px){body.page-id-2 .elementor-element-000007c{grid-template-columns:repeat(2,1fr) !important}}@media(max-width:680px){body.page-id-2 .elementor-element-000007c{grid-template-columns:1fr !important}}body.page-id-2 .elementor-element-000006a .elementor-heading-title, body.page-id-2 .elementor-element-000008d .elementor-heading-title{display:inline-block;background:#59A14B;color:#fff !important;padding:6px 15px;border-radius:20px;font-size:12px !important;letter-spacing:1.6px !important}body.page-id-2 .elementor-element-000008d .elementor-heading-title{background:#F39877}body.page-id-2 .elementor-element-0000073 .elementor-widget-container::before, body.page-id-2 .elementor-element-0000092 .elementor-widget-container::before, body.page-id-2 .elementor-element-00000a2 .elementor-widget-container::before{display:table;margin:0 auto 16px;background:#59A14B;color:#fff;padding:6px 15px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;font-family:Lato,sans-serif}body.page-id-2 .elementor-element-0000073 .elementor-widget-container::before{content:'What We Do'}body.page-id-2 .elementor-element-0000092 .elementor-widget-container::before{content:'Our Values'}body.page-id-2 .elementor-element-00000a2 .elementor-widget-container::before{content:'Contact'}body.page-id-2 .elementor-element-0000073 .elementor-heading-title::after, body.page-id-2 .elementor-element-000008e .elementor-heading-title::after, body.page-id-2 .elementor-element-0000092 .elementor-heading-title::after, body.page-id-2 .elementor-element-00000a2 .elementor-heading-title::after, body.page-id-2 .elementor-element-000009d .elementor-heading-title::after{content:'';display:block;width:64px;height:4px;background:#B3CD4C;border-radius:4px;margin:18px auto 0}body.page-id-2 .elementor-element-000006c .elementor-heading-title::after{content:'';display:block;width:60px;height:4px;background:#B3CD4C;border-radius:4px;margin:14px 0 0}body.page-id-2 .elementor-element-0000091::before{content:'\201c';display:block;text-align:center;font-family:'Abril Fatface',Georgia,serif;font-size:88px;line-height:.5;color:#F39877;margin-bottom:6px}body.page-id-2 .elementor-element-000008f ul{list-style:none;margin:34px 0 0;padding:32px 34px;background:#fff;border:1px solid #E9ECE4;border-left:5px solid #59A14B;border-radius:14px;box-shadow:0 2px 14px rgba(68,90,68,0.07);display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;counter-reset:seek;text-align:left}body.page-id-2 .elementor-element-000008f ul li{position:relative;padding-left:42px;counter-increment:seek;list-style:none;margin:0}body.page-id-2 .elementor-element-000008f ul li::before{content:counter(seek);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:#eef5db;border:1px solid #d9e9b0;color:#59A14B;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}@media(max-width:680px){body.page-id-2 .elementor-element-000008f ul{grid-template-columns:1fr}}body.page-id-2 .elementor-widget-slides .swiper-slide-inner{display:flex;flex-direction:column;justify-content:center;align-items:center}body.page-id-2 .elementor-widget-slides .elementor-slide-button{background-color:#fff !important;color:#59A14B !important;border-color:#fff !important;transition:background-color .2s ease,color .2s ease,border-color .2s ease}body.page-id-2 .elementor-widget-slides .elementor-slide-button:hover{background-color:#445A44 !important;color:#fff !important;border-color:#445A44 !important}body.page-id-2 .elementor-widget-slides .swiper-slide-inner{position:absolute !important;top:0;left:0;right:0;bottom:0;height:100%;display:flex !important;flex-direction:column;justify-content:center !important;align-items:center;z-index:2}body.page-id-2 .elementor-widget-slides .elementor-slide-heading::before{display:table;margin:0 auto 14px;background:#445A44;color:#fff;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;font-family:Lato,sans-serif;content:''}body.page-id-2 .elementor-repeater-item-0000067 .elementor-slide-heading::before{content:'National Nutrition Network'}body.page-id-2 .elementor-repeater-item-0000068 .elementor-slide-heading::before{content:'Get Involved'}body.page-id-2 .elementor-repeater-item-0000069 .elementor-slide-heading::before{content:'Policy'}body.page-id-2 .elementor-widget-slides .elementor-slide-button{text-transform:uppercase;letter-spacing:.5px;font-weight:700}body.page-id-2 .elementor-widget-slides .elementor-slide-button::after{content:'\2192';margin-left:9px}body.page-id-2 .elementor-element-00000a5 .wpforms-form{max-width:680px;margin:0 auto}body.page-id-2 .elementor-element-00000a5 .wpforms-form input[type=text], body.page-id-2 .elementor-element-00000a5 .wpforms-form input[type=email], body.page-id-2 .elementor-element-00000a5 .wpforms-form input[type=tel], body.page-id-2 .elementor-element-00000a5 .wpforms-form textarea{border:1px solid #dde0d7 !important;border-radius:8px !important;padding:12px 14px !important;font-family:Lato,sans-serif !important;background:#fcfdfa !important}body.page-id-2 .elementor-element-00000a5 .wpforms-form input:focus, body.page-id-2 .elementor-element-00000a5 .wpforms-form textarea:focus{border-color:#59A14B !important;box-shadow:0 0 0 3px rgba(89,161,75,0.15) !important;background:#fff !important;outline:0 !important}body.page-id-2 .elementor-element-00000a5 .wpforms-form .wpforms-field-label{color:#445A44 !important;font-weight:700 !important;font-size:13px !important}body.page-id-2 .elementor-element-00000a5 .wpforms-form button[type=submit]{background:#59A14B !important;color:#fff !important;border:0 !important;border-radius:6px !important;padding:14px 30px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.5px !important;transition:background .2s ease !important}body.page-id-2 .elementor-element-00000a5 .wpforms-form button[type=submit]:hover{background:#445A44 !important}

/* ---------------------------------------------------------------------------
   14. Home slider — corrected treatment
   ---------------------------------------------------------------------------
   The block above was migrated from the page as it stood, which had reverted to
   an earlier stylesheet: Abril headings, a white button and no size control.
   These rules restore the intended treatment and, being later in the file, win.
   ------------------------------------------------------------------------ */

/* Taller band — 44vh left the hero shallow on laptops. */
body.page-id-2 .elementor-widget-slides .elementor-main-swiper,
body.page-id-2 .elementor-widget-slides .swiper-container,
body.page-id-2 .elementor-widget-slides .swiper {
	min-height: 540px !important;
}

@media (max-width: 700px) {
	body.page-id-2 .elementor-widget-slides .elementor-main-swiper,
	body.page-id-2 .elementor-widget-slides .swiper-container,
	body.page-id-2 .elementor-widget-slides .swiper {
		min-height: 400px !important;
	}
}

/* Headings: Lato Black, matching every other hero on the site. */
body.page-id-2 .elementor-widget-slides .elementor-slide-heading {
	font-family: 'Lato', sans-serif !important;
	font-weight: 900 !important;
	font-size: clamp(36px, 5.6vw, 62px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.02em !important;
	color: #fff !important;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .28) !important;
	margin: 0 0 14px !important;
}

body.page-id-2 .elementor-widget-slides .elementor-slide-description {
	font-family: 'Lato', sans-serif !important;
	font-size: 16.5px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, .94) !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .3) !important;
	max-width: 660px;
	margin: 0 auto 24px !important;
}

/* Eyebrow badge above each heading: white pill, green text — the site standard,
   rather than the dark green pill the old stylesheet used. */
body.page-id-2 .elementor-widget-slides .elementor-slide-heading::before {
	display: table;
	margin: 0 auto 14px;
	background: rgba(255, 255, 255, .94) !important;
	color: #4F8418 !important;
	padding: 6px 15px;
	border-radius: 999px !important;
	font-size: 11.5px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-family: 'Lato', sans-serif;
	text-shadow: none !important;
}

/* Green pill button, matching the interior page heroes. */
body.page-id-2 .elementor-widget-slides .elementor-slide-button {
	background-color: #7EBB3E !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: 'Lato', sans-serif !important;
	font-weight: 900 !important;
	font-size: 12.5px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	padding: 15px 30px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
}

body.page-id-2 .elementor-widget-slides .elementor-slide-button:hover {
	background-color: #4F8418 !important;
	color: #fff !important;
	border-color: #4F8418 !important;
}



/* ---------------------------------------------------------------------------
   Note on System Improvement
   ---------------------------------------------------------------------------
   This file previously forced `display: grid !important` on that page's card
   and brief rows. That was a mistake: those containers are ordinary Elementor
   containers, and the override meant changing Direction, Gaps or Wrap in the
   editor had no visible effect — the stylesheet immediately overruled it.

   Layout for that page is now controlled entirely from the Elementor panel,
   where it belongs. Nothing should be added here that fights it.
   ------------------------------------------------------------------------ */


/* ---------------------------------------------------------------------------
   16. Post templates
   ---------------------------------------------------------------------------
   Three single-post layouts, switched by category in Elementor's Theme
   Builder. Apply the wrapper class to the outermost container of each
   template; everything inside is styled from there.

     .nnn-post.nnn-post--research   Research abstracts
     .nnn-post.nnn-post--brief      Policy and evidence briefs
     .nnn-post                      Everything else (resources,
     .nnn-post                      Everything else (resources, announcements)

   Author and comments are simply not part of these templates.
   ------------------------------------------------------------------------ */

.nnn-post {
	--post-accent: var(--nnn-coral);
	background: #fff;
}

body.nnn-cat-research .nnn-post,
.nnn-post--research { --post-accent: var(--nnn-j-act); }
body.nnn-cat-briefs .nnn-post,
.nnn-post--brief { --post-accent: var(--nnn-green-mid); }

/* ---- Shared -------------------------------------------------------------- */

.nnn-post .nnn-post-inner {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.nnn-post .nnn-post-kind .elementor-heading-title {
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: .02em;
	color: #fff;
	background: var(--post-accent);
	padding: 5px 12px;
	border-radius: 5px;
	margin: 0 0 18px;
}

.nnn-post .nnn-post-title .elementor-heading-title {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: clamp(23px, 3vw, 33px);
	line-height: 1.22;
	letter-spacing: -.018em;
	color: var(--nnn-ink);
	margin: 0 0 16px;
	/* Titles here run to 200 characters; a measure stops them spanning the
	   full width and becoming unreadable. */
	max-width: 26ch;
}

.nnn-post .nnn-post-stand .elementor-widget-container {
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: var(--nnn-body-soft);
	max-width: 58ch;
	margin: 0 0 24px;
}

.nnn-post .nnn-post-date .elementor-widget-container {
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	color: var(--nnn-soft);
	padding-bottom: 20px;
	border-bottom: 1px solid var(--nnn-line-soft);
	margin-bottom: 28px;
}

.nnn-post .nnn-post-body {
	font-family: 'Lato', sans-serif;
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--nnn-body);
}

.nnn-post .nnn-post-body p { margin: 0 0 18px; max-width: 66ch; }
.nnn-post .nnn-post-body a { color: var(--nnn-green-dk); text-decoration: underline; text-underline-offset: 2px; }
.nnn-post .nnn-post-body h2,
.nnn-post .nnn-post-body h3 {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	color: var(--nnn-ink);
	margin: 32px 0 12px;
}
.nnn-post .nnn-post-body h2 { font-size: 21px; }
.nnn-post .nnn-post-body h3 { font-size: 17px; }
.nnn-post .nnn-post-body ul { padding-left: 20px; max-width: 66ch; }
.nnn-post .nnn-post-body li { margin-bottom: 8px; }

/* Back link at the foot of every template. */
.nnn-post .nnn-post-back .elementor-widget-container {
	border-top: 1px solid var(--nnn-line-soft);
	padding-top: 22px;
	margin-top: 34px;
	font-size: 13.5px;
}
.nnn-post .nnn-post-back a { color: var(--nnn-green-dk); font-weight: 700; text-decoration: none; }
.nnn-post .nnn-post-back a:hover { text-decoration: underline; }

/* ---- Research: serif body, metadata strip ------------------------------- */

.nnn-post--research .nnn-post-head ,
body.nnn-cat-research .nnn-post .nnn-post-head {
	background: var(--nnn-paper);
	border-bottom: 1px solid var(--nnn-line);
}

/* Academic abstracts are long; a serif is easier over that length. */
.nnn-post--research .nnn-post-body ,
body.nnn-cat-research .nnn-post .nnn-post-body {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 17px;
	line-height: 1.72;
}

.nnn-post--research .nnn-post-meta .elementor-icon-list-items ,
body.nnn-cat-research .nnn-post .nnn-post-meta .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	border-top: 1px solid var(--nnn-line);
	padding-top: 16px;
	margin: 0;
}
.nnn-post--research .nnn-post-meta .elementor-icon-list-item ,
body.nnn-cat-research .nnn-post .nnn-post-meta .elementor-icon-list-item {
	font-size: 13px;
	color: var(--nnn-soft);
}
.nnn-post--research .nnn-post-meta .elementor-icon-list-icon ,
body.nnn-cat-research .nnn-post .nnn-post-meta .elementor-icon-list-icon { display: none !important; }

/* ---- Brief: numbered document treatment --------------------------------- */

.nnn-post--brief .nnn-post-head ,
body.nnn-cat-briefs .nnn-post .nnn-post-head {
	background: var(--nnn-green-deep);
	position: relative;
	overflow: hidden;
}

.nnn-post--brief .nnn-post-head .nnn-post-title .elementor-heading-title,
body.nnn-cat-briefs .nnn-post .nnn-post-head .nnn-post-title .elementor-heading-title,
.nnn-post--brief .nnn-post-head .nnn-post-stand .elementor-widget-container ,
body.nnn-cat-briefs .nnn-post .nnn-post-head .nnn-post-stand .elementor-widget-container {
	color: #fff;
	position: relative;
	z-index: 1;
}

.nnn-post--brief .nnn-post-kind .elementor-heading-title ,
body.nnn-cat-briefs .nnn-post .nnn-post-kind .elementor-heading-title {
	background: var(--nnn-green);
	color: var(--nnn-ink);
	border-radius: 999px;
	padding: 5px 13px;
	letter-spacing: .12em;
	position: relative;
	z-index: 1;
}

/* Oversized numeral. Only used here because the briefs genuinely are
   numbered 1 to 3 — set it per template with --brief-no: '01'. */
.nnn-post--brief .nnn-post-head::after ,
body.nnn-cat-briefs .nnn-post .nnn-post-head::after {
	content: var(--brief-no, '');
	position: absolute;
	right: 30px;
	top: -14px;
	font-family: 'Abril Fatface', Georgia, serif;
	font-size: 130px;
	line-height: 1;
	color: rgba(255, 255, 255, .09);
	pointer-events: none;
}

/* Key-point cards. */
.nnn-post--brief .nnn-post-key .elementor-icon-list-items ,
body.nnn-cat-briefs .nnn-post .nnn-post-key .elementor-icon-list-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 28px 0;
}
.nnn-post--brief .nnn-post-key .elementor-icon-list-item ,
body.nnn-cat-briefs .nnn-post .nnn-post-key .elementor-icon-list-item {
	background: var(--nnn-paper);
	border: 1px solid var(--nnn-line);
	border-radius: 12px;
	padding: 18px 20px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #3D4237;
}
.nnn-post--brief .nnn-post-key .elementor-icon-list-icon ,
body.nnn-cat-briefs .nnn-post .nnn-post-key .elementor-icon-list-icon { display: none !important; }

@media (max-width: 700px) {
	.nnn-post--brief .nnn-post-key .elementor-icon-list-items ,
body.nnn-cat-briefs .nnn-post .nnn-post-key .elementor-icon-list-items { grid-template-columns: 1fr; }
	.nnn-post--brief .nnn-post-head::after ,
body.nnn-cat-briefs .nnn-post .nnn-post-head::after { font-size: 90px; right: 12px; }
}

/* Download strip. */
.nnn-post .nnn-post-download {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	background: var(--nnn-green-wash);
	border: 1px solid #DCE7C8;
	border-radius: 12px;
	padding: 20px 24px;
	margin-top: 30px;
}
.nnn-post .nnn-post-download .elementor-button {
	background: var(--nnn-green-dk) !important;
	color: #fff !important;
	border-radius: 6px !important;
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	padding: 13px 24px !important;
}

/* ---- Default: editorial, with a links list ------------------------------ */

.nnn-post:not(.nnn-post--research):not(.nnn-post--brief) .nnn-post-kind .elementor-heading-title ,
body.nnn-cat-research .nnn-post):not(.nnn-post--brief) .nnn-post-kind .elementor-heading-title {
	background: none;
	color: var(--post-accent);
	padding: 0;
	font-size: 11px;
	letter-spacing: .16em;
}

/* A short rule instead of a filled label — quieter, and it lets the long
   headline be the first thing read. */
.nnn-post:not(.nnn-post--research):not(.nnn-post--brief) .nnn-post-rule .elementor-widget-container ,
body.nnn-cat-research .nnn-post):not(.nnn-post--brief) .nnn-post-rule .elementor-widget-container {
	width: 52px;
	height: 5px;
	background: var(--post-accent);
	border-radius: 3px;
	margin-bottom: 20px;
}

.nnn-post .nnn-post-links .elementor-icon-list-items {
	margin: 34px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--nnn-line-soft);
}
.nnn-post .nnn-post-links .elementor-icon-list-item {
	border: 1px solid var(--nnn-line);
	border-radius: 10px;
	padding: 14px 16px !important;
	margin-bottom: 8px;
}
.nnn-post .nnn-post-links .elementor-icon-list-item a {
	color: var(--nnn-green-dk);
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
}
.nnn-post .nnn-post-links .elementor-icon-list-icon { display: none !important; }


/* ---------------------------------------------------------------------------
   17. Post template — targeted by element ID
   ---------------------------------------------------------------------------
   TheGem replaces Elementor's container rendering with its own
   (thegem_container_layout), and in doing so it drops the custom CSS classes
   set in Advanced. So `.nnn-post` and friends never reach the markup, however
   they are set. Element IDs are always emitted, so this targets those.

   The three treatments switch on the body class added by this plugin:
     body.nnn-cat-research   research abstracts — serif body, teal accent
     body.nnn-cat-briefs     briefs — dark green header block
     (neither)               default editorial layout
   ------------------------------------------------------------------------ */

.elementor-element-nnnpwrap { --post-accent: #EE8B66; }
body.nnn-cat-research .elementor-element-nnnpwrap { --post-accent: #3C7C8A; }
body.nnn-cat-briefs   .elementor-element-nnnpwrap { --post-accent: #59A14B; }

/* ---- Head ---------------------------------------------------------------- */

.elementor-element-nnnphead {
	background: #fff;
	border-bottom: 1px solid var(--nnn-line-soft, #EDE8DA);
}

/* The short accent rule above the title, on the default treatment only. */
.elementor-element-nnnprule .elementor-widget-container {
	width: 52px;
	height: 5px;
	background: var(--post-accent);
	border-radius: 3px;
	margin-bottom: 18px;
}

/* Category label. */
.elementor-element-nnnpkind .thegem-te-post-info__item,
.elementor-element-nnnpkind a,
.elementor-element-nnnpkind span {
	font-family: 'Lato', sans-serif !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--post-accent) !important;
	text-decoration: none !important;
}

.elementor-element-nnnptitle h1,
.elementor-element-nnnptitle .thegem-te-post-title {
	font-family: 'Lato', sans-serif !important;
	font-weight: 900 !important;
	font-size: clamp(24px, 3.1vw, 34px) !important;
	line-height: 1.22 !important;
	letter-spacing: -.018em !important;
	color: var(--nnn-ink, #14180F) !important;
	max-width: 26ch;
	margin: 0 0 14px !important;
}

.elementor-element-nnnpdate,
.elementor-element-nnnpdate span,
.elementor-element-nnnpdate a {
	font-family: 'Lato', sans-serif !important;
	font-size: 13px !important;
	color: var(--nnn-soft, #8C9082) !important;
	text-decoration: none !important;
}

/* ---- Body ---------------------------------------------------------------- */

.elementor-element-nnnpcont,
.elementor-element-nnnpcont p,
.elementor-element-nnnpcont li {
	font-family: 'Lato', sans-serif;
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--nnn-body, #4A4F40);
}

.elementor-element-nnnpcont p { margin: 0 0 18px; max-width: 68ch; }
.elementor-element-nnnpcont ul { padding-left: 20px; max-width: 68ch; }
.elementor-element-nnnpcont li { margin-bottom: 8px; }

.elementor-element-nnnpcont a {
	color: var(--nnn-green-dk, #4F8418);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.elementor-element-nnnpcont h2,
.elementor-element-nnnpcont h3,
.elementor-element-nnnpcont h4 {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	color: var(--nnn-ink, #14180F);
	margin: 30px 0 10px;
	line-height: 1.3;
}
.elementor-element-nnnpcont h2 { font-size: 21px; }
.elementor-element-nnnpcont h3 { font-size: 17.5px; }
.elementor-element-nnnpcont h4 { font-size: 15.5px; }

/* Images inside a post — mostly PDF covers — shouldn't run full bleed. */
.elementor-element-nnnpcont img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid var(--nnn-line-soft, #EDE8DA);
	margin: 8px 0 20px;
}

/* ---- Research: serif body, tinted head ---------------------------------- */

body.nnn-cat-research .elementor-element-nnnphead {
	background: var(--nnn-paper, #FCFAF5);
	border-bottom-color: var(--nnn-line, #E2DDCD);
}

/* Academic abstracts run long; a serif is easier over that length. */
body.nnn-cat-research .elementor-element-nnnpcont,
body.nnn-cat-research .elementor-element-nnnpcont p,
body.nnn-cat-research .elementor-element-nnnpcont li {
	font-family: 'Source Serif 4', Georgia, serif;
	font-size: 17px;
	line-height: 1.72;
}

/* The label becomes a solid chip on this treatment. */
body.nnn-cat-research .elementor-element-nnnpkind a,
body.nnn-cat-research .elementor-element-nnnpkind span {
	background: var(--post-accent);
	color: #fff !important;
	padding: 5px 12px;
	border-radius: 5px;
	letter-spacing: .02em !important;
	font-size: 11.5px !important;
}

body.nnn-cat-research .elementor-element-nnnprule .elementor-widget-container { display: none; }

/* ---- Briefs: dark header block ------------------------------------------ */

body.nnn-cat-briefs .elementor-element-nnnphead {
	background: var(--nnn-green-deep, #445A44);
	border-bottom: 0;
}

body.nnn-cat-briefs .elementor-element-nnnptitle h1,
body.nnn-cat-briefs .elementor-element-nnnptitle .thegem-te-post-title {
	color: #fff !important;
}

body.nnn-cat-briefs .elementor-element-nnnpdate,
body.nnn-cat-briefs .elementor-element-nnnpdate span,
body.nnn-cat-briefs .elementor-element-nnnpdate a {
	color: rgba(255, 255, 255, .72) !important;
}

body.nnn-cat-briefs .elementor-element-nnnpkind a,
body.nnn-cat-briefs .elementor-element-nnnpkind span {
	background: var(--nnn-green, #7EBB3E);
	color: var(--nnn-ink, #14180F) !important;
	padding: 5px 13px;
	border-radius: 999px;
	letter-spacing: .12em !important;
	font-size: 11.5px !important;
}

body.nnn-cat-briefs .elementor-element-nnnprule .elementor-widget-container { display: none; }

/* ---- Related --------------------------------------------------------------
   The related strip sits on pale green; on the brief treatment that clashes
   with the dark head, so it is neutralised. */

body.nnn-cat-briefs .elementor-element-nnnprel { background: var(--nnn-paper, #FCFAF5) !important; }
