:root{--deep:#073d3a;--green:#00615a;--mint:#d8eee8;--ink:#173633;--muted:#49615e;--cream:#f7f8f3;--red:#db3634;--line:#cbd9d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(3.3rem,6.6vw,6.9rem);letter-spacing:-.025em}h2{font-size:clamp(2.6rem,4.1vw,4.7rem);letter-spacing:-.02em}h3{font-size:1.42rem;line-height:1.2}a{color:inherit}button{font:inherit}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;z-index:30}.skip:focus{top:12px}.site-header{height:92px;background:#fff;position:relative;z-index:5}.header-inner{height:100%;width:min(1320px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:78px;height:58px;object-fit:contain}.brand strong{display:block;font-size:1.12rem;line-height:1.2;color:var(--deep)}.brand small{display:block;font-size:.82rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:36px}.site-header nav a{font-weight:600;text-decoration:none;color:var(--deep);font-size:.92rem}.site-header nav a:hover,.inline-link:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.hero{min-height:650px;position:relative;isolation:isolate;display:flex;align-items:center;color:#fff;background:#123e36;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2;background:url('assets/couze/IMG_4532_accueil.jpg') center 52%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,36,34,.88) 0%,rgba(5,43,40,.66) 45%,rgba(5,43,40,.08) 100%),linear-gradient(0deg,rgba(2,26,24,.32),transparent 40%)}.hero-content{padding:80px 0 102px}.hero h1{max-width:850px;margin-bottom:27px}.hero h1 em{font-weight:400;color:#c4ede1}.hero p:not(.eyebrow){font-size:1.22rem;max-width:610px;line-height:1.55;margin-bottom:32px;color:#f1faf5}.eyebrow{font-size:.82rem;font-weight:700;letter-spacing:.19em;color:var(--green);margin-bottom:22px}.eyebrow.light{color:#b8e4d7}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;border-radius:3px;text-decoration:none;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#eef8ef;color:var(--deep)}.button-primary:hover{background:#d8eee8}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid #d6f4eb;padding-bottom:4px}.text-link span,.inline-link span{margin-left:8px}.image-credit{position:absolute;bottom:18px;right:28px;font-size:.74rem;color:#e1ebe5}.section{padding-top:110px;padding-bottom:110px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2{max-width:530px}.intro-copy{padding-top:42px;font-size:1.16rem;color:var(--muted)}.intro-copy p{max-width:570px;margin-bottom:24px}.inline-link{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-top:12px}.practical{background:#e7f1ec}.practical-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:44px}.practical-head h2{max-width:580px;margin:0}.practical-head>p{max-width:370px;color:var(--muted);font-size:1.06rem;margin:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{background:#fff;min-height:300px;padding:29px;display:flex;flex-direction:column;position:relative;text-decoration:none;border:1px solid #d4e4dc;transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(6,50,43,.1)}.card-number{font-family:Georgia,serif;font-size:1.25rem;color:var(--green)}.card-content{margin-top:auto;padding-right:14px}.card-content strong{font-family:Georgia,serif;display:block;font-size:1.84rem;line-height:1.15;margin-bottom:14px;color:var(--deep);font-weight:400}.card-content span{display:block;color:var(--muted);font-size:.96rem}.card-arrow{position:absolute;right:25px;top:25px;font-size:1.5rem;color:var(--red)}.note{display:flex;gap:14px;align-items:start;margin-top:28px;color:#365852;font-size:.92rem}.note span{font-size:1.25rem}.note p{margin:0}.missions{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.missions-title h2{max-width:500px}.missions-title>p:last-child{max-width:420px;color:var(--muted);font-size:1.12rem}.mission-list article{display:grid;grid-template-columns:54px 1fr;gap:20px;border-top:1px solid var(--line);padding:28px 0}.mission-list article:last-child{border-bottom:1px solid var(--line)}.mission-list article>span{font-family:Georgia,serif;color:var(--red);font-size:1.4rem}.mission-list h3{color:var(--deep);margin-bottom:9px}.mission-list p{max-width:570px;color:var(--muted);margin:0}.territory{background:var(--deep);color:white}.territory-inner{padding-top:80px;padding-bottom:82px;display:grid;grid-template-columns:1fr 1fr;gap:24px 80px;align-items:start}.territory h2{max-width:540px;margin:0}.territory p:not(.eyebrow){font-size:1.11rem;color:#d0e6df;margin-top:36px}.button-outline{grid-column:2;justify-self:start;border:1px solid #b4d9cb;color:white}.button-outline:hover{background:#12564f}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact>div:first-child p:last-child{color:var(--muted);font-size:1.13rem;max-width:440px}.contact-card{background:#fff;border-top:5px solid var(--red);padding:43px 48px;box-shadow:0 15px 50px rgba(19,51,45,.07);display:flex;flex-direction:column;align-items:start}.contact-card span{font-size:.79rem;letter-spacing:.15em;font-weight:700;color:var(--green);margin-bottom:10px}.contact-card strong{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin-bottom:10px}.contact-card a{font-size:1.1rem;margin:2px 0;color:var(--deep);text-decoration-thickness:1px;text-underline-offset:4px}.contact-rule{height:1px;width:100%;background:var(--line);margin:28px 0}.contact-card p{margin:0;color:var(--muted)}footer{background:#092e2d;color:#d5e9e3;padding:52px 0 26px}.footer-main{display:flex;justify-content:space-between;gap:30px}.footer-brand img{background:white;max-width:120px;height:auto;padding:5px}.footer-brand p{margin:14px 0 0}.footer-links{display:flex;gap:24px;align-items:start;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #416763;margin-top:50px;padding-top:21px;color:#a8c6bd;font-size:.82rem}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media(max-width:850px){.header-inner{width:min(100% - 36px,1200px)}.menu-toggle{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--deep);font-weight:700}.menu-toggle span{margin-left:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:92px;background:#fff;padding:22px 24px 28px;box-shadow:0 12px 18px #102d241c;flex-direction:column;align-items:start;gap:20px}.site-header nav.open{display:flex}.intro,.missions,.contact{grid-template-columns:1fr;gap:25px}.intro-copy{padding-top:0}.practical-head{display:block}.practical-head>p{margin-top:20px}.resource-grid{grid-template-columns:1fr}.resource-card{min-height:220px}.territory-inner{grid-template-columns:1fr}.territory p:not(.eyebrow){margin-top:0}.button-outline{grid-column:1}.contact-card{max-width:600px}.footer-main,.footer-bottom{flex-direction:column}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{height:78px}.site-header nav{top:78px}.brand img{width:58px;height:48px}.brand strong{font-size:.97rem}.brand small{font-size:.68rem}.hero{min-height:620px}.hero-content{padding:65px 0 90px}.hero h1{font-size:clamp(3.05rem,12vw,4.2rem)}.hero p:not(.eyebrow){font-size:1.06rem}.hero:before{background:linear-gradient(90deg,rgba(3,36,34,.86),rgba(3,36,34,.45)),linear-gradient(0deg,rgba(3,36,34,.5),transparent)}.hero-actions{gap:20px}.section{padding-top:72px;padding-bottom:72px}h2{font-size:2.65rem}.resource-card{padding:24px}.mission-list article{grid-template-columns:38px 1fr;gap:13px}.contact-card{padding:30px}.territory-inner{padding-top:66px;padding-bottom:66px}.footer-links{flex-direction:column;gap:12px}}
/* Conseil d'administration */
.team{background:#fff}.team-head{max-width:720px;margin-bottom:50px}.team-head h2{margin-bottom:17px}.team-head>p:last-child{color:var(--muted);font-size:1.1rem}.team-group-title{font-family:Georgia,serif;font-weight:400;font-size:1.7rem;color:var(--deep);border-bottom:1px solid var(--line);padding-bottom:15px;margin:45px 0 18px}.team-grid{display:grid;gap:14px}.team-grid.office,.team-grid.members{grid-template-columns:repeat(5,minmax(0,1fr))}.team-grid.auditors{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}.person{background:#e7f1ec;border-top:3px solid var(--green);padding:23px 18px;min-height:140px}.person span{color:var(--green);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.person h4{font-family:Georgia,serif;color:var(--deep);font-weight:400;font-size:1.48rem;line-height:1.15;margin:20px 0 0}.member{background:var(--cream);padding:19px 18px;border-left:2px solid var(--line);font-weight:600;color:var(--deep)}
@media(max-width:1000px){.team-grid.office,.team-grid.members{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.team-head{margin-bottom:28px}.team-grid.office,.team-grid.members,.team-grid.auditors{grid-template-columns:repeat(2,minmax(0,1fr))}.person{min-height:132px;padding:18px 14px}.person h4{font-size:1.3rem}.member{padding:15px 13px}.team-group-title{margin-top:35px}}
@media(max-width:390px){.team-grid.office,.team-grid.members,.team-grid.auditors{grid-template-columns:1fr}.person{min-height:0}.person h4{margin-top:10px}}
/* Explication de l'AAPPMA */
.explainer{background:#dcebe6}.explainer-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.explainer-intro h2{max-width:470px}.explainer-intro>p:not(.eyebrow){font-size:1.16rem;color:#365852;max-width:530px}.explainer-intro strong{color:var(--deep)}.explainer-points{border-top:1px solid #afc8bd}.explainer-points article{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #afc8bd}.explainer-index{font-family:Georgia,serif;color:var(--red);font-size:1.35rem}.explainer-points h3{margin-bottom:8px;color:var(--deep)}.explainer-points p{margin:0;color:#365852;max-width:570px}
@media(max-width:850px){.explainer-layout{grid-template-columns:1fr;gap:42px}}
@media(max-width:600px){.explainer-points article{grid-template-columns:38px 1fr;gap:12px}}
@media(min-width:851px) and (max-width:1080px){.menu-toggle{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--deep);font-weight:700}.menu-toggle span{margin-left:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:92px;background:#fff;padding:22px 32px 28px;box-shadow:0 12px 18px #102d241c;flex-direction:column;align-items:start;gap:20px}.site-header nav.open{display:flex}}
/* Couze photography */
.gallery-section{background:#f3f6f1}.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:46px}.gallery-head h2{max-width:690px;margin:0}.gallery-head>p{max-width:355px;margin:0;color:var(--muted);font-size:1.1rem}.photo-grid{columns:3 300px;column-gap:18px}.photo-card{display:inline-block;width:100%;break-inside:avoid;margin:0 0 22px}.photo-link{display:block;position:relative;overflow:hidden;background:#cadbd2}.photo-link img{display:block;width:100%;height:auto;transition:transform .5s ease,filter .5s ease}.photo-link:hover img,.photo-link:focus-visible img{transform:scale(1.045);filter:brightness(.85)}.photo-zoom{position:absolute;right:15px;bottom:15px;width:37px;height:37px;display:grid;place-items:center;background:#f4faf7;color:var(--deep);font-size:1.25rem;line-height:1;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.photo-link:hover .photo-zoom,.photo-link:focus-visible .photo-zoom{opacity:1;transform:none}.photo-card figcaption{display:flex;gap:14px;margin-top:10px;color:#365852;font-size:.92rem}.photo-card figcaption span{font-family:Georgia,serif;color:var(--red)}.gallery-credit{font-size:.82rem;color:var(--muted);margin:8px 0 0}.photo-dialog{width:min(96vw,1250px);max-width:none;max-height:94vh;padding:0;border:0;background:#092e2d;color:white;box-shadow:0 20px 80px #0008;overflow:hidden}.photo-dialog::backdrop{background:#061917e8}.lightbox-content{height:min(84vh,900px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 70px 18px}.lightbox-content img{max-width:100%;max-height:calc(100% - 43px);width:auto;height:auto;object-fit:contain}.lightbox-content p{margin:12px 0 0;font-size:.94rem}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;border:0;background:#ffffffdf;color:var(--deep);cursor:pointer;display:grid;place-items:center}.lightbox-close{right:13px;top:13px;width:44px;height:44px;font-size:2rem}.lightbox-nav{top:50%;transform:translateY(-50%);width:44px;height:56px;font-size:2.4rem}.lightbox-nav.previous{left:10px}.lightbox-nav.next{right:10px}
@media(min-width:851px) and (max-width:1280px){.menu-toggle{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--deep);font-weight:700}.menu-toggle span{margin-left:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:92px;background:#fff;padding:22px 32px 28px;box-shadow:0 12px 18px #102d241c;flex-direction:column;align-items:start;gap:20px}.site-header nav.open{display:flex}}
@media(max-width:850px){.gallery-head{display:block}.gallery-head>p{margin-top:22px}.photo-grid{columns:2 240px}}
@media(max-width:600px){.photo-grid{columns:1}.gallery-head{margin-bottom:32px}.lightbox-content{padding:60px 12px 62px;height:92vh}.lightbox-nav{top:auto;bottom:7px;transform:none}.lightbox-nav.previous{left:calc(50% - 55px)}.lightbox-nav.next{right:calc(50% - 55px)}.lightbox-close{top:7px;right:7px}}
@media(prefers-reduced-motion:reduce){.photo-link img,.photo-zoom{transition:none}}
/* Inventaires piscicoles */
.inventory-story{grid-column:1/-1;margin-top:34px;padding-top:60px;border-top:1px solid var(--line)}.inventory-head{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:end;margin-bottom:29px}.inventory-head h3,.reports-heading h3{font-family:Georgia,serif;font-size:clamp(2.2rem,3.2vw,3.5rem);font-weight:400;line-height:1.08;color:var(--deep);margin-bottom:0}.inventory-head>p{color:var(--muted);font-size:1.08rem;margin:0}.inventory-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.inventory-photo{height:260px;position:relative;overflow:hidden;margin:0;background:#cbd9d2}.inventory-photo.inventory-wide{grid-column:span 2}.inventory-photo .photo-link{width:100%;height:100%}.inventory-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.inventory-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 15px 13px;background:linear-gradient(transparent,#071c1ac9);color:white;font-size:.92rem;pointer-events:none}.inventory-photo figcaption span{margin-right:12px;color:#c3ebe1;font-family:Georgia,serif}.inventory-credit{color:var(--muted);font-size:.82rem;margin:10px 0 0}.reports{margin-top:65px;background:#e7f1ec;padding:43px 46px 48px}.reports-heading{max-width:750px;margin-bottom:27px}.reports-heading h3{margin-bottom:16px}.reports-heading>p:last-child{color:var(--muted);margin:0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-card{background:#fff;border-top:3px solid var(--green);padding:26px 27px;min-height:214px;text-decoration:none;display:flex;flex-direction:column;align-items:start;transition:transform .2s,box-shadow .2s}.report-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #103d3319}.report-card>span{font-size:.77rem;letter-spacing:.1em;font-weight:700;color:var(--green)}.report-card strong{font-family:Georgia,serif;font-size:1.63rem;font-weight:400;line-height:1.14;color:var(--deep);margin:18px 0 5px}.report-card small{font-size:.91rem;color:var(--muted)}.report-card b{margin-top:auto;padding-top:17px;font-size:.92rem;color:var(--green)}.report-card b span{margin-left:6px}
@media(max-width:850px){.inventory-head{grid-template-columns:1fr;gap:18px}.inventory-story{margin-top:20px}.inventory-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-photo{height:240px}.reports{padding:34px 30px}}
@media(max-width:600px){.inventory-story{padding-top:45px}.inventory-gallery{gap:8px}.inventory-photo{height:190px}.inventory-photo.inventory-wide{height:210px}.inventory-photo figcaption{font-size:.78rem;padding:30px 9px 9px}.inventory-photo figcaption span{margin-right:5px}.reports{margin-top:46px;padding:28px 18px}.report-grid{grid-template-columns:1fr}.report-card{min-height:200px;padding:22px}}
/* Bénévoles sur le terrain */
.volunteers{grid-column:1/-1;margin-top:76px;background:var(--deep);color:#fff;padding:61px 55px 52px}.volunteer-head{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;margin-bottom:35px}.volunteer-head h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.07;margin:0}.volunteer-head>div:last-child{font-size:1.1rem;color:#d4ebe3}.volunteer-head>div:last-child p:last-child{margin-bottom:0}.volunteer-gallery{columns:4 220px;column-gap:13px}.volunteer-gallery figure{display:inline-block;width:100%;break-inside:avoid;margin:0 0 18px}.volunteer-gallery .photo-link{display:block;background:#1a5750}.volunteer-gallery img{display:block;width:100%;height:auto;transition:filter .3s,transform .3s}.volunteer-gallery .photo-link:hover img,.volunteer-gallery .photo-link:focus-visible img{filter:brightness(.84);transform:scale(1.025)}.volunteer-gallery figcaption{display:flex;gap:10px;margin-top:8px;font-size:.84rem;color:#cbe4dc}.volunteer-gallery figcaption span{color:#a8d3c6;font-family:Georgia,serif}.volunteer-credit{font-size:.82rem;color:#a8cfc3;margin:6px 0 0}
@media(max-width:850px){.volunteers{padding:44px 33px;margin-top:58px}.volunteer-head{grid-template-columns:1fr;gap:23px}.volunteer-gallery{columns:3 180px}}
@media(max-width:600px){.volunteers{padding:40px 18px;margin-top:48px}.volunteer-gallery{columns:2 140px}.volunteer-head h3{font-size:2.5rem}.volunteer-head>div:last-child{font-size:1rem}}
@media(max-width:390px){.volunteer-gallery{columns:1}}
@media(prefers-reduced-motion:reduce){.volunteer-gallery img{transition:none}}

/* Bénévoles et carte du bassin */
.volunteer-section{background:#ecf4ef}.volunteer-section .volunteers{margin-top:0}.territory-map-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:60px;align-items:center}.territory-copy h2{max-width:520px}.territory-copy p:not(.eyebrow){color:#d0e6df;font-size:1.08rem;margin:24px 0}.territory-copy .button{margin-top:10px}.basin-map{margin:0;min-width:0}.basin-map img{display:block;width:100%;height:auto;border:1px solid #79a89d;background:#e8f2e9}.basin-map figcaption{font-size:.84rem;line-height:1.5;color:#d0e6df;margin-top:12px}.basin-map a{text-underline-offset:3px}.privacy-page{background:#f7f8f3;min-height:70vh}.privacy-page .wrap{max-width:900px}.privacy-page h1{font-size:clamp(2.8rem,5vw,4.5rem);color:var(--deep)}.privacy-page h2{font-size:1.7rem;margin:40px 0 14px;color:var(--deep)}.privacy-page p,.privacy-page li{color:var(--muted)}.privacy-page a{color:var(--green)}
@media(max-width:850px){.territory-map-layout{grid-template-columns:1fr;gap:36px}.volunteer-section .volunteers{margin-top:0}}
@media(max-width:600px){.territory-map-layout{gap:28px}.basin-map figcaption{font-size:.8rem}}

@media(max-width:1280px){.privacy-header nav{display:flex;position:static;flex-direction:row;align-items:center;gap:20px;padding:0;box-shadow:none;width:auto}}
@media(max-width:600px){.privacy-header nav a[href="index.html#contact"]{display:none}}

.volunteer-support{max-width:100%;margin:0 0 34px;padding:19px 22px;border-left:4px solid #b8e4d7;background:#15524b;color:#eaf7f0;font-size:1.04rem}.volunteer-support strong{color:#fff}
@media(max-width:600px){.volunteer-support{padding:16px;margin-bottom:26px;font-size:1rem}}

/* Archives des assemblées générales */
.assemblies{background:#e7f1ec}.assemblies-heading{max-width:850px;margin-bottom:35px}.assemblies-heading h2{margin-bottom:24px}.assemblies-heading>p:not(.eyebrow){color:var(--muted)}.assemblies-note{font-size:.94rem}.assemblies .report-card{min-height:235px}
@media(min-width:1281px){.site-header nav{gap:23px}}

/* Territoire de l’AAPPMA, source Fédération 87 */
.territory-map-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:45px}.territory-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;border-top:1px solid #568b81;border-bottom:1px solid #568b81;padding:22px 0}.territory-stats dt{font-size:1rem;color:#d0e6df}.territory-stats dd{margin:5px 0 0;font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.15;color:white}.territory-stats dd span{font-size:1.15rem}.territory-copy p.territory-data-note{font-size:.94rem}.territory-detail{margin-top:24px;border-top:1px solid #568b81;padding-top:18px}.territory-detail summary{cursor:pointer;color:#d0e6df;font-weight:600;font-size:1rem}.territory-detail figure{margin-top:18px}.territory-detail img{max-width:646px;margin:auto}.territory-detail .photo-link{background:transparent}
@media(max-width:850px){.territory-map-layout{grid-template-columns:1fr;gap:36px}}

/* Zoom des cartes du territoire */
.map-stage{display:contents}.map-zoom-controls[hidden]{display:none}.map-active .lightbox-content{padding-top:64px;gap:12px;align-items:stretch}.map-active .map-stage{display:block;flex:1;min-height:0;width:100%;overflow:auto;background:#dce7df;overscroll-behavior:contain;touch-action:pan-x pan-y;cursor:grab}.map-active .map-stage.dragging{cursor:grabbing}.map-active .map-stage img{display:block;max-width:none;max-height:none;height:auto;user-select:none;margin:auto}.map-zoom-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.map-zoom-controls button{min-width:44px;min-height:44px;border:1px solid #9ec7bc;background:#f4faf7;color:var(--deep);cursor:pointer;font-weight:700;padding:8px 12px}.map-zoom-controls button:disabled{opacity:.5;cursor:default}.map-zoom-level{min-width:66px;text-align:center;font-size:1rem}.map-zoom-controls>span{font-size:.9rem;color:#d0e6df}.map-active .lightbox-content>p{margin:0;font-size:.85rem;line-height:1.4}.map-active .lightbox-nav{display:none}
@media(max-width:600px){.map-active .lightbox-content{height:88vh;padding:64px 12px 16px}.map-zoom-controls{gap:7px}.map-zoom-controls>span{width:100%;text-align:center}.map-active .lightbox-content>p{font-size:.8rem}}

/* Légende cartographique fournie par la Fédération 87 */
.territory-legend{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px;align-items:start;margin-top:28px}.territory-legend img{background:#f8f8fa}.territory-legend h3{margin:8px 0 15px;font-family:Georgia,serif;font-size:1.6rem;font-weight:400}.territory-legend p{font-size:1rem;color:#d0e6df;line-height:1.55}
@media(max-width:600px){.territory-legend{grid-template-columns:1fr;gap:18px}.territory-legend figure{width:min(100%,337px)}.territory-legend h3{margin-top:0}}

@media(min-width:1281px){.site-header nav{gap:18px}}

/* Statuts de l’association */
.statutes-block{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:start;margin-top:60px;padding-top:48px;border-top:1px solid #afc8bd;scroll-margin-top:24px}.statutes-copy h3{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3rem);font-weight:400;color:var(--deep);margin-bottom:22px}.statutes-copy p,.statutes-copy li{color:#365852}.statutes-copy ul{padding-left:21px;margin:24px 0 0}.statutes-copy li{margin-bottom:14px}.statutes-document{background:white;border-top:4px solid var(--green);padding:32px}.statutes-meta{font-size:.85rem;letter-spacing:.06em;font-weight:700;color:var(--green)}.statutes-document h4{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.15;color:var(--deep);margin:20px 0 16px}.statutes-document p{color:var(--muted)}.statutes-document .button{margin-top:10px}.statutes-download{display:block;margin-top:19px;color:var(--green);font-size:1rem;text-underline-offset:4px}
@media(max-width:850px){.statutes-block{grid-template-columns:1fr;gap:28px;margin-top:42px;padding-top:36px}.statutes-document{padding:26px}}

.regulation-callout{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--deep);color:#fff;padding:32px;margin-bottom:22px;border-radius:4px}.regulation-callout>div{max-width:720px}.regulation-callout .eyebrow{margin-bottom:12px}.regulation-callout h3{font:400 clamp(1.8rem,3vw,2.4rem)/1.15 Georgia,serif;margin-bottom:15px}.regulation-callout p:last-child{color:#d8eee8;margin-bottom:0;font-size:1rem}.regulation-callout .button{flex-shrink:0}.regulation-callout a:focus-visible{outline:3px solid white;outline-offset:5px}@media(max-width:850px){.regulation-callout{align-items:flex-start;flex-direction:column;padding:26px;gap:22px}}@media(min-width:1281px) and (max-width:1440px){.menu-toggle{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--deep);font-weight:700}.menu-toggle span{margin-left:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:92px;background:#fff;padding:22px 32px 28px;box-shadow:0 12px 18px #102d241c;flex-direction:column;align-items:start;gap:20px}.site-header nav.open{display:flex}.privacy-header nav{display:flex;position:static;flex-direction:row;gap:20px;padding:0;box-shadow:none}}

/* Geolocation service highlighted on the home page. */
.geo-feature{background:#d8eee8;border-bottom:1px solid #b8d6ca;padding:64px 0}.geo-feature-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.geo-feature h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:24px}.geo-feature-lead{font-size:1.15rem;max-width:560px}.geo-feature-button{background:var(--deep);color:#fff;gap:16px;text-align:center}.geo-feature-button:hover{background:var(--green)}.geo-feature-area{font-size:.9rem;margin:16px 0 0;color:var(--muted)}.geo-feature-guide{background:#fff;padding:32px;border-radius:8px}.geo-feature-guide ol{padding-left:24px;margin:24px 0}.geo-feature-guide li{padding-left:8px;margin-bottom:20px}.geo-feature-guide li::marker{font-weight:700;color:var(--green)}.geo-feature-guide li strong,.geo-feature-guide li span{display:block}.geo-feature-guide li span{color:var(--muted);margin-top:5px}.geo-feature-note{font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-bottom:0}@media(max-width:850px){.geo-feature-layout{grid-template-columns:1fr;gap:28px}.geo-feature{padding:48px 0}.geo-feature-guide{padding:24px}.geo-feature-button{width:100%}}#locate{scroll-margin-top:24px}

/* Présentation de l’application mobile */
.app-innovation{background:linear-gradient(120deg,#e0f0e9,#eef5ec);padding:76px 0}.app-innovation .geo-feature-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px}.app-pitch h3{font-size:1.4rem;margin-top:26px}.app-benefits{padding-left:22px;line-height:1.7}.app-benefits li{margin:7px 0}.app-platforms{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.app-platforms span{border:1px solid #6f9887;border-radius:30px;padding:6px 13px;font-size:.85rem;font-weight:700}.app-actions{display:flex;gap:12px;flex-wrap:wrap}.app-install-button{border:1px solid var(--deep);color:var(--deep);background:white}.app-install-links{font-size:.92rem}.app-preview{margin:0;text-align:center}.app-phone-frame{max-width:640px;margin:auto;border:6px solid #163b34;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 24px 48px #153f3429}.app-phone-frame img{display:block;width:100%;height:auto}.app-preview figcaption{font-size:.83rem;color:var(--muted);margin-top:20px;line-height:1.6}@media(max-width:850px){.app-innovation{padding:45px 0}.app-innovation .geo-feature-layout{grid-template-columns:1fr;gap:32px}.app-actions .button{width:100%;justify-content:center}.app-phone-frame{max-width:640px}}

/* Navigation regroupée : ordinateur et menu tactile. */
.compact-header .brand{flex-shrink:0}.compact-header .brand strong{white-space:nowrap}
.compact-header .nav-group{position:relative}.compact-header summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--deep);padding:12px 0;white-space:nowrap}.compact-header summary::-webkit-details-marker{display:none}.compact-header summary::after{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}.compact-header details[open]>summary::after{transform:rotate(225deg);margin-top:4px}.compact-header summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.compact-header .nav-submenu{position:absolute;top:100%;left:0;min-width:250px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #073d3a26}.compact-header .nav-submenu a{display:block;padding:10px 12px;line-height:1.4;border-radius:4px}.compact-header .nav-submenu a:hover,.compact-header .nav-submenu a:focus-visible{background:var(--mint)}.compact-header .nav-app .nav-submenu{left:auto;right:0}
@media(min-width:1051px){.compact-header .menu-toggle{display:none}.compact-header #nav-principale{display:flex;position:static;flex-direction:row;align-items:center;gap:22px;padding:0;box-shadow:none;white-space:nowrap}.compact-header .header-inner{gap:24px}.compact-header #nav-principale>a{padding:12px 0}}
@media(max-width:1050px){.compact-header .menu-toggle{display:block;border:1px solid var(--line);background:#fff;padding:8px 12px;color:var(--deep);font-weight:700}.compact-header #nav-principale{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:14px 24px;box-shadow:0 12px 18px #102d241c;max-height:calc(100dvh - 92px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0}.compact-header #nav-principale.open{display:flex}.compact-header .nav-group{border-bottom:1px solid var(--line)}.compact-header summary{justify-content:space-between;min-height:48px}.compact-header .nav-submenu{position:static;min-width:0;padding:0 0 10px 10px;border:0;border-radius:0;box-shadow:none}.compact-header #nav-principale>a{padding:14px 0}.compact-header .brand strong{white-space:normal}}
