*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font:17px/1.7 system-ui,sans-serif}a{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(42px,6vw,76px);margin:16px 0 24px}h2{font-size:clamp(30px,4vw,46px);margin:0 0 24px}h3{font-size:24px}.wrap{width:min(1180px,90%);margin:auto}header{background:white;border-bottom:1px solid #e7ece8}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;text-decoration:none;white-space:nowrap}.brand img{width:62px;height:65px;object-fit:contain}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:650}nav a:hover,nav a[aria-current=page]{color:var(--green)}.menu{display:none}.hero{position:relative;background:#21372e;color:white;padding:100px 0 70px;min-height:620px;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,25,.88),rgba(10,32,25,.35)),url('../images/association/equipe.jpg') center 45%/cover}.hero .wrap{position:relative}.hero p{max-width:650px;font-size:23px}.eyebrow{font-size:13px!important;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.hero .eyebrow{color:#a7e5ce}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-block;padding:13px 24px;border-radius:8px;background:var(--green);color:white;text-decoration:none;font-weight:700;border:1px solid var(--green)}.btn.outline{background:transparent;border-color:#fff}.band{background:#e8f4ef;padding:20px 0}.band .wrap{display:flex;justify-content:space-around;gap:20px;text-align:center;font-size:14px;font-weight:700}section{padding:84px 0}.soft{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split img{border-radius:18px;aspect-ratio:4/3}.intro{max-width:720px;margin-bottom:36px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.projects{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid #e3eae5;border-radius:14px;overflow:hidden;text-decoration:none}.card img{aspect-ratio:4/3}.card .body{padding:22px}.card h3{margin:0 0 10px}.card p{margin:0;color:var(--muted);font-size:15px}.card a{color:var(--green)}.card[href]:hover{box-shadow:0 12px 30px #183a2518;transform:translateY(-3px)}.card[href]{transition:.2s}.projects .card img{aspect-ratio:1;object-fit:cover}.projects .body{padding:18px}.projects h3{font-size:20px}.stats{text-align:center}.stats strong{font-size:55px;display:block;color:var(--green)}.stats p{margin:0}.project-hero{background:linear-gradient(110deg,#a65c2d,#103f31);color:white;padding:70px 0}.project-hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center}.project-hero img{max-width:300px;border-radius:50%;justify-self:end}.project-hero .eyebrow{color:#b4e8d1}.reading{max-width:860px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{aspect-ratio:4/3;border-radius:12px}.support{background:#0f4335;color:white}.support p{max-width:720px}.support .eyebrow{color:#a7e5ce}footer{padding:46px 0;background:#182a24;color:#d5e2db}footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer p{font-size:14px;margin:4px 0}footer a{font-size:14px}.note{padding:16px;background:#fff7e8;border-radius:8px;font-size:14px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:white;z-index:9;padding:12px}a:focus-visible,button:focus-visible{outline:3px solid #e0ad27;outline-offset:5px}@media(max-width:950px){nav{gap:14px}.brand{font-size:19px}.projects{grid-template-columns:repeat(2,1fr)}.split{gap:30px}}@media(max-width:760px){header .wrap{flex-wrap:wrap}.menu{display:block;background:white;border:1px solid #bbc9c0;border-radius:6px;padding:9px 14px;font:inherit}nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:12px 0}nav.open{display:flex}nav a{font-size:17px}.hero{min-height:560px;padding:65px 0}.hero p{font-size:20px}.split,.grid,.gallery,.project-hero .wrap{grid-template-columns:1fr}.projects{grid-template-columns:repeat(2,1fr);gap:12px}.projects h3{font-size:18px}.band .wrap{flex-direction:column;gap:8px}section{padding:54px 0}.project-hero img{justify-self:start;width:160px;grid-row:1}.project-hero{padding:45px 0}.project-hero .wrap{gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats strong{font-size:37px}.stats p{font-size:13px}}

/* Composition photographique — octobre 2026 */
body{background:#fbfcf9;color:#203b31;font-size:16px;line-height:1.8}h1,h2,h3{font-weight:760}header{background:#fbfcf9}.brand{font-size:22px;letter-spacing:-.04em}.brand img{width:56px;height:58px}nav a{font-size:13px}nav a:last-child{border:1px solid #1e6251;padding:9px 14px;border-radius:4px}section{padding:96px 0}.wrap{width:min(1240px,90%)}.hero{background:#f0f3e9;color:#203b31;padding:64px 0 72px;min-height:0}.hero:before{display:none}.hero-layout{display:grid;grid-template-columns:.95fr 1.1fr;gap:55px;align-items:center}.hero-copy{padding:10px 0}.hero-name{font-size:15px!important;font-weight:700;margin:30px 0 10px;color:#426354}.hero h1{font-size:clamp(36px,4.15vw,62px);line-height:1.08;letter-spacing:-.055em;margin:0 0 26px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#13836b;font-style:italic;letter-spacing:-.045em}.hero .eyebrow{color:#527261;font-size:11px!important}.hero .hero-intro{font-size:17px;max-width:440px;line-height:1.7;color:#526659}.hero-photo{position:relative;align-self:stretch;display:flex;align-items:center;padding-bottom:22px}.hero-photo img{aspect-ratio:4/4.1;border-radius:140px 12px 12px 12px;object-position:50% 65%}.photo-label{position:absolute;bottom:0;right:22px;background:#f6d770;color:#263b2e;border-radius:3px;padding:10px 20px;font-size:12px;letter-spacing:.04em}.hero .buttons{gap:20px;align-items:center}.btn{background:#087c64;border-color:#087c64;border-radius:4px;font-size:14px;padding:13px 21px}.btn span{margin-left:12px}.text-link{font-size:14px;font-weight:650;text-underline-offset:5px}.band{background:#214d3e;color:#f1f4e8;padding:21px 0}.band .wrap{justify-content:space-between;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.eyebrow{color:#277862;font-size:11px!important;letter-spacing:.16em;margin:0 0 18px}h2{font-size:clamp(30px,3.6vw,46px);line-height:1.14;max-width:800px}#association .split{grid-template-columns:.9fr 1.1fr;gap:80px}#association img{aspect-ratio:1/1.04;border-radius:12px 110px 12px 12px;object-position:center bottom}#association p{font-size:15px}#association h2{font-size:38px}.soft{background:#eef2e9}.intro{font-size:17px;max-width:770px}.card{border:0;background:#fff;border-radius:8px}.local-section .card{display:grid;grid-template-rows:200px auto}.local-section .card img{height:200px;aspect-ratio:auto;object-fit:contain;padding:28px;background:#fff}.local-section .card .body{padding:22px 26px;border-top:1px solid #edf0e9}.local-section h3{font-size:22px}.local-section h3 a{text-decoration:none;color:#203b31}.projects{gap:20px}.projects .card{border:1px solid #e5e9de}.projects .card img{height:230px;aspect-ratio:auto;object-fit:contain;padding:25px;background:#fff}.projects .body{background:#f0f3e9;min-height:112px;padding:23px}.projects .card:nth-child(1) .body{background:#e9edf7}.projects .card:nth-child(2) .body{background:#faf1bb}.projects .card:nth-child(3) .body{background:#faecd4}.projects .card:nth-child(4) .body{background:#f9e2d3}.projects .card p{font-size:13px}.support{background:#214d3e}.support h2{font-family:Georgia,serif;font-weight:400;font-size:48px;max-width:650px}.support .btn{background:#f3d56e;color:#203b31;border-color:#f3d56e}.support .btn.outline{background:transparent;color:#fff;border-color:#9bb4a7}footer{background:#163d30}footer .wrap{gap:40px}footer a{text-underline-offset:4px}.project-hero{background:#f0f3e9;color:#203b31;padding:60px 0 100px}.project-hero .eyebrow{color:#277862}.project-hero h1{font-size:clamp(44px,6vw,74px)}.project-hero img{width:170px;border-radius:50%;background:white;padding:7px}.project-hero .btn.outline{color:#203b31;border-color:#658272}.project-cover{margin-top:-52px;position:relative}.project-cover img{max-height:580px;aspect-ratio:2.1;object-position:center 65%;border-radius:12px}.project-cover+section{padding-top:70px;background:#fbfcf9}.reading{max-width:870px}.reading p{font-size:17px}.reading+div{margin-top:48px}.reading+div .card{border:1px solid #dce5d8}.reading+div .body{padding:28px}.stats{padding:25px 0 0}.stats article+article{border-left:1px solid #c9d6c6}.stats strong{font-family:Georgia,serif;font-weight:400;font-size:72px;color:#18765b}.gallery{grid-template-columns:1fr 1fr;gap:32px}.gallery figure{margin:0}.gallery img{height:330px;aspect-ratio:auto;border-radius:8px;object-position:center}.gallery figcaption{font-size:13px;color:#607365;padding:9px 0}.gallery .gallery-portrait img{object-position:center 80%}.split img{border-radius:8px}.card[href]:hover{transform:translateY(-4px)}
@media(max-width:1050px){nav{gap:11px}.hero-layout{gap:25px}.hero-photo img{border-top-left-radius:100px}#association .split{gap:35px}.projects .card img{height:180px}.brand{font-size:18px}}
@media(max-width:760px){header .wrap{padding:12px 0}.hero{padding:32px 0 40px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero h1{font-size:46px;max-width:550px}.hero-name{margin-top:22px}.hero-photo{padding-bottom:20px}.hero-photo img{aspect-ratio:4/3;max-height:none;border-radius:60px 8px 8px 8px;object-position:center}.hero .buttons{margin-top:24px}.band .wrap{text-align:left;font-size:10px;gap:10px}section{padding:60px 0}#association .split{grid-template-columns:1fr;gap:30px}#association img{aspect-ratio:4/3;border-radius:8px 60px 8px 8px}#association h2{font-size:33px}.local-section .grid{grid-template-columns:1fr}.local-section .card{grid-template-columns:120px 1fr;grid-template-rows:auto;align-items:center}.local-section .card img{height:130px;padding:18px}.local-section .card .body{border:0;padding:18px}.projects .card img{height:155px;padding:15px}.projects .body{padding:16px;min-height:120px}.projects h3{font-size:19px}.support h2{font-size:36px}.project-hero{padding:38px 0 80px}.project-hero .wrap{grid-template-columns:1fr 80px;gap:16px}.project-hero img{width:80px;grid-row:auto;justify-self:end;align-self:start}.project-hero h1{font-size:42px}.project-hero p{font-size:14px}.project-cover img{aspect-ratio:4/3;max-height:none}.gallery{grid-template-columns:1fr;gap:22px}.gallery img{height:auto;aspect-ratio:4/3}.gallery .gallery-portrait img{aspect-ratio:4/4.5}.stats strong{font-size:45px}.stats{grid-template-columns:repeat(3,1fr)}nav a:last-child{padding:8px 12px}footer .wrap{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card[href]{transition:none}}

/* Logos : cadre commun, centré horizontalement et verticalement. */
.projects .logo-frame,.local-section .logo-frame{display:flex;align-items:center;justify-content:center;width:100%;height:220px;padding:24px;background:#fff;overflow:hidden}
.projects .logo-frame img,.local-section .logo-frame img{display:block;flex:none;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:50% 50%;margin:0;padding:0;aspect-ratio:auto;border-radius:0}
.local-section .card{display:flex;flex-direction:column}.local-section .card .body{width:100%}.projects .body,.local-section .body{text-align:center}
.carousel{width:100%;min-width:0}.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:20px;scrollbar-width:thin;scrollbar-color:#628b77 #e8eee7;border-radius:10px}.carousel-slide{margin:0;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.carousel-slide img{display:block;width:100%;height:520px;object-fit:contain;object-position:center;background:#e9eee6;border-radius:10px}.carousel-slide figcaption{text-align:center;font-size:14px;color:#426354;padding:14px 12px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:18px}.carousel-controls[hidden]{display:none}.carousel-controls button{width:48px;height:48px;border:1px solid #22745d;border-radius:50%;color:#fff;background:#21654f;font-size:24px;cursor:pointer}.carousel-controls button:hover{background:#123f30}.carousel-count{min-width:60px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
@media(max-width:760px){.projects .logo-frame{height:180px;padding:20px}.local-section .logo-frame{height:185px;padding:22px}.local-section .logo-frame img{max-width:240px}.local-section .card{display:flex;flex-direction:column}.carousel-slide img{height:380px}.carousel-track{gap:12px}}
@media(max-width:420px){.projects .logo-frame{height:145px;padding:14px}.carousel-slide img{height:310px}}

/* Validation visuelle : préserver les photos entières et l'espace sur mobile. */
.hero-layout > *, .project-hero .wrap > *, .split > *, .grid > *{min-width:0}
.hero-photo{align-self:center;display:block}
.hero-photo img{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:12px}
#association img{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:12px}
.project-cover{max-width:960px}
.project-cover img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.project-hero img{height:auto;object-fit:contain;border-radius:12px}
.carousel-track:focus-visible{outline:3px solid #e0ad27;outline-offset:5px}
@media(min-width:761px) and (max-width:1050px){
 header .wrap{flex-wrap:wrap;justify-content:center}
 nav{flex-wrap:wrap;justify-content:center}
}
@media(max-width:760px){
 .hero h1{font-size:clamp(34px,8vw,46px)}
 .project-hero .wrap{grid-template-columns:1fr;gap:24px}
 .project-hero img{grid-row:1;justify-self:start;width:100px}
 .project-hero h1{font-size:clamp(36px,9vw,48px)}
 .photo-label{right:12px;max-width:calc(100% - 24px)}
}
@media(max-width:380px){
 .projects{grid-template-columns:1fr}
 .projects .logo-frame{height:180px}
 .projects .body{min-height:0}
 .brand{font-size:17px;gap:8px}
 .brand img{width:44px;height:46px}
 header .wrap{gap:12px}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Page Nous soutenir */
.support-photo{margin:0;min-width:0}.support-photo img{height:auto;aspect-ratio:auto;border-radius:12px}.support-photo figcaption{font-size:12px;color:#526659;margin-top:12px}
.support-options .card{border:1px solid #dce5d8}.support-options .body{padding:30px;display:flex;flex-direction:column;height:100%}.support-options .text-link{margin-top:auto;padding-top:26px}.support-number{font-family:Georgia,serif;font-size:36px;color:#277862;margin-bottom:20px}.support-options .card:nth-child(2){background:#f7f0d6}.support-options .card:nth-child(3){background:#edf2e9}
.support-example{margin-top:44px}.support-example img{aspect-ratio:auto;height:auto;object-fit:contain}.contact-note{font-size:13px;opacity:.85;margin-top:20px}#facons-aider,#contact-soutien{scroll-margin-top:24px}
@media(max-width:760px){.support-options .body{padding:24px}.support-example{gap:24px}.support-hero .hero-intro{max-width:none}}

.support-options .support-icon{width:72px;height:72px;aspect-ratio:1;object-fit:contain;margin:0 0 22px}.support-photo img{background:#e6ecdf}.support-example img{background:#f8f2dc}.contact-note a{text-underline-offset:4px;overflow-wrap:anywhere}

/* Maquette association : cadres réservés à la future photo collective. */
.photo-placeholder{width:100%;aspect-ratio:4/3;min-width:0;border:1px dashed #93a395;border-radius:12px;background:#e8ede3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#526659}.photo-placeholder span{font-weight:650}.photo-placeholder small{font-size:13px;margin-top:8px}.about-activities{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:48px}.about-activities article{border-top:1px solid #c9d6c6;padding-top:24px}.bureau-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.bureau-member{padding:26px;border:1px solid #dce5d8;border-radius:8px}.bureau-member h3{font-size:20px;margin:16px 0 8px}.bureau-member p{font-size:14px;margin:0;color:#526659}.bureau-index{color:#628b77;font-family:Georgia,serif;font-size:26px}#bureau{scroll-margin-top:24px}@media(max-width:760px){.about-activities{grid-template-columns:1fr}.bureau-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bureau-member{padding:18px}}@media(max-width:420px){.bureau-grid{grid-template-columns:1fr}}
