/* Adaptation ADPDH après observation de la référence IFRDC. */
:root{--heading-font:'Segoe UI',Arial,sans-serif;--motion-ease:cubic-bezier(.22,1,.36,1)}
body{font-family:'Segoe UI',Arial,sans-serif;line-height:1.6}
h1,h2,h3,.activity-list h3,.identity-bottom>span{font-family:var(--heading-font);font-style:normal}
h1,h2{font-weight:800;letter-spacing:-.04em}
h2{font-size:clamp(2rem,3vw,2.5rem);line-height:1.17}
h1 em,h2 em,.identity-bottom em{font-style:normal;font-weight:inherit}
.hero h1{font-size:clamp(3rem,4.5vw,4rem);font-weight:850;line-height:1.06}
.hero-identity{transform:none;border-radius:0;border-bottom:5px solid var(--green)}
.identity-bottom>span{font-size:1.65rem;font-weight:750;letter-spacing:-.04em}
.hero-description{font-size:1.125rem;line-height:1.6}
.hero-name{font-size:.875rem;max-width:400px}
.hero .eyebrow,.eyebrow{font-size:.8125rem;letter-spacing:.1em}
.eyebrow{border-left:3px solid var(--green);padding-left:12px}
.hero .eyebrow{border:0;padding:0}
.testimony .eyebrow{display:inline-block}
.hero-foot,.topbar{font-size:.8125rem}
.brand small{font-size:.75rem}
.header nav{font-size:.875rem}
.button,.button-small{font-size:.875rem;min-height:46px;border-radius:0;position:relative}
.button{border-bottom-right-radius:14px;box-shadow:-4px -4px 0 #294f8020;transition:background .2s,box-shadow .2s,transform .2s}
.hero .button,.donate .button{box-shadow:-4px -4px 0 #ffffff26}
.button span,.text-link span,.pillar-number>span{display:inline-block;transition:transform .25s var(--motion-ease)}
.button:hover span,.text-link:hover span{transform:translateX(4px)}
.button:hover{transform:translateY(-2px);box-shadow:-6px -6px 0 #294f8024}
.hero .button:hover,.donate .button:hover{box-shadow:-6px -6px 0 #ffffff30}
.stats strong{font-size:3rem;font-weight:750}
.stats span{font-size:.875rem}.stats small{font-size:.8125rem}
.about-copy>p:not(.lead),.pillar>p,.activity-list p,.impact-section p,.section-heading>p,.empty-state p,.contact p,.contact a{font-size:1rem}
.pillar h3{font-size:1.25rem;font-weight:700;min-height:110px}
.pillar{border-top-width:4px;transition:transform .3s var(--motion-ease),box-shadow .3s,border-color .3s}
@media(hover:hover){.pillar:hover,.pillar:focus-within{transform:translateY(-6px);box-shadow:0 16px 30px #102b4b0f;border-top-color:var(--green)}.pillar:hover .pillar-number>span{transform:translate(3px,-3px)}}
.pillar>a,.pillar summary,.activity-list summary,.resource-row,.contact small{font-size:.875rem}
.activity-list h3{font-size:1.65rem;font-weight:700;line-height:1.25}
.activity-index{font-family:var(--heading-font);font-weight:700;color:var(--blue)}
.activity-location,.tag,.small-note,.resource-row small,.resource-note{font-size:.8125rem}
.vision-grid h2,.updates-grid h2,.donate h2,.contact h2{font-size:clamp(1.875rem,2.7vw,2.25rem)}
.vision-grid>div+div>p:last-child,.partnership-types span,.resource-row{font-size:1rem}
.impact-metrics strong{font-weight:750}.impact-metrics p{font-size:1rem}
.impact-section .source-note{font-size:.8125rem}
.footer-grid h3,.footer-grid>div>a:not(.footer-brand),.footer-link{font-size:.875rem}
.footer-grid p{font-size:.9375rem}.footer-grid>div>span,.footer-bottom{font-size:.8125rem}
.navigation{transition:none}
.header.is-scrolled{box-shadow:0 5px 24px #102b4b0d}
.header.is-scrolled .navigation{min-height:150px}
@keyframes adpdh-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:adpdh-enter .7s var(--motion-ease) both}
 .hero-identity{animation:adpdh-enter .8s .12s var(--motion-ease) both}
 .reveal-enter{animation:adpdh-enter .6s var(--motion-ease) both}
}
@media(max-width:1150px){.header nav{gap:12px}.brand small{display:none}.pillar h3{min-height:0}}
@media(max-width:900px){.hero h1{font-size:3rem}.identity-bottom>span{font-size:1.4rem}.stats>div{padding-inline:14px}.stats>div:first-child{padding-left:0}.stats span{font-size:.8125rem}.hero-grid{gap:30px}.header.is-scrolled .navigation{min-height:150px}}
@media(max-width:640px){
 .hero h1{font-size:clamp(2.5rem,9vw,3rem)}
 .hero-description{font-size:1rem}.hero .eyebrow{font-size:.75rem}
 .hero-name{font-size:.8125rem}.brand small{display:block;font-size:.625rem}
 .topbar{font-size:.6875rem}.hero-identity{transform:none}
 .stats strong{font-size:2.65rem}.stats small{font-size:.75rem}
 .stats>div:nth-child(odd){padding-left:0}.stats>div:nth-child(even){padding-left:14px}
 .identity-top{font-size:.625rem}.activity-list h3{font-size:1.4rem}
 .activity-location,.tag{font-size:.75rem}.footer-bottom{font-size:.75rem;flex-wrap:wrap}
 .hero-foot a{font-size:.8125rem}.pillar h3{min-height:0}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-identity,.reveal-enter{animation:none!important}.pillar:hover,.button:hover{transform:none}.navigation{transition:none}}

/* Navigation institutionnelle complète : passage au menu avant saturation. */
@media(min-width:1281px){
 .navigation{flex-wrap:wrap;justify-content:space-between;padding-block:15px;gap:14px}
 .navigation .brand small{display:block}
 #main-nav{gap:17px;font-size:.875rem;flex-wrap:wrap}
}
@media(min-width:901px) and (max-width:1280px){
 .menu-toggle{display:flex;gap:20px;align-items:center;background:white;border:1px solid var(--border);padding:9px 14px;font-size:.875rem;color:var(--blue)}
 .navigation{min-height:85px}
 #main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 28px;background:white;max-height:calc(100dvh - 85px);overflow:auto;box-shadow:0 15px 25px #102b4b15}
 #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}
 #main-nav>a{padding:12px 0}
 #main-nav .button{margin-top:10px}
}
