/* Step 2 — charte graphique transverse */
:root{
  --navy:#101d42;
  --blue:#147f9b;
  --sky:#149fc3;
  --ink:#18233d;
  --muted:#536176;
  --soft:#eef5f7;
  --cta-soft:#dceef3;
  --cream:#f7f4ee;
  --gold:#b28a42;
  --white:#fff;
  --font-sans:Poppins,Arial,sans-serif;
  --text-size:1.0625rem;
  --content-max:1200px;
  --reading-max:760px;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --section-space:clamp(4rem,7vw,5.5rem);
  --space-xs:.5rem;
  --space-sm:.875rem;
  --space-md:1.5rem;
  --space-lg:2.5rem;
  --space-xl:4rem;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:18px;
  --shadow-card:0 10px 30px rgba(16,29,66,.08);
  --border-color:rgba(16,29,66,.12);
  font-family:var(--font-sans);
  color:var(--ink);
  font-size:var(--text-size);
}

body{color:var(--ink);line-height:1.68}
h1,h2,h3{color:var(--navy);font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(2.65rem,4.6vw,4rem)}
h2{font-size:clamp(2rem,3.3vw,2.75rem)}
h3{font-size:clamp(1.35rem,2vw,1.625rem)}
p{margin-bottom:1.15rem}

.section{padding:var(--section-space) max(var(--gutter),calc((100% - var(--content-max))/2))}
.section--soft,.page-head{background:var(--soft)}
.section--navy{background:var(--navy)}
.section-heading{max-width:780px;margin-bottom:var(--space-lg)}
.section-heading>p:last-child{color:var(--muted);font-size:1.0625rem}
.eyebrow,.action-project__meta>span,.project-card>div>span{
  margin-bottom:.75rem;
  color:var(--blue);
  font-size:.76rem;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.eyebrow--light{color:#bde8f1}

.site-header{
  height:92px;
  padding:8px max(var(--gutter),calc((100% - var(--content-max))/2));
  border-bottom:1px solid var(--border-color);
}
.brand img{width:126px;height:72px}
.site-header nav{gap:clamp(1.1rem,2.2vw,1.75rem)}
.site-header nav a{color:var(--navy);font-size:.9rem;font-weight:600}
.language-switcher{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.78rem}.language-switcher a{padding:.35rem!important;font-size:.78rem!important}.language-switcher a.active{color:var(--navy);font-weight:800;box-shadow:none!important}
.site-header nav a.active{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}

.button,.site-header nav .don{
  min-height:48px;
  justify-content:center;
  padding:.72rem 1.35rem;
  border:2px solid var(--sky);
  border-radius:999px;
  background:var(--sky);
  color:var(--navy);
  font-size:.92rem;
  font-weight:700;
  line-height:1.2;
  box-shadow:none;
  transition:background-color .2s,border-color .2s,color .2s,transform .2s;
}
.button:hover,.site-header nav .don:hover{border-color:#1188a7;background:#1188a7;box-shadow:none;transform:translateY(-1px)}
.button--outline{border-color:var(--navy);background:transparent;color:var(--navy)}
.button--outline:hover{background:var(--navy);color:#fff}
.button--light{border-color:#fff;background:#fff;color:var(--navy)}
.button--light:hover{border-color:var(--soft);background:var(--soft);color:var(--navy)}
.button--outline-light{border-color:rgba(255,255,255,.8);background:transparent;color:#fff}
.button--outline-light:hover{border-color:#fff;background:#fff;color:var(--navy)}
.text-link,.card-link,.back{color:var(--blue);font-weight:700}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(20,159,195,.45);outline-offset:3px}

.project-card,.news-card,.action-project,.document-card,.testimonial-grid blockquote,
.use-grid article,.support-domains article,.contact-form-wrap{
  overflow:hidden;
  border:1px solid var(--border-color);
  border-radius:var(--radius-md);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.project-card,.news-card{transition:box-shadow .2s,transform .2s}
.news-card:hover,.project-card--linked:hover{box-shadow:0 14px 34px rgba(16,29,66,.13);transform:translateY(-3px)}
.project-card:not(.project-card--linked):hover{box-shadow:var(--shadow-card);transform:none}
.project-card img{height:240px}
.project-card div,.news-card div{padding:var(--space-md)}
.project-card h3,.news-card h2{margin:.45rem 0 .65rem}
.project-card p,.news-card p{color:var(--muted)}
.news-card time{margin-bottom:.3rem;color:var(--muted)}
.action-project{border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.action-project__body{padding:clamp(1.5rem,3vw,2.25rem)}
.document-card{padding:var(--space-md)}
.principles article,.governance-grid article,.company-steps article,.funds-flow article,
.trust-company li,.transparency-principles p,.contact-reassurance p,.donation-process li{
  border-radius:var(--radius-sm);
}

.home-hero,.page-hero,.year-hero,.conversion-hero{
  padding-right:max(var(--gutter),calc((100% - var(--content-max))/2));
  padding-left:max(var(--gutter),calc((100% - var(--content-max))/2));
}
.home-hero h1,.page-hero h1,.year-hero h1,.conversion-hero h1{font-size:clamp(2.8rem,5vw,4rem)}
.home-hero__shade,.page-hero:before,.year-hero__shade,.conversion-hero__shade{
  background:linear-gradient(90deg,rgba(16,29,66,.96) 0%,rgba(16,29,66,.78) 52%,rgba(16,29,66,.2) 100%);
}
.hero-proof{right:max(var(--gutter),calc((100% - var(--content-max))/2));padding:1.25rem 1.6rem}
.page-hero--projects{background-position:center 28%}
.page-hero--history{background-image:url('/images/uploads/bulletin-53-visite-honduras.jpg')}
.trust-strip{max-width:var(--content-max)}
.impact-band{padding:var(--section-space) max(var(--gutter),calc((100% - var(--content-max))/2));background:var(--navy)}
.impact-stat{border-color:rgba(255,255,255,.3)}
.impact-stat strong{color:#fff}
.impact-stat span{color:#e6f1f4}
.impact-grid--light .impact-stat strong{color:var(--navy)}
.impact-grid--light .impact-stat span{color:var(--muted)}

.final-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-xl);
  padding:clamp(3rem,6vw,4.5rem) max(var(--gutter),calc((100% - var(--content-max))/2));
  background:var(--cta-soft);
  color:var(--ink);
}
.final-cta>div{max-width:760px}
.final-cta h2{margin-bottom:.625rem;color:var(--navy)}
.final-cta p{margin-bottom:0}
.final-cta .eyebrow{margin-bottom:.875rem;color:var(--blue)}
.final-cta .button--light{flex:none;border-color:var(--sky);background:var(--sky);color:var(--navy)}
.final-cta .button--light:hover{border-color:#1188a7;background:#1188a7;color:var(--navy)}
.post-cta{padding:var(--space-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--soft)}

.page-head{padding:clamp(3.5rem,7vw,5rem) var(--gutter)}
.page-head h1,.post h1{font-size:clamp(2.65rem,4.6vw,4rem)}
.post{max-width:calc(var(--reading-max) + 48px)}
.post-header{max-width:1000px}
.prose{max-width:var(--reading-max);margin-inline:auto;font-size:1.0625rem}
.post-cover{max-width:820px;margin-inline:auto}

footer{
  padding:clamp(2.8rem,5vw,4rem) max(var(--gutter),calc((100% - var(--content-max))/2)) 1.25rem;
  background:var(--navy);
  color:#dbe3ee;
}
.footer-main{grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2.5rem,7vw,6rem)}
.footer-brand{align-items:flex-start;gap:1rem;max-width:330px}
.footer-logo{display:block;width:170px;min-height:0;padding:0;border-radius:0;background:transparent}
.footer-brand img{width:170px;height:auto;filter:brightness(0) invert(1)}
.footer-signature{color:#dbe3ee;font-size:.9rem;line-height:1.55}
.footer-main>div{gap:.45rem}
.footer-main strong{margin-bottom:.55rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.footer-main a:not(.footer-brand){color:#dbe3ee;font-size:.9rem}
.footer-main a:hover{color:#fff}
.footer-bottom{margin-top:2.5rem;padding-top:1rem;color:#aeb9cb}

@media(max-width:1024px){
  :root{--section-space:4.5rem}
  .home-hero,.year-hero,.conversion-hero{min-height:570px}
  .footer-main{grid-template-columns:1.25fr 1fr 1fr;gap:2rem}
}
@media(max-width:940px){
  .site-header nav{top:92px}
  .project-grid>:last-child:nth-child(odd),.news-grid>:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - 26px)/2);justify-self:center}
  .footer-main{grid-template-columns:1.4fr 1fr 1fr}
}
@media(max-width:768px){
  :root{--section-space:4rem}
  h1{font-size:clamp(2.5rem,8vw,3.4rem)}
  h2{font-size:clamp(1.9rem,6vw,2.45rem)}
  .footer-main{grid-template-columns:1.3fr 1fr;gap:2.25rem}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-wrap:wrap}
}
@media(max-width:620px){
  :root{--text-size:1rem;--section-space:3.5rem;--gutter:1.25rem}
  .site-header{height:82px}
  .site-header nav{top:82px}
  .home-hero,.year-hero,.conversion-hero{min-height:580px}
  .home-hero h1,.page-hero h1,.year-hero h1,.conversion-hero h1,.page-head h1,.post h1{font-size:clamp(2.25rem,10vw,2.8rem)}
  .button-row{gap:1rem}
  .project-grid>:last-child:nth-child(odd),.news-grid>:last-child:nth-child(odd){grid-column:auto;width:auto}
  .project-card img{height:220px}
  .final-cta{align-items:flex-start;flex-direction:column;gap:var(--space-lg)}
  .footer-main{grid-template-columns:1fr;gap:2rem}
  .footer-brand{grid-column:auto}
  .footer-logo,.footer-brand img{width:150px}
  .footer-bottom{gap:.55rem;margin-top:2rem}
}
