.elementor-kit-6{--e-global-color-primary:#03318C;--e-global-color-secondary:#3182CE;--e-global-color-text:#1A202C;--e-global-color-accent:#F59E0B;--e-global-color-e8sky:#0FAEF7;--e-global-color-e8mist:#F4F7FB;--e-global-color-e8slate:#5B6B82;--e-global-color-e8paper:#FFFFFF;--e-global-color-e8raisin:#1A202C;--e-global-color-e8vsports:#F59E0B;--e-global-color-e8vconserv:#1E4A38;--e-global-color-e8vhealth:#12B3A6;--e-global-color-e8veducation:#B23A34;--e-global-color-e8vministry:#6A4FA3;--e-global-color-e8vlegacy:#7A2231;--e-global-color-e8vcommunity:#F47A5E;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;color:#1A202C;font-family:"Inter", Sans-serif;font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#03318C;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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 .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* Struck manifesto lines — amber rule through the text. Add the class e8-strike to any heading. */
.e8-strike .elementor-heading-title{position:relative;display:inline-block}
.e8-strike .elementor-heading-title::after{content:"";position:absolute;left:-1%;right:-1%;top:52%;height:.09em;background:#F59E0B;border-radius:4px}


/* Vertical colour squares in the site menu. Colour comes from the v-* class on the menu item (Appearance > Menus > CSS Classes). */
.e8-vmenu .elementor-item{display:flex;align-items:center;gap:14px}
.e8-vmenu li[class*="v-"] > a.elementor-item::before{content:"";position:static;width:11px;height:11px;min-width:11px;border-radius:24%;flex:0 0 auto;display:block;opacity:1;background:#F59E0B;transform:none;bottom:auto;left:auto;right:auto;top:auto}
.e8-vmenu li.v-sports > a.elementor-item::before{background:#F59E0B}
.e8-vmenu li.v-conservation > a.elementor-item::before{background:#1E4A38}
.e8-vmenu li.v-health > a.elementor-item::before{background:#12B3A6}
.e8-vmenu li.v-education > a.elementor-item::before{background:#B23A34}
.e8-vmenu li.v-ministry > a.elementor-item::before{background:#6A4FA3}
.e8-vmenu li.v-legacy > a.elementor-item::before{background:#7A2231}
.e8-vmenu li.v-community > a.elementor-item::before{background:#F47A5E}
.e8-vmenu li.v-yours > a.elementor-item::before{background:#F59E0B}





/* --- site menu popup (Templates > Popups > Site Menu) ---
   Only what Elementor's own controls can't do. Everything else is on the widgets. */
/* 3-stop gradient — Elementor's background control only offers 2. Edit the middle stop here. */
#e8-menu{background-image:linear-gradient(165deg,#0f1420 0%,#1A202C 55%,#02216b 170%)!important}
/* Close button, sized to match the design's 46px chip. */
#elementor-popup-modal-129 .dialog-close-button{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;top:18px;right:48px;opacity:1}
#elementor-popup-modal-129 .dialog-close-button:hover{background:rgba(255,255,255,.16)}
/* Vertical colour squares. Colour comes from the v-* class on the menu item (Appearance > Menus > CSS Classes). */
.e8-vmenu .elementor-item{display:flex!important;align-items:center;gap:14px}
.e8-vmenu li[class*="v-"] > a.elementor-item::before{content:""!important;position:static!important;width:11px!important;height:11px!important;min-width:11px;border-radius:24%;flex:0 0 auto;display:block!important;opacity:1!important;background:#F59E0B;transform:none!important;inset:auto!important;margin:0!important}
.e8-vmenu li.v-sports > a.elementor-item::before{background:#F59E0B!important}
.e8-vmenu li.v-conservation > a.elementor-item::before{background:#1E4A38!important}
.e8-vmenu li.v-health > a.elementor-item::before{background:#12B3A6!important}
.e8-vmenu li.v-education > a.elementor-item::before{background:#B23A34!important}
.e8-vmenu li.v-ministry > a.elementor-item::before{background:#6A4FA3!important}
.e8-vmenu li.v-legacy > a.elementor-item::before{background:#7A2231!important}
.e8-vmenu li.v-community > a.elementor-item::before{background:#F47A5E!important}
.e8-vmenu li.v-yours > a.elementor-item::before{background:#F59E0B!important}
/* Hairline between Log in and Sign up. */
#e8-vline{width:1.5px!important;min-width:1.5px;max-width:1.5px;height:30px;min-height:30px;flex:0 0 1.5px;padding:0!important;border-radius:2px}
/* Mail chip in Stay Connected. */
.e8-mail{margin-left:auto}
.e8-mail a{display:inline-flex;align-items:center;height:46px;padding:0 20px;border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-weight:600;font-size:13.5px;text-decoration:none;transition:background .2s,transform .2s}
.e8-mail a:hover{background:#F59E0B;transform:translateY(-3px)}
@media(max-width:800px){.e8-mail{margin-left:0;flex-basis:100%;margin-top:6px}}
/* --- end site menu popup --- */














/* --- converted sections ---
   Accent word inside a heading: wrap it in <em> in the Heading widget's text field. */
.e8-h2 em{font-style:normal;color:#F59E0B}
.e8-sub b{color:#1A202C}
.e8-ctamail a{color:#fff;font-weight:600;text-decoration:none;border-bottom:2px solid #F59E0B}
/* Marquee: the band scrolls its two identical text runs. Edit either Heading to change the words. */
[id^="e8-mq-"]{white-space:nowrap}
[id^="e8-mq-"] .e8-mq-span{white-space:nowrap;animation:e8mq 26s linear infinite}
@keyframes e8mq{from{transform:translateX(0)}to{transform:translateX(-100%)}}
/* Hero backgrounds: layered/3-stop gradients Elementor's background control can't express. */
#e8-hero-light{background:radial-gradient(1100px 600px at 85% -10%,rgba(15,174,247,.13),transparent 60%),radial-gradient(900px 620px at -10% 110%,rgba(3,49,140,.09),transparent 55%),#fff!important}
#e8-hero-dark{background:linear-gradient(160deg,#0f1420 0%,#1A202C 45%,#02216b 130%)!important}
#e8-hero-vertical{background:linear-gradient(165deg,#171d29 0%,#1A202C 50%,#10141c 100%)!important}
/* Accent word and outlined word inside the H1: wrap in <em> or <span class="ghost"> in the Heading field. */
.e8-h1 em{font-style:normal;color:#F59E0B}
#e8-hero-light .e8-h1 .ghost,#e8-hero-vertical .e8-h1 .ghost,#e8-hero-dark .e8-h1 .ghost{color:transparent;-webkit-text-stroke:1.5px rgba(3,49,140,.35)}
#e8-hero-dark .e8-h1 .ghost,#e8-hero-vertical .e8-h1 .ghost{-webkit-text-stroke:1.5px rgba(255,255,255,.35)}
.e8-lede b{font-weight:600}
/* The four drifting squares in the home hero. */
#e8-hero-floats{inset:0;pointer-events:none}
#e8-hero-floats > .e-con{right:auto!important;bottom:auto!important;animation:e8drift 14s ease-in-out infinite}
#e8-hero-floats > .e-con:nth-child(1){width:120px!important;height:120px!important;top:16%!important;left:58%!important}
#e8-hero-floats > .e-con:nth-child(2){width:56px!important;height:56px!important;top:64%!important;left:70%!important;animation-delay:-6s}
#e8-hero-floats > .e-con:nth-child(3){width:84px!important;height:84px!important;top:74%!important;left:12%!important;animation-delay:-4s}
#e8-hero-floats > .e-con:nth-child(4){width:38px!important;height:38px!important;top:24%!important;left:8%!important;animation-delay:-8s}
@keyframes e8drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,-26px)}}
/* Hero side card: pinned right on desktop, stacks under the copy from 1024 down. */
@media(max-width:1024px){.e8-herocard{position:static!important;transform:none!important;inset:auto!important;width:auto!important;max-width:100%!important;margin:28px auto 0!important}}
/* Square dots (kickers, feature cards, "your vertical" tiles). */
.e8-dot .elementor-icon{border-radius:24%;overflow:hidden;line-height:0}
.e8-dot svg{display:block}
/* --- end converted sections --- */

/* --- grid rows ---
   Elementor grid containers ship with two explicit rows (repeat(2,1fr)), which gave every
   converted grid a phantom empty row and roughly doubled its height. Size rows to content. */
.e-con.e-grid{--e-con-grid-template-rows:auto}
/* --- end grid rows --- */

/* --- dot sizing ---
   Icon widgets carry the wrapper's line-height, which made the 9px kicker dots
   render a 24px-tall row. Collapse it so the dot is its true size. */
.e8-dot .elementor-icon-wrapper{line-height:0}
.e8-dot .elementor-icon{border-radius:24%;overflow:hidden;line-height:0;display:block;height:auto}
.e8-dot svg{display:block;height:1em;width:1em}
/* --- end dot sizing --- */


/* --- fixed header ---
   Overlays the hero the way the source does. Every hero carries 190px of top padding
   to sit clear of it. Edit the bar's colour and padding on the header template itself. */
#e8-header{position:fixed;top:0;left:0;right:0;bottom:auto;width:auto;z-index:100;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
/* --- end fixed header --- */

/* --- band gradients ---
   Three-stop gradients from the source; Elementor's background control offers two.
   The native 2-stop version is set on each container as the editor fallback. */
#e8-manifesto{background-image:linear-gradient(160deg,#02216b 0%,#03318C 55%,#0a3fa6 100%)!important}
#e8-showcase{background-image:linear-gradient(165deg,#171d29 0%,#1A202C 55%,#02216b 160%)!important;position:relative}
/* --- end band gradients --- */

/* --- hero details ---
   Flex children in a container stretch to full width in Elementor 4.2, which stacked the
   hero stat row. Let each stat size to its own content. */
#e8-hero-meta{gap:44px}
#e8-hero-meta > .e-con{width:auto!important;flex:0 0 auto}
/* Hero side card: source is width:360px, max-width:38%, centred on top:54%. */
@media(min-width:1025px){.e8-herocard{width:360px!important;max-width:38%!important;transform:translateY(-50%)}}
/* --- end hero details --- */

/* --- chat bubble ---
   Source: .chatw{position:fixed;left:26px;bottom:26px;z-index:200}. Elementor's offset
   controls didn't write through on the container, so it pinned to the top-left corner. */
#e8-chat{left:26px!important;bottom:26px!important;top:auto!important;right:auto!important;z-index:200}
@media(max-width:600px){#e8-chat{left:14px!important;bottom:14px!important}}
/* --- end chat bubble --- */

/* --- marquee ---
   One track holding two identical runs; the track animates, not each run,
   so the loop is seamless instead of the two copies sliding over each other.
   Edit either Heading to change the words — keep them identical. */
[id^="e8-mq-"]{overflow:hidden;position:relative}
[id^="e8-mq-"] [id$="-track"]{width:max-content;flex-wrap:nowrap;animation:e8mq 26s linear infinite}
[id^="e8-mq-"] .e8-mq-span{white-space:nowrap;animation:none}
@keyframes e8mq{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 28px))}}
/* --- end marquee --- */

/* --- measure ---
   Section headings and quotes read best capped, but a hard px width overflows a
   narrow column. Fluid width, capped only where there's room. */
[id^="e8-measure-"]{max-width:780px}
/* --- end measure --- */

/* --- card pill ---
   Absolute containers get inset:0 in Elementor and stretch; the give-back pill was
   covering the card logo. Let it size to its own content. */
#e8-card-pill{left:auto!important;width:auto!important;white-space:nowrap}
/* --- end card pill --- */

/* --- fluid widths ---
   No block carries a fixed px width. Each is 100% wide with the old value kept only
   as a max-width, so it never overflows a narrow column but still reads well wide. */
#e8-fluid-c9e11c6{max-width:520px}
#e8-fluid-f029522{max-width:150px}
#e8-fluid-47296f4{max-width:120px}
#e8-fluid-5c41de0{max-width:56px}
#e8-fluid-550e296{max-width:84px}
#e8-fluid-a236cc9{max-width:38px}
#e8-fluid-cb25f36{max-width:460px}
#e8-fluid-9213398{max-width:1000px}
#e8-fluid-82c9ca5{max-width:680px}
#e8-chat{max-width:62px}
#e8-fluid-8f12b79{max-width:460px}
#e8-fluid-31c2d0e{max-width:1000px}
#e8-fluid-6d7b8db{max-width:680px}
#e8-fluid-758741a{max-width:260px}
#e8-fluid-615bb18{max-width:260px}
#e8-fluid-4c3741d{max-width:260px}
#e8-fluid-a5e1e60{max-width:260px}
#e8-fluid-0a80008{max-width:260px}
#e8-fluid-b5aaa10{max-width:260px}
#e8-fluid-5995e68{max-width:500px}
#e8-fluid-be6db75{max-width:600px}
#e8-fluid-5f734d9{max-width:460px}
#e8-fluid-d32934d{max-width:1000px}
#e8-fluid-f284e7a{max-width:680px}
#e8-fluid-31004b5{max-width:760px}
#e8-fluid-33a2f59{max-width:760px}
#e8-fluid-c36e6d9{max-width:760px}
#e8-fluid-d95ea15{max-width:760px}
#e8-fluid-0de4a80{max-width:760px}
#e8-fluid-45c60ba{max-width:500px}
#e8-fluid-e4f780e{max-width:600px}
#e8-fluid-cad2a26{max-width:1000px}
#e8-fluid-9b2260f{max-width:680px}
#e8-fluid-f41fdfd{max-width:260px}
#e8-fluid-bb19d75{max-width:260px}
#e8-fluid-4b3fb40{max-width:260px}
#e8-fluid-fb7b249{max-width:500px}
#e8-fluid-d889fd5{max-width:600px}
#e8-fluid-9624f34{max-width:1000px}
#e8-fluid-0a23b21{max-width:680px}
#e8-fluid-4c91251{max-width:760px}
#e8-fluid-218bfa5{max-width:760px}
#e8-fluid-fddbc0f{max-width:760px}
#e8-fluid-e15b3ff{max-width:500px}
#e8-fluid-5c0fc3c{max-width:600px}
#e8-fluid-c90b330{max-width:1000px}
#e8-fluid-e2e8f99{max-width:680px}
#e8-fluid-bcf2f2a{max-width:260px}
#e8-fluid-53ed808{max-width:260px}
#e8-fluid-adc63ba{max-width:260px}
#e8-fluid-dea66a0{max-width:600px}
#e8-fluid-655c8d4{max-width:1000px}
#e8-fluid-6567289{max-width:680px}
#e8-fluid-a4a8402{max-width:760px}
#e8-fluid-c8da395{max-width:760px}
#e8-fluid-567e39a{max-width:760px}
#e8-fluid-11a5016{max-width:760px}
#e8-fluid-b93f100{max-width:500px}
#e8-fluid-c111974{max-width:600px}
#e8-fluid-4b37366{max-width:1000px}
#e8-fluid-d998429{max-width:680px}
#e8-fluid-fae4b20{max-width:190px}
#e8-fluid-fb386cb{max-width:190px}
#e8-fluid-eb4928a{max-width:190px}
#e8-fluid-623bbc5{max-width:190px}
#e8-fluid-ab80b79{max-width:190px}
#e8-fluid-a636e1a{max-width:190px}
#e8-fluid-c73cbe1{max-width:190px}
#e8-fluid-5ea1024{max-width:600px}
#e8-fluid-64125c7{max-width:1000px}
#e8-fluid-29acdff{max-width:680px}
#e8-fluid-b9c4f44{max-width:260px}
#e8-fluid-59e30a7{max-width:260px}
#e8-fluid-9738e2d{max-width:260px}
#e8-fluid-26d1c94{max-width:760px}
#e8-fluid-a673856{max-width:760px}
#e8-fluid-d012985{max-width:760px}
#e8-fluid-bf723f8{max-width:520px}
#e8-fluid-9f6f325{max-width:600px}
#e8-fluid-cb9c62d{max-width:190px}
#e8-fluid-58d3b9b{max-width:190px}
#e8-fluid-1e6bf60{max-width:190px}
#e8-fluid-ba80c3f{max-width:190px}
#e8-fluid-bd5ac54{max-width:190px}
#e8-fluid-56e0fd6{max-width:190px}
#e8-fluid-7a63c07{max-width:1000px}
#e8-fluid-580fafa{max-width:680px}
#e8-fluid-7c6e9c0{max-width:260px}
#e8-fluid-000cb96{max-width:260px}
#e8-fluid-7e67e2d{max-width:260px}
#e8-fluid-e4bc36c{max-width:520px}
#e8-fluid-7bb3435{max-width:600px}
#e8-fluid-d88f57a{max-width:190px}
#e8-fluid-dce2d1a{max-width:190px}
#e8-fluid-14c719c{max-width:190px}
#e8-fluid-d635c9d{max-width:190px}
#e8-fluid-7c99e08{max-width:190px}
#e8-fluid-2610ea1{max-width:190px}
#e8-fluid-77520e7{max-width:1000px}
#e8-fluid-f2f361a{max-width:680px}
#e8-fluid-dda9ad2{max-width:260px}
#e8-fluid-9a519c7{max-width:260px}
#e8-fluid-a8958de{max-width:260px}
#e8-fluid-51b6eab{max-width:600px}
#e8-fluid-c8e4ec6{max-width:190px}
#e8-fluid-c0e919b{max-width:1000px}
#e8-fluid-9722278{max-width:680px}
#e8-fluid-e3b4fa1{max-width:260px}
#e8-fluid-5ce8e72{max-width:260px}
#e8-fluid-da6413b{max-width:260px}
#e8-fluid-c086437{max-width:600px}
#e8-fluid-9adad7c{max-width:190px}
#e8-fluid-86c9122{max-width:1000px}
#e8-fluid-405a3db{max-width:680px}
#e8-fluid-8db1629{max-width:260px}
#e8-fluid-93daefb{max-width:260px}
#e8-fluid-4e0de94{max-width:260px}
#e8-fluid-9b14008{max-width:600px}
#e8-fluid-92921a3{max-width:190px}
#e8-fluid-04b3690{max-width:1000px}
#e8-fluid-393e8a9{max-width:680px}
#e8-fluid-9b6653c{max-width:260px}
#e8-fluid-5e90843{max-width:260px}
#e8-fluid-49c3949{max-width:260px}
#e8-fluid-c336594{max-width:600px}
#e8-fluid-5b973b7{max-width:190px}
#e8-fluid-47c04a4{max-width:1000px}
#e8-fluid-2ddd54b{max-width:680px}
#e8-fluid-fd4112b{max-width:260px}
#e8-fluid-e81d22a{max-width:260px}
#e8-fluid-cebd6ae{max-width:260px}
#e8-fluid-704f9cf{max-width:600px}
#e8-fluid-9d7ce0d{max-width:190px}
#e8-fluid-19c98da{max-width:1000px}
#e8-fluid-bfbeaa1{max-width:680px}
#e8-fluid-c8ab1ec{max-width:760px}
#e8-fluid-d930add{max-width:760px}
#e8-fluid-88532f2{max-width:760px}
#e8-fluid-c0df9d9{max-width:760px}
#e8-fluid-5e26e12{max-width:260px}
#e8-fluid-1ddc224{max-width:260px}
#e8-fluid-0f5e635{max-width:260px}
#e8-fluid-d5f0293{max-width:600px}
#e8-fluid-ac70d5f{max-width:1000px}
#e8-fluid-885c127{max-width:680px}
#e8-fluid-d4009a7{max-width:500px}
#e8-fluid-ef368b9{max-width:600px}
#e8-fluid-eb02c83{max-width:1000px}
#e8-fluid-7862b4d{max-width:680px}
#e8-fluid-f02af67{max-width:760px}
#e8-fluid-5b4317a{max-width:760px}
#e8-fluid-9dde1af{max-width:760px}
#e8-fluid-4db1c06{max-width:1000px}
#e8-fluid-34c7dff{max-width:680px}
#e8-fluid-3674bf9{max-width:600px}
#e8-fluid-2d7ea4d{max-width:1000px}
#e8-fluid-89b7075{max-width:680px}
#e8-fluid-4f0e93f{max-width:760px}
#e8-fluid-cbb453c{max-width:760px}
#e8-fluid-6b65c18{max-width:760px}
#e8-fluid-547c8c4{max-width:760px}
#e8-fluid-5e6b5fe{max-width:1000px}
#e8-fluid-6e9ce38{max-width:680px}
#e8-fluid-177cc5c{max-width:1000px}
#e8-fluid-a71f155{max-width:1000px}
#e8-fluid-2723813{max-width:460px}
#e8-fluid-36d5a8e{max-width:1000px}
#e8-fluid-628dd83{max-width:680px}
#e8-fluid-0ede74a{max-width:360px}
#e8-fluid-fa22921{max-width:260px}
#e8-fluid-c120253{max-width:260px}
#e8-fluid-6373871{max-width:260px}
#e8-fluid-9ca6bb2{max-width:260px}
#e8-fluid-eae114d{max-width:260px}
#e8-fluid-b403855{max-width:260px}
#e8-fluid-086916d{max-width:190px}
#e8-fluid-281bf36{max-width:190px}
#e8-fluid-01b2ff6{max-width:190px}
#e8-fluid-b4e514e{max-width:190px}
#e8-fluid-ac2c155{max-width:190px}
#e8-fluid-eff01bf{max-width:190px}
#e8-fluid-1a8d658{max-width:190px}
#e8-ccard{max-width:400px}
#e8-fluid-3a78086{max-width:44px}
#e8-fluid-d8afb54{max-width:500px}
#e8-fluid-d7ae5e1{max-width:600px}
/* --- end fluid widths --- */

/* --- e8 chrome --- */
#e8-burger{cursor:pointer;transition:background .2s}
#e8-burger:hover{background:rgba(3,49,140,.06)}
#e8-burger:hover #e8-burger-b2{width:26px}
#e8-burger-b1,#e8-burger-b2,#e8-burger-b3{transition:width .3s,background .3s}
#e8-chat{cursor:pointer;transition:transform .25s,box-shadow .25s}
#e8-chat:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 22px 56px rgba(3,49,140,.5)}
#e8-chat .elementor-widget-image{width:auto;line-height:0}
#e8-chat-logo img{height:30px;width:auto;display:block}
#e8-chat-ping{line-height:0}
#e8-chat-ping i,#e8-chat-ping svg{border:2.5px solid #fff;border-radius:50%;background:#F59E0B;animation:e8ping 1.8s infinite}
@keyframes e8ping{0%,100%{opacity:1}50%{opacity:.25}}
/* --- end e8 chrome --- */

/* --- e8 layout --- */
/* chips are pills that hug their text, not full-width blocks */
.e8-chip{align-self:flex-start!important;width:auto!important;max-width:100%}
/* Elementor ignores the custom grid-columns unit, so the track list lives here */
#e8-bento-row1{--e-con-grid-template-columns:7fr 5fr}
#e8-bento-row2{--e-con-grid-template-columns:1fr 1fr 1fr}
#e8-show-grid{--e-con-grid-template-columns:1fr 1fr}
@media(max-width:1024px){#e8-bento-row1,#e8-bento-row2,#e8-show-grid{--e-con-grid-template-columns:1fr}}
/* amber rule down the left edge of the Smart Sweep card */
#e8-bcard-sweep{border-left-color:#F59E0B!important}
/* --- end e8 layout --- */

/* --- e8 source primitives --- */
/* The source palette. Copy carried over from the HTML build still uses these
   var() names inline, so they have to exist or the colour silently falls back. */
:root{
  --navy:#03318C; --blue:#3182CE; --sky:#0FAEF7; --amber:#F59E0B;
  --raisin:#1A202C; --ink:#1A202C; --mist:#F4F7FB; --paper:#FFFFFF;
  --slate:#5B6B82; --silver:#B5B1B2;
}

/* Buttons written as <a class="btn"> inside text widgets */
.elementor .btn{display:inline-block;padding:13px 26px;border-radius:12px;background:var(--navy);
  color:#fff!important;font-weight:600;font-size:14px;text-decoration:none;border:none;cursor:pointer;
  font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s}
.elementor .btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(3,49,140,.25)}
.elementor .btn.amber{background:var(--amber)}
.elementor .btn.amber:hover{box-shadow:0 14px 34px rgba(245,158,11,.35)}
.elementor .btn.ghost{background:transparent;color:var(--navy)!important;border:1.5px solid rgba(3,49,140,.25)}
.elementor .btn.ghost:hover{border-color:var(--navy);box-shadow:none}
.elementor .btn.ghost.on-dark{color:#fff!important;border-color:rgba(255,255,255,.35)}
.elementor .btn.ghost.on-dark:hover{border-color:#fff}
.elementor .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* The tinted "donor stays in control" note with its amber square */
.elementor .loopnote{margin-top:52px;display:flex;align-items:center;gap:18px;background:var(--mist);
  border-radius:16px;padding:22px 28px}
.elementor .loopnote .sq{width:12px;height:12px;border-radius:24%;background:var(--amber);flex:none}
.elementor .loopnote p{font-size:15px;color:var(--ink);margin:0}
.elementor .loopnote p b{font-weight:600}

/* Amber step arrows between the four loop cells */
#e8-loop-grid > .e-con{position:relative}
#e8-loop-grid > .e-con::after{content:"→";position:absolute;right:-9px;top:44%;font-size:20px;
  color:var(--amber);z-index:2;font-weight:700;line-height:1}
#e8-loop-grid > .e-con:last-child::after{content:""}
@media(max-width:1024px){#e8-loop-grid > .e-con::after{display:none}}

/* Floating "Sponsor give back" pill sits off the card's top-right corner */
#e8-card-pill{left:auto!important;right:26px!important;top:-16px!important;width:auto!important;
  white-space:nowrap;background:#fff;color:var(--navy);border-radius:14px;padding:12px 18px;
  box-shadow:0 18px 44px rgba(0,0,0,.35);z-index:3}
#e8-ccard-logo img{height:30px;width:auto;display:block}
/* --- end e8 source primitives --- */


/* --- e8 deco --- */
#e8-manifesto,#loop,#e8-showcase,#e8-verticals{position:relative}
[id^="e8-deco-"]{pointer-events:none;position:absolute!important;z-index:0}
/* source positions, verbatim from the .plx inline styles */
#e8-deco-man1 {left:6%;right:auto;top:auto;bottom:70px;width:150px;height:150px}
#e8-deco-loop1{right:-60px;left:auto;top:120px;bottom:auto;width:210px;height:210px}
#e8-deco-loop2{left:-24px;right:auto;top:auto;bottom:140px;width:90px;height:90px}
#e8-deco-vert1{right:4%;left:auto;top:40px;bottom:auto;width:170px;height:170px}
/* section head owns the 56px gap; the flex row-gap would double it */
[id^="e8-measure-"]{margin-bottom:0!important}
[id^="e8-measure-"] > .elementor-widget:last-child{margin-bottom:0!important}
/* --- end e8 deco --- */

/* --- e8 type --- */
/* inline links inside body copy are underlined in the source */
.elementor-widget-text-editor a:not(.btn){text-decoration:underline}
#e8-footer-logo img{height:30px;width:auto}
/* --- end e8 type --- */



/* --- e8 split --- */
#e8-split-bigger{--e-con-grid-template-columns:1.05fr .95fr;--e-con-grid-template-rows:auto;justify-items:stretch}
#e8-split-bigger > .e-con{width:100%;max-width:100%}
@media(max-width:1024px){#e8-split-bigger{--e-con-grid-template-columns:1fr}}
/* --- end e8 split --- *//* End custom CSS */