/* Shared shell, navigation, footer and CEO components. */
.em-page-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:70;pointer-events:none;background:rgba(20,41,29,.06)}
.em-page-progress__fill{position:absolute;inset:0;transform:scaleX(var(--em-page-progress,0));transform-origin:left center;background:var(--em-color-green,#23843b)}
.em-page-progress__leaf{position:absolute;top:-8px;left:0;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--em-color-green,#23843b);box-shadow:0 2px 0 rgba(0,0,0,.15);transform:translateX(var(--em-page-leaf-position,0px))}
.em-page-progress__leaf svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.em-menu-lock .em-page-progress{opacity:0}

.em-site{--forest:var(--em-color-forest,#102a1b);--green:var(--em-color-green,#23843b);--ink:#24352b;--muted:#657268;--gold:var(--em-color-gold,#d9a441);--ivory:var(--em-color-canvas,#f0ebdd);--sage:var(--em-color-sage,#e3ebe2);--paper:#fbfaf5;--line:#dce3d9;width:100%;max-width:none;color:var(--ink);font-family:var(--em-font-body,Geist,Arial,sans-serif)}
.em-site,.em-site *{box-sizing:border-box}
.em-site.e-con{padding:0!important;gap:0!important;--gap:0px;--row-gap:0px;--column-gap:0px}
.em-site>.elementor-widget-shortcode{width:100%;margin:0!important}
:is(.em-home,.em-site) .em-footer-brand p{max-width:270px;margin:0;color:#aebdb1;font:400 13px/1.6 var(--em-font-body,Geist,Arial,sans-serif)}
:is(.em-home,.em-site) .em-footer .em-footer-nav{display:grid;gap:12px}
:is(.em-home,.em-site) .em-footer .em-footer-grid>div{min-width:0}
body.em-managed-page .the-content-parent>.elementor{width:100%!important;max-width:none!important;margin-inline:0!important}
body.em-managed-page .meta-header-inside,body.em-managed-page .limit-wrapper:has(>.meta-header-inside){display:none!important}
body.em-managed-page .elementor-location-header,body.em-managed-page .elementor-location-footer{display:none!important}

:is(.em-home,.em-site) .em-wrap{width:min(1228px,calc(100% - 136px));max-width:1228px;margin-inline:auto}

/* Calm full-width Heart-inspired header. */
:is(.em-home,.em-site) .em-home-header{position:relative;z-index:10;width:100%;max-width:none;background:var(--ivory);border-bottom:1px solid #e2dece;padding:14px 0}

:is(.em-home,.em-site) .em-header-row{display:flex;align-items:center;justify-content:space-between;gap:26px}

:is(.em-home,.em-site) .em-logo img{display:block;width:168px;height:auto}

:is(.em-home,.em-site) .em-nav-inner{display:flex;align-items:center;gap:28px;margin-left:auto;margin-right:0}

:is(.em-home,.em-site) .em-nav-inner a{color:var(--forest);font:500 17px/1.25 var(--em-font-body,Arial,sans-serif);letter-spacing:0;text-decoration:none}

:is(.em-home,.em-site) .em-nav-inner a:hover{color:var(--green)}

:is(.em-home,.em-site) .em-nav-inner .em-donate-link{font-weight:700;border-bottom:1px solid #98ad98;padding:7px 0;margin-left:5px}

:is(.em-home,.em-site) .em-nav-state-name{padding:0 3px;margin:0 -3px;background:linear-gradient(#F5DC9F,#F5DC9F) 0 88%/0 38% no-repeat;transition:background-size .5s cubic-bezier(.2,.8,.3,1)}

:is(.em-home,.em-site) .em-nav-inner a[aria-current="page"] .em-nav-state-name,
:is(.em-home,.em-site) .em-nav-inner a[aria-current="location"] .em-nav-state-name,
:is(.em-home,.em-site) .em-menu-mobile a[aria-current="page"] .em-nav-state-name,
:is(.em-home,.em-site) .em-menu-mobile a[aria-current="location"] .em-nav-state-name{background-size:100% 38%;animation:em-nav-highlight .5s cubic-bezier(.2,.8,.3,1) both,em-nav-land .55s cubic-bezier(.3,1.6,.5,1) both}

@keyframes em-nav-highlight{from{background-size:0 38%}to{background-size:100% 38%}}

@keyframes em-nav-land{from{transform:translateY(8px) scale(.94);opacity:.4}to{transform:translateY(0) scale(1);opacity:1}}

:is(.em-home,.em-site) .em-mobile-toggle,:is(.em-home,.em-site) .em-menu-mobile{display:none}

/* CEO note: arch portrait, small stickers, and a quote that aligns with its label. */
:is(.em-home,.em-site) .em-leader{display:block!important;background:var(--ivory,#f0ebdd)!important;padding:72px 20px 84px!important;overflow:hidden!important}

:is(.em-home,.em-site) .em-leader .em-ceo-grid{display:grid!important;width:100%!important;max-width:1000px!important;margin:0 auto!important;grid-template-columns:minmax(0,1fr)!important;gap:56px!important;align-items:center!important}

:is(.em-home,.em-site) .em-leader .em-ceo-grid.has-photo{grid-template-columns:minmax(0,1fr)!important}

:is(.em-home,.em-site) .em-leader .em-ceo-grid,:is(.em-home,.em-site) .em-leader .em-ceo-grid *{box-sizing:border-box}

:is(.em-home,.em-site) .em-leader .em-ceo-photo-wrap{position:relative;width:min(100%,400px);aspect-ratio:1/1.08;margin:0 auto;transition:opacity .6s,transform 1s cubic-bezier(.3,1.5,.5,1)}

:is(.em-home,.em-site) .em-leader.em-ceo-ready .em-ceo-photo-wrap{opacity:0;transform:translateY(50px) rotate(-7deg)}

:is(.em-home,.em-site) .em-leader.em-ceo-in .em-ceo-photo-wrap{opacity:1;transform:none}

:is(.em-home,.em-site) .em-leader .em-ceo-backing{position:absolute;inset:0;background:#cde8d8;border-radius:999px 999px 26px 26px;transform:translate(16px,16px) rotate(3deg)}

:is(.em-home,.em-site) .em-leader .em-ceo-photo{position:relative;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 32%;border-radius:999px 999px 26px 26px!important;transform:rotate(-2deg)!important;transition:transform .55s cubic-bezier(.3,1.7,.5,1)!important}

:is(.em-home,.em-site) .em-leader .em-ceo-photo-wrap:hover .em-ceo-photo,:is(.em-home,.em-site) .em-leader .em-ceo-photo-wrap.em-ceo-hover .em-ceo-photo{transform:rotate(0) scale(1.03)!important}

:is(.em-home,.em-site) .em-leader .em-ceo-sticker{position:absolute;z-index:3;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--sticker-bg);box-shadow:0 5px 0 rgba(20,41,29,.15);pointer-events:none}

:is(.em-home,.em-site) .em-leader.em-ceo-ready .em-ceo-sticker{transform:scale(0)}

:is(.em-home,.em-site) .em-leader .em-ceo-sticker svg{width:30px;height:30px;fill:none;stroke:#14291d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

:is(.em-home,.em-site) .em-leader .em-ceo-sticker.s1{--sticker-bg:#f5dc9f;--rot:12deg;--delay:.5s;top:-6px;right:-4px}

:is(.em-home,.em-site) .em-leader .em-ceo-sticker.s2{--sticker-bg:#f4d1c8;--rot:-10deg;--delay:.7s;bottom:34px;left:-24px}

:is(.em-home,.em-site) .em-leader .em-ceo-sticker.s3{--sticker-bg:#d3e2f3;--rot:8deg;--delay:.9s;bottom:-14px;right:28px;width:54px;height:54px}

:is(.em-home,.em-site) .em-leader.em-ceo-in .em-ceo-sticker{animation:em-ceo-pop .6s cubic-bezier(.3,1.7,.5,1) forwards,em-ceo-bob 3.4s ease-in-out infinite;animation-delay:calc(.6s + var(--delay)),calc(1.3s + var(--delay))}

@keyframes em-ceo-pop{from{transform:scale(0) rotate(-40deg)}to{transform:scale(1) rotate(var(--rot))}}

@keyframes em-ceo-bob{0%,100%{transform:translateY(0) rotate(var(--rot))}50%{transform:translateY(-9px) rotate(calc(var(--rot) * -1))}}

:is(.em-home,.em-site) .em-leader .em-ceo-copy{min-width:0;color:#14291d}

:is(.em-home,.em-site) .em-leader .em-ceo-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px!important;color:var(--green,#23843b)!important;font:700 11px/1.35 var(--em-font-body,Geist,system-ui,sans-serif)!important;letter-spacing:.17em;text-transform:uppercase}

:is(.em-home,.em-site) .em-leader .em-ceo-eyebrow:before{content:"";width:34px;height:2px;background:currentColor;flex:none}

:is(.em-home,.em-site) .em-leader .em-ceo-qmark{display:block;height:44px;color:var(--gold,#d9a441);font:500 84px/.7 var(--em-font-heading,Newsreader,Georgia,serif)}

:is(.em-home,.em-site) .em-leader .em-ceo-copy blockquote{display:block!important;width:auto!important;margin:0 0 26px!important;padding:0!important;border:0!important;text-indent:0!important;color:#14291d!important;font:500 clamp(27px,3.6vw,38px)/1.3 var(--em-font-heading,Newsreader,Georgia,serif)!important;letter-spacing:-.01em!important}

:is(.em-home,.em-site) .em-leader .em-ceo-copy blockquote:before{content:none!important}

:is(.em-home,.em-site) .em-leader .em-ceo-hl{padding:0 2px;background:linear-gradient(transparent 60%,#f5dc9f 60%,#f5dc9f 92%,transparent 92%) no-repeat;background-size:100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s ease}

:is(.em-home,.em-site) .em-leader .em-ceo-hl.second{background-image:linear-gradient(transparent 60%,#cde8d8 60%,#cde8d8 92%,transparent 92%)}

:is(.em-home,.em-site) .em-leader.em-ceo-ready .em-ceo-hl{background-size:0 100%}

:is(.em-home,.em-site) .em-leader.em-ceo-in .em-ceo-hl{background-size:100% 100%;transition-delay:1s}

:is(.em-home,.em-site) .em-leader.em-ceo-in .em-ceo-hl.second{transition-delay:1.7s}

:is(.em-home,.em-site) .em-leader .em-ceo-name{margin:0!important;color:#14291d!important;font:700 16px/1.4 var(--em-font-body,Geist,system-ui,sans-serif)!important}

:is(.em-home,.em-site) .em-leader .em-ceo-role{margin:2px 0 12px!important;color:var(--muted,#6b7a70)!important;font:400 14px/1.4 var(--em-font-body,Geist,system-ui,sans-serif)!important}

:is(.em-home,.em-site) .em-leader .em-ceo-signature{display:block!important;width:max-content;max-width:100%;margin:12px 0 0!important;padding:0 4px 2px 0!important;color:var(--green,#23843b)!important;font:600 clamp(34px,3.2vw,42px)/1.05 Caveat,cursive!important;letter-spacing:-.025em!important;text-transform:none!important;transform:rotate(-2deg);transform-origin:left center}

:is(.em-home,.em-site) .em-leader .em-ceo-signature-image{width:min(100%,280px);padding:0!important;line-height:1!important;transform:none}

:is(.em-home,.em-site) .em-leader .em-ceo-signature-image img{display:block!important;width:100%!important;max-width:280px!important;max-height:100px!important;height:auto!important;object-fit:contain!important;object-position:left center!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@media(min-width:860px){:is(.em-home,.em-site) .em-leader .em-ceo-grid.has-photo{grid-template-columns:minmax(0,5fr) minmax(0,6fr)!important;gap:72px!important}}
@media(max-width:600px){:is(.em-home,.em-site) .em-leader{padding:50px 20px 60px!important}
:is(.em-home,.em-site) .em-leader .em-ceo-grid{gap:48px!important}
:is(.em-home,.em-site) .em-leader .em-ceo-photo-wrap{width:min(100%,330px)}
:is(.em-home,.em-site) .em-leader .em-ceo-sticker.s2{left:-12px}
:is(.em-home,.em-site) .em-leader .em-ceo-copy blockquote{font-size:clamp(27px,7.4vw,34px)!important}}
@media(prefers-reduced-motion:reduce){:is(.em-home,.em-site) .em-leader *, :is(.em-home,.em-site) .em-leader *:before,:is(.em-home,.em-site) .em-leader *:after{animation:none!important;transition:none!important}
:is(.em-home,.em-site) .em-leader .em-ceo-photo-wrap{opacity:1!important;transform:none!important}
:is(.em-home,.em-site) .em-leader .em-ceo-sticker{transform:scale(1) rotate(var(--rot))!important}
:is(.em-home,.em-site) .em-leader .em-ceo-hl{background-size:100% 100%!important}
:is(.em-home,.em-site) .em-leader .em-ceo-signature{transform:none}}

:is(.em-home,.em-site) .em-footer{width:100%;background:#0b2115;color:#e7eee6;padding:42px 0 22px}

:is(.em-home,.em-site) .em-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:30px;border-bottom:1px solid #ffffff24}

:is(.em-home,.em-site) .em-footer-logo,:is(.em-home,.em-site) .em-footer-logo .elementor-widget-container{text-align:left!important;align-self:flex-start}

:is(.em-home,.em-site) .em-footer-logo img{display:block!important;width:158px;margin:0!important;filter:brightness(0) invert(1)}

:is(.em-home,.em-site) .em-footer .elementor-widget-text-editor{max-width:270px;font-size:13px!important;line-height:1.6!important;color:#aebdb1}

:is(.em-home,.em-site) .em-footer h4{font:700 10px/1.4 var(--em-font-body,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#d6b866;margin:4px 0 16px}

:is(.em-home,.em-site) .em-footer a{display:block;color:#e7eee6!important;text-decoration:none;font:400 15px/1.5 var(--em-font-body,Arial,sans-serif)!important;margin:0}

:is(.em-home,.em-site) .em-footer .elementor-heading-title{color:#e7eee6!important;font:inherit!important;letter-spacing:0!important;line-height:1.5!important}

:is(.em-home,.em-site) .em-footer a:hover{color:var(--gold)!important}

:is(.em-home,.em-site) .em-footer .em-socials{display:flex;gap:9px}
:is(.em-home,.em-site) .em-footer .em-socials a{display:grid;place-items:center;width:35px;height:35px;margin:0;border:1px solid #ffffff45;border-radius:50%;color:#eef3ec}

:is(.em-home,.em-site) .em-socials a:hover{border-color:var(--gold);background:#ffffff17;transform:translateY(-2px)}

:is(.em-home,.em-site) .em-socials svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

:is(.em-home,.em-site) .em-socials .em-solid{fill:currentColor;stroke:none}

:is(.em-home,.em-site) .em-footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:17px;font:400 10px/1.5 var(--em-font-body,Arial,sans-serif);color:#96a69a}
@media(max-width:1024px){
 :is(.em-home,.em-site) .em-wrap{width:calc(100% - 64px);max-width:960px}

 :is(.em-home,.em-site) .em-nav-inner{gap:20px}
:is(.em-home,.em-site) .em-nav-inner a{font-size:15px}

 :is(.em-home,.em-site) .em-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:24px}}
@media(max-width:920px){
 :is(.em-home,.em-site) .em-header-row{position:relative}

 :is(.em-home,.em-site) .em-nav-inner{display:none}

 :is(.em-home,.em-site) .em-mobile-toggle{display:inline-grid;place-items:center;margin-left:auto;width:42px;height:42px;padding:0;border:1px solid #102a1b35;border-radius:50%;background:transparent;color:var(--forest);cursor:pointer}

 :is(.em-home,.em-site) .em-mobile-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

 :is(.em-home,.em-site) .em-mobile-toggle .em-icon-close{display:none}

 :is(.em-home,.em-site) .em-mobile-toggle.is-open .em-icon-menu{display:none}

 :is(.em-home,.em-site) .em-mobile-toggle.is-open .em-icon-close{display:block}

 :is(.em-home,.em-site) .em-mobile-toggle,:is(.em-home,.em-site) .em-logo{position:relative;z-index:14}

 :is(.em-home,.em-site) .em-menu-backdrop{display:none}

 :is(.em-home,.em-site) .is-menu-open .em-menu-backdrop{display:block;position:fixed;z-index:11;inset:0;background:#102a1b48;backdrop-filter:blur(3px);animation:em-menu-fade .25s ease both}

 :is(.em-home,.em-site) .em-menu-mobile.is-open{display:flex;flex-direction:column;position:absolute;z-index:13;top:calc(100% + 14px);left:calc((100% - 100vw)/2);width:100vw;max-height:calc(100dvh - 90px);overflow-y:auto;gap:0;padding:28px max(32px,calc((100vw - 960px)/2));background:var(--ivory);border-top:1px solid var(--line);box-shadow:0 20px 32px #13231918;animation:em-menu-enter .3s cubic-bezier(.2,.7,.2,1) both}

 :is(.em-home,.em-site) .em-menu-title{font:600 11px/1.4 var(--em-font-body,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:15px}

 :is(.em-home,.em-site) .em-menu-mobile a{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #102a1b18;color:var(--forest);font:500 28px/1.2 var(--em-font-heading,"Newsreader",Georgia,serif);text-decoration:none}

 :is(.em-home,.em-site) .em-menu-mobile .em-menu-number{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;font:500 11px/1 var(--em-font-body,Arial,sans-serif);color:#657268;letter-spacing:.05em;transition:background .3s,color .3s,transform .45s cubic-bezier(.3,2.2,.5,1)}

 :is(.em-home,.em-site) .em-menu-mobile a[aria-current="page"] .em-menu-number{background:#23843B;color:#fff;transform:scale(1.12)}

 :is(.em-home,.em-site) .em-menu-mobile a[aria-current="location"] .em-menu-number{background:#CDE8D8;color:#14291D;transform:scale(1.08)}

 :is(.em-home,.em-site) .em-menu-mobile .em-action-slot{position:relative}

 :is(.em-home,.em-site) .em-menu-mobile .em-action-slot svg{transition:transform .3s cubic-bezier(.3,1.8,.5,1),opacity .2s}

 :is(.em-home,.em-site) .em-menu-mobile a[aria-current="page"] .em-action-slot svg,:is(.em-home,.em-site) .em-menu-mobile a[aria-current="location"] .em-action-slot svg{opacity:0;transform:scale(.4)}

 :is(.em-home,.em-site) .em-menu-mobile .em-nav-active-dot{position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:50%;background:#23843B;transform:translate(-50%,-50%) scale(0);transition:transform .45s cubic-bezier(.3,2.4,.5,1)}

 :is(.em-home,.em-site) .em-menu-mobile a[aria-current="page"] .em-nav-active-dot,:is(.em-home,.em-site) .em-menu-mobile a[aria-current="location"] .em-nav-active-dot{transform:translate(-50%,-50%) scale(1);animation:em-nav-beat 2.4s ease-in-out 1s infinite}

 @keyframes em-nav-beat{50%{transform:translate(-50%,-50%) scale(1.35);opacity:.6}}

 :is(.em-home,.em-site) .em-menu-mobile a .em-link-icon{margin-left:auto}

 :is(.em-home,.em-site) .em-menu-mobile .em-donate-link{display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-self:stretch;align-items:center;justify-content:flex-start!important;gap:16px;margin:16px 0 0!important;padding:16px 14px!important;background:var(--green);color:#fff;font:600 16px/1.3 var(--em-font-body,Arial,sans-serif);border:0;border-radius:3px}

 :is(.em-home,.em-site) .em-menu-mobile .em-donate-link .em-menu-number{color:#fff;flex:none}

 :is(.em-home,.em-site) .em-menu-mobile .em-donate-link>.em-nav-state-name{flex:1;min-width:0;text-align:left}

 :is(.em-home,.em-site) .em-menu-mobile .em-donate-link .em-action-slot{flex:none;margin-left:auto!important}

 :is(.em-home,.em-site) .em-menu-note{font:400 13px/1.6 var(--em-font-body,Arial,sans-serif);color:var(--muted);margin:18px 0 0}}

html.em-menu-lock{overflow:hidden}

@keyframes em-menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

@keyframes em-menu-fade{from{opacity:0}to{opacity:1}}
@media(max-width:640px){
 :is(.em-home,.em-site) .em-wrap{width:calc(100% - 36px);max-width:none}

 :is(.em-home,.em-site) .em-home-header{padding:12px 0}
:is(.em-home,.em-site) .em-logo img{width:144px}

 :is(.em-home,.em-site) .em-footer{padding:32px 0 18px}
:is(.em-home,.em-site) .em-footer-grid{grid-template-columns:1fr 1fr;gap:20px 16px}

 :is(.em-home,.em-site) .em-footer-grid>:first-child{grid-column:1/-1}
:is(.em-home,.em-site) .em-footer-logo img{width:148px}

 :is(.em-home,.em-site) .em-footer .elementor-widget-text-editor{font-size:14px!important}
:is(.em-home,.em-site) .em-footer a{font-size:14px!important}
:is(.em-home,.em-site) .em-footer h4{margin-bottom:11px}

 :is(.em-home,.em-site) .em-menu-mobile.is-open{top:calc(100% + 12px);padding:24px 18px}

 :is(.em-home,.em-site) .em-footer-bottom{font-size:10px}
:is(.em-home,.em-site) .em-footer-bottom>:last-child{display:none}}

.em-site a{transition:color .2s,background-color .2s,transform .2s}
