.elementor-kit-22{--e-global-color-primary:#3A7D44;--e-global-color-secondary:#1C1C18;--e-global-color-text:#5A5A52;--e-global-color-accent:#3A7D44;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:#5A5A52;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;line-height:1.8em;}.elementor-kit-22 button,.elementor-kit-22 input[type="button"],.elementor-kit-22 input[type="submit"],.elementor-kit-22 .elementor-button{background-color:#3A7D44;color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-kit-22 button:hover,.elementor-kit-22 button:focus,.elementor-kit-22 input[type="button"]:hover,.elementor-kit-22 input[type="button"]:focus,.elementor-kit-22 input[type="submit"]:hover,.elementor-kit-22 input[type="submit"]:focus,.elementor-kit-22 .elementor-button:hover,.elementor-kit-22 .elementor-button:focus{background-color:#52A85F;color:#FFFFFF;}.elementor-kit-22 e-page-transition{background-color:#FFBC7D;}.elementor-kit-22 a{color:#2B8B03;font-size:18px;font-weight:500;}.elementor-kit-22 h1{font-family:"Roboto", Sans-serif;font-size:48px;font-weight:900;line-height:1.15em;}.elementor-kit-22 h2{font-family:"Roboto", Sans-serif;font-size:32px;font-weight:700;line-height:1.2em;}.elementor-kit-22 h3{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:700;line-height:1.3em;}.elementor-kit-22 h4{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:700;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════
   EARTH5R — COMPLETE ELEMENTOR CUSTOM CSS
   ═══════════════════════════════════════════════════════════
   
   Clear your Elementor Custom CSS field completely.
   Paste this entire file. Save. Done.
   
   Contains:
   1. Global list fix
   2. Homepage CTA button overrides
   3. EarthJournal article system (one-time setup)
   
═══════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════
   BLOCK 1 — GLOBAL LIST FIX
═══════════════════════════════════════════ */
ul, ol, li {
  font-size: inherit;
  line-height: inherit;
}


/* ═══════════════════════════════════════════
   BLOCK 2 — HOMEPAGE CTA BUTTON OVERRIDES
═══════════════════════════════════════════ */
.cta-btn-a,
.cta-btn-a:link,
.cta-btn-a:visited,
.cta-btn-a:hover,
.cta-btn-a:focus {
  background: #ffffff !important;
  color: #2d6a4f !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border: none !important;
}

.cta-btn-b,
.cta-btn-b:link,
.cta-btn-b:visited,
.cta-btn-b:hover,
.cta-btn-b:focus {
  background: transparent !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
}


/* ═══════════════════════════════════════════════════════════
   BLOCK 3 — EARTHJOURNAL ARTICLE SYSTEM
   ═══════════════════════════════════════════════════════════
   
   For every new article:
   1. Create page → Elementor → Full Width layout
   2. Drop ONE HTML widget
   3. Paste article HTML (starts with <div class="ej">)
   4. Publish
   
═══════════════════════════════════════════════════════════ */


/* ── ELEMENTOR OVERRIDES ───────────────────
   Forces zero padding/margin on any Elementor
   section/column/widget containing .ej
   so the article controls its own layout.
──────────────────────────────────────────── */
.elementor-section-wrap .ej,
.elementor-element .ej {
  width: 100%;
}
.elementor-widget-container:has(.ej) {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-column-wrap:has(.ej),
.elementor-widget-wrap:has(.ej) {
  padding: 0 !important;
}
.elementor-section:has(.ej) {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-section:has(.ej) > .elementor-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.elementor-section.elementor-section-full_width .elementor-container {
  max-width: 100%;
}


/* ── TOKENS ────────────────────────────────── */
:root {
  --ej-white:#fff;--ej-off:#f7f7f5;--ej-warm:#faf8f4;--ej-ink:#1c1c18;
  --ej-green:#3a7d44;--ej-green-l:#52a85f;--ej-green-xl:#e8f2e9;--ej-green-xll:#c8e6c9;
  --ej-grey-1:#efefed;--ej-grey-2:#d4d4cc;--ej-grey-3:#9e9e95;--ej-grey-4:#5a5a52;
  --ej-amber:#b45309;--ej-amber-l:#fef3c7;--ej-teal:#0f766e;--ej-rose:#9f1239;
  --ej-shadow:0 2px 16px rgba(28,28,24,.07);--ej-r:8px;--ej-r-lg:16px;
}


/* ── ARTICLE SCOPE ─────────────────────────── */
.ej{font-family:'Roboto',sans-serif;color:var(--ej-ink);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;margin:0;padding:0;}
.ej *,.ej *::before,.ej *::after{box-sizing:border-box;}
.ej a{color:var(--ej-green);text-decoration:none;}
.ej a:hover{text-decoration:underline;}
.ej img{max-width:100%;height:auto;display:block;}
.ej p{font-size:.96rem;color:var(--ej-grey-4);margin:0 0 18px;line-height:1.75;}
.ej strong{color:var(--ej-ink);font-weight:700;}
.ej h1{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;}
.ej h2{font-size:clamp(1.45rem,2.8vw,2.1rem);font-weight:700;line-height:1.2;letter-spacing:-.015em;color:var(--ej-ink);margin:0 0 14px;}
.ej h3{font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:700;line-height:1.3;margin:0 0 14px;}
.ej h4{font-size:1rem;font-weight:700;margin:0 0 8px;}


/* ── LAYOUT ────────────────────────────────── */
.ej-w{max-width:1180px;margin:0 auto;padding:0 24px;}
.ej-n{max-width:780px;margin:0 auto;padding:0 24px;}
.ej-sec{padding:80px 0;}
.ej-bg-warm{background:var(--ej-warm);}
.ej-bg-off{background:var(--ej-off);}
.ej-bg-white{background:var(--ej-white);}
.ej-bg-ink{background:var(--ej-ink);}


/* ── NAV ───────────────────────────────────── */
.ej-nav{background:var(--ej-ink);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto;}
.ej-nav-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;height:52px;gap:0;white-space:nowrap;}
.ej-nav-brand{font-weight:900;font-size:.95rem;color:#fff;margin-right:32px;flex-shrink:0;text-decoration:none;}
.ej-nav-brand span{color:var(--ej-green-l);}
.ej-nav a:not(.ej-nav-brand){font-size:.79rem;color:rgba(255,255,255,.55);text-decoration:none;padding:0 14px;height:52px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;font-weight:500;transition:color .2s,border-color .2s;}
.ej-nav a:not(.ej-nav-brand):hover{color:#fff;border-bottom-color:var(--ej-green);}
.ej-nav-tag{margin-left:auto;font-size:.7rem;font-weight:700;background:var(--ej-green);color:#fff;padding:4px 12px;border-radius:20px;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;}


/* ── HERO ──────────────────────────────────── */
.ej-hero{background:var(--ej-ink);position:relative;overflow:hidden;min-height:580px;display:grid;grid-template-columns:1fr 1fr;}
.ej-hero::after{content:'';position:absolute;top:0;right:39%;width:120px;height:100%;background:var(--ej-ink);clip-path:polygon(0 0,100% 0,0 100%);z-index:2;}
.ej-hero-left{padding:80px 60px 80px 0;padding-left:max(24px,calc((100vw - 1180px)/2 + 24px));position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;}
.ej-hero-right{position:relative;overflow:hidden;}
.ej-hero-right img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.65) saturate(.85);}
.ej-hero-right::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to right,var(--ej-ink) 0%,transparent 40%);}
.ej-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.ej-badge{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;display:inline-block;}
.ej-badge--green{background:var(--ej-green);color:#fff;}
.ej-badge--outline{border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.7);}
.ej-badge--amber{background:var(--ej-amber);color:#fff;}
.ej-hero h1{color:#fff;}
.ej-hero .ej-lead{color:rgba(255,255,255,.72);margin-top:14px;}
.ej-hero-stats{display:flex;gap:0;margin-top:28px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;}
.ej-hero-stat{flex:1;padding-right:20px;border-right:1px solid rgba(255,255,255,.1);}
.ej-hero-stat:last-child{border-right:none;padding-right:0;}
.ej-hero-stat-n{font-size:1.9rem;font-weight:900;color:var(--ej-green-l);display:block;line-height:1;margin-bottom:4px;}
.ej-hero-stat-l{font-size:.75rem;color:rgba(255,255,255,.45);display:block;line-height:1.3;}
.ej-hero-pub{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:22px;}
.ej-hero-pub p{font-size:.75rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em;font-weight:500;margin-bottom:4px;}
.ej-hero-pub strong{color:rgba(255,255,255,.8);font-size:.85rem;font-weight:400;display:block;}


/* ── LEAD ──────────────────────────────────── */
.ej-lead{font-size:1.08rem;color:var(--ej-grey-4);font-weight:400;line-height:1.7;}


/* ── KICKER ────────────────────────────────── */
.ej-kicker{font-size:.72rem;font-weight:700;color:var(--ej-green);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.ej-kicker::before{content:'';width:20px;height:2px;background:var(--ej-green);}
.ej-section-intro{margin-bottom:48px;}


/* ── KPI ROW ───────────────────────────────── */
.ej-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:44px;}
.ej-kpi{background:#fff;border:1px solid var(--ej-grey-1);border-radius:var(--ej-r-lg);padding:22px 20px;position:relative;overflow:hidden;box-shadow:var(--ej-shadow);}
.ej-kpi::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ej-green);}
.ej-kpi-num{font-size:2.1rem;font-weight:900;color:var(--ej-green);line-height:1;}
.ej-kpi-unit{font-size:.95rem;color:var(--ej-grey-3);font-weight:400;}
.ej-kpi-label{font-size:.76rem;font-weight:500;color:var(--ej-grey-4);text-transform:uppercase;letter-spacing:.05em;margin-top:5px;line-height:1.4;}
.ej-kpi-delta{font-size:.75rem;color:var(--ej-green-l);font-weight:700;margin-top:4px;}


/* ── CARDS ──────────────────────────────────── */
.ej-card{background:#fff;border:1px solid var(--ej-grey-1);border-radius:var(--ej-r-lg);padding:28px;box-shadow:var(--ej-shadow);}
.ej-card--green{border-top:4px solid var(--ej-green);}
.ej-card--amber{border-top:4px solid var(--ej-amber);}
.ej-card--teal{border-top:4px solid var(--ej-teal);}
.ej-card--rose{border-top:4px solid var(--ej-rose);}
.ej-card h3{font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:700;line-height:1.3;margin-bottom:8px;}
.ej-card h4{font-size:1rem;font-weight:700;margin-bottom:8px;}
.ej-card p{margin-bottom:0;}


/* ── STAT INLINE ───────────────────────────── */
.ej-si{display:flex;align-items:baseline;gap:6px;margin-bottom:8px;}
.ej-si-num{font-size:1.9rem;font-weight:900;color:var(--ej-green);line-height:1;}


/* ── TABLE ──────────────────────────────────── */
.ej-tbl{overflow-x:auto;margin-bottom:36px;}
.ej table{width:100%;border-collapse:collapse;font-size:.85rem;}
.ej thead th{background:var(--ej-ink);color:#fff;padding:11px 14px;text-align:left;font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;}
.ej tbody tr:nth-child(even){background:var(--ej-warm);}
.ej tbody tr:hover{background:var(--ej-green-xl);}
.ej tbody td{padding:9px 14px;border-bottom:1px solid var(--ej-grey-1);color:var(--ej-grey-4);vertical-align:top;line-height:1.6;}
.ej tbody td strong{color:var(--ej-ink);}
.ej-td-g{color:var(--ej-green);font-weight:700;}
.ej-td-a{color:var(--ej-amber);font-weight:700;}
.ej-td-r{color:var(--ej-rose);font-weight:700;}


/* ── CALLOUT ───────────────────────────────── */
.ej-callout{border-left:4px solid var(--ej-green);background:var(--ej-green-xl);padding:18px 22px;border-radius:0 var(--ej-r) var(--ej-r) 0;margin:30px 0;}
.ej-callout--amber{border-color:var(--ej-amber);background:var(--ej-amber-l);}
.ej-callout--rose{border-color:var(--ej-rose);background:#ffe4e6;}
.ej-callout p{color:var(--ej-ink);font-size:.92rem;margin:0;line-height:1.7;}


/* ── PRAISE ────────────────────────────────── */
.ej-praise{background:var(--ej-green);border-radius:var(--ej-r-lg);padding:38px 44px;display:flex;gap:32px;align-items:flex-start;position:relative;overflow:hidden;}
.ej-praise::before{content:'\201C';position:absolute;top:-28px;left:20px;font-size:160px;line-height:1;color:rgba(255,255,255,.07);font-family:Georgia,serif;}
.ej-praise-icon{flex-shrink:0;width:52px;height:52px;background:rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.ej-praise-icon svg{width:26px;height:26px;fill:#fff;}
.ej-praise h3{color:#fff;font-size:1.15rem;margin-bottom:8px;}
.ej-praise p{color:rgba(255,255,255,.83);font-size:.93rem;margin:0;}


/* ── FLOW GRID ─────────────────────────────── */
.ej-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border-radius:var(--ej-r-lg);overflow:hidden;}
.ej-flow-cell{padding:28px 18px;text-align:center;}
.ej-flow--green{background:var(--ej-green);}.ej-flow--teal{background:var(--ej-teal);}.ej-flow--ink{background:var(--ej-ink);}.ej-flow--amber{background:var(--ej-amber);}
.ej-flow-num{font-size:2rem;font-weight:900;color:#fff;line-height:1;}
.ej-flow-title{font-size:.76rem;font-weight:700;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;}
.ej-flow-desc{font-size:.76rem;color:rgba(255,255,255,.6);margin-top:6px;line-height:1.4;}


/* ── BAR CHART ─────────────────────────────── */
.ej-bar{margin-bottom:13px;}
.ej-bar-header{display:flex;justify-content:space-between;margin-bottom:4px;}
.ej-bar-name{font-size:.84rem;font-weight:700;color:var(--ej-ink);}
.ej-bar-val{font-size:.84rem;font-weight:700;color:var(--ej-green);}
.ej-bar-track{height:7px;background:var(--ej-grey-1);border-radius:4px;overflow:hidden;}
.ej-bar-fill{height:100%;border-radius:4px;background:var(--ej-green);}
.ej-bar-fill--amber{background:var(--ej-amber);}
.ej-bar-fill--rose{background:var(--ej-rose);}


/* ── FINDINGS ──────────────────────────────── */
.ej-findings{list-style:none;padding:0;margin:0;}
.ej-findings li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--ej-grey-1);font-size:.88rem;color:var(--ej-grey-4);line-height:1.7;}
.ej-findings li:last-child{border-bottom:none;}
.ej-findings li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--ej-green);flex-shrink:0;margin-top:7px;}


/* ── INFOGRAPHIC ───────────────────────────── */
.ej-infographic{background:var(--ej-ink);padding:36px;margin:36px 0;color:#fff;border-radius:var(--ej-r-lg);position:relative;overflow:hidden;}
.ej-infographic-label{font-size:.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ej-green-l);margin-bottom:10px;}
.ej-infographic-title{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:10px;line-height:1.2;}
.ej-infographic-caption{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:16px;max-width:540px;}
.ej-infographic-meta{display:flex;gap:20px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;color:rgba(255,255,255,.4);}
.ej-infographic-meta strong{color:rgba(255,255,255,.65);font-weight:500;}


/* ── FAQ ───────────────────────────────────── */
.ej-faq-item{border-bottom:1px solid var(--ej-grey-1);padding:20px 0;}
.ej-faq-item:last-child{border-bottom:none;}
.ej-faq-q{font-size:1.02rem;font-weight:700;color:var(--ej-ink);margin-bottom:10px;line-height:1.4;display:flex;gap:12px;align-items:flex-start;}
.ej-faq-q::before{content:'Q';flex-shrink:0;width:28px;height:28px;background:var(--ej-green);color:#fff;border-radius:50%;font-size:.75rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.ej-faq-a{font-size:.92rem;color:var(--ej-grey-4);line-height:1.75;padding-left:40px;}


/* ── ENFORCEMENT TIERS ─────────────────────── */
.ej-tier{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:20px 0;border-radius:var(--ej-r);overflow:hidden;}
.ej-tier-cell{padding:20px;text-align:center;}
.ej-tier-num{font-size:1.5rem;font-weight:900;color:#fff;}
.ej-tier-title{font-size:.78rem;color:rgba(255,255,255,.8);margin-top:4px;}
.ej-tier-desc{font-size:.72rem;color:rgba(255,255,255,.55);margin-top:6px;}


/* ── SERVICE BRIDGE ────────────────────────── */
.ej-bridge{background:var(--ej-green-xl);border:1px solid var(--ej-green-xll);border-top:4px solid var(--ej-green);border-radius:var(--ej-r-lg);padding:36px;text-align:center;}
.ej-bridge-label{font-size:.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--ej-green);margin-bottom:8px;}


/* ── CTA BUTTONS ───────────────────────────── */
.ej-cta{display:inline-flex;align-items:center;gap:8px;color:#fff;padding:14px 28px;border-radius:3px;font-weight:700;font-size:.88rem;text-decoration:none;transition:background .2s;}
.ej-cta:hover{text-decoration:none;}
.ej-cta--ink{background:var(--ej-ink);}.ej-cta--ink:hover{background:var(--ej-green);}
.ej-cta--green{background:var(--ej-green);}.ej-cta--green:hover{background:var(--ej-green-l);}


/* ── PILL ──────────────────────────────────── */
.ej-pill{display:inline-block;padding:3px 11px;border-radius:20px;font-size:.73rem;font-weight:700;letter-spacing:.03em;}
.ej-pill--green{background:var(--ej-green-xl);color:var(--ej-green);}
.ej-pill--amber{background:var(--ej-amber-l);color:var(--ej-amber);}


/* ── PHOTO ──────────────────────────────────── */
.ej-photo{position:relative;overflow:hidden;border-radius:var(--ej-r-lg);}
.ej-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ej-photo:hover img{transform:scale(1.03);}
.ej-photo-cap{font-size:.77rem;color:var(--ej-grey-3);font-style:italic;text-align:center;padding:9px 0 0;line-height:1.5;}


/* ── ABSTRACT BOX ──────────────────────────── */
.ej-abstract{background:var(--ej-warm);border:1px solid var(--ej-grey-1);border-top:4px solid var(--ej-green);border-radius:var(--ej-r-lg);padding:36px;margin-bottom:40px;}
.ej-abstract-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ej-green);margin-bottom:10px;}
.ej-abstract p{font-size:.92rem;color:var(--ej-grey-4);margin-bottom:10px;line-height:1.75;}
.ej-abstract p:last-of-type{margin-bottom:0;}
.ej-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}


/* ── TIMELINE ──────────────────────────────── */
.ej-timeline{position:relative;padding-left:28px;}
.ej-timeline::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--ej-grey-1);}
.ej-tl-item{position:relative;padding-bottom:28px;}
.ej-tl-item::before{content:'';position:absolute;left:-24px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--ej-green);border:2px solid #fff;}
.ej-tl-date{font-size:.72rem;font-weight:700;color:var(--ej-green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.ej-tl-text{font-size:.88rem;color:var(--ej-grey-4);line-height:1.7;}


/* ── REFERENCES ────────────────────────────── */
.ej-refs{list-style:decimal;padding-left:20px;font-size:.82rem;color:var(--ej-grey-4);line-height:2;}


/* ── GRIDS ─────────────────────────────────── */
.ej-g2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.ej-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.ej-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}


/* ═══ RESPONSIVE ═══════════════════════════════ */
@media(max-width:1000px){
  .ej-hero{grid-template-columns:1fr;min-height:auto;}
  .ej-hero::after{display:none;}
  .ej-hero-left{padding:64px 24px;}
  .ej-hero-right{min-height:260px;}
  .ej-kpi-row,.ej-g3{grid-template-columns:1fr 1fr;}
  .ej-flow,.ej-tier{grid-template-columns:1fr 1fr;}
  .ej-praise{flex-direction:column;gap:14px;padding:28px 22px;}
  .ej-hero-stats{flex-wrap:wrap;gap:16px;}
  .ej-hero-stat{flex:1 1 120px;border-right:none;}
}
@media(max-width:640px){
  .ej-sec{padding:54px 0;}
  .ej-g2,.ej-g4{grid-template-columns:1fr;}
  .ej-kpi-row{grid-template-columns:1fr 1fr;gap:12px;}
  .ej-g3,.ej-flow,.ej-tier{grid-template-columns:1fr;}
}
/* ═══════════════════════════════════════════════════════════
   BLOCK 4 — DEFAULT POST TEMPLATE
   ═══════════════════════════════════════════════════════════
   
   Styles all standard WordPress posts (written in Gutenberg 
   or Classic Editor). Covers paragraphs, headings, lists, 
   images, blockquotes, tables, embeds — everything.
   
   Scoped to .ej-post so it won't affect anything else.
   
   APPEND this below Block 3 in your Elementor Custom CSS.
   
═══════════════════════════════════════════════════════════ */


/* ── POST WRAPPER ──────────────────────────── */
.ej-post {
  font-family: 'Roboto', sans-serif;
  color: #1c1c18;
  line-height: 1.7;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  background: #ffffff;
}
.ej-post *,
.ej-post *::before,
.ej-post *::after {
  box-sizing: border-box;
}


/* ── POST HEADER (title, meta, featured image) ── */
.ej-post-header {
  background: #1c1c18;
  padding: 80px 24px 60px;
  text-align: center;
}
.ej-post-header-inner {
  max-width: 820px;
  margin: 0 auto;
}
.ej-post-cat {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #3a7d44;
  color: #fff;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 20px;
}
.ej-post-cat a,
.ej-post-cat a:hover {
  color: #fff !important;
  text-decoration: none !important;
}
.ej-post-header h1,
.ej-post-header .elementor-heading-title,
.ej-post-header .elementor-widget-theme-post-title h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.ej-post-meta {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.45);
  margin-top: 14px;
}
.ej-post-meta a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
}
.ej-post-meta a:hover {
  color: #52a85f !important;
}
.ej-post-meta .elementor-post-info__item {
  color: rgba(255,255,255,0.45) !important;
}
.ej-post-meta .elementor-icon-list-text,
.ej-post-meta span {
  color: rgba(255,255,255,0.45) !important;
}


/* ── FEATURED IMAGE ────────────────────────── */
.ej-post-hero-img {
  max-width: 1180px;
  margin: -40px auto 0;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}
.ej-post-hero-img img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  box-shadow: 0 8px 48px rgba(28,28,24,0.15);
}


/* ── POST BODY ─────────────────────────────── */
.ej-post-body {
  max-width: 780px;
  margin: 0 auto;
  padding: 56px 24px 80px;
}


/* ── TYPOGRAPHY ────────────────────────────── */
.ej-post-body p {
  font-size: 1rem;
  color: #5a5a52;
  line-height: 1.8;
  margin: 0 0 20px;
}
.ej-post-body strong,
.ej-post-body b {
  color: #1c1c18;
  font-weight: 700;
}
.ej-post-body em,
.ej-post-body i {
  font-style: italic;
}
.ej-post-body a {
  color: #3a7d44;
  text-decoration: none;
  border-bottom: 1px solid #c8e6c9;
  transition: border-color 0.2s;
}
.ej-post-body a:hover {
  border-bottom-color: #3a7d44;
}


/* ── HEADINGS ──────────────────────────────── */
.ej-post-body h2 {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #1c1c18;
  margin: 52px 0 16px;
  padding-top: 28px;
  border-top: 1px solid #efefed;
}
.ej-post-body h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.ej-post-body h3 {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 700;
  line-height: 1.3;
  color: #1c1c18;
  margin: 40px 0 12px;
}
.ej-post-body h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1c1c18;
  margin: 32px 0 10px;
}
.ej-post-body h5,
.ej-post-body h6 {
  font-size: 0.92rem;
  font-weight: 700;
  color: #5a5a52;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 28px 0 10px;
}


/* ── LISTS ─────────────────────────────────── */
.ej-post-body ul,
.ej-post-body ol {
  margin: 0 0 24px;
  padding-left: 24px;
}
.ej-post-body ul {
  list-style: none;
  padding-left: 0;
}
.ej-post-body ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 0.96rem;
  color: #5a5a52;
  line-height: 1.75;
}
.ej-post-body ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3a7d44;
}
.ej-post-body ol li {
  margin-bottom: 10px;
  font-size: 0.96rem;
  color: #5a5a52;
  line-height: 1.75;
}
.ej-post-body ul ul,
.ej-post-body ol ol,
.ej-post-body ul ol,
.ej-post-body ol ul {
  margin-top: 8px;
  margin-bottom: 8px;
}


/* ── BLOCKQUOTES ───────────────────────────── */
.ej-post-body blockquote {
  border-left: 4px solid #3a7d44;
  background: #e8f2e9;
  margin: 32px 0;
  padding: 22px 28px;
  border-radius: 0 8px 8px 0;
}
.ej-post-body blockquote p {
  color: #1c1c18;
  font-size: 1.02rem;
  font-style: italic;
  line-height: 1.7;
  margin: 0;
}
.ej-post-body blockquote cite {
  display: block;
  margin-top: 12px;
  font-size: 0.82rem;
  color: #9e9e95;
  font-style: normal;
  font-weight: 500;
}


/* ── IMAGES ────────────────────────────────── */
.ej-post-body img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  margin: 32px 0;
}
.ej-post-body figure {
  margin: 32px 0;
  max-width: 100%;
}
.ej-post-body figure img {
  margin: 0 0 10px;
  border-radius: 12px;
}
.ej-post-body figcaption,
.ej-post-body .wp-caption-text {
  font-size: 0.78rem;
  color: #9e9e95;
  font-style: italic;
  text-align: center;
  line-height: 1.5;
  padding: 0;
}
/* Full width images — break out of narrow column */
.ej-post-body .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  border-radius: 0;
}
.ej-post-body .alignfull img {
  border-radius: 0;
  width: 100%;
}
.ej-post-body .alignwide {
  width: calc(100% + 160px);
  max-width: calc(100% + 160px);
  margin-left: -80px;
}
.ej-post-body .aligncenter {
  text-align: center;
}
.ej-post-body .alignleft {
  float: left;
  margin: 8px 24px 16px 0;
  max-width: 50%;
}
.ej-post-body .alignright {
  float: right;
  margin: 8px 0 16px 24px;
  max-width: 50%;
}


/* ── TABLES ────────────────────────────────── */
.ej-post-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  margin: 28px 0;
  overflow-x: auto;
  display: block;
}
.ej-post-body thead th {
  background: #1c1c18;
  color: #fff;
  padding: 11px 14px;
  text-align: left;
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ej-post-body tbody td {
  padding: 10px 14px;
  border-bottom: 1px solid #efefed;
  color: #5a5a52;
  line-height: 1.6;
  vertical-align: top;
}
.ej-post-body tbody tr:nth-child(even) {
  background: #faf8f4;
}
.ej-post-body tbody tr:hover {
  background: #e8f2e9;
}


/* ── CODE ──────────────────────────────────── */
.ej-post-body code {
  font-family: 'Roboto Mono', monospace;
  font-size: 0.86rem;
  background: #f7f7f5;
  padding: 2px 7px;
  border-radius: 4px;
  color: #b45309;
}
.ej-post-body pre {
  background: #1c1c18;
  color: #e8f2e9;
  padding: 24px;
  border-radius: 12px;
  overflow-x: auto;
  margin: 28px 0;
  line-height: 1.6;
}
.ej-post-body pre code {
  background: none;
  color: inherit;
  padding: 0;
  border-radius: 0;
  font-size: 0.84rem;
}


/* ── HORIZONTAL RULE ───────────────────────── */
.ej-post-body hr {
  border: none;
  height: 1px;
  background: #efefed;
  margin: 48px 0;
}


/* ── EMBEDS & IFRAMES ──────────────────────── */
.ej-post-body iframe,
.ej-post-body .wp-block-embed {
  max-width: 100%;
  margin: 28px 0;
  border-radius: 12px;
  overflow: hidden;
}
.ej-post-body .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.ej-post-body .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px;
}


/* ── WP GUTENBERG BLOCKS ───────────────────── */
.ej-post-body .wp-block-separator {
  border: none;
  height: 1px;
  background: #efefed;
  margin: 48px 0;
}
.ej-post-body .wp-block-pullquote {
  border-top: 3px solid #3a7d44;
  border-bottom: 3px solid #3a7d44;
  padding: 28px 0;
  margin: 40px 0;
  text-align: center;
}
.ej-post-body .wp-block-pullquote p {
  font-size: 1.2rem;
  font-weight: 700;
  color: #1c1c18;
  font-style: italic;
  line-height: 1.5;
}
.ej-post-body .wp-block-pullquote cite {
  font-size: 0.82rem;
  color: #9e9e95;
  font-style: normal;
}
.ej-post-body .wp-block-gallery {
  margin: 32px 0;
}
.ej-post-body .wp-block-gallery img {
  border-radius: 8px;
}
.ej-post-body .wp-block-columns {
  margin: 28px 0;
}
.ej-post-body .wp-block-button__link {
  background: #3a7d44;
  color: #fff;
  padding: 12px 24px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s;
}
.ej-post-body .wp-block-button__link:hover {
  background: #52a85f;
}


/* ── POST FOOTER ───────────────────────────── */
.ej-post-footer {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px 60px;
}
.ej-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 32px;
  border-top: 1px solid #efefed;
}
.ej-post-tags a {
  display: inline-block;
  font-size: 0.73rem;
  font-weight: 700;
  color: #3a7d44;
  background: #e8f2e9;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.ej-post-tags a:hover {
  background: #c8e6c9;
}


/* ── CTA BAND AT BOTTOM ────────────────────── */
.ej-post-cta {
  background: #1c1c18;
  padding: 52px 24px;
  text-align: center;
}
.ej-post-cta-inner {
  max-width: 620px;
  margin: 0 auto;
}
.ej-post-cta h3 {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.2;
}
.ej-post-cta p {
  color: rgba(255,255,255,0.55);
  font-size: 0.92rem;
  margin: 0 0 24px;
}
.ej-post-cta a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #3a7d44;
  color: #fff;
  padding: 14px 28px;
  border-radius: 3px;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.2s;
}
.ej-post-cta a:hover {
  background: #52a85f;
  text-decoration: none;
}


/* ── POST NAV (prev/next) ──────────────────── */
.ej-post-nav {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px 48px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
.ej-post-nav a {
  font-size: 0.84rem;
  font-weight: 700;
  color: #3a7d44;
  text-decoration: none;
}
.ej-post-nav a:hover {
  text-decoration: underline;
}
.ej-post-nav .ej-post-nav-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #9e9e95;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 4px;
}


/* ── RESPONSIVE ────────────────────────────── */
@media (max-width: 1000px) {
  .ej-post-header {
    padding: 64px 24px 48px;
  }
  .ej-post-hero-img {
    margin-top: -24px;
  }
  .ej-post-body .alignwide {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
}
@media (max-width: 640px) {
  .ej-post-header {
    padding: 48px 18px 36px;
  }
  .ej-post-body {
    padding: 40px 18px 60px;
  }
  .ej-post-body .alignleft,
  .ej-post-body .alignright {
    float: none;
    max-width: 100%;
    margin: 24px 0;
  }
  .ej-post-nav {
    flex-direction: column;
  }
}


/* ── ELEMENTOR WIDGET OVERRIDES ────────────── 
   Ensures Elementor's Post Title, Post Content,
   Post Info widgets inherit the .ej-post styling
   without needing per-widget configuration.
──────────────────────────────────────────── */
.ej-post .elementor-widget-theme-post-title {
  padding: 0 !important;
  margin: 0 !important;
}
.ej-post .elementor-widget-theme-post-content {
  padding: 0 !important;
  margin: 0 !important;
}
.ej-post .elementor-widget-theme-post-featured-image {
  padding: 0 !important;
  margin: 0 !important;
}
.ej-post .elementor-widget-theme-post-featured-image img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 8px 48px rgba(28,28,24,0.15);
}/* End custom CSS */