@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--udu-blue:#5170ff;--udu-green:#00bf63;--udu-gradient:linear-gradient(112deg,#5170ff 0%,#00bf63 100%);--udu-ink:#111827;--udu-muted:#5c6574;--udu-paper:#fffdf9;--udu-wash:#f4f5f3;--udu-line:#e3e5e8;--udu-night:#14161d;--udu-radius:1.5rem;--udu-max:76rem;--udu-ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--udu-paper);color:var(--udu-ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased} body:has(.udu-page),body.project-page{font-family:'DM Sans',system-ui,sans-serif} img,video{max-width:100%} a{color:inherit}.udu-container,.shell,.container{width:min(var(--udu-max),calc(100% - 3rem));margin-inline:auto}.udu-page{padding:0;color:var(--udu-ink)}.udu-page>*+*{margin-top:0}.udu-page h1,.udu-page h2,.experience h1,.experience h2,.project-page h1,.project-page h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}.udu-label,.eyebrow,.overline{color:var(--udu-blue);font-size:.7rem!important;font-weight:700!important;letter-spacing:.15em!important;text-transform:uppercase}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Navigation */
.udu-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.9);border-bottom:1px solid rgba(17,24,39,.08);backdrop-filter:blur(16px)}.udu-header a{text-decoration:none}.udu-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:4.7rem;gap:1rem}.udu-brand,#udu-primary{display:flex;align-items:center;gap:1.5rem}.udu-brand{font-size:.82rem;font-weight:800;letter-spacing:.04em}.udu-brand img{width:2rem;height:2rem}.udu-resources{position:relative}.udu-resources summary{list-style:none}.udu-resources summary::-webkit-details-marker{display:none}.udu-resources summary:after{content:'↘';margin-left:.4rem;font-size:.8em}.udu-resources>div{position:absolute;top:calc(100% + .8rem);left:-.75rem;min-width:10.5rem;padding:.45rem;border:1px solid var(--udu-line);border-radius:1rem;background:#fff;box-shadow:0 1.2rem 3rem rgba(17,24,39,.12)}.udu-resources a{display:block;padding:.7rem .75rem;border-radius:.65rem}.udu-resources a:hover{background:var(--udu-wash)}#udu-primary>a,.udu-resources summary{font-size:.88rem;font-weight:600;cursor:pointer}.udu-support{justify-self:end}.udu-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.7rem 1.15rem;border:0;border-radius:99px;background:var(--udu-gradient);box-shadow:0 .6rem 1.8rem rgba(81,112,255,.2);color:#fff!important;font-size:.86rem;font-weight:700;text-decoration:none;transition:transform .25s var(--udu-ease),box-shadow .25s var(--udu-ease)}.udu-button:hover{transform:translateY(-2px);box-shadow:0 1rem 2rem rgba(81,112,255,.28)}.udu-secondary{background:transparent;box-shadow:inset 0 0 0 1px currentColor;color:var(--udu-ink)!important}.udu-menu{display:none}.udu-skip{position:absolute;left:1rem;top:.7rem;z-index:70;padding:.6rem;background:#fff;transform:translateY(-200%)}.udu-skip:focus{transform:none}.udu-header :focus-visible,.experience :focus-visible,.udu-page :focus-visible,.project-page :focus-visible{outline:3px solid var(--udu-blue);outline-offset:4px}

/* Shared editorial building blocks */
.experience{overflow:hidden}.experience-section{padding:clamp(4.5rem,9vw,9rem) 0}.experience-heading{max-width:46rem;margin:0;font-size:clamp(2.5rem,5vw,5.4rem);line-height:.94}.experience-copy{max-width:39rem;color:var(--udu-muted);font-size:1.05rem;line-height:1.7}.experience-copy a{text-underline-offset:.25em}.media-frame{position:relative;overflow:hidden;border-radius:var(--udu-radius);background:#e9ece9}.media-frame>img,.media-frame>video{display:block;width:100%;height:100%;object-fit:cover}.status{display:inline-flex;align-items:center;gap:.45rem;padding:.43rem .7rem;border-radius:99px;background:rgba(255,255,255,.9);font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.status:before{content:'';width:.42rem;height:.42rem;border-radius:50%;background:var(--udu-green)}.status.proposed:before{background:var(--udu-blue)}.visual-card{overflow:hidden;border:1px solid var(--udu-line);border-radius:var(--udu-radius);background:#fff;transition:transform .35s var(--udu-ease),box-shadow .35s var(--udu-ease)}.visual-card:hover{transform:translateY(-5px);box-shadow:0 1.4rem 3.2rem rgba(17,24,39,.11)}.visual-card img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover}.visual-card .card-body{padding:1.35rem}.visual-card h3{margin:.5rem 0;font-family:'DM Serif Display',Georgia,serif;font-size:1.85rem;font-weight:400;letter-spacing:-.035em}.visual-card p{margin:.3rem 0 1rem;color:var(--udu-muted);line-height:1.6}.arrow-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:700;text-decoration:none}.arrow-link:after{content:'→';font-size:1.1rem;transition:transform .2s}.arrow-link:hover:after{transform:translateX(.25rem)}

/* Home */
.home-hero{position:relative;display:grid;align-items:end;min-height:min(51rem,calc(100vh - 4.7rem));padding:clamp(4rem,8vw,7rem) 0;isolation:isolate;color:#fff;background:var(--udu-night)}.home-hero:before{position:absolute;inset:0;z-index:-2;content:'';background:linear-gradient(90deg,rgba(10,12,19,.87) 0%,rgba(10,12,19,.5) 48%,rgba(10,12,19,.18)),url('/assets/flomina-project.webp') 72% 42%/cover no-repeat;filter:saturate(.9)}.home-hero:after{position:absolute;inset:auto -10% -25rem auto;z-index:-1;width:48rem;height:48rem;content:'';border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 4rem rgba(81,112,255,.08),0 0 0 8rem rgba(0,191,99,.05)}.home-hero .udu-label{color:#dfe5ff}.home-hero h1{max-width:9ch;margin:.9rem 0 1.5rem;font-size:clamp(3.8rem,8.5vw,8.5rem);line-height:.82}.home-hero p{max-width:35rem;margin:0 0 2rem;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.65}.home-hero .udu-secondary{margin-left:.55rem;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.hero-scroll{position:absolute;right:max(1.5rem,calc((100% - var(--udu-max))/2));bottom:2rem;writing-mode:vertical-rl;color:rgba(255,255,255,.72);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero-scroll:after{display:block;width:1px;height:3rem;margin:.7rem auto 0;background:var(--udu-green);content:''}
.flomina-feature{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,6vw,7rem);align-items:center}.flomina-feature .media-frame{min-height:28rem}.flomina-feature video{position:absolute;inset:0;aspect-ratio:unset}.flomina-feature .media-caption{position:absolute;inset:auto 1rem 1rem;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-shadow:0 1px 14px #000;text-transform:uppercase}.flomina-feature h2{margin:.5rem 0 1.2rem;font-size:clamp(3rem,5vw,5.2rem);line-height:.9}.feature-points{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.8rem 0}.feature-points span{padding-top:.8rem;border-top:1px solid var(--udu-line);font-size:.78rem;line-height:1.45}.feature-points b{display:block;margin-bottom:.2rem;font-size:.95rem}
.loop-section{position:relative;background:var(--udu-wash)}.loop-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(2rem,8vw,9rem);align-items:center}.circle-model{position:relative;display:grid;place-items:center;min-height:31rem}.circle-model:before,.circle-model:after{position:absolute;border:1px dashed rgba(81,112,255,.38);border-radius:50%;content:''}.circle-model:before{width:min(82vw,27rem);height:min(82vw,27rem)}.circle-model:after{width:min(57vw,18rem);height:min(57vw,18rem);border-color:rgba(0,191,99,.5)}.loop-core{display:grid;place-items:center;width:8rem;height:8rem;border-radius:50%;background:var(--udu-gradient);box-shadow:0 1rem 3rem rgba(81,112,255,.28);color:#fff;font-family:'DM Serif Display',Georgia,serif;font-size:1.55rem;text-align:center}.loop-node{position:absolute;z-index:2;max-width:7rem;padding:.7rem .8rem;border:1px solid rgba(17,24,39,.09);border-radius:.8rem;background:#fff;box-shadow:0 .8rem 2rem rgba(17,24,39,.08);font-size:.73rem;font-weight:700;text-align:center}.loop-node:nth-child(2){top:2rem}.loop-node:nth-child(3){right:2%;top:44%}.loop-node:nth-child(4){bottom:2rem}.loop-node:nth-child(5){left:2%;top:44%}.pillar-split{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:var(--udu-radius)}.pillar{position:relative;min-height:29rem;padding:clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:end;color:#fff;isolation:isolate}.pillar:before{position:absolute;inset:0;z-index:-1;content:'';background:linear-gradient(0deg,rgba(10,12,19,.83),rgba(10,12,19,.1)),var(--pillar-img) center/cover}.pillar h2{margin:0;font-size:clamp(3rem,5vw,5rem);line-height:.9}.pillar p{max-width:25rem;margin:.8rem 0 0;line-height:1.6;color:rgba(255,255,255,.84)}.pillar.ecology{--pillar-img:url('/projects/moipei-primary-school/3a366ba8-152f-45fe-9a12-9ee554611e8f.jpg')}.pillar.economy{--pillar-img:url('/projects/kajiado-township/c903e23e-e2a6-42ab-87f1-209631c8d8cc.jpg')}
.project-rail{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:3rem}.project-rail .visual-card img{aspect-ratio:1.55;object-fit:cover}.recognition{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem;align-items:center}.badge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.badge-row img{width:100%;border-radius:1rem;box-shadow:0 1rem 2rem rgba(17,24,39,.1);transition:transform .25s var(--udu-ease)}.badge-row img:hover{transform:translateY(-.4rem) rotate(-1deg)}.community-strip{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:stretch}.community-strip .media-frame{min-height:25rem}.community-strip .copy-panel{padding:clamp(2rem,5vw,4rem);border-radius:var(--udu-radius);background:var(--udu-night);color:#fff}.community-strip p{color:rgba(255,255,255,.72)}.community-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.community-list span{padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.18);font-size:.9rem}.shop-preview{display:grid;grid-template-columns:.75fr 1.25fr;gap:3rem;align-items:center}.shop-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.shop-preview-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:1rem;background:#eef1ef}.closing-cta{position:relative;overflow:hidden;border-radius:var(--udu-radius);padding:clamp(3rem,8vw,7rem);background:var(--udu-night);color:#fff}.closing-cta:after{position:absolute;inset:-55% -10% auto auto;width:38rem;height:38rem;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 4rem rgba(81,112,255,.12),0 0 0 8rem rgba(0,191,99,.07);content:''}.closing-cta h2{position:relative;max-width:9ch;margin:.5rem 0 1.3rem;font-size:clamp(3.5rem,7vw,7rem);line-height:.83}.closing-cta p,.closing-cta .udu-button{position:relative}.closing-cta p{max-width:34rem;color:rgba(255,255,255,.75);line-height:1.65}.closing-cta .udu-secondary{color:#fff!important}

/* Projects */
.projects-hero{padding:clamp(4.5rem,9vw,8rem) 0 3rem;background:linear-gradient(130deg,#f3f5ff 0%,var(--udu-paper) 56%,#effdf6)}.projects-hero h1{max-width:10ch;margin:.5rem 0 1rem;font-size:clamp(4rem,8vw,8rem);line-height:.82}.projects-hero p{max-width:35rem;color:var(--udu-muted);font-size:1.08rem;line-height:1.65}.projects-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:center}.projects-feature .media-frame{height:32rem}.projects-feature h2{margin:.6rem 0 1rem;font-size:clamp(3.2rem,5vw,5.6rem);line-height:.88}.project-index{background:var(--udu-wash)}.project-index-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}.project-index-grid .visual-card:nth-child(3){grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.project-index-grid .visual-card:nth-child(3) img{height:100%;aspect-ratio:auto}.projects-current{display:grid;gap:1.3rem}.current-project{display:grid;grid-template-columns:.7fr 1.3fr;overflow:hidden;border-top:1px solid var(--udu-line);padding-top:1.3rem;gap:1.5rem}.current-project img{width:100%;height:16rem;object-fit:cover;border-radius:1rem}.current-project h3{margin:.5rem 0;font-family:'DM Serif Display',Georgia,serif;font-size:2.4rem;font-weight:400;letter-spacing:-.04em}.current-project p{margin:0;color:var(--udu-muted);line-height:1.6}

/* Support */
.support-hero{padding:clamp(4rem,8vw,7rem) 0 3rem;background:linear-gradient(130deg,#f2f4ff,#fff 57%,#edfff5)}.support-hero h1{max-width:11ch;margin:.4rem 0 1rem;font-size:clamp(3.5rem,7vw,7rem);line-height:.85}.support-hero p{max-width:39rem;color:var(--udu-muted);font-size:1.05rem;line-height:1.65}.tier-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0 3rem}.tier-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid var(--udu-line);border-radius:1.25rem;background:#fff;cursor:pointer;transition:transform .25s var(--udu-ease),border-color .25s,box-shadow .25s}.tier-option:hover,.tier-option:has(input:focus-visible){transform:translateY(-4px);box-shadow:0 1rem 2rem rgba(17,24,39,.1)}.tier-option:has(input:checked){border-color:var(--udu-blue);box-shadow:0 0 0 3px rgba(81,112,255,.12),0 1rem 2rem rgba(17,24,39,.08)}.tier-option input{position:absolute;opacity:0;pointer-events:none}.tier-option img{width:100%;margin-bottom:1rem;border-radius:.85rem}.tier-option strong{font-family:'DM Serif Display',Georgia,serif;font-size:1.65rem;font-weight:400}.tier-option b{margin:.25rem 0;color:var(--udu-blue);font-size:1rem}.tier-option span{color:var(--udu-muted);font-size:.78rem;line-height:1.45}.tier-checkout-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:start}.tier-checkout-wrap .support-form{max-width:none!important;margin:0;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--udu-line);border-radius:var(--udu-radius);background:#fff;box-shadow:0 1.4rem 3rem rgba(17,24,39,.07)}.tier-checkout-wrap label{display:grid;gap:.45rem;margin-top:1rem;font-weight:700;font-size:.86rem}.tier-checkout-wrap input,.tier-checkout-wrap select,.tier-checkout-wrap textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--udu-line);border-radius:.7rem;background:#fff}.tier-checkout-wrap textarea{min-height:7rem}.tier-checkout-wrap #tier-checkout select{display:none}.tier-checkout-wrap .rate-attribution{font-size:.75rem;color:var(--udu-muted)}.custom-support{padding:clamp(3rem,7vw,7rem) 0;background:var(--udu-wash)}.custom-support .support-form{max-width:42rem!important;padding:clamp(1.5rem,4vw,3rem);border-radius:var(--udu-radius);background:#fff}

/* FAQ and CSR */
.page-lead{padding:clamp(4rem,8vw,7rem) 0 3rem}.page-lead h1{max-width:12ch;margin:.4rem 0 1rem;font-size:clamp(3.5rem,7vw,7rem);line-height:.85}.page-lead p{max-width:38rem;color:var(--udu-muted);font-size:1.05rem;line-height:1.65}.faq-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem 4rem;padding-bottom:7rem}.faq-groups h2{margin:0 0 1rem;font-size:2rem}.faq-groups details{border-top:1px solid var(--udu-line);padding:1rem 0}.faq-groups details:last-child{border-bottom:1px solid var(--udu-line)}.faq-groups summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font-weight:700;list-style:none}.faq-groups summary::-webkit-details-marker{display:none}.faq-groups summary:after{content:'+';color:var(--udu-blue);font-size:1.4rem;font-weight:400;line-height:.8}.faq-groups details[open] summary:after{content:'−'}.faq-groups details p{margin:.8rem 2rem .15rem 0;color:var(--udu-muted);line-height:1.65}.csr-hero{display:grid;grid-template-columns:1fr 1fr;min-height:35rem;background:var(--udu-night);color:#fff}.csr-hero .copy{display:flex;flex-direction:column;justify-content:end;padding:clamp(2rem,6vw,7rem) max(1.5rem,calc((100vw - var(--udu-max))/2))}.csr-hero h1{max-width:10ch;margin:.6rem 0 1rem;font-size:clamp(3.6rem,6vw,6.5rem);line-height:.86}.csr-hero p{max-width:34rem;color:rgba(255,255,255,.74);line-height:1.65}.csr-hero .image{background:linear-gradient(0deg,rgba(10,12,19,.2),rgba(10,12,19,0)),url('/projects/kajiado-township/5d4e3f6c-aa62-415a-8104-47467e90e498.jpg') center/cover}.csr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.csr-grid article{padding:1.6rem;border:1px solid var(--udu-line);border-radius:1rem}.csr-grid h3{margin:.5rem 0;font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;font-weight:400}.csr-grid p{margin:0;color:var(--udu-muted);line-height:1.6}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.process div{padding:1.2rem 0;border-top:2px solid var(--udu-blue)}.process b{display:block;margin-bottom:.65rem;color:var(--udu-blue);font-size:.72rem;letter-spacing:.1em}.process h3{margin:0;font-family:'DM Serif Display',Georgia,serif;font-size:1.7rem;font-weight:400}.csr-callout{padding:clamp(2rem,5vw,5rem);border-radius:var(--udu-radius);background:var(--udu-wash)}.csr-callout h2{max-width:15ch;margin:.4rem 0 1rem;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.9}.csr-callout p{max-width:42rem;color:var(--udu-muted);line-height:1.7}

/* Project detail framework overrides */
.project-page .project-intro{padding:clamp(4rem,8vw,7rem) 0 2.3rem;background:linear-gradient(130deg,#f2f4ff,var(--udu-paper) 60%,#effdf5)}.project-page .project-intro h1{max-width:12ch;white-space:normal;font-size:clamp(3.4rem,6vw,6.5rem);line-height:.86}.project-page .detail-main{padding:2rem 0 8rem}.project-page .detail-grid{grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(2rem,6vw,6rem)}.project-page .detail-image,.project-page .carousel-stage{border-radius:var(--udu-radius)}.project-page .detail-image{background:#171a20}.project-page .story h2{margin-top:4.5rem;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.1rem,3.5vw,3.5rem);font-weight:400;letter-spacing:-.04em}.project-page .story p,.project-page .story li{color:var(--udu-muted);line-height:1.78}.project-page .stat{border:0;border-radius:1rem;background:var(--udu-wash)}.project-page .timeline{grid-template-columns:repeat(2,1fr);gap:.75rem}.project-page .timeline div{border-radius:1rem;background:var(--udu-wash)}.project-page .support-card{border:0;border-radius:1.25rem;background:var(--udu-night);box-shadow:none;color:#fff}.project-page .support-card p,.project-page .support-card .funding span,.project-page .support-card .report-link{color:rgba(255,255,255,.67)}.project-page .support-card .funding strong{color:#fff}.project-page .support-card .progress{background:rgba(255,255,255,.18)}.project-page .support-card .progress-fill{background:var(--udu-gradient)}.project-page .support-card .eyebrow{color:#bbc6ff}.project-page .report-link{margin-inline:0}.project-page .carousel-slide video{background:#171a20}.project-page .flomina-project-video{height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover}.project-page .support-card:has(.funding-row strong:first-child){position:sticky}.project-page .commerce-footer{margin-top:0}

/* Existing footer */
.commerce-footer{margin-top:0!important;padding:4rem 0 1.5rem!important;background:#151820!important;color:#fff}.commerce-footer a{color:rgba(255,255,255,.8)!important}.commerce-footer .commerce-brand img{filter:none!important}.commerce-footer .copyright{margin-top:2.4rem;border-top-color:rgba(255,255,255,.13)!important;color:rgba(255,255,255,.54)}

@media(max-width:900px){.flomina-feature,.loop-layout,.recognition,.community-strip,.shop-preview,.projects-feature,.tier-checkout-wrap,.csr-hero{grid-template-columns:1fr}.home-hero{min-height:44rem}.home-hero:before{background-position:62% center}.hero-scroll{display:none}.flomina-feature .media-frame{min-height:23rem}.loop-layout>.experience-copy{max-width:42rem}.community-strip .media-frame{min-height:19rem}.project-page .detail-grid{grid-template-columns:1fr}.project-page .support-card{position:static}.csr-hero .copy{padding:4rem max(1.5rem,calc((100vw - var(--udu-max))/2))}.csr-hero .image{min-height:21rem}.tier-picker{grid-template-columns:repeat(2,1fr)}.faq-groups{grid-template-columns:1fr}.project-index-grid .visual-card:nth-child(3){display:block}.project-index-grid .visual-card:nth-child(3) img{height:auto}.project-index-grid{grid-template-columns:1fr}.project-index-grid .visual-card:nth-child(3){grid-column:auto}}
@media(max-width:600px){.udu-container,.shell,.container{width:min(100% - 2rem,var(--udu-max))}.udu-nav{grid-template-columns:1fr auto auto;min-height:4.25rem;gap:.5rem}.udu-brand{gap:.4rem;font-size:.72rem}.udu-brand img{width:1.7rem;height:1.7rem}.udu-menu:not([hidden]){display:block;grid-column:2;padding:.48rem;border:1px solid var(--udu-line);border-radius:.5rem;background:#fff;font-size:.75rem}.udu-support{grid-column:3;font-size:.74rem;min-height:2.45rem;padding:.55rem .7rem}#udu-primary{grid-column:1/-1;grid-row:2;align-items:stretch;gap:.15rem;padding:.4rem 0 .8rem}#udu-primary>a,.udu-resources summary{padding:.65rem 0}.udu-menu[aria-expanded='false']:not([hidden])+#udu-primary{display:none}.udu-resources>div{position:static;margin:.25rem 0;box-shadow:none}.home-hero{min-height:40rem;padding:4rem 0}.home-hero:before{background:linear-gradient(0deg,rgba(10,12,19,.88),rgba(10,12,19,.35)),url('/assets/flomina-project.webp') center 33%/cover}.home-hero h1{font-size:clamp(3.55rem,17vw,5.5rem)}.home-hero .udu-secondary{margin:.7rem 0 0}.experience-section{padding:4.2rem 0}.feature-points{grid-template-columns:1fr}.circle-model{min-height:24rem}.circle-model:before{width:21rem;height:21rem}.loop-node{max-width:5.7rem;padding:.55rem;font-size:.62rem}.pillar-split{grid-template-columns:1fr}.pillar{min-height:23rem}.project-rail,.badge-row,.shop-preview-grid,.csr-grid,.process{grid-template-columns:1fr 1fr}.badge-row{gap:.55rem}.community-list{grid-template-columns:1fr}.shop-preview-grid img:last-child{display:none}.closing-cta{padding:3.5rem 1.6rem}.current-project{grid-template-columns:1fr}.current-project img{height:13rem}.project-page .timeline{grid-template-columns:1fr}.project-page .stat-grid{grid-template-columns:1fr}.tier-picker{grid-template-columns:1fr 1fr;gap:.7rem}.tier-option{padding:.75rem}.tier-option strong{font-size:1.3rem}.tier-option span{font-size:.68rem}.tier-checkout-wrap .support-form{padding:1.35rem}.faq-groups{gap:2.5rem;padding-bottom:4.5rem}.csr-grid,.process{grid-template-columns:1fr}.project-index-grid{gap:1rem}.projects-feature .media-frame{height:23rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Refined navigation, photo-led page openings and streamlined support */
.udu-nav{position:relative;grid-template-columns:1fr auto;min-height:5.5rem}.udu-brand{gap:.75rem;font-size:1rem}.udu-brand img,.commerce-brand img{width:2.7rem;height:2.7rem;border-radius:.7rem}.udu-menu{display:inline-flex;align-items:center;gap:.55rem;padding:.78rem 1rem;border:1px solid var(--udu-line);border-radius:99px;background:#fff;color:var(--udu-ink);font:700 .95rem/1 'DM Sans',sans-serif;cursor:pointer}.udu-menu>span:first-child{font-size:1.15rem;line-height:.8}.udu-menu:hover{border-color:var(--udu-blue);box-shadow:0 .7rem 1.8rem rgba(17,24,39,.08)}#udu-primary{position:absolute;top:calc(100% - .45rem);right:0;display:grid;gap:.25rem;width:min(21rem,calc(100vw - 2rem));padding:.7rem;border:1px solid var(--udu-line);border-radius:1rem;background:rgba(255,253,249,.98);box-shadow:0 1.2rem 3rem rgba(17,24,39,.13)}.udu-menu[aria-expanded='false']+#udu-primary{display:none}#udu-primary>a,.udu-resources summary{padding:.85rem .9rem;border-radius:.65rem;font-size:1rem}.udu-resources summary:after{content:'↓';font-size:1rem}.udu-resources>div{position:static;margin:.2rem 0 0;border:0;border-radius:.7rem;background:var(--udu-wash);box-shadow:none}.udu-menu-support{margin-top:.2rem;background:var(--udu-gradient);color:#fff!important;font-weight:700}.concept-note{display:block;margin:.1rem 0 1rem;color:var(--udu-muted);font-size:.72rem;font-style:italic}.photo-hero,.proposal-hero{position:relative;isolation:isolate;overflow:hidden}.photo-hero:after,.proposal-hero:after{position:absolute;z-index:-1;inset:0 0 0 47%;content:'';background:var(--hero-image) center/cover no-repeat}.photo-hero:before,.proposal-hero:before{position:absolute;z-index:-1;inset:0;content:'';background:linear-gradient(90deg,#f3f5ff 0%,rgba(255,253,249,.98) 45%,rgba(255,253,249,.1) 72%)}.projects-hero.photo-hero{--hero-image:url('/assets/flomina-project.webp')}.support-hero.photo-hero{--hero-image:url('/projects/moipei-primary-school/28430cff-e7e7-48c6-a055-ce8c3234f5e8.jpg')}.proposal-hero{padding-bottom:clamp(4rem,8vw,7rem)}.aberdare-hero{--hero-image:url('/assets/projects/aberdare-concept-v2.png')}.gardens-hero{--hero-image:url('/assets/projects/community-gardens-concept-v2.png')}.support-simple{padding-top:clamp(3.5rem,7vw,7rem)}.support-simple-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:start}.support-simple .tier-picker{grid-template-columns:repeat(2,1fr);margin:1rem 0 0}.support-simple .tier-option{padding:1rem}.support-simple .tier-option img{aspect-ratio:1;object-fit:cover;margin-bottom:.75rem}.support-simple .tier-option strong{font-size:1.4rem}.support-simple .tier-option span{display:none}.support-simple .support-form{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--udu-line);border-radius:var(--udu-radius);background:#fff;box-shadow:0 1.4rem 3rem rgba(17,24,39,.07)}.support-simple .support-form h2{margin:.4rem 0 1.6rem;font-size:clamp(2.5rem,4vw,4rem);line-height:.9}.support-simple .support-form label{display:grid;gap:.45rem;margin-top:1rem;font-size:.88rem;font-weight:700}.support-simple .support-form input{width:100%;padding:.9rem 1rem;border:1px solid var(--udu-line);border-radius:.7rem;background:#fff;font:inherit}.support-simple .support-form .udu-button{width:100%;margin-top:1.4rem}.support-simple #support-status{min-height:1.25rem;margin:.85rem 0 0;color:var(--udu-muted);font-size:.85rem;line-height:1.5}
@media(max-width:900px){.support-simple-grid{grid-template-columns:1fr}.photo-hero:after,.proposal-hero:after{inset:48% 0 0;background-position:center}.photo-hero:before,.proposal-hero:before{background:linear-gradient(180deg,#f3f5ff 0%,rgba(255,253,249,.96) 46%,rgba(255,253,249,.08) 80%)}}
@media(max-width:600px){.udu-nav{grid-template-columns:1fr auto;min-height:4.75rem}.udu-brand{font-size:.85rem}.udu-brand img,.commerce-brand img{width:2.25rem;height:2.25rem;border-radius:.6rem}.udu-menu{padding:.65rem .8rem;font-size:.84rem}#udu-primary{top:calc(100% - .3rem);width:calc(100vw - 2rem)}.photo-hero:after,.proposal-hero:after{inset:57% 0 0}.projects-hero.photo-hero,.support-hero.photo-hero,.proposal-hero{padding-bottom:15rem}.support-simple .tier-picker{gap:.7rem}.support-simple .tier-option{padding:.7rem}.support-simple .tier-option strong{font-size:1.18rem}.support-simple .tier-option b{font-size:.88rem}}

/* Keep the imagery in the page paint layer so it remains visible beside the copy. */
.photo-hero:before,.photo-hero:after,.proposal-hero:before,.proposal-hero:after{display:none}.projects-hero.photo-hero{background:linear-gradient(90deg,#f3f5ff 0%,rgba(255,253,249,.98) 44%,rgba(255,253,249,.1) 72%),url('/assets/flomina-project.webp') 87% center/cover no-repeat}.support-hero.photo-hero{background:linear-gradient(90deg,#f2f4ff 0%,rgba(255,253,249,.98) 44%,rgba(255,253,249,.1) 72%),url('/projects/moipei-primary-school/28430cff-e7e7-48c6-a055-ce8c3234f5e8.jpg') 84% center/cover no-repeat}.aberdare-hero{background:linear-gradient(90deg,#f3f5ff 0%,rgba(255,253,249,.98) 44%,rgba(255,253,249,.08) 72%),url('/assets/projects/aberdare-concept-v2.png') 85% center/cover no-repeat}.gardens-hero{background:linear-gradient(90deg,#f3f5ff 0%,rgba(255,253,249,.98) 44%,rgba(255,253,249,.08) 72%),url('/assets/projects/community-gardens-concept-v2.png') 85% center/cover no-repeat}
@media(max-width:900px){.projects-hero.photo-hero,.support-hero.photo-hero,.aberdare-hero,.gardens-hero{background-position:center bottom;background-size:cover}.projects-hero.photo-hero,.support-hero.photo-hero,.aberdare-hero,.gardens-hero{background-image:linear-gradient(180deg,#f3f5ff 0%,rgba(255,253,249,.95) 48%,rgba(255,253,249,.08) 80%),var(--hero-image)}}

/* Typography and final responsive hierarchy. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
body,body:has(.udu-page),body.project-page,.udu-button{font-family:'Inter',system-ui,sans-serif}.udu-page h1,.udu-page h2,.experience h1,.experience h2,.project-page h1,.project-page h2,.visual-card h3,.current-project h3,.tier-option strong{font-family:'Manrope','Inter',sans-serif;font-weight:700;letter-spacing:-.055em}.udu-nav{position:static;grid-template-columns:1fr auto 1fr;min-height:5.5rem}.udu-menu{display:none}#udu-primary{position:static;display:flex;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.udu-menu[aria-expanded='false']+#udu-primary{display:flex}#udu-primary>a,.udu-resources summary{padding:0;border-radius:0;font-size:1rem}.udu-resources>div{position:absolute;margin:0;border:1px solid var(--udu-line);background:#fff;box-shadow:0 1.2rem 3rem rgba(17,24,39,.12)}.udu-resources summary:after{content:'↓'}.udu-support{display:inline-flex;justify-self:end}.projects-hero .udu-container,.page-lead .udu-container,.support-page .udu-container{text-align:center}.projects-hero p,.page-lead p{margin-inline:auto}.support-page{background:linear-gradient(135deg,#f6f7ff 0%,#fffdf9 62%,#f1fff7)}.support-page .support-simple{padding:clamp(3rem,7vw,6rem) 0}.support-simple-grid{grid-template-columns:1fr 1fr;max-width:68rem;margin:auto}.support-badges h1{max-width:12ch;margin:.35rem auto 1.7rem;font-size:clamp(2.35rem,4vw,4.4rem);line-height:.94}.support-simple .tier-picker{margin:0}.tier-continue{width:100%;margin-top:1rem}.support-simple .support-form{text-align:left}.support-simple .support-form h2{font-family:'Manrope','Inter',sans-serif;font-weight:700}.support-simple .support-form #support-status{text-align:left}
@media(max-width:600px){.udu-nav{position:relative;grid-template-columns:1fr auto auto;min-height:4.75rem}.udu-menu{display:inline-flex;grid-column:2}.udu-support{grid-column:3;min-height:2.55rem;padding:.55rem .78rem;font-size:.8rem}#udu-primary{position:absolute;top:calc(100% - .3rem);right:0;display:grid;width:calc(100vw - 2rem);padding:.7rem;border:1px solid var(--udu-line);border-radius:1rem;background:rgba(255,253,249,.98);box-shadow:0 1.2rem 3rem rgba(17,24,39,.13)}.udu-menu[aria-expanded='false']+#udu-primary{display:none}#udu-primary>a,.udu-resources summary{padding:.8rem .9rem;border-radius:.65rem}.udu-resources>div{position:static;margin:.2rem 0 0;border:0;background:var(--udu-wash);box-shadow:none}.support-simple-grid{grid-template-columns:1fr;gap:1.25rem}.support-page .support-simple{padding:2rem 0 3rem}.support-badges h1{margin-bottom:1.2rem;font-size:clamp(2rem,10vw,3rem)}.support-simple .tier-picker{grid-template-columns:repeat(2,1fr);gap:.6rem}.support-simple .tier-option{padding:.55rem}.support-simple .tier-option img{margin-bottom:.4rem}.support-simple .tier-option strong{font-size:1rem}.support-simple .tier-option b{font-size:.82rem}.tier-continue{min-height:3.25rem;margin-top:.7rem}.support-simple .support-form{padding:1.35rem}.support-simple .support-form h2{font-size:2rem}.support-simple .support-form label{margin-top:.8rem}}

/* Mobile menu and supporter-card refinements. */
#udu-primary{gap:2.25rem}.udu-resources{position:relative}.udu-resources-label{display:block;font-size:1rem;font-weight:600;cursor:default}.udu-resources>div{display:none;position:absolute;top:calc(100% + .8rem);left:-.85rem;min-width:11rem;padding:.45rem;border:1px solid var(--udu-line);border-radius:1rem;background:#fff;box-shadow:0 1.2rem 3rem rgba(17,24,39,.12)}.udu-resources:hover>div,.udu-resources:focus-within>div{display:block}.udu-resources>div a{display:block;padding:.7rem .75rem;border-radius:.65rem}.udu-resources>div a:hover{background:var(--udu-wash)}.udu-menu-support{display:none}.support-simple-grid{grid-template-columns:1.12fr .88fr;gap:clamp(1.5rem,4vw,3rem);max-width:74rem}.support-simple .tier-picker{grid-template-columns:repeat(4,1fr);gap:.55rem}.support-simple .tier-option{padding:.5rem;border-radius:1rem}.support-simple .tier-option img{margin-bottom:.45rem;border-radius:.65rem}.support-simple .tier-option strong{font-size:1rem}.support-simple .tier-option b{font-size:.8rem}.support-simple .support-form .tier-continue{display:inline-flex;width:100%;margin-top:1.35rem}.support-simple .support-form{align-self:center}
@media(max-width:600px){.udu-support{display:none}.udu-menu{grid-column:3}.udu-nav{grid-template-columns:1fr auto}.udu-menu-support{display:block;margin-top:.2rem;padding:.8rem .9rem!important;border-radius:.65rem;background:var(--udu-gradient);color:#fff!important;font-weight:700}#udu-primary{gap:.3rem}.udu-resources-label{padding:.8rem .9rem;font-size:1rem;font-weight:700}.udu-resources>div{position:static;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.udu-resources>div a{padding:.65rem .45rem;color:var(--udu-muted);font-size:.78rem;text-align:center}.support-simple-grid{grid-template-columns:1fr;gap:.9rem}.support-badges h1{max-width:18ch;margin-bottom:.85rem;font-size:clamp(1.75rem,8vw,2.35rem)}.support-simple .tier-picker{grid-template-columns:repeat(4,1fr);gap:.35rem}.support-simple .tier-option{min-width:0;padding:.35rem;border-radius:.75rem}.support-simple .tier-option img{margin-bottom:.25rem;border-radius:.45rem}.support-simple .tier-option strong{font-size:clamp(.63rem,2.8vw,.82rem);line-height:1.1}.support-simple .tier-option b{margin:.12rem 0;font-size:clamp(.6rem,2.5vw,.75rem)}.support-simple .support-form .tier-continue{min-height:3rem;margin-top:1rem}.support-simple .support-form{padding:1.1rem 1.2rem}}

/* Preserve the desktop hover state while the pointer moves into Resources. */
.udu-resources:after{position:absolute;top:100%;left:-1rem;width:calc(100% + 2rem);height:.75rem;content:''}.udu-resources>div{top:calc(100% + .65rem);z-index:60}.home-hero h1{max-width:10ch;margin:0 0 1.75rem;font-size:clamp(3.6rem,7.6vw,7.6rem);line-height:.94;letter-spacing:-.05em}
@media(max-width:600px){.udu-resources:after{display:none}.udu-resources>div{top:auto}.home-hero h1{margin-bottom:1.6rem;line-height:.96}}
