.elementor-8 .elementor-element.elementor-element-f5cff33{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:126px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-b4fb8a3{--display:flex;}.elementor-8 .elementor-element.elementor-element-b4fb8a3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-1af27ca{width:var( --container-widget-width, 94.018% );max-width:94.018%;--container-widget-width:94.018%;--container-widget-flex-grow:0;text-align:justify;}.elementor-8 .elementor-element.elementor-element-1af27ca.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-ac808e0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-8 .elementor-element.elementor-element-61869d3{--display:flex;}.elementor-8 .elementor-element.elementor-element-61869d3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-8 .elementor-element.elementor-element-aeb3c32 .elementor-button{border-radius:20px 20px 20px 20px;}.elementor-8 .elementor-element.elementor-element-2fae2be{--display:flex;}.elementor-8 .elementor-element.elementor-element-49d8cef .elementor-button{border-radius:20px 20px 20px 20px;}.elementor-8 .elementor-element.elementor-element-3506403{--display:flex;}.elementor-8 .elementor-element.elementor-element-3506403.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{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-8 .elementor-element.elementor-element-e302832{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-8 .elementor-element.elementor-element-8d9634a{--display:flex;}.elementor-widget-counter .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-counter .elementor-counter-title{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-8 .elementor-element.elementor-element-17df2578 .elementor-button{border-radius:20px 20px 20px 20px;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-8 .elementor-element.elementor-element-73f42390 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-793638ae .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-6135363f{margin-top:-84px;margin-bottom:0px;}.elementor-8 .elementor-element.elementor-element-14dd3b39{width:var( --container-widget-width, 104.402% );max-width:104.402%;--container-widget-width:104.402%;--container-widget-flex-grow:0;}.elementor-8 .elementor-element.elementor-element-14dd3b39.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-4a15e341{margin-top:-98px;margin-bottom:0px;}.elementor-8 .elementor-element.elementor-element-49a6be09 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-778ddc82 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-4c601955 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-3325d776 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-7f1f089c .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-6c95048d .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-4d079ef4{width:initial;max-width:initial;}.elementor-8 .elementor-element.elementor-element-4d079ef4.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-5a92248c{width:initial;max-width:initial;}.elementor-8 .elementor-element.elementor-element-5a92248c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-7f5e413b .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-3d08b705 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-6fb46580 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-551391d0 .elementor-icon-box-wrapper{gap:15px;}.elementor-8 .elementor-element.elementor-element-dc78801{width:initial;max-width:initial;}.elementor-8 .elementor-element.elementor-element-dc78801.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-47170f6b{color:#D0EFDE;}.elementor-8 .elementor-element.elementor-element-6665e6d2{color:#D0EFDE;}.elementor-8 .elementor-element.elementor-element-309b14a{width:var( --container-widget-width, 8888.489% );max-width:8888.489%;--container-widget-width:8888.489%;--container-widget-flex-grow:0;}.elementor-8 .elementor-element.elementor-element-309b14a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-d07d974{text-align:center;font-family:"Roboto", Sans-serif;font-size:44px;font-weight:700;color:#000000;}.elementor-widget-testimonial .elementor-testimonial-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-widget-testimonial .elementor-testimonial-name{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-testimonial .elementor-testimonial-job{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-8 .elementor-element.elementor-element-69a02d06 .elementor-testimonial-wrapper{text-align:start;}.elementor-8 .elementor-element.elementor-element-6ca17a24 .elementor-testimonial-wrapper{text-align:start;}.elementor-8 .elementor-element.elementor-element-1c3f04fb .elementor-testimonial-wrapper{text-align:start;}.elementor-8 .elementor-element.elementor-element-55de459{--display:flex;}.elementor-8 .elementor-element.elementor-element-55d6390{--display:flex;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-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 );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-b4fb8a3{--width:47.712%;}.elementor-8 .elementor-element.elementor-element-61869d3{--width:25.825%;}.elementor-8 .elementor-element.elementor-element-3506403{--width:51.175%;}.elementor-8 .elementor-element.elementor-element-3ea817a{width:54.518%;}.elementor-8 .elementor-element.elementor-element-6a3d6470{width:2%;}}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-f5cff33{--margin-top:-36px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-3506403{--margin-top:7px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-8d9634a{--width:500px;}.elementor-8 .elementor-element.elementor-element-4a15e341{margin-top:0px;margin-bottom:0px;}.elementor-8 .elementor-element.elementor-element-250dcc5c{text-align:center;}.elementor-8 .elementor-element.elementor-element-5a1fb6f3{text-align:center;}.elementor-8 .elementor-element.elementor-element-6e38f545{text-align:center;}}/* Start custom CSS *//* =========================================================================
   [NGO NAME] — HOME PAGE ELEMENTOR STYLESHEET
   Paste this into: Elementor > Site Settings > Custom CSS
   (or Appearance > Customize > Additional CSS if Elementor Pro custom CSS
   isn't available). Pairs with home-elementor-template.json.

   This file does two things:
   1. Restyles ELEMENTOR'S OWN generated markup (headings, buttons, icon
      boxes, counters, progress bars, testimonials, accordion) so native,
      click-to-edit Elementor widgets match the brand system.
   2. Defines the custom layout classes used on Sections/Columns via each
      element's Advanced > CSS Classes field (hero, bg-neutral, bg-dark,
      card, cta-band, etc.)
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --green-900:#0B3B2E;
  --green-800:#0E4A38;
  --green-700:#146247;
  --green-600:#1B7A56;
  --green-500:#238F63;
  --green-100:#E4F1EA;
  --green-050:#F1F8F4;

  --orange-700:#B85A1E;
  --orange-600:#D06B24;
  --orange-500:#E8792B;
  --orange-400:#F0954F;
  --orange-100:#FBE7D5;
  --orange-050:#FDF3EA;

  --ink:#20242A;
  --ink-soft:#565E66;
  --ink-faint:#8A9198;
  --line:#E7E5DE;
  --line-soft:#F0EEE7;

  --bg-neutral:#F7F6F2;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-pill:999px;

  --shadow-sm:0 2px 10px rgba(11,59,46,.06);
  --shadow-md:0 12px 30px -10px rgba(11,59,46,.18);
  --shadow-lg:0 24px 60px -20px rgba(11,59,46,.28);

  --font-display:'Plus Jakarta Sans', sans-serif;
  --font-body:'Inter', sans-serif;
}

body{overflow-x:hidden;}

/* =========================================================================
   1. GLOBAL TYPE — restyle Elementor's own heading/text output everywhere
   ========================================================================= */
.elementor-heading-title{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  color:var(--ink);
  line-height:1.15!important;
  letter-spacing:-.01em;
}
h1.elementor-heading-title{font-size:clamp(34px,5vw,58px)!important;}
h2.elementor-heading-title{font-size:clamp(28px,3.6vw,40px)!important;}
h3.elementor-heading-title{font-size:22px!important;}
h4.elementor-heading-title{font-size:18px!important;}
.elementor-widget-text-editor{font-family:var(--font-body);color:var(--ink-soft);font-size:16px;line-height:1.6;}
.elementor-widget-text-editor p{margin:0 0 1em;}
.elementor-widget-text-editor p:last-child{margin-bottom:0;}

/* Dark-section text flips to light */
.bg-dark .elementor-heading-title,
.cta-final .elementor-heading-title,
.cta-band .elementor-heading-title{color:#fff!important;}
.bg-dark .elementor-widget-text-editor,
.cta-final .elementor-widget-text-editor,
.cta-band .elementor-widget-text-editor{color:rgba(255,255,255,.8);}

/* =========================================================================
   2. LAYOUT / BACKGROUND UTILITY CLASSES
   (apply via each Section or Column's Advanced > CSS Classes field)
   ========================================================================= */
.container{max-width:1200px;margin:0 auto!important;padding:0 24px;float:none;}
.container-narrow{max-width:820px;margin:0 auto!important;padding:0 24px;float:none;}
.no-pad-bottom{padding-bottom:0!important;}
.no-pad-top{padding-top:0!important;}
.section-tight-inner{padding:0;}

.bg-neutral{background:var(--bg-neutral)!important;}
.bg-dark{background:var(--green-900)!important;}
.bg-dark .elementor-icon-box-title,.bg-dark .elementor-icon-box-title span{color:#fff!important;}
.bg-dark .elementor-icon-box-description{color:rgba(234,243,238,.72)!important;}

/* Give every top-level section breathing room by default */
.elementor-section{padding-top:96px;padding-bottom:96px;}
.elementor-section.elementor-inner-section{padding-top:0;padding-bottom:0;}
@media (max-width:900px){.elementor-section{padding-top:64px;padding-bottom:64px;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--green-600);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--orange-500);display:inline-block;}
.bg-dark .eyebrow{color:var(--orange-400);}

.tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;
  background:var(--green-100);color:var(--green-700);padding:6px 14px;border-radius:var(--radius-pill);
}
.tag-demo{background:#FFF1E9;color:var(--orange-700);border:1px dashed var(--orange-500);}

.lead{font-size:18px!important;max-width:480px;}
.hero-trustrow{display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-top:24px;}
.hero-trustrow b{color:var(--ink);}

/* Section header row (heading left, button/paragraph right) */
.section-head .elementor-container{align-items:flex-end;}
.section-head-center{text-align:center;}
.section-head-center .elementor-heading-title,
.section-head-center .eyebrow{justify-content:center;display:flex;}
.section-head-center .elementor-widget-text-editor{max-width:620px;margin:0 auto;}
.section-head-right{display:flex;align-items:flex-end;justify-content:flex-end;}
@media (max-width:900px){.section-head-right{justify-content:flex-start;margin-top:16px;}}

/* =========================================================================
   3. HERO
   ========================================================================= */
.hero{
  background:linear-gradient(180deg,var(--green-050) 0%,#fff 60%)!important;
  padding-top:80px!important;
}
.hero-actions-row .elementor-container{gap:16px;}
.hero-media{position:relative;}
.hero-photo .elementor-widget-container img{
  border-radius:var(--radius-lg);
  aspect-ratio:4/5;object-fit:cover;width:100%;
  border:1px solid var(--line);
}
.hero-card{
  position:absolute!important;left:-30px;bottom:-28px;width:230px;
  background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  border:1px solid var(--line-soft);padding:6px 10px;z-index:5;
}
.hero-card .elementor-counter-number-wrapper{font-family:var(--font-display)!important;font-weight:800!important;font-size:30px!important;color:var(--orange-500)!important;}
.hero-card .elementor-counter-title{font-size:12.5px!important;color:var(--ink-soft)!important;margin-top:2px!important;}
@media (max-width:900px){
  .hero-card{position:static!important;margin:-30px 0 0 20px;width:200px;}
}

/* =========================================================================
   4. BUTTONS — restyle Elementor's native Button widget
   ========================================================================= */
.btn .elementor-button{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  border-radius:var(--radius-pill)!important;
  padding:15px 28px!important;
  border:1.5px solid transparent!important;
  transition:transform .15s ease,background .15s ease,color .15s ease!important;
}
.btn .elementor-button:hover{transform:translateY(-2px);}
.btn-lg .elementor-button{padding:18px 36px!important;font-size:16px!important;}
.btn-block .elementor-button,.btn-block{width:100%;}
.btn-block .elementor-button{width:100%!important;text-align:center;justify-content:center;}

.btn-primary .elementor-button{background:var(--orange-500)!important;color:#fff!important;box-shadow:0 10px 24px -8px rgba(232,121,43,.55);}
.btn-primary .elementor-button:hover{background:var(--orange-600)!important;}

.btn-secondary .elementor-button{background:var(--green-700)!important;color:#fff!important;box-shadow:0 10px 24px -8px rgba(20,98,71,.4);}
.btn-secondary .elementor-button:hover{background:var(--green-800)!important;}

.btn-outline .elementor-button{background:transparent!important;border-color:var(--ink)!important;color:var(--ink)!important;}
.btn-outline .elementor-button:hover{background:var(--ink)!important;color:#fff!important;}

.btn-outline-green .elementor-button{background:transparent!important;border-color:var(--green-600)!important;color:var(--green-700)!important;}
.btn-outline-green .elementor-button:hover{background:var(--green-600)!important;color:#fff!important;}

.btn-outline-light .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important;}
.btn-outline-light .elementor-button:hover{background:#fff!important;color:var(--green-800)!important;}

.btn-cta-orange .elementor-button{background:#fff!important;color:var(--orange-700)!important;}
.btn-cta-orange .elementor-button:hover{background:var(--orange-050)!important;}

.more .elementor-button{background:transparent!important;border:none!important;padding:0!important;color:var(--green-700)!important;font-size:13px!important;box-shadow:none!important;}
.more .elementor-button:hover{color:var(--orange-500)!important;transform:none!important;}

.cta-band-btn{display:flex;align-items:center;justify-content:flex-end;}
.final-cta-actions .elementor-container{justify-content:center;gap:16px;}
@media (max-width:900px){.cta-band-btn{justify-content:flex-start;margin-top:20px;}}

/* =========================================================================
   5. ICON BOX — Focus Areas / Mission-Vision / How We Help
   ========================================================================= */
.icon-box .elementor-widget-container{
  height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);
  padding:30px 26px;
}
.bg-dark .icon-box .elementor-widget-container{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);}
.icon-box .elementor-icon-box-icon{margin-bottom:16px;}
.icon-box .elementor-icon-box-icon .elementor-icon{
  width:52px;height:52px;border-radius:50%;
  background:var(--green-100)!important;color:var(--green-700)!important;
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.bg-dark .icon-box .elementor-icon-box-icon .elementor-icon{background:rgba(232,121,43,.18)!important;color:var(--orange-400)!important;}
.icon-box .elementor-icon-box-title{font-family:var(--font-display)!important;font-weight:700!important;font-size:18px!important;margin-bottom:8px!important;color:var(--ink);}
.icon-box .elementor-icon-box-description{font-size:14.5px!important;color:var(--ink-soft);}

/* =========================================================================
   6. STAT COUNTERS
   ========================================================================= */
.stat-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);
  padding:30px 20px;text-align:center;height:100%;
}
.stat-row .elementor-container{align-items:stretch;}
.stat-row .elementor-column{display:flex;align-items:stretch;}
.stat-item .elementor-counter-number-wrapper{
  font-family:var(--font-display)!important;font-weight:800!important;
  font-size:clamp(30px,3.4vw,42px)!important;color:var(--green-700)!important;
}
.stat-item .elementor-counter-title{font-size:13.5px!important;color:var(--ink-soft)!important;margin-top:6px!important;}
.hero-card-counter{text-align:left;}

/* =========================================================================
   7. CARDS — Programs / Campaigns / Blog
   ========================================================================= */
.card .elementor-widget-container,
.card{border-radius:var(--radius-md);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;height:100%;}
.card > .elementor-widget-wrap{padding:0 22px 24px;}
.card-photo{margin-bottom:0;}
.card-photo .elementor-widget-container img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;}
.card .elementor-heading-title{margin-top:6px;}
.card .tag,.card .tag-orange{margin-top:18px;display:inline-flex;}

.campaign-meta-row,.blog-meta{
  display:flex;justify-content:space-between;font-family:var(--font-display);font-weight:600;
  font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);margin-top:18px;
}

/* Per-type accent so Programs / Campaigns / Blog cards read distinctly at a glance */
.program-card{border-top:3px solid var(--green-500);}
.campaign-card{border-top:3px solid var(--orange-500);}
.blog-card{border-top:3px solid var(--ink-faint);}

.card .elementor-widget-progress .elementor-widget-container{margin-top:6px;}
.cs-progress .elementor-title{font-family:var(--font-display)!important;font-size:13px!important;font-weight:600!important;color:var(--ink-soft)!important;margin-bottom:8px!important;}
.cs-progress .elementor-progress-wrapper{height:9px!important;background:var(--line-soft)!important;border-radius:var(--radius-pill)!important;overflow:hidden;}
.cs-progress .elementor-progress-bar{background:linear-gradient(90deg,var(--orange-500),var(--orange-400))!important;border-radius:var(--radius-pill)!important;}
.cs-progress .elementor-progress-text{display:none!important;}
.card .elementor-widget-button{margin-top:14px;}

/* =========================================================================
   8. EVENT CARDS
   ========================================================================= */
.event-card{
  border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;
  padding:22px;align-items:flex-start!important;
}
.event-date{
  background:var(--green-050);border:1px solid var(--green-100);border-radius:var(--radius-sm);
  text-align:center;padding:12px 8px;
}
.event-date .d{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--green-700);line-height:1;}
.event-date .m{font-size:11.5px;text-transform:uppercase;color:var(--ink-soft);font-weight:700;letter-spacing:.04em;}
.event-card .elementor-heading-title{margin-bottom:6px!important;}
.event-card .meta{font-size:13px;color:var(--ink-soft);margin-bottom:8px;}

/* =========================================================================
   9. TESTIMONIALS
   ========================================================================= */
.testimonial-card .elementor-widget-container{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:30px;height:100%;
}
.testimonial-card .elementor-testimonial-content{
  font-size:15.5px!important;color:var(--ink)!important;font-style:italic;margin-bottom:20px!important;position:relative;
}
.testimonial-card .elementor-testimonial-content::before{
  content:"201C";font-family:var(--font-display);font-size:44px;color:var(--orange-400);
  display:block;line-height:1;font-style:normal;margin-bottom:6px;
}
.testimonial-card .elementor-testimonial-image img{width:44px;height:44px;border-radius:50%;}
.testimonial-card .elementor-testimonial-name{font-weight:700!important;font-size:14px!important;color:var(--ink);}
.testimonial-card .elementor-testimonial-job{font-size:12.5px!important;color:var(--ink-faint)!important;}

/* =========================================================================
   10. CTA BANDS
   ========================================================================= */
.cta-band{
  background:linear-gradient(120deg,var(--green-800),var(--green-600))!important;
  border-radius:var(--radius-lg);padding:56px!important;
}
.cta-band.orange{background:linear-gradient(120deg,var(--orange-600),var(--orange-500))!important;}
.cta-band .elementor-column{align-items:center;}
@media (max-width:900px){.cta-band{padding:40px 30px!important;text-align:center;}}

.cta-final{background:var(--green-900)!important;text-align:center;}
.cta-final .elementor-widget-text-editor{max-width:560px;margin:0 auto;}

/* =========================================================================
   11. FAQ ACCORDION — native Elementor Accordion widget
   ========================================================================= */
.cs-accordion .elementor-accordion-item{
  border:1px solid var(--line)!important;border-radius:var(--radius-md);margin-bottom:14px;overflow:hidden;
}
.cs-accordion .elementor-tab-title{
  padding:20px 24px!important;font-family:var(--font-display)!important;font-weight:700!important;
  font-size:15.5px!important;background:#fff;color:var(--ink)!important;
}
.cs-accordion .elementor-tab-content{
  padding:0 24px 22px!important;font-size:14.5px!important;color:var(--ink-soft)!important;background:#fff;border-top:none!important;
}
.cs-accordion .elementor-accordion-icon i{color:var(--orange-500)!important;}
.faq-wrap{text-align:center;}
.faq-wrap .elementor-widget-button{margin-top:16px;}

/* =========================================================================
   12. RESPONSIVE
   ========================================================================= */
@media (max-width:900px){
  .hero-media{order:-1;}
}/* End custom CSS */