
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--g:#087a35;--g2:#0c9b4a;--d:#043d22;--ink:#111615;--mut:#68736d;--bg:#f7f8f5;--cream:#eef3ed;--line:#dce4dd;--white:#fff;--max:1240px;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:var(--bg);overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 72px));margin:auto}.top{height:36px;background:var(--d);color:#fff;font-size:12px}.top .in{height:100%;display:flex;align-items:center;justify-content:space-between}.top span{margin-right:18px}.header{height:82px;background:#fff;display:flex;align-items:center;position:relative;z-index:30;border-bottom:1px solid #edf0ed}.header .in{display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:74px;height:74px;object-fit:contain}.nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600;color:#39423d}.nav a{position:relative;padding:9px 0}.nav a:after{content:'';position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--g);transition:.3s}.nav a:hover:after,.nav a.active:after{width:100%}.header-cta{display:inline-flex;align-items:center;gap:10px;background:var(--g);color:#fff;padding:13px 18px;border-radius:3px;font-size:13px;font-weight:700;transition:.3s}.header-cta:hover{background:var(--d);transform:translateY(-1px)}.menu-toggle{display:none;border:0;background:none;font-size:26px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--g);font-weight:800;margin-bottom:14px}.display{font-family:'Manrope',Arial,sans-serif;font-size:clamp(40px,5.2vw,76px);line-height:.98;letter-spacing:-.055em;margin:0;font-weight:800}.h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(30px,4vw,52px);line-height:1.03;letter-spacing:-.045em;margin:0}.lead{font-size:17px;line-height:1.75;color:var(--mut);max-width:690px}.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--g);color:var(--g);padding:13px 18px;font-weight:700;font-size:13px;transition:.3s}.btn:hover{background:var(--g);color:#fff}.btn.fill{background:var(--g);color:#fff}.btn.fill:hover{background:var(--d)}.section{padding:88px 0}.section.compact{padding:64px 0}.muted{color:var(--mut)}.rule{height:1px;background:var(--line);margin:28px 0}.page-hero{position:relative;min-height:520px;background:#dfe8df;overflow:hidden;display:flex;align-items:flex-end}.page-hero .photo{position:absolute;inset:0;background-size:cover;background-position:center}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,61,34,.82),rgba(4,61,34,.3) 55%,rgba(4,61,34,.05))}.page-hero .inner{position:relative;z-index:2;color:#fff;padding:90px 0 78px}.page-hero .inner p{color:rgba(255,255,255,.82);max-width:650px;font-size:18px;line-height:1.7}.crumb{font-size:12px;color:rgba(255,255,255,.72);margin-bottom:25px}.crumb a:hover{color:#fff}.ghost{font-family:'Manrope',Arial,sans-serif;font-size:clamp(76px,12vw,180px);line-height:.72;letter-spacing:-.08em;color:#e9eee9;position:absolute;right:-20px;bottom:-8px;font-weight:800;pointer-events:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.photo-card{position:relative;overflow:hidden;background:#d9e2da}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.photo-card:hover img{transform:scale(1.035)}.photo-card.tall{height:610px}.photo-card.medium{height:480px}.photo-stack{position:relative}.photo-stack .main{height:610px}.photo-stack .inset{position:absolute;width:42%;height:250px;right:-24px;bottom:-38px;border:12px solid var(--bg)}.caption{font-size:12px;color:var(--mut);margin-top:10px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{background:#fff;border:1px solid #e4e9e5;padding:30px;transition:.35s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(20,49,32,.08)}.card h3{font-family:'Manrope';font-size:22px;margin:18px 0 10px;letter-spacing:-.025em}.card p{color:var(--mut);line-height:1.7;margin:0}.line-icon{width:50px;height:50px;color:var(--g)}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.number{padding:36px 26px;border-right:1px solid var(--line)}.number:last-child{border-right:0}.number strong{display:block;font-family:'Manrope';font-size:42px;letter-spacing:-.05em;color:var(--d)}.number span{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}.timeline{position:relative;margin-top:52px}.timeline:before{content:'';position:absolute;left:7%;right:7%;top:34px;height:1px;background:#cfd9d1}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.step{text-align:center}.step .dot{width:68px;height:68px;margin:0 auto 20px;border:1px solid var(--g);background:var(--bg);display:grid;place-items:center;color:var(--g);font-weight:800;position:relative;z-index:2}.step h3{font-family:'Manrope';font-size:18px;margin:0 0 9px}.step p{font-size:14px;line-height:1.65;color:var(--mut);margin:0}.dark-band{background:var(--d);color:#fff}.dark-band .lead{color:rgba(255,255,255,.72)}.article-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.article-card{background:#fff;border:1px solid #e3e9e4;overflow:hidden}.article-card .img{height:280px;overflow:hidden}.article-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.article-card:hover img{transform:scale(1.04)}.article-card .body{padding:24px}.article-card h3{font-family:'Manrope';font-size:20px;line-height:1.2;margin:10px 0}.meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--g);font-weight:800}.media-grid{columns:3 280px;column-gap:18px}.media-item{break-inside:avoid;margin:0 0 18px;position:relative;overflow:hidden;background:#ddd}.media-item img{width:100%;transition:.7s}.media-item:hover img{transform:scale(1.04)}.media-item .label{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;z-index:2}.media-item:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65))}.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.form-box{background:#fff;border:1px solid #e1e8e2;padding:34px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.field input,.field textarea,.field select{border:1px solid #d9e2db;background:#fbfcfa;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--g)}.field textarea{min-height:150px;resize:vertical}.faq{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;padding:21px 0;background:none;border:0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700;cursor:pointer}.faq-a{display:grid;grid-template-rows:0fr;transition:.35s}.faq-a>div{overflow:hidden}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}.faq-q span:last-child{font-size:24px;font-weight:400;transition:.3s}.solution-hero{display:grid;grid-template-columns:1fr 1fr;min-height:590px;background:#fff}.solution-hero .copy{padding:85px max(36px,calc((100vw - var(--max))/2)) 85px 0;display:flex;flex-direction:column;justify-content:center}.solution-hero .photo{min-height:590px;background-size:cover;background-position:center}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{padding:35px;border-right:1px solid var(--line)}.feature:last-child{border-right:0}.feature strong{font-family:'Manrope';font-size:25px}.quote{padding:50px;background:#edf3ed;position:relative}.quote p{font-family:var(--serif);font-size:28px;line-height:1.35;margin:0 0 20px}.quote small{color:var(--mut)}.steps-form{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}.step-nav{position:sticky;top:120px}.step-nav div{padding:17px 18px;border-left:2px solid #dbe4dc;color:var(--mut);font-weight:700}.step-nav div.active{border-left-color:var(--g);color:var(--d);background:#edf3ed}.form-step{display:none}.form-step.active{display:block}.form-step h3{font-family:'Manrope';font-size:30px;margin:0 0 8px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0}.choice{border:1px solid #dce5de;padding:18px;background:#fff;cursor:pointer}.choice.selected{border-color:var(--g);background:#eef6ef}.choice strong{display:block;margin-bottom:4px}.choice small{color:var(--mut)}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.toast{position:fixed;right:22px;bottom:22px;background:var(--d);color:#fff;padding:15px 18px;transform:translateY(120px);opacity:0;transition:.35s;z-index:100}.toast.show{transform:none;opacity:1}.article-page{max-width:900px;margin:auto}.article-page .cover{height:520px;overflow:hidden;margin:30px 0 45px}.article-page .cover img{width:100%;height:100%;object-fit:cover}.article-page .content{font-size:17px;line-height:1.9;color:#34403a}.article-page .content h2{font-family:'Manrope';font-size:32px;color:var(--ink);line-height:1.15;margin-top:45px}.article-page .content p{margin:0 0 20px}.article-page .content ul{padding-left:22px}.article-page .share{display:flex;gap:10px;margin-top:35px}.tag{display:inline-flex;padding:7px 10px;border:1px solid #d9e2db;color:var(--g);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.logo-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.logos{display:flex;gap:70px;align-items:center;width:max-content;animation:marquee 26s linear infinite}.logos span{font-family:'Manrope';font-size:17px;color:#4b5951;white-space:nowrap}.logos:hover{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.footer{background:#062e1c;color:#fff;padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr;gap:40px;padding-bottom:44px}.footer h4{font-family:'Manrope';font-size:14px;margin:0 0 18px}.footer p,.footer a{font-size:13px;line-height:1.8;color:rgba(255,255,255,.68)}.footer a:hover{color:#fff}.links{display:grid;grid-template-columns:1fr 1fr;gap:20px}.links div{display:flex;flex-direction:column}.socials{display:flex;gap:8px}.social{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}.bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.5)}.photo-credits{font-size:10px;color:rgba(255,255,255,.38);padding:0 0 18px}.photo-credits a{text-decoration:underline}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.filter{border:1px solid #d9e2db;background:#fff;padding:10px 14px;font-size:12px;cursor:pointer}.filter.active,.filter:hover{border-color:var(--g);color:var(--g)}.hidden{display:none!important}
@media(max-width:980px){.container{width:min(var(--max),calc(100% - 40px))}.nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:block}.header .in{gap:12px}.split,.solution-hero,.form-layout,.steps-form{grid-template-columns:1fr;gap:34px}.solution-hero .copy{padding:60px 20px}.solution-hero .photo{min-height:430px}.cards-3,.cards-2{grid-template-columns:1fr 1fr}.number-grid{grid-template-columns:1fr 1fr}.number:nth-child(2){border-right:0}.number:nth-child(-n+2){border-bottom:1px solid var(--line)}.article-grid{grid-template-columns:1fr 1fr}.article-card:first-child{grid-column:1/-1}.steps{grid-template-columns:1fr 1fr;gap:35px}.timeline:before{display:none}.footer-grid{grid-template-columns:1fr 1fr}.step-nav{position:static;display:flex;overflow:auto}.step-nav div{min-width:180px}.choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.top{display:none}.header{height:72px}.logo{width:62px;height:62px}.header-cta{padding:11px 13px;font-size:12px}.section{padding:64px 0}.page-hero{min-height:460px}.page-hero .inner{padding:70px 0 58px}.cards-3,.cards-2,.number-grid,.article-grid,.steps,.footer-grid,.choice-grid{grid-template-columns:1fr}.number{border-right:0!important;border-bottom:1px solid var(--line)}.number:last-child{border-bottom:0}.article-card:first-child{grid-column:auto}.photo-stack .inset{right:-5px;width:48%;height:170px}.photo-card.tall,.photo-stack .main{height:430px}.ghost{font-size:80px}.bottom{flex-direction:column;gap:8px}.links{grid-template-columns:1fr}.article-page .cover{height:340px}.form-actions{flex-direction:column}.display{font-size:45px}}

/* ===== CEFA 2026 visual refinement ===== */
html{font-size:88%}
body{font-size:14px}
.container{width:min(1320px,calc(100% - 84px))}
.section{padding:66px 0}.section.compact{padding:48px 0}.page-hero{min-height:455px}.page-hero .inner{padding:70px 0 62px}.page-hero .inner p{font-size:16px;max-width:620px}.display{font-size:clamp(36px,4.55vw,64px)}.h2{font-size:clamp(28px,3.45vw,46px)}.lead{font-size:15px;line-height:1.7}.nav{gap:21px;font-size:13px}.header{height:76px}.logo{width:68px;height:68px}.header-cta{padding:11px 15px;font-size:12px}.section .h2.small-title{max-width:780px;margin-top:4px}.soft{background:#eef3ed}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.solution-card{background:#fff;border:1px solid #dfe7e0;overflow:hidden;transition:.35s}.solution-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(20,49,32,.08)}.solution-card-photo{height:240px;background-size:cover;background-position:center}.solution-card-body{padding:23px}.solution-card-body>span{font-size:11px;color:var(--g);font-weight:800;letter-spacing:.12em}.solution-card-body h3{font-family:'Manrope';font-size:24px;margin:9px 0}.solution-card-body p{color:var(--mut);line-height:1.65;min-height:72px}.solution-card-body strong,.text-link{color:var(--g);font-size:13px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:32px}.process-grid>div{padding:28px 24px;border-right:1px solid var(--line)}.process-grid>div:last-child{border-right:0}.process-grid span,.card-index{font-size:11px;color:var(--g);font-weight:800;letter-spacing:.12em}.process-grid h3{font-family:'Manrope';font-size:21px;margin:11px 0 8px}.process-grid p{color:var(--mut);line-height:1.65}.product-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.product-summary>div{background:#fff;padding:22px}.product-summary span{display:block;color:var(--mut);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.product-summary strong{font-family:'Manrope';font-size:17px;line-height:1.35}.rich-cards{margin-top:30px}.rich-cards .card{min-height:220px}.check-list{padding:0;margin:25px 0 28px;list-style:none}.check-list li{position:relative;padding:11px 0 11px 27px;border-bottom:1px solid var(--line);color:#38433d}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--g);font-weight:800}.dark-band{background:var(--d)}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid rgba(255,255,255,.16)}.history-grid>div{padding:26px 22px;border-right:1px solid rgba(255,255,255,.14)}.history-grid>div:last-child{border-right:0}.history-grid span{display:block;color:#9edbb2;font-size:12px;font-weight:800}.history-grid strong{display:block;font-family:'Manrope';font-size:20px;margin:9px 0}.history-grid p{color:rgba(255,255,255,.66);line-height:1.6}.vision-points{border-top:1px solid var(--line)}.vision-points>div{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.vision-points strong{color:var(--g)}.vision-points span{color:var(--mut)}.team-list{border-top:1px solid var(--line)}.team-list>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.team-list strong{font-family:'Manrope'}.team-list span{color:var(--mut);text-align:right}.impact-list{border-top:1px solid var(--line)}.impact-list>div{padding:20px 0;border-bottom:1px solid var(--line)}.impact-list strong{display:block;font-family:'Manrope';font-size:19px;margin-bottom:6px}.impact-list span{color:var(--mut);line-height:1.6}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.project-grid article{background:#fff;border:1px solid #e1e8e2}.project-img{height:270px;background-size:cover;background-position:center}.project-grid article>div:last-child{padding:22px}.project-grid span{font-size:10px;color:var(--g);font-weight:800;letter-spacing:.12em}.project-grid h3{font-family:'Manrope';font-size:22px;margin:8px 0}.project-grid p{color:var(--mut);line-height:1.65}.featured-news{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.featured-news-img{height:440px;background-size:cover;background-position:center}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{background:#fff;border:1px solid #e0e8e1;overflow:hidden}.news-img{height:245px;background-size:cover;background-position:center}.news-body{padding:22px}.news-body h3{font-family:'Manrope';font-size:20px;line-height:1.2;margin:9px 0}.news-body p{color:var(--mut);line-height:1.6;min-height:70px}.dark-band-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--d);color:#fff;padding:50px}.article-meta-row{display:flex;justify-content:space-between;gap:20px;color:var(--mut);font-size:12px}.article-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.article-photo-grid img{width:100%;height:340px;object-fit:cover}.article-cta{margin-top:40px;padding:28px;background:#eef3ed;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.article-cta strong{font-family:'Manrope';font-size:22px}.article-cta span{color:var(--mut);flex:1}.media-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:30px}.rich-media{columns:3 300px}.rich-media .media-item{background:#cfd9d1}.rich-media img{min-height:220px;object-fit:cover}.download-list{border-top:1px solid var(--line)}.download-list a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.download-list span{font-family:'Manrope';font-size:16px}.download-list strong{color:var(--g);font-size:12px}.lightbox{position:fixed;inset:0;background:rgba(2,24,14,.9);display:none;align-items:center;justify-content:center;z-index:120;padding:40px}.lightbox.show{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-q{font-size:15px}.faq-a p{padding:0 0 20px;color:var(--mut);line-height:1.7}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:34px}.partner-grid>div{padding:28px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.partner-grid>div:nth-child(3n){border-right:0}.partner-grid span{color:var(--g);font-size:11px;font-weight:800}.partner-grid strong{display:block;font-family:'Manrope';font-size:20px;margin:8px 0}.partner-grid p{color:var(--mut);line-height:1.6}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.legal-grid article{background:#fff;border:1px solid #e0e8e1;padding:32px}.contact-list{border-top:1px solid var(--line);margin-top:28px}.contact-list>div{padding:16px 0;border-bottom:1px solid var(--line)}.contact-list span{display:block;font-size:10px;color:var(--g);font-weight:800;letter-spacing:.12em;margin-bottom:6px}.contact-list strong{line-height:1.55}.map-frame{height:430px;background:#dfe8df;border:1px solid var(--line);overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0}.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.consent{display:flex;gap:10px;align-items:flex-start;color:var(--mut);font-size:12px;margin:18px 0}.consent input{margin-top:3px}.financing-intro{display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:end}.mini-facts{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line)}.mini-facts>div{padding:18px;border-right:1px solid var(--line)}.mini-facts>div:last-child{border-right:0}.mini-facts strong{display:block;font-family:'Manrope';font-size:24px}.mini-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.upload-box{border:1px dashed #b8c9bc;background:#fff;padding:22px;cursor:pointer}.upload-box input{display:none}.upload-box strong{display:block;font-family:'Manrope';font-size:16px}.upload-box span{display:block;color:var(--mut);font-size:12px;margin-top:6px}.file-list{padding:14px;background:#f8faf7;border:1px solid var(--line);color:var(--mut);font-size:12px}.review-box{margin:22px 0;padding:22px;background:#eaf2eb;border-left:3px solid var(--g)}.review-box p{margin:6px 0 0;color:var(--mut);line-height:1.6}.footer-badge{font-size:10px;letter-spacing:.12em;color:#9edbb2;margin-top:18px}.footer .logo{filter:brightness(0) invert(1);opacity:.95}
@media(max-width:980px){.container{width:min(var(--max),calc(100% - 40px))}.solution-grid,.project-grid,.news-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.history-grid{grid-template-columns:1fr 1fr}.featured-news,.faq-layout,.media-intro,.financing-intro{grid-template-columns:1fr;gap:30px}.map-frame{height:360px}.upload-grid{grid-template-columns:1fr}.legal-grid{grid-template-columns:1fr}.partner-grid{grid-template-columns:1fr 1fr}.partner-grid>div:nth-child(3n){border-right:1px solid var(--line)}.partner-grid>div:nth-child(2n){border-right:0}}
@media(max-width:640px){html{font-size:86%}.container{width:calc(100% - 32px)}.header{height:70px}.header-cta{padding:9px 11px}.section{padding:52px 0}.page-hero{min-height:420px}.display{font-size:43px}.solution-grid,.project-grid,.news-grid,.process-grid,.history-grid,.partner-grid,.legal-grid{grid-template-columns:1fr}.featured-news-img{height:320px}.dark-band-inner{padding:32px 24px;display:block}.article-photo-grid{grid-template-columns:1fr}.article-photo-grid img{height:260px}.media-intro{display:block}.product-summary{grid-template-columns:1fr}.contact-list>div{display:block}.mini-facts{grid-template-columns:1fr}.mini-facts>div{border-right:0;border-bottom:1px solid var(--line)}.mini-facts>div:last-child{border-bottom:0}.upload-grid{grid-template-columns:1fr}.article-meta-row{display:block}.article-meta-row>*{display:block;margin-bottom:8px}}

.image-missing{background:linear-gradient(135deg,#dce8df,#a8bba9);min-height:240px;position:relative}.image-missing:after{content:"CEFA · Terrain & proximité";position:absolute;inset:auto 18px 18px;color:#fff;font-weight:800;font-size:12px;letter-spacing:.08em}
/* Desktop visual scale: deliberately lighter than the previous oversized version. */
@media(min-width:981px){
  /* Échelle globale : légèrement réduite, sans élargir artificiellement le body.
     L'ancien width:116.279% déplaçait tous les conteneurs vers la droite. */
  body{zoom:.96;width:auto;margin:0;}
}


/* ===== CEFA FINAL DESKTOP SCALE / LAYOUT SAFEGUARDS ===== */
.hidden{display:none !important}
.container{margin-inline:auto}
.solution-hero{overflow:hidden}
@media(min-width:981px){
  .solution-hero .copy{padding-top:76px;padding-bottom:76px;padding-left:max(42px,calc((100vw - 1320px)/2));padding-right:max(42px,calc((100vw - 1320px)/2));}
  .form-layout,.split,.featured-news,.faq-layout,.financing-intro{min-width:0}
}
.page-hero .photo,.solution-hero .photo,.featured-news-img,.project-img,.news-img,.solution-card-photo,.media-item{background-color:#dce8df}
.media-item img,.article-card img,.article-photo-grid img{background:#dce8df;min-height:1px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr .8fr;gap:38px}
.links{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.footer{background:var(--d);color:#fff;padding:68px 0 22px}
.footer p{color:rgba(255,255,255,.68);line-height:1.65}
.bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:35px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:rgba(255,255,255,.52)}
.photo-credits{font-size:10px;color:rgba(255,255,255,.4);margin-top:14px}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}.solution-hero .copy{padding:60px 20px}.links{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr}.links{grid-template-columns:1fr}.bottom{align-items:flex-start}}


/* ===== CEFA V4 — ALIGNEMENT GLOBAL ET CONTENU TOUJOURS VISIBLE ===== */
html,body{max-width:100%;}
.container{width:min(var(--max),calc(100% - 72px));margin-left:auto !important;margin-right:auto !important;}
.page-hero .inner{width:min(var(--max),calc(100% - 72px));margin-left:auto;margin-right:auto;}
.solution-hero .copy{padding-left:clamp(36px,calc((100vw - var(--max))/2),120px);padding-right:clamp(36px,calc((100vw - var(--max))/2),120px);}
.solution-hero .photo{min-width:0;}
.split>*,.featured-news>*,.form-layout>*,.faq-layout>*,.financing-intro>*{min-width:0;}
img{height:auto;}
.solution-card-photo,.project-img,.news-img,.featured-news-img,.page-hero .photo{background-repeat:no-repeat;background-color:#dce8df;}
.solution-card-photo{min-height:240px;}

/* Une animation ne doit jamais laisser un bloc invisible si le JS est lent/bloqué. */
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

@media(max-width:980px){
  .container,.page-hero .inner{width:calc(100% - 40px);}
  .solution-hero .copy{padding-left:40px;padding-right:40px;}
}
@media(max-width:640px){
  .container,.page-hero .inner{width:calc(100% - 32px);}
  .solution-hero .copy{padding-left:24px;padding-right:24px;}
}

/* Image safety: no empty white blocks when an external photograph is temporarily unavailable. */
.solution-card-photo,.project-img,.news-img,.featured-news-img,.page-hero .photo,.media-item{background-color:#a8bba9;}
img.image-missing{background:linear-gradient(135deg,#dce8df,#9bb19f);object-fit:cover;}
img.image-missing::after{content:'';}

/* ===== V5 rich internal pages ===== */
.service-title-row{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:22px}.service-title-row .h2{max-width:780px}.service-tag{border:1px solid #cbd9cf;color:var(--g);font-size:10px;font-weight:800;letter-spacing:.14em;padding:10px 13px;white-space:nowrap}.service-purpose{max-width:900px;color:#455149;font-size:17px;line-height:1.8;border-left:3px solid var(--g);padding-left:22px;margin:25px 0 34px}.service-facts{grid-template-columns:repeat(4,1fr)}.service-facts>div{min-height:125px}.service-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-use-grid article{padding:27px 25px 29px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:190px}.service-use-grid article span{font-size:11px;color:var(--g);font-weight:800;letter-spacing:.12em}.service-use-grid article h3{font:700 20px/1.2 Manrope;margin:12px 0 8px}.service-use-grid article p{color:var(--mut);line-height:1.6;margin:0;font-size:13px}.service-two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.service-list{margin-top:25px}.service-photo-panel{position:relative;background:#e8efe9;min-height:520px;overflow:hidden}.service-photo-panel img{width:100%;height:520px;object-fit:cover}.service-photo-panel>div{position:absolute;left:20px;right:20px;bottom:20px;background:#fff;padding:19px 21px;box-shadow:0 12px 30px rgba(20,49,32,.12)}.service-photo-panel strong{display:block;font:700 18px Manrope;margin-bottom:6px}.service-photo-panel span{display:block;color:var(--mut);font-size:13px;line-height:1.5}.docs-section{align-items:center}.document-panel{background:#fff;border:1px solid var(--line);padding:28px 30px}.document-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px}.document-panel-head span{font-size:10px;letter-spacing:.12em;color:var(--g);font-weight:800}.document-panel-head strong{font:700 18px Manrope}.document-panel .check-list{margin:8px 0 0}.service-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:35px}.service-process article{padding:28px 24px;border-right:1px solid var(--line)}.service-process article:last-child{border-right:0}.service-process span{color:var(--g);font-size:11px;font-weight:800;letter-spacing:.12em}.service-process h3{font:700 20px Manrope;margin:11px 0 8px}.service-process p{color:var(--mut);font-size:13px;line-height:1.65;margin:0}.service-faq{align-items:start}.service-cta{background:#fff!important;color:var(--d)!important;border-color:#fff!important;margin-right:12px}.service-secondary{display:inline-flex;color:#fff;border-bottom:1px solid rgba(255,255,255,.55);padding:10px 0;font-size:13px;font-weight:700}.about-rich-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:start}.about-fact-panel{border-top:1px solid var(--line)}.about-fact-panel>div{padding:22px 0;border-bottom:1px solid var(--line)}.about-fact-panel span{display:block;color:var(--g);font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.about-fact-panel strong{display:block;font:700 18px Manrope}.about-fact-panel p{color:var(--mut);line-height:1.6;margin:7px 0 0;font-size:13px}.about-role-list{border-top:1px solid var(--line);margin-top:28px}.about-role-list article{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}.about-role-list article>span{color:var(--g);font-size:11px;font-weight:800}.about-role-list strong{font:700 18px Manrope}.about-role-list p{color:var(--mut);font-size:13px;line-height:1.6;margin:5px 0 0}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:34px}.audience-grid article{padding:27px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px}.audience-grid span{color:var(--g);font-size:11px;font-weight:800}.audience-grid h3{font:700 20px Manrope;margin:13px 0 8px}.audience-grid p{color:var(--mut);font-size:13px;line-height:1.6;margin:0}.vision-pillars{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);margin-top:34px}.vision-pillars>div{padding:22px 20px;border-right:1px solid rgba(255,255,255,.13)}.vision-pillars>div:last-child{border-right:0}.vision-pillars strong{display:block;font:700 18px Manrope}.vision-pillars span{display:block;color:rgba(255,255,255,.65);font-size:12px;line-height:1.55;margin-top:7px}.light-history{background:#fff;border:1px solid var(--line)}.light-history>div{border-right:1px solid var(--line)}.light-history span{color:var(--g)}.light-history p{color:var(--mut)}.rich-team{background:#fff;border:1px solid var(--line);padding:0 24px}.impact-overview .lead{margin-bottom:30px}.impact-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.impact-kpi-row>div{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-kpi-row span{color:var(--g);font-size:10px;font-weight:800}.impact-kpi-row strong{display:block;font:700 19px Manrope;margin:8px 0}.impact-kpi-row p{margin:0;color:var(--mut);font-size:13px;line-height:1.55}.impact-bars{margin-top:30px}.impact-bars>div{margin-bottom:19px}.impact-bars span{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.impact-bars em{font-style:normal;color:var(--g);font-weight:800}.impact-bars i{display:block;height:7px;background:#dfe9e1;position:relative}.impact-bars i:after{content:'';position:absolute;inset:0 auto 0 0;width:100%;background:var(--g);transform-origin:left;transform:scaleX(0);animation:barIn 1.2s .25s ease forwards}.impact-photo-stack{position:relative}.impact-photo-stack img{width:100%;height:490px;object-fit:cover}.impact-photo-stack>div{position:absolute;left:24px;right:24px;bottom:24px;background:#fff;padding:20px 22px;box-shadow:0 15px 35px rgba(20,49,32,.12)}.impact-photo-stack strong{display:block;font:700 19px Manrope}.impact-photo-stack span{display:block;color:var(--mut);font-size:13px;line-height:1.5;margin-top:5px}.impact-commitments{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);margin-top:35px}.impact-commitments>div{padding:24px 20px;border-right:1px solid rgba(255,255,255,.13)}.impact-commitments>div:last-child{border-right:0}.impact-commitments strong{display:block;font:700 19px Manrope}.impact-commitments span{display:block;color:rgba(255,255,255,.65);font-size:13px;margin-top:6px}@keyframes barIn{to{transform:scaleX(1)}}

/* Hero slider: real image changes, not only text changes. */
.hero-bg{transition:background-image .15s linear,transform 1.1s ease;will-change:transform}.hero-bg.is-changing{transform:scale(1.025)}.hero-slide .video{cursor:pointer}.hero-slide .play{font-size:15px}

/* Never hide actual page content just because the reveal observer is unavailable. */
.reveal{opacity:1!important;transform:none!important}.js-ready .reveal{opacity:1;transform:none}.reveal.in{opacity:1;transform:none}

@media(max-width:1050px){.service-facts{grid-template-columns:1fr 1fr}.service-use-grid{grid-template-columns:1fr 1fr}.service-two-col,.about-rich-intro{grid-template-columns:1fr;gap:38px}.audience-grid{grid-template-columns:1fr 1fr}.vision-pillars{grid-template-columns:1fr 1fr}.impact-kpi-row{grid-template-columns:1fr 1fr}.service-process{grid-template-columns:1fr 1fr}.service-process article:nth-child(2){border-right:0}.service-process article:nth-child(-n+2){border-bottom:1px solid var(--line)}.impact-commitments{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.service-title-row{display:block}.service-tag{display:inline-block;margin-top:15px}.service-purpose{font-size:15px}.service-facts,.service-use-grid,.audience-grid,.vision-pillars,.impact-kpi-row,.service-process,.impact-commitments{grid-template-columns:1fr}.service-use-grid article{min-height:0}.service-photo-panel,.service-photo-panel img{min-height:380px;height:380px}.document-panel{padding:22px}.about-rich-intro{gap:28px}.service-cta{margin:0 12px 12px 0}.service-secondary{margin-top:4px}.impact-photo-stack img{height:370px}.service-process article{border-right:0!important;border-bottom:1px solid var(--line)}.service-process article:last-child{border-bottom:0}.vision-pillars>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.vision-pillars>div:last-child{border-bottom:0}.impact-commitments>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.impact-commitments>div:last-child{border-bottom:0}}
/* Restore subtle reveals without ever leaving content inaccessible. */
.js-ready .reveal:not(.in){opacity:0!important;transform:translateY(18px)!important}
.js-ready .reveal.in{opacity:1!important;transform:none!important}
