*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--base-font-size);line-height:1.65;color:#243129;background:#fff;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(100% - 48px,1320px);margin-inline:auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;padding:10px 16px;border:1px solid #ddd}.skip-link:focus{top:16px}.eyebrow,.hero-kicker,.card-kicker{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.18;margin:0 0 .7em;color:#17251b}h1{font-size:clamp(2.45rem,5vw,4.8rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.3vw,3.2rem);letter-spacing:-.035em}h3{font-size:1.18rem;letter-spacing:-.02em}p{margin:0 0 1em}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:3px;border:1px solid transparent;font-weight:600;font-size:.92rem;transition:.18s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.92)}.btn-outline{border-color:#b9c4bc;color:#183424;background:#fff}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-light{background:#fff;color:#173523}.btn-ghost-light{color:#fff;border-color:rgba(255,255,255,.65);background:transparent}.btn-ghost-light:hover{background:rgba(255,255,255,.1)}.text-link{display:inline-flex;gap:6px;align-items:center;color:var(--primary);font-weight:600;font-size:.9rem}.text-link:hover{text-decoration:underline}

/* Utility + header: intentionally plain and institutional. */
.utility-bar{background:#f4f6f2;border-bottom:1px solid #e6ebe5;color:#45544a;font-size:.78rem}.utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}.utility-contact,.utility-actions{display:flex;align-items:center;gap:18px}.utility-contact a:hover,.staff-link:hover{color:var(--primary)}.language-switcher{display:flex;gap:7px;align-items:center}.language-switcher a{font-weight:600;color:#66736a}.language-switcher a.active{color:var(--primary)}.staff-link{font-weight:600;border-left:1px solid #d8ded8;padding-left:18px}.site-header{position:sticky;top:0;z-index:1000;background:var(--header-bg);border-bottom:1px solid #e9ece8}.nav-wrap{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;min-width:240px}.brand-logo{width:auto;height:58px;max-width:300px;object-fit:contain}.brand-fallback{font-weight:700;font-size:1.4rem;color:var(--primary)}.main-nav{display:flex;align-items:center;gap:4px}.main-nav>a{padding:30px 10px 27px;white-space:nowrap;font-size:.88rem;font-weight:600;color:var(--header-text);border-bottom:3px solid transparent}.main-nav>a:hover,.main-nav>a.active{color:var(--primary);border-bottom-color:var(--primary)}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;height:2px;background:#243129;margin:6px 0}

/* Hero */
.component-hero{position:relative;background:#152b1e;color:#fff;min-height:620px;padding:0!important;overflow:hidden}.hero-slider{position:relative;min-height:620px}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease}.hero-slide.is-active{opacity:1;visibility:visible;z-index:2}.hero-media{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}.hero-media video{background:#122519}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,32,22,.88) 0%,rgba(15,32,22,.75) 37%,rgba(15,32,22,.28) 68%,rgba(15,32,22,.08) 100%)}.hero-inner{position:relative;z-index:3;min-height:620px;display:flex;align-items:center;padding-top:56px;padding-bottom:82px}.hero-content{max-width:720px;color:#fff}.hero-content h1{color:#fff;margin:.22em 0 .32em;font-weight:700}.hero-content p{font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.72;max-width:680px;color:rgba(255,255,255,.92)}.hero-kicker{color:#fff;display:inline-flex;align-items:center;gap:10px}.hero-kicker:before{content:"";width:28px;height:2px;background:var(--accent)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-controls-wrap{position:absolute;left:0;right:0;bottom:28px;z-index:6}.hero-controls{display:flex;align-items:center;gap:12px;color:#fff}.hero-controls>button{border:0;background:transparent;color:#fff;padding:5px 2px;font-weight:600}.hero-dots{display:flex;gap:7px}.hero-dots button{width:28px;height:3px;border:0;padding:0;background:rgba(255,255,255,.45);transition:.2s}.hero-dots button.is-active{background:#fff;width:46px}.hero-pause{font-size:.75rem;margin-left:3px;opacity:.85}

/* Generic sections */
.managed-section{position:relative;padding:88px 0;background:#fff}.section-overlay{position:absolute;inset:0;pointer-events:none}.section-inner{position:relative;z-index:1}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading>div{max-width:780px}.section-heading h2{margin:.15em 0 .28em}.section-heading p{color:#66736a;max-width:720px}.section-heading.centered{text-align:center;justify-content:center}.text-section{max-width:900px}.text-section.centered{text-align:center;margin-inline:auto}.rich-copy{white-space:normal;line-height:1.8;color:#46534b}.rich-copy+.btn{margin-top:24px}.section-note{font-size:.78rem;color:#78837c;margin-top:20px}

/* Program cards: no gradients, no floating icon ornaments. */
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program-card{border:1px solid #dde4dd;background:#fff;min-height:100%;overflow:hidden;display:flex;flex-direction:column}.program-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8eee9}.program-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.program-card-body{padding:24px 24px 25px;display:flex;flex-direction:column;flex:1}.program-card h3{font-size:1.18rem;margin:8px 0 12px}.program-card p{color:#66736a;font-size:.9rem}.program-card .text-link{margin-top:auto;padding-top:10px}.program-card:hover .program-card-media img{transform:scale(1.035)}

/* Approach + impact */
.approach-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #dfe5df;border-bottom:1px solid #dfe5df}.approach-grid article{padding:28px 24px 30px;border-right:1px solid #dfe5df}.approach-grid article:last-child{border-right:0}.approach-grid article>span{font-size:.73rem;color:var(--primary);font-weight:700}.approach-grid h3{font-size:1rem;margin:14px 0 8px}.approach-grid p{font-size:.85rem;color:#6b776f;margin:0}.pathway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pathway-grid article{background:#f6f8f5;border:1px solid #e1e6df;padding:26px 24px}.pathway-index{font-size:.72rem;font-weight:700;color:var(--primary);margin-bottom:28px}.pathway-grid p{font-size:.88rem;color:#657168;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{border:1px solid #dde3dc;padding:30px 24px;background:#fff}.stat-card strong{display:block;font-size:2rem;color:var(--primary);margin-bottom:6px}.stat-card span{font-weight:600}

/* Strategic themes */
.thematic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.thematic-card{border:1px solid #e1e5df;background:#fff}.thematic-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.thematic-card div{padding:16px}.thematic-card h3{font-size:.94rem;margin:0}.thematic-card p{font-size:.8rem;color:#6c776f;margin:.4em 0 0}

/* Real field-photo gallery */
.field-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:220px;gap:12px}.field-photo{position:relative;margin:0;overflow:hidden;background:#e9ede8}.field-photo:nth-child(1){grid-row:span 2}.field-photo:nth-child(4){grid-column:span 2}.field-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.field-photo:hover img{transform:scale(1.015)}.field-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}.field-photo figcaption strong{display:block;font-size:.86rem}.field-photo figcaption span{display:block;font-size:.75rem;opacity:.88;margin-top:3px}

/* Standard content cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.content-card{border:1px solid #e0e5df;background:#fff}.card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#edf0ec}.card-image img{width:100%;height:100%;object-fit:cover}.card-body{padding:22px}.card-body h2,.card-body h3{font-size:1.08rem;margin:.45em 0}.card-body p{font-size:.88rem;color:#69756d}.card-kicker{font-size:.68rem}.meta-line{font-size:.78rem;color:#6b776f}

/* CTA */
.component-cta{background:var(--primary)!important;color:#fff}.component-cta .eyebrow,.component-cta h2{color:#fff}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:60px}.cta-panel>div{max-width:760px}.cta-panel p{color:rgba(255,255,255,.88);margin:0}

/* Inner pages */
.page-hero{padding:68px 0 58px;background:#f4f6f2;border-bottom:1px solid #e2e7e1}.page-hero h1{font-size:clamp(2.3rem,4vw,3.8rem);margin:.1em 0}.page-hero p{max-width:760px;color:#66736a}.listing-section,.contact-section{padding:70px 0}.empty-state{padding:38px;border:1px solid #e1e5df;background:#fafbfa}.detail-hero{padding:68px 0;background:#f4f6f2}.detail-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.detail-image{width:100%;aspect-ratio:4/3;object-fit:cover}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;color:#627067;font-size:.82rem}.detail-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;padding-top:66px;padding-bottom:80px}.article-body .lead{font-size:1.1rem}.detail-sidebar{position:relative}.sidebar-card{position:sticky;top:120px;border:1px solid #dde3dc;padding:24px}.btn-block{width:100%;margin-top:10px}.notice-demo,.demo-badge{display:inline-block;background:#fff3d3;color:#805f0a;font-size:.74rem;padding:5px 8px}.donation-panel{display:grid;grid-template-columns:1fr 1fr;gap:48px;border:1px solid #dde3dc;padding:34px}.donation-details>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e9e5;padding:10px 0}.donation-details span{color:#6a766e}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-card{border:1px solid #e0e5df;padding:18px}.contact-card strong,.contact-card span{display:block}.contact-card span{font-size:.84rem;color:#68746c;margin-top:5px}.safeguarding-note{margin-top:20px;background:#f6f8f5;padding:18px;border-left:3px solid var(--primary)}.form-card{border:1px solid #dfe5df;padding:30px}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:6px;font-size:.84rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;border:1px solid #cfd7d0;border-radius:2px;padding:11px 12px;background:#fff;color:#243129}textarea{resize:vertical}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.check-line input{width:auto;margin-top:5px}.alert{padding:12px 14px;margin-bottom:14px}.alert.success{background:#eef8ef;color:#2b6335}.alert.error{background:#fff0ed;color:#813323}

/* Footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:68px 0 18px}.footer-main{display:grid;grid-template-columns:1.1fr 1.35fr 1fr;gap:56px}.footer-logo{height:66px;width:auto;max-width:260px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}.footer-intro p{font-size:.85rem;opacity:.78;max-width:360px;margin-top:18px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.footer-links h4,.footer-newsletter h4{color:#fff;font-size:.86rem;margin-bottom:14px}.footer-links a{display:block;font-size:.8rem;opacity:.76;margin:8px 0}.footer-links a:hover{opacity:1}.footer-newsletter p{font-size:.8rem;opacity:.75}.newsletter-form{display:flex;margin:16px 0}.newsletter-form input{border:0;border-radius:2px 0 0 2px}.newsletter-form button{border:0;background:var(--accent);padding:0 16px;font-weight:600;border-radius:0 2px 2px 0}.footer-contact-lines{display:grid;gap:5px;font-size:.77rem;opacity:.75}.social-links{display:flex;gap:8px;margin-top:18px}.social-links a{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;border-radius:50%}.social-links a:hover{background:#fff;color:var(--footer-bg)}.social-svg{width:15px;height:15px;display:block;position:relative}.icon-facebook:before{content:"f";font-weight:700;font-size:16px;position:absolute;left:5px;top:-4px}.icon-instagram{border:1.7px solid currentColor;border-radius:4px}.icon-instagram:before{content:"";position:absolute;width:5px;height:5px;border:1.5px solid currentColor;border-radius:50%;left:3.3px;top:3.3px}.icon-instagram:after{content:"";position:absolute;width:2px;height:2px;background:currentColor;border-radius:50%;right:2px;top:2px}.icon-linkedin:before{content:"in";font-size:10px;font-weight:700;position:absolute;left:2px;top:-1px}.icon-youtube:before{content:"▶";font-size:12px;position:absolute;left:2px;top:-2px}.icon-whatsapp:before{content:"☎";font-size:14px;position:absolute;top:-4px}.icon-x:before{content:"X";font-size:12px;font-weight:700;position:absolute;left:2px;top:-2px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:48px;padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;opacity:.66}.back-to-top{position:fixed;right:22px;bottom:22px;width:40px;height:40px;border-radius:50%;border:1px solid #d8dfd8;background:#fff;color:var(--primary);z-index:900;opacity:0;pointer-events:none;transition:.2s}.back-to-top.is-visible{opacity:1;pointer-events:auto}

@media (max-width:1060px){.container{width:min(100% - 36px,1320px)}.nav-wrap{min-height:76px}.brand-logo{height:50px}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e5e9e4;display:none;padding:8px 18px 20px;box-shadow:0 16px 30px rgba(20,35,25,.08)}.main-nav.open{display:grid}.main-nav>a{padding:14px 8px;border-bottom:1px solid #edf0ec}.program-grid{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:repeat(3,1fr)}.approach-grid article{border-bottom:1px solid #dfe5df}.pathway-grid{grid-template-columns:repeat(2,1fr)}.thematic-grid{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.footer-newsletter{grid-column:1/-1}.detail-hero-grid,.detail-body-grid,.contact-grid{grid-template-columns:1fr}.detail-sidebar{max-width:500px}.field-gallery{grid-template-columns:1fr 1fr}.field-photo:nth-child(4){grid-column:auto}}
@media (max-width:700px){.container{width:min(100% - 28px,1320px)}.utility-contact a[href^="tel"]{display:none}.utility-inner{min-height:34px}.utility-actions{gap:12px}.brand-logo{height:44px;max-width:230px}.managed-section{padding:64px 0}.component-hero,.hero-slider,.hero-inner{min-height:560px}.hero-inner{align-items:flex-end;padding-bottom:118px}.hero-shade{background:linear-gradient(180deg,rgba(15,32,22,.15) 0%,rgba(15,32,22,.78) 58%,rgba(15,32,22,.93) 100%)}.hero-content h1{font-size:clamp(2.2rem,11vw,3.2rem)}.hero-actions{margin-top:22px}.hero-actions .btn{width:100%}.section-heading{display:block}.section-heading .text-link{margin-top:14px}.program-grid,.approach-grid,.pathway-grid,.thematic-grid,.card-grid,.stats-grid,.contact-cards,.form-row,.footer-main,.footer-links{grid-template-columns:1fr}.approach-grid{border:0}.approach-grid article{border:1px solid #dfe5df;margin-bottom:8px}.field-gallery{grid-template-columns:1fr;grid-auto-rows:260px}.field-photo:nth-child(1){grid-row:auto}.field-photo:nth-child(4){grid-column:auto}.cta-panel{display:block}.cta-panel .btn{margin-top:22px}.donation-panel{grid-template-columns:1fr;padding:24px}.footer-main{display:grid}.footer-links{grid-template-columns:1fr 1fr}.footer-newsletter{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}}

/* v8 refinements: text-led archive cards and optional detail imagery. */
.content-card.no-image .card-body{padding-top:28px;min-height:230px}.detail-hero-grid.single-column{grid-template-columns:minmax(0,860px);justify-content:start}.detail-hero-grid.single-column>div{max-width:860px}

/* 2026-10 JRO content + interaction upgrade */
.utility-actions>a:not(.staff-link){font-weight:600;color:#66736a}.utility-actions>a:not(.staff-link):hover{color:var(--primary)}

/* Accessible dropdown navigation */
.main-nav{gap:2px}.nav-item{position:relative}.nav-root-row{display:flex;align-items:stretch}.nav-item>.nav-root-row>a,.nav-item:not(.has-dropdown)>a{display:flex;align-items:center;padding:30px 9px 27px;white-space:nowrap;font-size:.84rem;font-weight:650;color:var(--header-text);border-bottom:3px solid transparent}.nav-item>.nav-root-row>a:hover,.nav-item>.nav-root-row>a.active,.nav-item:not(.has-dropdown)>a:hover,.nav-item:not(.has-dropdown)>a.active{color:var(--primary);border-bottom-color:var(--primary)}.dropdown-toggle{width:22px;border:0;background:transparent;color:#66736a;padding:0 4px 3px 0;font-size:1rem}.dropdown-toggle span{display:block;transition:transform .18s ease}.nav-item.open .dropdown-toggle span{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% - 1px);left:-14px;width:310px;background:#fff;border:1px solid #e2e7e1;border-top:3px solid var(--primary);box-shadow:0 18px 45px rgba(18,39,25,.13);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:1100}.dropdown-menu-right{left:auto;right:0}.dropdown-menu a{display:block;padding:11px 12px;border-radius:4px;color:#26382c}.dropdown-menu a:hover,.dropdown-menu a:focus{background:#f3f7f2;color:var(--primary);outline:none}.dropdown-menu strong{display:block;font-size:.84rem}.dropdown-menu span{display:block;margin-top:2px;font-size:.72rem;line-height:1.45;color:#768178}.nav-item:hover>.dropdown-menu,.nav-item:focus-within>.dropdown-menu,.nav-item.open>.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu-wide{width:560px;display:grid;grid-template-columns:1.25fr .75fr;gap:8px;padding:14px}.dropdown-group{min-width:0}.dropdown-label{display:block!important;padding:5px 12px 8px!important;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem!important;font-weight:800;color:var(--primary)!important}.dropdown-secondary-links{border-left:1px solid #e5eae4;padding-left:8px}

/* Page title image banner */
.page-banner{position:relative;isolation:isolate;min-height:330px;display:flex;align-items:flex-end;background-repeat:no-repeat;overflow:hidden}.page-banner-overlay{position:absolute;inset:0;z-index:-1}.page-banner-inner{padding-top:82px;padding-bottom:56px;color:inherit}.page-banner h1{max-width:920px;margin:.1em 0 .2em;color:inherit;font-size:clamp(2.4rem,4.6vw,4.4rem);text-shadow:0 1px 18px rgba(0,0,0,.13)}.page-banner p{max-width:800px;margin:12px 0 0;color:inherit;opacity:.9;font-size:1.02rem}.page-banner-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--accent);margin-bottom:10px}.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:22px;font-size:.72rem;color:inherit;opacity:.78}.breadcrumbs a:hover{text-decoration:underline}

/* Section appearance + richer empty states */
.managed-section{background-repeat:no-repeat;background-position:center;background-size:cover}.managed-section>.section-inner .section-heading h2,.managed-section>.section-inner>.text-section h2{color:inherit}.section-empty-inline,.partnership-invite{border:1px solid rgba(92,116,99,.22);background:rgba(255,255,255,.86);display:flex;align-items:center;justify-content:space-between;gap:34px;padding:26px 28px}.section-empty-inline>div,.partnership-invite>div{max-width:760px}.section-empty-inline strong{display:block;font-size:1.05rem;color:#213329}.section-empty-inline p,.partnership-invite p{color:#69766d;margin:.45em 0 0}.empty-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf5ee;color:var(--primary);font-size:.9rem;margin-bottom:10px}.human-empty{text-align:center;padding:56px 30px}.human-empty h2{font-size:1.6rem}.human-empty p{max-width:650px;margin:0 auto 22px;color:#67736b}

.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partner-card{min-height:150px;border:1px solid #e0e6df;background:#fff;padding:22px;display:grid;place-items:center;text-align:center}.partner-card img{max-height:64px;max-width:170px;object-fit:contain;filter:saturate(.88)}.partner-card div{margin-top:12px}.partner-card strong{display:block;font-size:.85rem;color:#203126}.partner-card span{display:block;font-size:.72rem;color:#728077;margin-top:3px}.partnership-invite h3{font-size:1.45rem;margin:.1em 0 .4em}.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.testimonial-grid blockquote{margin:0;border:1px solid #e0e6df;background:#fff;padding:28px}.testimonial-grid blockquote p{font-size:1.04rem;color:#34483a}.testimonial-grid footer{font-size:.78rem;color:#718078;font-weight:650}

/* Contact details and form */
.contact-details-panel{margin-top:22px;border:1px solid #dfe6df;background:#f8faf8;display:grid;grid-template-columns:1fr 1fr}.contact-details-panel>div{padding:16px 18px;border-bottom:1px solid #e4e9e3}.contact-details-panel>div:nth-child(odd){border-right:1px solid #e4e9e3}.contact-details-panel span,.contact-details-panel strong,.contact-details-panel a{display:block}.contact-details-panel span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#78847b;margin-bottom:4px}.contact-details-panel strong,.contact-details-panel a{font-size:.84rem;color:#23372a}.form-card{box-shadow:0 18px 48px rgba(27,49,34,.06)}.form-intro{font-size:.87rem;color:#6b786f}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.map-frame{margin-top:20px;min-height:280px}.map-frame iframe{width:100%;min-height:280px;border:0}

/* Cards feel more alive without becoming flashy */
.program-card,.content-card,.partner-card,.thematic-card,.stat-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.program-card:hover,.content-card:hover,.partner-card:hover,.thematic-card:hover,.stat-card:hover{transform:translateY(-3px);border-color:#cbd8cc;box-shadow:0 16px 34px rgba(27,49,34,.07)}.content-card .card-image img{transition:transform .45s ease}.content-card:hover .card-image img{transform:scale(1.025)}

/* Scroll reveal: progressive enhancement only */
.reveal-enabled [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .58s ease var(--reveal-delay,0ms),transform .58s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.reveal-enabled [data-reveal].is-revealed{opacity:1;transform:none}

@media (max-width:1180px) and (min-width:1061px){.nav-item>.nav-root-row>a,.nav-item:not(.has-dropdown)>a{padding-left:6px;padding-right:6px;font-size:.78rem}.brand{min-width:205px}.brand-logo{max-width:250px}}
@media (max-width:1060px){
  .main-nav{max-height:calc(100vh - 110px);overflow:auto;gap:0;padding:6px 18px 18px}.nav-item{border-bottom:1px solid #edf0ec}.nav-root-row{width:100%;align-items:center}.nav-item>.nav-root-row>a,.nav-item:not(.has-dropdown)>a{flex:1;padding:14px 8px;border-bottom:0;font-size:.92rem}.nav-item>.nav-root-row>a.active,.nav-item:not(.has-dropdown)>a.active{border-bottom:0;color:var(--primary)}.dropdown-toggle{width:46px;height:46px;padding:0;font-size:1.1rem}.dropdown-menu,.dropdown-menu-right,.dropdown-menu-wide{position:static;width:auto;display:none;grid-template-columns:1fr;opacity:1;visibility:visible;transform:none;border:0;border-left:2px solid var(--primary);box-shadow:none;margin:0 0 10px 8px;padding:4px 6px 8px 10px;background:#f8faf8}.nav-item:hover>.dropdown-menu,.nav-item:focus-within>.dropdown-menu{display:none}.nav-item.open>.dropdown-menu{display:block}.nav-item.open>.dropdown-menu-wide{display:grid}.dropdown-secondary-links{border-left:0;border-top:1px solid #e1e8e0;padding:8px 0 0;margin-top:4px}.dropdown-menu a{padding:9px 10px}.dropdown-menu span{font-size:.7rem}.partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .utility-actions>a:not(.staff-link){display:none}.page-banner{min-height:290px}.page-banner-inner{padding-top:68px;padding-bottom:42px}.page-banner h1{font-size:clamp(2.1rem,10vw,3.15rem)}.page-banner p{font-size:.92rem}.section-empty-inline,.partnership-invite{align-items:flex-start;flex-direction:column;padding:22px}.partner-grid,.testimonial-grid,.contact-details-panel{grid-template-columns:1fr}.contact-details-panel>div:nth-child(odd){border-right:0}.contact-grid{gap:34px}.form-card{padding:24px 20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.field-photo img,.program-card,.content-card,.partner-card,.thematic-card,.stat-card{transition:none!important}.reveal-enabled [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* =========================================================
   JRO UX refinement — 2026-10-03
   Balanced gutters, refined dropdowns, branded loader,
   and stronger mobile navigation.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:clip}
body.nav-open{overflow:hidden}
.container{width:100%;max-width:1320px;margin-inline:auto;padding-inline:clamp(28px,3.4vw,52px)}

/* Branded page loader */
.page-loader{position:fixed;inset:0;z-index:99999;display:none;place-items:center;background:rgba(255,255,255,.985);opacity:1;visibility:visible;transition:opacity .32s ease,visibility .32s ease}
.js .page-loader{display:grid}
.page-loader-inner{width:min(86vw,360px);display:grid;justify-items:center;gap:16px;text-align:center}
.page-loader-logo{width:min(var(--loader-logo-width,150px),72vw);height:auto;max-height:110px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(22,55,35,.08))}
.page-loader-mark{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800;font-size:1.2rem;box-shadow:0 14px 34px rgba(25,74,45,.18)}
.page-loader-progress{width:92px;height:3px;border-radius:99px;background:#e6eee8;overflow:hidden;position:relative}
.page-loader-progress span{position:absolute;inset:0 auto 0 0;width:38%;border-radius:inherit;background:var(--primary);animation:jroLoader 1s ease-in-out infinite}
.page-loader-text{font-size:.75rem;line-height:1.45;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:#6d7d72}
body:not(.page-loading) .page-loader{opacity:0;visibility:hidden;pointer-events:none}
@keyframes jroLoader{0%{transform:translateX(-120%)}50%{transform:translateX(85%)}100%{transform:translateX(290%)}}

/* Header spacing and dropdown affordance */
.nav-wrap{gap:clamp(18px,2.2vw,34px)}
.brand{min-width:clamp(200px,19vw,255px)}
.main-nav{margin-left:auto}
.dropdown-toggle{display:grid;place-items:center;width:32px;height:38px;padding:0;margin-left:-3px;border-radius:50%;transition:background .18s ease,color .18s ease}
.dropdown-toggle:hover,.dropdown-toggle:focus-visible{background:#f1f6f2;color:var(--primary);outline:none}
.dropdown-chevron{width:17px;height:17px;display:block;transition:transform .2s ease}
.nav-item.open .dropdown-chevron{transform:rotate(180deg)}
.dropdown-menu{border-radius:0 0 12px 12px;padding:10px;box-shadow:0 20px 55px rgba(18,39,25,.14)}
.dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dropdown-menu a{border-radius:8px;transition:background .16s ease,color .16s ease,transform .16s ease}
.dropdown-menu a:hover,.dropdown-menu a:focus{transform:translateX(2px)}

/* Keep general layouts optically centered */
.managed-section>.container,.page-banner>.container,.site-header>.container,.utility-bar>.container,.site-footer>.container{padding-left:clamp(28px,3.4vw,52px);padding-right:clamp(28px,3.4vw,52px)}

@media (max-width:1180px) and (min-width:1061px){
  .container{padding-inline:26px}
  .brand{min-width:188px}.brand-logo{max-width:228px}
  .dropdown-toggle{width:27px}
}

@media (max-width:1060px){
  .container{padding-inline:24px}
  .utility-inner{padding-block:2px}
  .site-header{top:0}
  .nav-wrap{min-height:74px;gap:14px}
  .brand{min-width:0;max-width:calc(100% - 62px)}
  .brand-logo{height:48px;max-width:min(250px,66vw)}
  .menu-toggle{display:grid;place-items:center;width:48px;height:48px;margin-left:auto;border-radius:10px;position:relative;padding:11px;transition:background .18s ease}
  .menu-toggle:hover,.menu-toggle:focus-visible{background:#f3f7f3;outline:none}
  .menu-toggle span{position:absolute;width:24px;height:2px;margin:0;background:var(--header-text);border-radius:99px;transition:transform .22s ease,opacity .18s ease,top .22s ease}
  .menu-toggle span:nth-child(1){top:15px}.menu-toggle span:nth-child(2){top:23px}.menu-toggle span:nth-child(3){top:31px}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){top:23px;transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){top:23px;transform:rotate(-45deg)}
  .main-nav{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-top:1px solid #e4ebe5;display:none;padding:12px 24px 28px;box-shadow:0 22px 50px rgba(16,36,23,.13)}
  .main-nav.open{display:block}
  .nav-item{border-bottom:1px solid #edf1ed}
  .nav-root-row{min-height:55px}
  .nav-item>.nav-root-row>a,.nav-item:not(.has-dropdown)>a{min-height:55px;display:flex;align-items:center;padding:12px 4px;font-size:.96rem;font-weight:700}
  .dropdown-toggle{width:48px;height:48px;margin-left:4px;border-radius:12px;background:#f6f8f6;color:#53665a}
  .dropdown-chevron{width:20px;height:20px}
  .dropdown-menu,.dropdown-menu-right,.dropdown-menu-wide{margin:0 0 14px 0;padding:8px 10px 10px 14px;border-left:2px solid var(--primary);border-radius:0 10px 10px 0;background:#f7faf7}
  .dropdown-menu:before{display:none}
  .dropdown-menu a{padding:11px 10px}
  .dropdown-menu a:hover,.dropdown-menu a:focus{transform:none}
  .dropdown-menu strong{font-size:.86rem}.dropdown-menu span{font-size:.72rem}
}

@media (max-width:700px){
  .container,.managed-section>.container,.page-banner>.container,.site-header>.container,.utility-bar>.container,.site-footer>.container{padding-left:20px;padding-right:20px}
  .utility-bar{display:none}
  .nav-wrap{min-height:68px}
  .brand-logo{height:43px;max-width:min(230px,68vw)}
  .main-nav{max-height:calc(100dvh - 68px);padding:10px 20px 30px}
  .page-loader-logo{max-height:90px}
  .page-loader-text{font-size:.68rem}
  .managed-section{padding:54px 0}
  .component-hero,.hero-slider,.hero-inner{min-height:500px}
  .hero-inner{padding-left:20px;padding-right:20px;padding-bottom:94px}
  .hero-content{max-width:100%}
  .hero-content h1{font-size:clamp(2rem,10vw,3rem);line-height:1.08}
  .hero-content p{font-size:.96rem;line-height:1.65}
  .page-banner{min-height:250px}
  .page-banner-inner{padding-top:48px;padding-bottom:34px}
  .page-banner h1{font-size:clamp(1.95rem,9.5vw,2.8rem);line-height:1.08}
  .section-heading{margin-bottom:28px}
  .section-heading h2{font-size:clamp(1.75rem,8vw,2.45rem)}
  .program-card,.content-card,.partner-card,.thematic-card,.stat-card{border-radius:12px}
  .form-card{padding:22px 18px}
  .btn{min-height:48px}
}

@media (max-width:420px){
  .container,.managed-section>.container,.page-banner>.container,.site-header>.container,.site-footer>.container{padding-left:16px;padding-right:16px}
  .brand-logo{height:40px;max-width:69vw}
  .main-nav{padding-left:16px;padding-right:16px}
  .hero-inner{padding-left:16px;padding-right:16px}
  .dropdown-menu span{display:none}
}

@media (prefers-reduced-motion:reduce){
  .page-loader,.page-loader-progress span{transition:none!important;animation:none!important}
}

/* =========================================================
   JRO Navigation refinement — triangle caret + managed colors
   2026-10-03
   ========================================================= */
.nav-item>.nav-root-row>a,
.nav-item:not(.has-dropdown)>a{color:var(--menu-text-color)}
.nav-item>.nav-root-row>a:hover,
.nav-item:not(.has-dropdown)>a:hover{color:var(--menu-hover-color);border-bottom-color:var(--menu-hover-color)}
.nav-item>.nav-root-row>a.active,
.nav-item:not(.has-dropdown)>a.active{color:var(--menu-active-color);border-bottom-color:var(--menu-active-color)}

.dropdown-toggle{color:var(--menu-icon-color)}
.dropdown-toggle:hover,.dropdown-toggle:focus-visible{color:var(--menu-hover-color)}
.nav-item.open>.nav-root-row .dropdown-toggle{color:var(--menu-active-color)}
.menu-caret{
  display:block;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid currentColor;
  transform-origin:50% 48%;
  transition:transform .2s ease,color .18s ease;
}
.nav-item.open .menu-caret{transform:rotate(180deg)}

.dropdown-menu{background:var(--dropdown-bg-color);border-top-color:var(--menu-active-color)}
.dropdown-menu a{color:var(--dropdown-text-color)}
.dropdown-menu a:hover,.dropdown-menu a:focus{background:var(--dropdown-hover-bg-color);color:var(--dropdown-hover-text-color)}
.dropdown-label{color:var(--menu-active-color)!important}

@media (max-width:1060px){
  .main-nav{background:var(--mobile-menu-bg-color)}
  .menu-toggle span{background:var(--menu-text-color)}
  .dropdown-toggle{background:color-mix(in srgb,var(--menu-icon-color) 7%,var(--mobile-menu-bg-color));color:var(--menu-icon-color)}
  .nav-item.open>.nav-root-row{background:color-mix(in srgb,var(--menu-active-color) 7%,transparent)}
  .nav-item.open>.nav-root-row .dropdown-toggle{background:color-mix(in srgb,var(--menu-active-color) 10%,var(--mobile-menu-bg-color));color:var(--menu-active-color)}
  .dropdown-menu,.dropdown-menu-right,.dropdown-menu-wide{background:var(--dropdown-bg-color);border-left-color:var(--menu-active-color)}
  .menu-caret{border-left-width:6px;border-right-width:6px;border-top-width:7px}
}

/* =========================================================
   JRO split-content image + compact dropdown caret placement
   2026-10-03
   ========================================================= */

/* Text section with a managed image beside the copy */
.text-section-split{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  align-items:center;
  gap:clamp(44px,6vw,92px);
}
.text-section-split.is-reverse .text-section{order:2}
.text-section-split.is-reverse .section-side-media{order:1}
.text-section-split .text-section{max-width:760px}
.section-side-media{
  position:relative;
  margin:0;
  min-height:460px;
  overflow:hidden;
  border-radius:2px;
  background:#eef3ee;
  box-shadow:0 24px 60px rgba(24,52,34,.10);
}
.section-side-media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:18px auto auto -18px;
  width:78px;
  height:78px;
  border-left:3px solid var(--section-accent,var(--primary));
  border-top:3px solid var(--section-accent,var(--primary));
  pointer-events:none;
}
.section-side-media img{
  width:100%;
  height:100%;
  min-height:460px;
  display:block;
  object-fit:cover;
  transition:transform .55s ease;
}
.section-side-media:hover img{transform:scale(1.018)}

/* Keep dropdown indicator immediately after the menu label on desktop. */
@media (min-width:1061px){
  .nav-root-row{display:inline-flex;align-items:center;justify-content:flex-start}
  .nav-item>.nav-root-row>a{padding-right:3px}
  .dropdown-toggle{
    flex:0 0 auto;
    width:auto;
    height:auto;
    min-width:0;
    margin:0;
    padding:3px 8px 3px 3px;
    border-radius:0;
    background:transparent!important;
  }
  .dropdown-toggle:hover,.dropdown-toggle:focus-visible{background:transparent!important}
  .menu-caret{border-left-width:5px;border-right-width:5px;border-top-width:6px}
}

@media (max-width:1060px){
  .text-section-split{grid-template-columns:1fr;gap:34px}
  .text-section-split .text-section{max-width:820px}
  .section-side-media,.section-side-media img{min-height:390px}
  .text-section-split.is-reverse .text-section,
  .text-section-split.is-reverse .section-side-media{order:initial}

  /* Mobile keeps the icon close to the label too, while retaining a useful tap target. */
  .nav-root-row{justify-content:flex-start}
  .nav-item>.nav-root-row>a{flex:0 1 auto;padding-right:4px}
  .dropdown-toggle{margin-left:0;width:42px;height:42px}
}

@media (max-width:700px){
  .text-section-split{gap:26px}
  .section-side-media,.section-side-media img{min-height:300px}
  .section-side-media{border-radius:0}
  .section-side-media::before{inset:12px auto auto -1px;width:54px;height:54px;border-width:2px}
}

@media (max-width:420px){
  .section-side-media,.section-side-media img{min-height:250px}
  .dropdown-toggle{width:38px;height:38px}
}

@media (prefers-reduced-motion:reduce){
  .section-side-media img{transition:none!important}
}

/* =========================================================
   JRO managed public utility/top bar — 2026-10-03
   ========================================================= */
.utility-bar{
  background:var(--utility-bg,#F4F6F2);
  border-bottom-color:var(--utility-border,#E6EBE5);
  color:var(--utility-text,#45544A);
}
.utility-contact a,
.utility-actions>a,
.language-switcher a{color:var(--utility-link,#45544A)}
.utility-contact a:hover,
.utility-actions>a:hover,
.language-switcher a:hover,
.language-switcher a.active{color:var(--utility-hover,var(--primary))}
.staff-link{border-left-color:var(--utility-border,#D8DED8)}
.utility-actions>a:not(.staff-link){color:var(--utility-link,#45544A)}
.utility-actions>a:not(.staff-link):hover{color:var(--utility-hover,var(--primary))}

@media (max-width:700px){
  .utility-bar.is-mobile-visible{display:block}
  .utility-bar.is-mobile-visible .utility-inner{min-height:auto;padding-top:8px;padding-bottom:8px;gap:8px;align-items:flex-start}
  .utility-bar.is-mobile-visible .utility-contact,
  .utility-bar.is-mobile-visible .utility-actions{gap:10px;flex-wrap:wrap}
  .utility-bar.is-mobile-visible .utility-contact{font-size:.68rem}
  .utility-bar.is-mobile-visible .utility-contact a[href^="tel"]{display:inline-flex}
  .utility-bar.is-mobile-visible .utility-actions>a:not(.staff-link){display:inline-flex}
  .utility-bar.is-mobile-visible .staff-link{padding-left:10px}
}
@media (max-width:520px){
  .utility-bar.is-mobile-visible .utility-inner{display:grid;grid-template-columns:1fr}
  .utility-bar.is-mobile-visible .utility-contact,
  .utility-bar.is-mobile-visible .utility-actions{justify-content:flex-start}
}


/* =========================================================
   JRO managed homepage design system — 2026-10-03
   Section-level controls: spacing, width, alignment, card style.
   ========================================================= */
.managed-section{--section-accent:var(--primary)}
.managed-section.spacing-compact{padding-top:58px;padding-bottom:58px}
.managed-section.spacing-normal{padding-top:88px;padding-bottom:88px}
.managed-section.spacing-spacious{padding-top:116px;padding-bottom:116px}
.managed-section.width-narrow .section-inner{max-width:980px}
.managed-section.width-standard .section-inner{max-width:1320px}
.managed-section.width-wide .section-inner{max-width:1480px}
.managed-section.width-full .section-inner{max-width:none}
.managed-section.heading-center .section-heading{justify-content:center;text-align:center}
.managed-section.heading-center .section-heading>div{margin-inline:auto}
.managed-section.heading-center .section-heading p{margin-inline:auto}
.managed-section.heading-center .section-heading>.text-link{position:absolute;right:clamp(20px,3vw,48px)}
.managed-section .eyebrow,.managed-section .card-kicker,.managed-section .pathway-index{color:var(--section-accent,var(--primary))}
.managed-section .section-heading h2,.managed-section .text-section h2{color:inherit}
.managed-section .section-heading p{color:color-mix(in srgb,currentColor 72%,transparent)}
.managed-section .rich-copy{color:color-mix(in srgb,currentColor 78%,transparent)}

/* Managed card presets */
.managed-section.cards-plain .program-card,
.managed-section.cards-plain .content-card,
.managed-section.cards-plain .pathway-grid article,
.managed-section.cards-plain .approach-grid article,
.managed-section.cards-plain .partner-card,
.managed-section.cards-plain .thematic-card{border-color:transparent;background:transparent;box-shadow:none}
.managed-section.cards-soft .program-card,
.managed-section.cards-soft .content-card,
.managed-section.cards-soft .pathway-grid article,
.managed-section.cards-soft .approach-grid article,
.managed-section.cards-soft .partner-card,
.managed-section.cards-soft .thematic-card{border-color:color-mix(in srgb,currentColor 10%,transparent);border-radius:18px;background:color-mix(in srgb,#fff 94%,var(--section-accent) 6%)}
.managed-section.cards-outline .program-card,
.managed-section.cards-outline .content-card,
.managed-section.cards-outline .pathway-grid article,
.managed-section.cards-outline .approach-grid article,
.managed-section.cards-outline .partner-card,
.managed-section.cards-outline .thematic-card{border:1px solid color-mix(in srgb,var(--section-accent) 28%,#d9e2db);background:transparent;border-radius:14px}
.managed-section.cards-elevated .program-card,
.managed-section.cards-elevated .content-card,
.managed-section.cards-elevated .pathway-grid article,
.managed-section.cards-elevated .approach-grid article,
.managed-section.cards-elevated .partner-card,
.managed-section.cards-elevated .thematic-card{border:1px solid color-mix(in srgb,var(--section-accent) 12%,#e5ebe7);background:#fff;border-radius:20px;box-shadow:0 18px 45px rgba(23,53,35,.09)}

/* Editorial programme presentation */
.layout-editorial.component-cards_programs .program-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.layout-editorial.component-cards_programs .program-card{min-height:100%;padding:0;border-top:0;position:relative;overflow:hidden}
.layout-editorial.component-cards_programs .program-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--section-accent,var(--primary));z-index:3}
.layout-editorial.component-cards_programs .program-card-media{aspect-ratio:16/10}
.layout-editorial.component-cards_programs .program-card-body{padding:24px 22px 24px}
.layout-editorial.component-cards_programs .program-card h3{font-size:1.12rem;line-height:1.3}

/* Resilience pathway as a human, connected journey */
.layout-journey.component-approach_steps .approach-grid{border:0;gap:14px;position:relative}
.layout-journey.component-approach_steps .approach-grid:before{content:"";position:absolute;left:6%;right:6%;top:28px;height:1px;background:color-mix(in srgb,var(--section-accent) 28%,transparent);z-index:0}
.layout-journey.component-approach_steps .approach-grid article{border:1px solid color-mix(in srgb,var(--section-accent) 17%,#e2e8e3);border-radius:16px;background:#fff;padding:24px 20px 24px;position:relative;z-index:1}
.layout-journey.component-approach_steps .approach-grid article>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--section-accent,var(--primary));color:#fff;margin-bottom:18px}
.layout-journey.component-approach_steps .approach-grid h3{font-size:1.05rem;margin:0 0 8px}

/* Impact feature band */
.layout-feature-band{overflow:hidden}
.layout-feature-band .section-heading{align-items:flex-start}
.layout-feature-band .section-heading h2{max-width:700px}
.layout-feature-band .section-heading p{max-width:820px}
.layout-feature-band .pathway-grid article{background:color-mix(in srgb,#fff 9%,transparent);border-color:color-mix(in srgb,#fff 18%,transparent);color:inherit}
.layout-feature-band .pathway-grid article h3{color:inherit}
.layout-feature-band .pathway-grid article p{color:color-mix(in srgb,currentColor 76%,transparent)}
.layout-feature-band .pathway-index{color:var(--section-accent,var(--accent))}
.layout-feature-band .text-link{color:var(--section-accent,var(--accent))}

/* News magazine presentation */
.layout-magazine.component-cards_news .card-grid{grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.layout-magazine.component-cards_news .content-card:first-child{grid-row:span 2}
.layout-magazine.component-cards_news .content-card:first-child .card-image{aspect-ratio:16/11}
.layout-magazine.component-cards_news .content-card:first-child .card-body h3{font-size:1.45rem}
.layout-magazine.component-cards_news .content-card:not(:first-child){display:grid;grid-template-columns:140px 1fr}
.layout-magazine.component-cards_news .content-card:not(:first-child) .card-image{aspect-ratio:auto;height:100%;min-height:170px}
.layout-magazine.component-cards_news .content-card:not(:first-child) .card-body{padding:18px}

/* Partner logo strip */
.layout-logo-strip.component-partners .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.layout-logo-strip.component-partners .partner-card{min-height:124px;padding:18px;border-radius:14px}
.layout-logo-strip.component-partners .partner-card img{max-height:56px}

/* Split intro — warmer, more editorial */
.text-section-split{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:clamp(36px,6vw,86px);align-items:center}
.section-side-media{position:relative;margin:0;border-radius:24px;overflow:hidden;min-height:440px;background:#e8eee8;box-shadow:0 20px 50px rgba(19,48,31,.09)}
.section-side-media img{width:100%;height:100%;min-height:440px;object-fit:cover}
.section-side-media:after{content:"";position:absolute;inset:auto 0 0 0;height:28%;background:linear-gradient(transparent,rgba(10,27,17,.18));pointer-events:none}
.text-section-split.is-reverse .section-side-media{order:-1}
.text-section-split .text-section{max-width:760px}
.text-section-split .text-section h2{font-size:clamp(2.25rem,4vw,4.25rem);line-height:1.04}

/* Hover refinement is deliberately subtle */
.program-card,.content-card,.pathway-grid article,.partner-card,.thematic-card,.approach-grid article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
@media(hover:hover){
  .cards-elevated .program-card:hover,.cards-elevated .content-card:hover,.cards-elevated .partner-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(23,53,35,.12)}
}

@media(max-width:1060px){
  .layout-editorial.component-cards_programs .program-grid{grid-template-columns:1fr 1fr}
  .layout-journey.component-approach_steps .approach-grid:before{display:none}
  .layout-magazine.component-cards_news .card-grid{grid-template-columns:1fr 1fr}
  .layout-magazine.component-cards_news .content-card:first-child{grid-column:1/-1;grid-row:auto}
  .layout-magazine.component-cards_news .content-card:not(:first-child){display:block}
  .layout-magazine.component-cards_news .content-card:not(:first-child) .card-image{height:auto;aspect-ratio:16/10}
  .text-section-split{grid-template-columns:1fr 1fr;gap:36px}
  .section-side-media,.section-side-media img{min-height:360px}
}
@media(max-width:700px){
  .managed-section.spacing-compact{padding-top:44px;padding-bottom:44px}
  .managed-section.spacing-normal{padding-top:58px;padding-bottom:58px}
  .managed-section.spacing-spacious{padding-top:72px;padding-bottom:72px}
  .managed-section.heading-center .section-heading>.text-link{position:static;margin-top:14px}
  .layout-editorial.component-cards_programs .program-grid,
  .layout-magazine.component-cards_news .card-grid,
  .layout-logo-strip.component-partners .partner-grid{grid-template-columns:1fr}
  .text-section-split{grid-template-columns:1fr;gap:28px}
  .text-section-split.is-reverse .section-side-media{order:0}
  .section-side-media,.section-side-media img{min-height:290px}
  .section-side-media{border-radius:16px}
  .text-section-split .text-section h2{font-size:clamp(2rem,9.5vw,3rem)}
}

/* =========================================================
   JRO human-story refinement — 2026-10-03
   Hero read-more, story layout, values, team, actions and a
   more readable Resilience Pathways journey.
   ========================================================= */
.hero-summary{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  max-width:710px!important;
}
.hero-readmore{gap:8px}
.hero-readmore span{transition:transform .18s ease}
.hero-readmore:hover span{transform:translateX(4px)}

/* Homepage engagement: obvious Partner + Donate actions without feeling commercial. */
.component-home_actions{overflow:hidden}
.home-actions-intro{max-width:820px;margin-bottom:34px}
.home-actions-intro h2{color:inherit;margin:.14em 0 .3em}
.home-actions-intro p{max-width:760px;color:color-mix(in srgb,currentColor 78%,transparent);font-size:1.02rem}
.home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-action-card{min-height:260px;padding:32px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,#fff 9%,transparent);border-radius:22px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;column-gap:22px;color:inherit;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.home-action-card:hover{transform:translateY(-4px);background:color-mix(in srgb,#fff 14%,transparent);border-color:color-mix(in srgb,var(--section-accent,var(--accent)) 55%,transparent)}
.home-action-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--section-accent,var(--accent));color:#173523;font-size:1.15rem;font-weight:800;grid-row:1/3}
.home-action-card small{display:block;text-transform:uppercase;letter-spacing:.1em;font-weight:750;font-size:.69rem;color:var(--section-accent,var(--accent));margin-bottom:8px}
.home-action-card h3{color:inherit;font-size:clamp(1.45rem,2.3vw,2.05rem);margin:0 0 10px}
.home-action-card p{max-width:520px;color:color-mix(in srgb,currentColor 78%,transparent);margin:0}
.home-action-card strong{align-self:end;margin-top:28px;font-size:.88rem}

/* Vision / mission / values — cards derived from managed section copy. */
.values-section .section-heading{margin-bottom:28px}
.vision-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:48px}
.principle-card{position:relative;border:1px solid color-mix(in srgb,var(--section-accent) 20%,#dfe6df);background:#fff;border-radius:22px;padding:34px 34px 32px;min-height:220px;overflow:hidden}
.principle-card>span{position:absolute;right:22px;top:16px;font-size:4.5rem;font-weight:800;line-height:1;color:color-mix(in srgb,var(--section-accent) 8%,transparent);letter-spacing:-.06em}
.principle-card small{display:block;color:var(--section-accent);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}
.principle-card p{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.65;margin:0;max-width:600px;color:#35463b}
.values-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}
.values-heading h3{font-size:clamp(1.7rem,2.7vw,2.5rem);margin:.1em 0 0}
.values-heading>p{max-width:540px;color:#657269;margin:0}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.value-card{border-top:3px solid var(--section-accent);background:color-mix(in srgb,#fff 95%,var(--section-accent) 5%);padding:24px 22px 22px;min-height:180px;border-radius:0 0 16px 16px}
.value-card>span{display:block;font-size:.7rem;font-weight:800;color:var(--section-accent);margin-bottom:16px}
.value-card h4{font-size:1.02rem;margin:0 0 7px;color:inherit}
.value-card p{font-size:.84rem;color:color-mix(in srgb,currentColor 72%,transparent);margin:0;line-height:1.6}

/* Our Story — editorial narrative instead of body text washed over a photo. */
#our-story{background-image:none!important}
#our-story>.section-overlay{display:none!important}
.story-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:clamp(46px,7vw,96px);align-items:start}
.story-narrative h2{font-size:clamp(2.7rem,5vw,5.2rem);line-height:.98;margin:.12em 0 .42em;letter-spacing:-.055em}
.story-copy{max-width:820px}
.story-copy p{font-size:1rem;line-height:1.86;color:color-mix(in srgb,currentColor 80%,transparent);margin:0 0 1.35em;text-align:justify;text-justify:inter-word;hyphens:auto}
.story-copy blockquote{margin:36px 0;padding:24px 0 24px 26px;border-left:4px solid var(--section-accent);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.35;font-family:var(--font-heading);font-weight:650;color:inherit;letter-spacing:-.025em}
.story-portrait{position:sticky;top:126px;margin:0;border-radius:26px;overflow:hidden;background:#e9efea;box-shadow:0 24px 56px rgba(21,48,31,.12)}
.story-portrait img{width:100%;height:min(68vh,680px);min-height:520px;object-fit:cover}
.story-portrait figcaption{position:absolute;left:20px;right:20px;bottom:20px;padding:18px 20px;border-radius:14px;background:rgba(17,42,27,.88);backdrop-filter:blur(8px);color:#fff}
.story-portrait figcaption span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.65rem;font-weight:800;color:#d8b75a;margin-bottom:5px}
.story-portrait figcaption strong{font-size:.92rem;line-height:1.45}

/* Team & governance — narrative plus people, all driven by Admin → Team. */
.team-governance-copy{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,100px);align-items:start;margin-bottom:54px}
.team-governance-copy h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.02;margin:.15em 0 0}
.team-governance-copy .story-copy p:first-child{font-size:1.08rem;color:inherit}
.team-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px;padding-top:30px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.team-block-head h3{font-size:clamp(1.8rem,2.7vw,2.5rem);margin:.1em 0 0}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.team-card{background:#fff;border:1px solid #e1e8e2;border-radius:18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.team-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,51,34,.09)}
.team-photo{display:grid;place-items:center;aspect-ratio:4/4.4;background:#edf3ee;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.team-card:hover .team-photo img{transform:scale(1.025)}
.team-photo>span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--section-accent);color:#fff;font-weight:800;font-size:1.6rem}
.team-card>div{padding:20px}
.team-card small{display:block;color:var(--section-accent);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750;margin-bottom:7px}
.team-card h4{margin:0 0 8px;font-size:1.05rem}
.team-card p{font-size:.82rem;color:#6a766e;line-height:1.55;margin:0}
.team-governance-action{margin-top:28px}

/* Resilience Pathways — readable, human and intentionally not five narrow columns. */
.approach-section .approach-heading>div{max-width:900px}
.approach-section .approach-heading p{max-width:860px;line-height:1.8;text-align:justify;text-justify:inter-word;hyphens:auto}
.approach-journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;position:relative}
.approach-card{grid-column:span 2;min-height:300px;border:1px solid color-mix(in srgb,var(--section-accent) 20%,#dfe6df);background:#fff;border-radius:20px;padding:28px 26px 26px;position:relative;overflow:hidden}
.approach-card:nth-child(4){grid-column:2/span 2}
.approach-card:nth-child(5){grid-column:4/span 2}
.approach-card:after{content:"";position:absolute;right:-35px;top:-35px;width:120px;height:120px;border-radius:50%;background:color-mix(in srgb,var(--section-accent) 6%,transparent)}
.approach-step{display:flex;align-items:center;gap:12px;margin-bottom:28px;position:relative;z-index:1}
.approach-step span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--section-accent);color:#fff;font-size:.75rem;font-weight:800;box-shadow:0 8px 22px color-mix(in srgb,var(--section-accent) 22%,transparent)}
.approach-step i{height:1px;flex:1;background:linear-gradient(90deg,color-mix(in srgb,var(--section-accent) 42%,transparent),transparent)}
.approach-card h3{font-size:clamp(1.25rem,1.8vw,1.55rem);margin:0 0 12px;color:inherit}
.approach-card p{font-size:.93rem;line-height:1.75;color:color-mix(in srgb,currentColor 74%,transparent);margin:0;text-align:justify;text-justify:inter-word;hyphens:auto}
.approach-closer{margin:22px auto 0;text-align:center;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--section-accent)}

/* Where We Work managed page — location cards remain content-managed. */
#locations.component-cards_locations .content-card .card-image{aspect-ratio:16/10}
#locations.component-cards_locations .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1060px){
  .values-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-feature{grid-template-columns:1fr .78fr;gap:38px}
  .story-portrait{top:110px}
  .team-governance-copy{grid-template-columns:1fr;gap:26px}
  .approach-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .approach-card,.approach-card:nth-child(4),.approach-card:nth-child(5){grid-column:auto}
  .approach-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px);width:100%;justify-self:center}
  #locations.component-cards_locations .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .hero-summary{-webkit-line-clamp:4}
  .home-action-grid,.vision-mission-grid,.values-grid,.team-grid,#locations.component-cards_locations .card-grid{grid-template-columns:1fr}
  .home-action-card{min-height:0;padding:24px;grid-template-columns:auto 1fr;column-gap:16px}
  .home-action-icon{width:42px;height:42px}
  .values-heading,.team-block-head{display:block}
  .values-heading>p{margin-top:12px}
  .team-block-head .text-link{margin-top:12px}
  .story-feature{grid-template-columns:1fr;gap:34px}
  .story-narrative h2{font-size:clamp(2.55rem,13vw,4rem)}
  .story-copy p{text-align:left}
  .story-portrait{position:relative;top:auto;order:-1;border-radius:18px}
  .story-portrait img{height:420px;min-height:0}
  .approach-journey{grid-template-columns:1fr}
  .approach-card,.approach-card:last-child{grid-column:auto;max-width:none}
  .approach-card{min-height:0}
  .approach-card p,.approach-section .approach-heading p{text-align:left}
}
.section-heading-copy{max-width:820px;color:color-mix(in srgb,currentColor 72%,transparent);line-height:1.78}
.section-heading-copy br+br{display:block;content:"";margin-top:.65em}


/* =========================================================
   JRO What We Do — top accent strip refinement
   2026-10-03
   ========================================================= */
.layout-editorial.component-cards_programs .program-card{
  border:1px solid color-mix(in srgb,var(--section-accent) 16%,#dfe7e1);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(22,51,34,.055);
}
.layout-editorial.component-cards_programs .program-card-media{
  position:relative;
  overflow:hidden;
  background:#eef3ef;
}
.layout-editorial.component-cards_programs .program-card-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 64%,rgba(12,42,25,.08));
  pointer-events:none;
}
.layout-editorial.component-cards_programs .program-card h3{margin-top:2px}
.layout-editorial.component-cards_programs .program-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 46px rgba(22,51,34,.10);
  border-color:color-mix(in srgb,var(--section-accent) 28%,#dfe7e1);
}
@media(max-width:1060px){
  .layout-editorial.component-cards_programs .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .layout-editorial.component-cards_programs .program-grid{grid-template-columns:1fr}
  .layout-editorial.component-cards_programs .program-card:before{height:5px}
}
