.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-814 .elementor-element.elementor-element-4adef9b8{width:100%;max-width:100%;color:#000000;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;}.elementor-814 .elementor-element.elementor-element-5cca371{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;--e-share-buttons-primary-color:#000000;}.elementor-widget-table-of-contents{--header-color:var( --e-global-color-secondary );--item-text-color:var( --e-global-color-text );--item-text-hover-color:var( --e-global-color-accent );--marker-color:var( --e-global-color-text );}.elementor-widget-table-of-contents .elementor-toc__header, .elementor-widget-table-of-contents .elementor-toc__header-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-table-of-contents .elementor-toc__list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-814 .elementor-element.elementor-element-f0341a9 .elementor-toc__header-title{text-align:start;}.elementor-814 .elementor-element.elementor-element-f0341a9 .elementor-toc__header{flex-direction:row;}.elementor-814 .elementor-element.elementor-element-f0341a9{--item-text-hover-decoration:underline;}.elementor-814 .elementor-element.elementor-element-85f316e{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;--e-share-buttons-primary-color:#000000;}@media(max-width:1024px){.elementor-814 .elementor-element.elementor-element-4adef9b8.elementor-element{--order:99999 /* order end hack */;} .elementor-814 .elementor-element.elementor-element-5cca371{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;} .elementor-814 .elementor-element.elementor-element-85f316e{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){ .elementor-814 .elementor-element.elementor-element-5cca371{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;} .elementor-814 .elementor-element.elementor-element-85f316e{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}/* Start custom CSS *//* ===== Blog single: article typography and widget styling (layout and spacing live on the elements) ===== */

/* Smooth anchor jumps (this template only) */
@media (prefers-reduced-motion: no-preference) { html:has(body.elementor-page-814) { scroll-behavior: smooth; } }

/* Post Content is a V3 widget saved at 60% width: let it fill its column. */
body.elementor-page-814 .elementor-element-4adef9b8.elementor-element { width: 100%; max-width: 100%; --container-widget-width: 100%; }

/* Article text: 18px / 1.75, ink colour */
body.elementor-page-814 .elementor-widget-theme-post-content p,
body.elementor-page-814 .elementor-widget-theme-post-content li { font-size: 1.125rem; line-height: 1.75; color: var(--brand-ink, #1A1A1A); }
body.elementor-page-814 .elementor-widget-theme-post-content p { margin: 0 0 1.4em; }
/* The spacing after the article comes from the column gap, not from the last paragraph. */
body.elementor-page-814 .elementor-widget-theme-post-content .elementor-widget-container > :last-child { margin-bottom: 0; }

/* Intro paragraph */
body.elementor-page-814 .elementor-widget-theme-post-content p:first-of-type { font-size: 1.25rem; line-height: 1.6; font-weight: 500; color: var(--brand-forest, #043321); margin-bottom: 1.6em; }

/* Heading structure: weight, colour, spacing only. Size comes from the theme/kit scale. */
body.elementor-page-814 .elementor-widget-theme-post-content h2,
body.elementor-page-814 .elementor-widget-theme-post-content h3,
body.elementor-page-814 .elementor-widget-theme-post-content h4 { color: var(--brand-forest, #043321); font-weight: 600; text-wrap: balance; scroll-margin-top: 120px; }
body.elementor-page-814 .elementor-widget-theme-post-content h2 strong,
body.elementor-page-814 .elementor-widget-theme-post-content h3 strong,
body.elementor-page-814 .elementor-widget-theme-post-content h4 strong { font-weight: inherit; }
body.elementor-page-814 .elementor-widget-theme-post-content h2 { margin: 2.4em 0 0.7em; }
body.elementor-page-814 .elementor-widget-theme-post-content h3 { margin: 2em 0 0.6em; }
body.elementor-page-814 .elementor-widget-theme-post-content h4 { margin: 1.6em 0 0.5em; }
body.elementor-page-814 .elementor-widget-theme-post-content > .elementor-widget-container > h2:first-child { margin-top: 0; }

/* Bold-only paragraphs are used as sub-headings in some posts */
body.elementor-page-814 .elementor-widget-theme-post-content p:has(> strong:only-child) { color: var(--brand-forest, #043321); margin: 1.8em 0 0.5em; }

/* Links */
body.elementor-page-814 .elementor-widget-theme-post-content a { color: var(--brand-green, #097335); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; transition: text-decoration-thickness 0.3s ease-in-out; }
body.elementor-page-814 .elementor-widget-theme-post-content a:hover { text-decoration-thickness: 2px; }

/* Lists */
body.elementor-page-814 .elementor-widget-theme-post-content ul,
body.elementor-page-814 .elementor-widget-theme-post-content ol { margin: 0 0 1.4em; padding-inline-start: 1.25em; }
body.elementor-page-814 .elementor-widget-theme-post-content li { margin-bottom: 0.5em; }
body.elementor-page-814 .elementor-widget-theme-post-content li::marker { color: var(--brand-green, #097335); }

/* Images and quotes */
body.elementor-page-814 .elementor-widget-theme-post-content figure { margin: 2.4em 0; }
body.elementor-page-814 .elementor-widget-theme-post-content img { width: 100%; height: auto; border-radius: 16px; }
body.elementor-page-814 .elementor-widget-theme-post-content figcaption { margin-top: 12px; font-size: 0.9375rem; color: var(--text-muted, #4A4A4A); }
/* Blockquote (WordPress quote block): lime rule, large forest text, small attribution. */
body.elementor-page-814 .elementor-widget-theme-post-content blockquote { margin: 2.4em 0; padding: 8px 0 8px 32px; border-left: 6px solid var(--brand-lime, #BFDE47); background: none; }
body.elementor-page-814 .elementor-widget-theme-post-content blockquote p { margin: 0; font-size: 1.75rem; line-height: 1.5; font-weight: 500; color: var(--brand-forest, #043321); }
body.elementor-page-814 .elementor-widget-theme-post-content blockquote cite { display: block; margin-top: 20px; font-style: normal; font-size: 0.9375rem; line-height: 1.5; font-weight: 400; color: var(--text-muted, #4A4A4A); }
body.elementor-page-814 .elementor-widget-theme-post-content blockquote cite::before { content: "2014 0a0"; }

/* Table of Contents (Elementor Pro): the widget's own CSS variables where it has them. */
body.elementor-page-814 .elementor-widget-table-of-contents {
  --box-border-width: 0px; --box-border-radius: 0px; --box-background-color: transparent; --box-padding: 0px;
  --separator-width: 0px; --header-background-color: transparent; --header-color: var(--text-muted, #4A4A4A);
  --item-text-color: var(--text-muted, #4A4A4A); --item-text-hover-color: var(--brand-ink, #1A1A1A); --item-text-active-color: var(--brand-forest, #043321);
  --item-text-decoration: none; --item-text-hover-decoration: none; --item-text-active-decoration: none;
  --item-text-transition-duration: 300ms; --marker-color: var(--brand-green, #097335); --toggle-button-color: var(--brand-forest, #043321);
  --nested-list-indent: 0px;
}
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-widget-container { overflow: visible; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__header { padding: 0 0 12px; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__header-title { font-family: var(--font-primary, Poppins), sans-serif; font-size: 1.25rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__body { padding: 0; border-inline-start: 1px solid #E3E8D6; max-height: calc(100vh - 220px); }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-wrapper { margin: 0; padding: 0; list-style: none; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item { margin: 0; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item .elementor-toc__list-wrapper { margin: 0; }
/* No numbering: the nesting and the active marker carry the structure */
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper::before { content: none !important; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper { display: block; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item-text { display: block; padding: 8px 0 8px 16px; margin-inline-start: -1px; border-inline-start: 3px solid transparent; font-family: var(--font-primary, Poppins), sans-serif; font-size: 0.9375rem; line-height: 1.45; font-weight: 400; transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item-text.elementor-item-active { font-weight: 600; border-inline-start-color: var(--brand-lime, #BFDE47); }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item.elementor-item-active { font-weight: 400; }
body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item .elementor-toc__list-wrapper .elementor-toc__list-item-text { padding-inline-start: 32px; font-size: 0.875rem; }
@media (max-width: 1024px) {
  body.elementor-page-814 .elementor-widget-table-of-contents { border: 1px solid #E3E8D6; border-radius: 16px; background: var(--brand-cream, #F9FCED); }
  body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__header { padding: 12px 20px; }
  body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__body { margin: 0 20px 16px; max-height: 60vh; }
}

/* Share Buttons (Elementor Pro, V3 widget): round outline buttons. Their wrappers are styled on the elements. */
body.elementor-page-814 .elementor-widget-share-buttons { width: auto; max-width: none; flex: 0 0 auto; }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-grid { display: flex; flex-wrap: wrap; gap: 8px; }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-grid-item { width: auto; }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #E3E8D6; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out; }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn__icon { display: grid; place-items: center; width: 100%; height: 100%; background: none; color: var(--brand-forest, #043321); }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn__icon svg { width: 20px; height: 20px; fill: var(--brand-forest, #043321); }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn:hover,
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn:focus-visible { background: var(--brand-lime, #BFDE47); border-color: var(--brand-lime, #BFDE47); }
body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn:focus-visible { outline: 3px solid var(--brand-forest, #043321); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  body.elementor-page-814 .elementor-widget-theme-post-content a,
  body.elementor-page-814 .elementor-widget-table-of-contents .elementor-toc__list-item-text,
  body.elementor-page-814 .elementor-widget-share-buttons .elementor-share-btn { transition: none; }
}/* End custom CSS */