/* THE SHEPHERD FRIENDS · Phase 1C
   Typography matches NAKEF (Work Sans); cohesive editorial homepage & shared chrome.
   This stylesheet is intentionally self-contained for removal of old Phase 1B home rules
   during subsequent consolidation. It loads last so interior templates remain compatible. */
:root{--max:1320px;--deep:#203d4d;--navy:#314f61;--ink:#203642;--gold:#d8bb7b;--gold-dark:#a47d3c;--sage:#6e8878;--cream:#f8f8f4;--section:clamp(60px,6vw,88px);--header:88px}
body,h1,h2,h3,h4,p,a,button{font-family:"Work Sans",sans-serif}
h1,h2,h3{font-weight:800;letter-spacing:-.046em}h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:800;color:var(--gold-dark)}
p{line-height:1.68}.section-pad{padding:var(--section) 0}.container{width:min(calc(100% - 76px),var(--max))}
.eyebrow{margin-bottom:13px;font-size:11px;font-weight:800;letter-spacing:.12em}.text-link{border:0!important;padding:0!important;gap:9px;font-size:12px;line-height:1.4;letter-spacing:0;text-decoration:none!important}.text-link:hover{color:var(--gold-dark)}
.button,.button-small{font-family:inherit;font-size:12px;letter-spacing:.015em;text-transform:none;font-weight:800;min-height:49px;padding:13px 23px;gap:8px}.button span{font-size:14px}.button-deep{background:var(--deep);color:#fff}.button-deep:hover{background:#315768}.button-outline{color:#fff;border-color:#ffffffb8}.button:focus-visible,.text-link:focus-visible{outline:3px solid var(--gold-dark);outline-offset:3px}
.section-title-row{margin-bottom:34px;align-items:end}.section-title-row h2{font-size:clamp(32px,3.8vw,55px);line-height:1.11}.section-title-row p{max-width:430px;color:#536673;line-height:1.7;font-size:15px;margin:0 0 5px}

/* The utility strip scrolls away; only the main menu remains sticky. */
.utility-bar{position:relative;z-index:61;background:#1c3544;color:#e6eff2}
.utility-inner{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:24px}
.utility-contact{display:flex;align-items:center;gap:24px;min-width:0}
.utility-contact a{display:inline-flex;align-items:center;gap:8px;color:#e8eef0;font-size:11px;font-weight:550;white-space:nowrap}
.utility-contact svg{color:var(--gold);flex:0 0 16px}
.utility-contact a:hover{color:var(--gold)}
.utility-bar .social-row{margin:0;gap:5px}.utility-bar .social-row a{border:0;width:30px;height:30px;color:#d5e1e3;background:transparent}
.utility-bar .social-row a:hover{background:#ffffff1a;color:var(--gold)}
.site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 7px 18px rgba(19,44,58,.09)}
.header-inner{height:88px;min-height:88px;gap:18px}
.brand-link{gap:10px;min-width:0;flex:0 1 auto}
.brand-emblem{height:68px;width:68px;flex:0 0 68px;object-fit:contain}
.brand-wordmark{gap:4px}
.brand-wordmark strong{font-size:17px;letter-spacing:-.055em;font-weight:800;line-height:1.02;white-space:nowrap}
.brand-wordmark small{display:flex;flex-direction:column;align-items:flex-start;gap:1px;color:#94784f;font-size:8.1px;font-weight:800;line-height:1.15;letter-spacing:.004em;white-space:nowrap}
.brand-wordmark small span{display:block}
.main-nav{gap:8px;align-items:stretch}
.main-nav>ul{gap:0}
.main-nav .nav-item{min-width:0}
.main-nav .nav-link{font-size:13px;font-weight:800;letter-spacing:-.012em;padding:0 12px;min-width:82px;height:100%;transition:background .18s,color .18s}
.main-nav .nav-item:first-child .nav-link{min-width:82px}
.main-nav .nav-item:last-child .nav-link{min-width:95px}
.main-nav .has-submenu .nav-link{min-width:135px;padding-right:5px}
.main-nav .nav-link[aria-current="page"],.main-nav .nav-link:hover,.main-nav .nav-item:hover>.nav-item-heading,.main-nav .nav-item:focus-within>.nav-item-heading{background:var(--gold);color:var(--deep)}
.submenu-toggle{margin:0;width:24px;padding:0 7px 0 0}
.nav-donate{font-size:11px;padding:12px 15px;min-width:116px;min-height:43px;align-self:center;white-space:nowrap}
.main-nav .submenu{border-top:3px solid var(--gold);z-index:65}

/* Hero: reduced copy density, no decorative circles/eyebrow lines. */
.hero-carousel{height:clamp(555px,47vw,640px);min-height:555px}
.hero-slide-shade{background:linear-gradient(90deg,rgba(12,34,47,.91),rgba(14,36,48,.72) 31%,rgba(13,32,43,.25) 67%,rgba(13,32,43,.08) 100%)}
.hero-slide-inner{align-items:center}
.hero-slide-content{max-width:660px;padding:28px 0 55px;margin-left:48px}
.hero-eyebrow{font-size:11px;line-height:1.4;letter-spacing:.13em;margin-bottom:12px}
.hero-slide h1{font-family:"Work Sans",sans-serif;font-size:clamp(46px,5vw,72px);font-weight:800;letter-spacing:-.057em;line-height:1.05;margin:0 0 18px;max-width:710px}
.hero-slide-content p{font-size:16px;line-height:1.66;max-width:490px;margin:0 0 27px;color:#e7eef0}
.hero-actions{gap:12px}.hero-actions .button{font-size:12px;min-height:50px;padding:13px 21px;letter-spacing:0}
.hero-arrow{top:49%;width:43px;height:43px;background:#152e40b0}.hero-arrow-prev{left:16px}.hero-arrow-next{right:16px}
.hero-dots{bottom:33px;gap:12px}

/* NAKEF-style quick action strip creates a layered transition from the hero. */
.action-wrap{position:relative;z-index:8;margin-top:-44px}
.action-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 22px 40px rgba(20,43,54,.15)}
.action-card{position:relative;display:flex;align-items:center;gap:14px;min-width:0;min-height:122px;padding:22px 20px;color:#fff;transition:transform .2s,filter .2s}
.action-card:hover{transform:translateY(-5px);filter:brightness(1.06)}
.action-card>svg{width:39px;height:39px;flex:0 0 39px}
.action-card>span:not(.action-end){display:flex;flex-direction:column;gap:7px;min-width:0}
.action-card strong{font-size:16px;line-height:1.14}.action-card small{font-size:11px;line-height:1.4;opacity:.89}
.action-end{margin-left:auto;opacity:.85;font-size:22px}
.action-card-dark{background:#223f52}.action-card-blue{background:#375b6a}.action-card-gold{background:var(--gold);color:#213d49}.action-card-sage{background:#627f71}

/* About: sophisticated cropped photographs made entirely through CSS. */
.intro-section{background:#fff;padding-top:calc(var(--section) + 26px)}
.about-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.98fr);gap:clamp(38px,6vw,90px);align-items:center}
.about-visual{position:relative;min-height:570px;padding:0 14% 30px 0}
.about-arch{width:84%;height:520px;overflow:hidden;border-radius:47% 47% 6% 6% / 26% 26% 3% 3%;background:#e2e7e1}
.about-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.about-inset{position:absolute;right:0;bottom:35px;width:47%;aspect-ratio:1;overflow:hidden;border:8px solid #fff;border-radius:50%;box-shadow:0 18px 35px #19333d20;background:#d9e1d7}
.about-inset img{display:block;width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.about-caption{position:absolute;left:12px;bottom:0;background:var(--gold);font-size:12px;font-weight:800;color:#233d4b;padding:15px 20px;max-width:260px}
.about-feature-copy h2{font-size:clamp(38px,4vw,61px);line-height:1.09;margin:0 0 21px}
.about-feature-copy .lead{font-size:18px;line-height:1.64;font-weight:600;color:#3b515b;margin-bottom:19px}
.about-feature-copy>p:not(.lead){font-size:15px;line-height:1.8;color:#5a6c76;margin:0 0 22px}
.about-signature{display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--gold);padding:3px 0 3px 16px;margin:23px 0 27px}
.about-signature strong{font-size:15px}.about-signature span{font-size:12px;color:#647783}

/* Programmes with balanced photo-to-copy ratio and no numbering overlays. */
.programmes-section{background:#f3f5f1}
.programme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.programme-card{border:1px solid #e4e9e5;background:#fff;box-shadow:0 10px 25px #203d4d0b;transition:transform .25s,box-shadow .25s}
.programme-card:hover{transform:translateY(-6px);box-shadow:0 23px 36px #203d4d23}
.programme-photo{height:222px;overflow:hidden}
.programme-photo img{transition:transform .6s ease}
.programme-card:hover .programme-photo img{transform:scale(1.065)}
.programme-content{padding:23px 25px 25px}
.programme-content h3{font-size:21px;margin:0 0 9px}
.programme-content p{font-size:13px;line-height:1.7;margin-bottom:16px}
.section-after-actions{margin-top:32px;display:flex;justify-content:center}

/* Impact: photographic split panel plus animated figures, not an empty dark band. */
.impact-band{position:relative;background:#1e3b4a;color:#fff;isolation:isolate;overflow:hidden}
.impact-photo{position:absolute;inset:0 51% 0 0;z-index:-1}
.impact-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.88)}
.impact-photo::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#193a4dbf,#1e3b4af2)}
.impact-inner{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(45px,6vw,90px);padding-block:85px;align-items:center}
.impact-intro h2{font-size:clamp(36px,3.7vw,54px);margin:0 0 18px}
.impact-intro h2 em{color:var(--gold)}.impact-intro p{color:#dbe4e8;font-size:15px;line-height:1.7}
.stat-grid{gap:0 30px}.stat{padding:26px 0 28px;border-bottom:1px solid #ffffff35}.stat:nth-child(n+3){border-bottom:0}
.stat strong{font-size:clamp(38px,4.1vw,60px);font-weight:800;line-height:1.12}
.stat span{font-size:13px}

/* Stories: purposeful overlap and discreet sculpted crop. */
.story-section{background:#fff}
.story-grid{grid-template-columns:1.05fr .95fr;gap:clamp(42px,7vw,100px)}
.story-images{height:530px}
.story-image-large{height:94%;width:78%;object-fit:cover;object-position:center;border-radius:50% 50% 0 0 / 29% 29% 0 0}
.story-image-small{width:50%;height:50%;bottom:0;right:0;border-width:8px;overflow:hidden;border-radius:15px}
.story-caption{position:absolute;bottom:24px;left:0;z-index:2;background:var(--gold);color:var(--deep);font-size:15px;font-weight:800;line-height:1.18;padding:18px 22px;box-shadow:0 8px 22px #233e4e22}
.story-copy h2{font-size:clamp(38px,3.7vw,54px);margin-bottom:20px}.story-copy>p{font-size:15px;line-height:1.82;margin-bottom:18px;color:#5c6e77}
.story-copy blockquote{font-family:"Work Sans",sans-serif;font-size:17px;line-height:1.56;font-weight:700;font-style:italic;margin:19px 0 26px;padding-left:16px}

/* Testimonials: finished carousel rather than placeholder cards. */
.testimonials-section{background:#f2f0e9}
.testimonial-shell{background:#fff;position:relative;box-shadow:0 20px 45px #253e4810;overflow:hidden}
.testimonial-viewport{position:relative;min-height:365px}
.testimonial-slide{position:absolute;inset:0;display:grid;grid-template-columns:38% 1fr;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(18px);transition:opacity .46s ease,transform .46s ease,visibility .46s}
.testimonial-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:none}
.testimonial-portrait{height:365px;overflow:hidden;background:#cdd7cd}
.testimonial-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.testimonial-words{padding:46px clamp(25px,5vw,90px) 35px;display:flex;flex-direction:column;justify-content:center}
.quote-glyph{font-size:92px;color:var(--gold);font-family:Georgia,serif;line-height:.65;margin:0 0 14px}
.testimonial-words blockquote{font-size:clamp(19px,2.2vw,29px);letter-spacing:-.03em;line-height:1.45;font-weight:600;color:#203d4c;margin:0 0 25px}
.testimonial-identity{display:flex;flex-direction:column;gap:3px}
.testimonial-identity strong{font-size:15px}.testimonial-identity span{font-size:12px;color:#697d82}
.testimonial-controls{position:absolute;bottom:21px;right:28px;display:flex;gap:22px;align-items:center;z-index:3}
.testimonial-position{font-size:11px;letter-spacing:.05em;color:#73838b;font-weight:700}
.testimonial-buttons,.news-carousel-buttons{display:flex;gap:7px}
.testimonial-buttons button,.news-carousel-buttons button{border:1px solid #b4c1c6;background:#fff;color:#254558;display:grid;place-items:center;width:39px;height:39px;font-size:21px;cursor:pointer;transition:background .2s,color .2s}
.testimonial-buttons button:hover,.news-carousel-buttons button:hover{background:var(--deep);color:#fff}

/* News: horizontally scrollable editorial track; physical controls and scroll snap. */
.news-section{background:#f3f5f1}
.news-heading-actions{display:flex;align-items:center;gap:26px}
.news-track{display:flex;flex-wrap:nowrap;gap:23px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 1px 26px}
.news-track::-webkit-scrollbar{display:none}
.news-track .insight-card{display:block!important;flex:0 0 43%;scroll-snap-align:start;min-width:0;background:#fff;box-shadow:0 10px 22px #1e3e4e0b;transition:transform .3s,box-shadow .3s}
.news-track .insight-card:hover{transform:translateY(-5px);box-shadow:0 21px 33px #203e4e20}
.insight-image{height:240px;overflow:hidden}
.insight-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}
.news-track .insight-card:hover .insight-image img{transform:scale(1.04)}
.insight-content{padding:25px}.insight-content h3{font-size:22px;line-height:1.3}
.insight-content p{font-size:13px;line-height:1.75}

/* Closing visual: image behind integrated CTA, no hard sage block/border. */
.closing-cta{position:relative;isolation:isolate;overflow:hidden;background:#203c4d;padding:0;color:#fff;min-height:370px}
.closing-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 40%;z-index:-2}
.closing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#1e3949f7 4%,#203e4de8 47%,#203e4d60 100%);z-index:-1}
.closing-inner{min-height:370px;display:flex;justify-content:flex-start;align-items:center;padding-block:58px}
.closing-inner>div{max-width:770px}
.closing-inner h2{font-size:clamp(38px,4.4vw,62px);line-height:1.08;margin:0 0 15px}
.closing-inner h2 em{color:var(--gold)}
.closing-inner p{font-size:15px;color:#e8eef1;margin:0 0 22px}
.closing-actions{justify-content:flex-start;gap:12px}

/* Motion is opt-in when JS has started; no blank content without JS. */
.js-enhanced .reveal{opacity:0;transform:translateY(24px);transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1)}
.js-enhanced .reveal.is-revealed{opacity:1;transform:none}
.js-enhanced .programme-grid>.reveal:nth-child(3n+2){transition-delay:.07s}
.js-enhanced .programme-grid>.reveal:nth-child(3n+3){transition-delay:.13s}
html{scroll-padding-top:100px}
section[id]{scroll-margin-top:100px}

@media(max-width:1370px){
 .header-inner{height:79px;min-height:79px}.brand-emblem{height:61px;width:61px;flex-basis:61px}
 .brand-wordmark strong{font-size:15px}.brand-wordmark small{font-size:7px}
 .main-nav .nav-link{font-size:12px;padding-inline:9px;min-width:75px}
 .main-nav .has-submenu .nav-link{min-width:123px}
 .nav-donate{font-size:10px;min-width:110px;padding-inline:10px}
 .main-nav{gap:6px}.header-inner{gap:9px}
}
@media(max-width:1250px){
 .header-inner{height:76px;min-height:76px}
 .header-controls{display:flex}.mobile-donate,.menu-button{display:flex}
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;max-height:calc(100dvh - 77px);overflow:auto;padding:8px 24px 25px;margin:0;background:#fff;box-shadow:0 20px 31px #203e4b20}
 .menu-open .main-nav{display:block}.main-nav>ul{display:block;height:auto}
 .main-nav .nav-item{display:block;height:auto;border-bottom:1px solid #e5e9e5}
 .nav-item-heading{height:auto;min-height:52px;display:flex}
 .main-nav .nav-link,.main-nav .has-submenu .nav-link{min-width:0;flex:1;justify-content:flex-start;padding:15px 12px;font-size:14px;min-height:52px}
 .main-nav .nav-link[aria-current="page"]{background:#f3e8ce}
 .main-nav .nav-item:hover>.nav-item-heading,.main-nav .nav-item:focus-within>.nav-item-heading{background:transparent}
 .submenu-toggle{flex:0 0 50px;width:50px;margin:0;padding:0;background:#eef1ee}
 .main-nav .submenu{display:none;position:static;width:auto;visibility:visible;opacity:1;transform:none;pointer-events:auto;background:#f7f8f6;box-shadow:none;border:0;transition:none;padding:4px 8px 10px 20px}
 .has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu{display:none}
 .has-submenu.submenu-open>.submenu,.has-submenu.submenu-open:hover>.submenu{display:block}
 .main-nav .nav-donate{display:flex;min-height:50px;width:100%;margin-top:19px;justify-content:center}
 html.nav-lock{overflow:hidden}
 .hero-slide-content{margin-left:45px}
}
@media(max-width:1000px){
 .action-strip{grid-template-columns:repeat(2,1fr)}.action-card{min-height:115px}
 .about-feature{grid-template-columns:.95fr 1fr;gap:35px}.about-visual{min-height:450px;padding-right:9%}.about-arch{height:430px}.about-inset{width:46%}
 .impact-inner{gap:35px}.footer-grid{grid-template-columns:1.25fr 1fr 1fr;gap:32px}.footer-contact{grid-column:1/-1}
 
}
@media(max-width:800px){
 .container{width:calc(100% - 40px)}.section-pad{padding:66px 0}
 .about-feature{grid-template-columns:1fr;gap:30px}.about-visual{min-height:470px;max-width:590px}.about-arch{height:460px}.about-feature-copy{max-width:650px}
 .programme-grid{grid-template-columns:repeat(2,1fr)}
 .impact-photo{inset:0;opacity:.25}.impact-photo::after{background:#203e4bd4}.impact-inner{grid-template-columns:1fr;gap:12px;padding-block:65px}
 .story-grid{grid-template-columns:1fr;gap:48px}.story-images{max-width:600px}
 .approach-layout{grid-template-columns:1fr;gap:38px}
 .footer-grid{grid-template-columns:repeat(2,1fr)}.footer-intro{grid-column:1/-1}.footer-contact{grid-column:auto}
 .news-track .insight-card{flex-basis:63%}
}
@media(max-width:600px){
 .utility-inner{min-height:35px;justify-content:flex-start}.utility-phone,.utility-bar .social-row{display:none!important}
 .utility-email span{font-size:10px}
 .header-inner{height:70px;min-height:70px;gap:7px}
 .brand-link{gap:7px}.brand-emblem{width:49px;height:49px;flex-basis:49px}
 .brand-wordmark strong{font-size:clamp(11.2px,3.3vw,15px);letter-spacing:-.055em}
 .brand-wordmark small{font-size:6.2px;gap:1px}
 .header-controls{gap:2px}.mobile-donate,.menu-button{width:38px;height:43px}.menu-button span{width:23px}
 .main-nav{max-height:calc(100dvh - 70px);padding-inline:17px}
 .hero-carousel{height:560px;min-height:560px}.hero-slide-inner{align-items:flex-end}
 .hero-slide-shade{background:linear-gradient(0deg,#0d283eea 0%,#0d2a3cce 38%,#12354839 84%)}
 .hero-slide-content{margin:0;padding:0 0 90px;max-width:calc(100% - 22px)}
 .hero-eyebrow{font-size:9px;margin-bottom:10px}
 .hero-slide h1{font-size:clamp(34px,9vw,48px);line-height:1.06;margin:0 0 12px}
 .hero-slide-content p{font-size:12.5px;line-height:1.5;max-width:340px;margin:0 0 17px}
 .hero-actions .button{font-size:10px;padding:10px 14px;min-height:43px}
 .hero-arrow{width:33px;height:33px;top:33%;background:#153649a8}.hero-arrow-prev{left:9px}.hero-arrow-next{right:9px}
 .hero-dots{bottom:20px}
 .action-wrap{margin:0}.action-strip{width:100%;grid-template-columns:repeat(2,1fr);box-shadow:none}
 .action-card{min-height:103px;padding:15px 12px;gap:8px}.action-card>svg{width:25px;height:25px;flex-basis:25px}.action-card strong{font-size:12px}.action-card small{font-size:9px}.action-end{display:none}
 .intro-section{padding-top:64px}
 .about-visual{min-height:385px;padding-right:10%}.about-arch{height:363px}.about-inset{bottom:28px;border-width:5px}
 .about-caption{font-size:10px;padding:11px 13px;bottom:1px}
 .about-feature-copy h2,.partners-intro h2,.approach-copy h2,.story-copy h2{font-size:clamp(32px,9vw,44px)}
 .about-feature-copy .lead{font-size:16px}
 .section-title-row{margin-bottom:25px}.section-title-row h2{font-size:clamp(30px,8.4vw,43px)}
 .section-title-row p{font-size:13px}.programme-grid{grid-template-columns:1fr}.programme-photo{height:230px}
 .impact-intro h2{font-size:38px}.stat-grid{gap:0 16px}.stat strong{font-size:42px}.stat{padding-block:23px}
 .story-images{height:345px}.story-image-small{border-width:5px}.story-caption{font-size:11px;padding:12px 15px;bottom:12px}
 .testimonial-slide{grid-template-columns:1fr}.testimonial-portrait{height:205px}.testimonial-words{padding:30px 26px 89px}.testimonial-words blockquote{font-size:19px;margin-bottom:17px}
 .testimonial-controls{bottom:16px;right:19px}.quote-glyph{font-size:65px;margin-bottom:7px}
 
 
 .news-heading-actions{width:100%;justify-content:space-between}.news-heading-actions .text-link{font-size:10px}
 .news-track{gap:13px}.news-track .insight-card{flex-basis:86%}.insight-image{height:210px}
 .closing-cta{min-height:0}.closing-inner{min-height:0;padding:55px 0}.closing-inner h2{font-size:38px}.closing-inner p{font-size:13px}
 .closing-actions{width:100%;align-items:stretch}.closing-actions .button{width:auto;flex:1;min-width:135px;padding-inline:12px}
 
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px;padding-block:40px}
 .footer-intro{grid-column:1/-1}.footer-contact{grid-column:1/-1}
 .footer-bottom{font-size:10px;line-height:1.6}
}
@media(max-width:380px){
 .container{width:calc(100% - 30px)}
 .brand-emblem{width:43px;height:43px;flex-basis:43px}
 .brand-wordmark strong{font-size:10.8px}.brand-wordmark small{font-size:5.5px}
 .mobile-donate,.menu-button{width:34px}.header-controls{gap:0}
 .hero-slide h1{font-size:34px}.hero-slide-content{max-width:100%}
 .action-card{gap:6px;padding-inline:10px}.action-card>svg{width:22px;height:22px;flex-basis:22px}
 .action-card strong{font-size:11px}.action-card small{font-size:8px}
 .testimonial-words{padding-inline:21px}
}
@media(prefers-reduced-motion:reduce){
 .js-enhanced .reveal{opacity:1;transform:none;transition:none}
 .testimonial-slide,.news-track,.hero-slide{scroll-behavior:auto;transition:none!important}
}



/* ================================================================
   PHASE 1D — consolidated motion, editorial sections and chrome
   No new CSS layer: this is the existing shared design stylesheet.
   ================================================================ */

/* Top strip: consistent small contact type. Compact social links remain on phones. */
.utility-bar { background:#203746; }
.utility-inner { min-height:38px; }
.utility-contact { gap:22px; }
.utility-contact a, .utility-contact a span {
  font-family:"Work Sans",sans-serif; font-size:11px; line-height:1.2;
  font-weight:600; color:#e7ecee; letter-spacing:0;
}
.utility-contact a { gap:7px; text-decoration:none; }
.utility-contact a:hover,.utility-contact a:hover span{color:#e8c56e}
.utility-contact svg{color:var(--gold);width:15px;height:15px;flex-basis:15px}
.utility-bar .social-row{display:flex;align-items:center;gap:4px;margin:0}
.utility-bar .social-row a{width:31px;height:31px;flex:0 0 31px;border:0;border-radius:50%;color:#e4ebee;display:grid;place-items:center}
.utility-bar .social-row svg{width:16px;height:16px}
.utility-bar .social-row a:hover{background:#ffffff20;color:var(--gold)}

/* Balanced desktop menu and undistracting CTAs */
.main-nav .nav-link { text-decoration:none; }
.site-header .nav-donate { text-decoration:none; }
.section-after-actions { justify-content:center; }

/* More deliberate motion — never conceal content without scripting. */
@keyframes heroTextEntrance {
  from { opacity:0; transform:translate3d(0,27px,0); }
  to { opacity:1; transform:translateZ(0); }
}
@keyframes heroImageEntrance {
  from { transform:scale(1.055); }
  to { transform:scale(1); }
}
@media (prefers-reduced-motion:no-preference){
  .hero-slide.is-active .hero-eyebrow{animation:heroTextEntrance .75s .1s both cubic-bezier(.19,.7,.2,1)}
  .hero-slide.is-active h1{animation:heroTextEntrance .86s .22s both cubic-bezier(.19,.7,.2,1)}
  .hero-slide.is-active .hero-slide-content p{animation:heroTextEntrance .84s .38s both cubic-bezier(.19,.7,.2,1)}
  .hero-slide.is-active .hero-actions{animation:heroTextEntrance .84s .55s both cubic-bezier(.19,.7,.2,1)}
  .hero-slide.is-active .hero-slide-image{animation:heroImageEntrance 6.3s ease-out both}
  html.motion-ready .motion-item{
    opacity:0;transform:translate3d(0,28px,0);
    transition:opacity .75s cubic-bezier(.17,.7,.24,1),transform .75s cubic-bezier(.17,.7,.24,1);
  }
  html.motion-ready .motion-item.is-inview{opacity:1;transform:none}
  html.motion-ready .motion-item[data-motion-order="1"]{transition-delay:.11s}
  html.motion-ready .motion-item[data-motion-order="2"]{transition-delay:.22s}
  html.motion-ready .motion-item[data-motion-order="3"]{transition-delay:.32s}
  .js-enhanced .reveal{opacity:0;transform:translateY(32px);transition:opacity .82s ease,transform .82s cubic-bezier(.2,.7,.2,1)}
  .js-enhanced .reveal.is-revealed{opacity:1;transform:none}
  .programme-card.reveal:nth-child(3n+2){transition-delay:.09s}
  .programme-card.reveal:nth-child(3n+3){transition-delay:.18s}
}

/* Underlined links remain standard only where semantically helpful; buttons not underlined. */
.button,.footer-column a,.footer-contact-line,.social-row a,.footer-brand,.action-card,.partner-wordmark {text-decoration:none!important}
.button:hover,.footer-column a:hover,.social-row a:hover{text-decoration:none!important}

/* Structural image frames: original image remains unchanged. */
.about-inset { aspect-ratio:1; height:auto; border-radius:50%; }
.about-inset img{border-radius:50%}
.story-image-large{border-radius:50% 50% 0 0 / 30% 30% 0 0}
.story-image-small { border-radius:14px; }

/* Our approach: strong photo as a primary column, content + process alongside. */
.process-section { background:#ecf0eb; }
.approach-layout { display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(42px,6vw,92px);align-items:center; }
.approach-visual { position:relative; min-width:0; padding:0 30px 35px 0; }
.approach-photo-frame { height:590px; width:100%;overflow:hidden;border-radius:46% 46% 6px 6px / 23% 23% 6px 6px;background:#e0e5dc;box-shadow:0 20px 42px #15334514; }
.approach-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform .8s ease}
.approach-visual:hover img{transform:scale(1.025)}
.approach-photo-caption { position:absolute;right:0;bottom:0;background:var(--gold);padding:19px 23px;color:var(--deep);box-shadow:0 11px 24px #1a3e4816; }
.approach-photo-caption span{font-size:10px;font-weight:800;letter-spacing:.12em;display:block;margin-bottom:7px}
.approach-photo-caption strong{font-size:23px;line-height:1.15;font-weight:800;letter-spacing:-.04em}
.approach-content h2{font-size:clamp(36px,3.8vw,56px);line-height:1.11;margin:0 0 17px}
.approach-content>p{max-width:585px;color:#506873;font-size:15px;line-height:1.75;margin:0 0 25px}
.approach-steps{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 26px;padding:0;border:0}
.approach-step{padding:20px 18px 20px 22px;border-left:3px solid var(--gold);border-bottom:0;background:#ffffffa8;min-height:118px;transition:transform .25s ease,background .25s ease}
.approach-step:hover{transform:translateY(-3px);background:#fff}
.approach-marker{display:none}
.approach-step h3{font-size:18px;margin:0 0 7px;letter-spacing:-.035em}
.approach-step p{font-size:12px;line-height:1.58;color:#60737a;margin:0}

/* Partnerships: quiet typography-first identity strip, not empty icon tiles. */
.partners-section{background:#fff}
.partners-shell{display:flex;flex-direction:column;gap:32px}
.partners-intro{display:grid;grid-template-columns:1fr minmax(250px,.75fr);gap:35px;align-items:end}
.partners-intro .eyebrow{grid-column:1/-1;margin-bottom:-24px}
.partners-intro h2{font-size:clamp(36px,3.7vw,54px);line-height:1.09;margin:0}
.partners-intro p{font-size:15px;line-height:1.72;color:#63727c;margin:0 0 4px}
.partner-wordmarks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f4f6f3;padding:28px 16px;border-top:3px solid var(--gold)}
.partner-wordmark{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;border-right:1px solid #dce3de;padding:10px 17px}
.partner-wordmark:last-child{border-right:0}
.partner-wordmark strong{font-size:clamp(16px,1.65vw,22px);font-weight:800;letter-spacing:-.055em;line-height:1.15;color:#314c55}
.partner-wordmark small{font-size:11px;line-height:1.3;color:#75888d}
.partners-action{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 0 4px}
.partners-action span{color:#52676e;font-size:14px}

/* Carousel: navigation lives under the cards, never jammed against View All. */
.news-heading-actions{margin:0 0 5px}
.news-bottom-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px}
.news-bottom-controls>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#697e81}
.news-carousel-buttons{gap:10px}
.news-carousel-buttons button{width:45px;height:45px;border-color:#aabec2;border-radius:50%;font-size:22px}
.news-carousel-buttons button:hover{background:#1c3a49;color:#fff}

/* NAKEF-standard rich footer: balanced typography and four purposeful columns. */
.site-footer{background:#1f2021;color:#fff;padding:0}
.site-footer .footer-grid{display:grid;grid-template-columns:1.38fr 1fr 1.16fr 1.1fr;gap:clamp(25px,4vw,70px);padding:58px 0 70px;align-items:start}
.footer-intro{min-width:0}
.footer-brand{display:flex;gap:15px;align-items:center;color:#fff}
.footer-brand img{width:78px;height:78px;flex:0 0 78px;object-fit:contain;border-radius:50%;margin:0;float:none}
.footer-brand strong{font-size:16px;letter-spacing:-.05em;line-height:1.12;display:block;color:#fff}
.footer-brand small{display:block;font-size:10px;margin-top:5px;line-height:1.45;color:#cbd1cf}
.footer-intro .footer-note{font-size:14px;line-height:1.8;color:#e3e6e6;margin:26px 0 9px;max-width:365px;padding:0}
.footer-pledge{color:#fff;font-size:14px;font-weight:700;line-height:1.6;margin:0 0 24px}
.site-footer .social-row{display:flex;gap:12px;margin:0}
.site-footer .social-row a{border:0;border-radius:0;color:var(--gold);background:transparent;width:28px;height:30px}
.site-footer .social-row a svg{height:22px;width:22px}
.site-footer .social-row a:hover{background:none;color:#fff;transform:translateY(-3px)}
.footer-column h3{font-size:21px;line-height:1.2;letter-spacing:-.045em;color:#fff;font-weight:800;margin:3px 0 28px}
.footer-column h3 span{color:var(--gold)}
.footer-column ul{list-style:none;padding:0;margin:0}
.footer-column li{margin:0 0 16px;font-size:14px;line-height:1.55}
.footer-column li a{color:#eef0f0;display:flex;align-items:baseline;gap:12px;transition:color .2s ease}
.footer-column li a::before{content:"";flex:0 0 15px;width:15px;height:2px;background:var(--gold);display:inline-block;align-self:center}
.footer-column li a:hover{color:var(--gold)}
.footer-contact-items{display:flex;flex-direction:column;gap:19px}
.footer-contact-line{display:flex;align-items:flex-start;gap:14px;color:#eef1f1!important;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.footer-contact-line svg{color:var(--gold);flex:0 0 22px;position:relative;top:1px}
.footer-contact-line:hover{color:var(--gold)!important}
.footer-support{margin-top:30px;display:inline-flex!important;max-width:100%;min-height:52px;justify-content:center;font-size:12px!important;color:#152e3b!important;padding:15px 18px}
.footer-bottom-wrap{background:#2c2c2c}
.footer-bottom{border:0;display:flex;justify-content:space-between;gap:22px;align-items:center;padding:23px 0;font-size:12px;line-height:1.6;color:#e0e3e3}

@media (max-width:1100px){
 .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
 .approach-layout{grid-template-columns:.8fr 1.2fr;gap:30px}
 .approach-photo-frame{height:530px}
 .approach-steps{gap:10px}
 .partners-intro{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
 .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .approach-layout{grid-template-columns:1fr;gap:36px}
 .approach-visual{max-width:560px}
 .approach-photo-frame{height:430px}
 .partners-intro{grid-template-columns:1fr;gap:18px}
 .partners-intro .eyebrow{margin-bottom:0}
 .partner-wordmarks{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partner-wordmark:nth-child(2){border-right:0}
 .partner-wordmark:nth-child(-n+2){border-bottom:1px solid #dce3de}
 .news-heading-actions{margin-top:4px}
}
@media (max-width:600px){
 .utility-inner{min-height:39px;justify-content:space-between;gap:7px}
 .utility-contact{min-width:0;flex:0 1 auto;gap:0}
 .utility-contact .utility-phone{display:none!important}
 .utility-contact .utility-email{min-width:0;gap:4px}
 .utility-contact a,.utility-contact a span{font-size:clamp(9px,2.65vw,11px);font-weight:650;white-space:nowrap}
 .utility-contact svg{width:12px;height:12px;flex:0 0 12px}
 .utility-bar .social-row{display:flex!important;gap:2px;margin:0;flex:0 0 auto}
 .utility-bar .social-row a{width:24px;height:28px;flex:0 0 24px}
 .utility-bar .social-row svg{width:15px;height:15px}
 .section-after-actions{justify-content:flex-end}
 .hero-actions,.closing-actions{justify-content:flex-end}
 .about-feature-copy>.button,.story-copy>.button,.approach-content>.button,.partners-action .button,.footer-support{margin-left:auto}
 .about-feature-copy>.button,.story-copy>.button,.approach-content>.button{display:table}
 .approach-visual{padding-right:16px;padding-bottom:19px}
 .approach-photo-frame{height:365px}
 .approach-photo-caption{padding:13px 15px}
 .approach-photo-caption strong{font-size:16px}
 .approach-content>p{font-size:14px}
 .approach-steps{gap:9px}
 .approach-step{min-height:123px;padding:15px 11px 15px 12px}
 .approach-step h3{font-size:16px}
 .approach-step p{font-size:11px}
 .partner-wordmarks{padding:16px 8px}
 .partner-wordmark{padding:16px 9px;min-height:104px}
 .partner-wordmark strong{font-size:15px}
 .partner-wordmark small{font-size:10px}
 .partners-action{align-items:flex-end;flex-direction:column;gap:13px;text-align:right}
 .partners-action span{font-size:12px}
 .news-bottom-controls{margin-top:8px}
 .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px;padding:44px 0 48px}
 .site-footer .footer-intro{grid-column:1/-1}
 .footer-brand img{width:76px;height:76px;flex-basis:76px}
 .footer-intro .footer-note{max-width:420px;margin:20px 0 8px}
 .footer-column h3{font-size:17px;margin-bottom:20px}
 .footer-column li{font-size:12px;margin-bottom:14px}
 .footer-column li a::before{flex-basis:10px;width:10px}
 .site-footer .footer-contact{grid-column:1/-1}
 .footer-contact-items{gap:14px}
 .footer-support{width:auto;align-self:flex-end}
 .footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:10px;gap:6px}
}
@media (max-width:360px){
 .utility-contact a,.utility-contact a span{font-size:9px}
 .utility-bar .social-row a{width:21px;flex-basis:21px}
 .utility-bar .social-row svg{width:14px;height:14px}
 .footer-column li a{gap:7px}
 .footer-column li a::before{flex-basis:8px;width:8px}
}
@media (prefers-reduced-motion:reduce){
 .hero-slide.is-active .hero-eyebrow,.hero-slide.is-active h1,.hero-slide.is-active .hero-slide-content p,.hero-slide.is-active .hero-actions,.hero-slide.is-active .hero-slide-image {animation:none!important}
 html.motion-ready .motion-item,.js-enhanced .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
