
:root{--navy:#062d5b;--navy-2:#0b417a;--emerald:#00966f;--emerald-2:#00b383;--ink:#17212b;--muted:#607080;--paper:#f4f7f8;--white:#fff;--line:#dce5e8;--red:#d4413a;--shadow:0 24px 70px rgba(6,45,91,.14);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--emerald)}.eyebrow:before{content:"";width:28px;height:2px;background:var(--emerald)}h1,h2,h3{line-height:1.1;letter-spacing:-.035em;margin:0 0 1rem}h1{font-size:clamp(3rem,7vw,6.7rem)}h2{font-size:clamp(2rem,4.3vw,4.1rem)}h3{font-size:1.35rem}p{margin:.2rem 0 1.25rem}.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:999px;padding:.9rem 1.25rem;font-weight:800;border:1px solid transparent;transition:.25s ease}.btn-primary{background:var(--emerald);color:#fff;box-shadow:0 12px 32px rgba(0,150,111,.24)}.btn-primary:hover{transform:translateY(-2px);background:var(--emerald-2)}.btn-secondary{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.07)}.btn-light{border-color:var(--line);background:#fff}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,232,.8)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.85rem}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-.05em;box-shadow:0 10px 25px rgba(6,45,91,.2)}.brand-copy strong{display:block;color:var(--navy);font-size:1rem}.brand-copy span{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:flex;gap:1.3rem;align-items:center;font-size:.92rem;font-weight:700}.nav-links a:hover,.nav-links a.active{color:var(--emerald)}.menu-btn{display:none;border:0;background:none;font-size:1.5rem}.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(125deg,#041f42 0%,#063363 52%,#075f68 100%);padding:96px 0 82px}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 75% 25%,rgba(0,179,131,.28),transparent 28%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}.hero .container{position:relative}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}.hero h1 span{color:#68e1bd}.hero .lead{color:#d5e2ea}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.hero-card{position:relative;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.09);backdrop-filter:blur(20px);border-radius:32px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.22)}.route{display:grid;gap:18px;margin-top:18px}.route-line{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center}.route-icon{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.4rem}.route-line strong{display:block}.route-line small{color:#c7d6df}.route-arrow{color:#68e1bd;font-weight:900}.stat-strip{background:#fff;border-bottom:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 0}.stat{padding:0 28px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-size:1.55rem;color:var(--navy)}.stat span{color:var(--muted);font-size:.93rem}.section{padding:96px 0}.section-soft{background:var(--paper)}.section-dark{background:var(--navy);color:#fff}.section-dark .lead{color:#c9d6e0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(6,45,91,.05);transition:.25s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-icon{width:50px;height:50px;border-radius:16px;background:#e8f7f2;color:var(--emerald);display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px}.card p{color:var(--muted)}.manifesto{border-radius:32px;background:linear-gradient(135deg,#fff 0%,#eff8f6 100%);border:1px solid var(--line);padding:48px;box-shadow:var(--shadow)}.checks{display:grid;gap:13px;margin-top:24px}.check{display:flex;gap:12px;align-items:flex-start}.check b{color:var(--emerald)}.not-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.not-box{border-radius:24px;padding:28px;border:1px solid var(--line);background:#fff}.not-box.positive{border-top:4px solid var(--emerald)}.not-box.negative{border-top:4px solid var(--red)}.tag{display:inline-flex;padding:.35rem .72rem;border-radius:999px;font-size:.78rem;font-weight:800;background:#e8f7f2;color:var(--emerald)}.timeline{display:grid;gap:20px}.step{display:grid;grid-template-columns:54px 1fr;gap:18px}.step-num{width:54px;height:54px;border-radius:17px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.quote{font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.25;letter-spacing:-.025em}.cta{background:linear-gradient(120deg,var(--navy),#075869);color:#fff;border-radius:36px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:28px}.page-hero{padding:76px 0 62px;background:linear-gradient(135deg,#edf7f4,#f7fafb)}.page-hero h1{font-size:clamp(2.8rem,6vw,5.3rem);color:var(--navy)}.prose{max-width:820px}.prose h2{font-size:2rem;margin-top:2.4rem}.faq{display:grid;gap:14px}.faq details{border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px 22px}.faq summary{font-weight:850;cursor:pointer;color:var(--navy)}.faq p{color:var(--muted);margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:1px solid #cfdadd;border-radius:14px;padding:13px 14px;font:inherit;background:#fff}.field textarea{min-height:150px;resize:vertical}.notice{padding:17px 20px;border-radius:16px;background:#eaf7f3;color:#075f4b;border:1px solid #c8e9de}.footer{background:#071d35;color:#c9d3dc;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}.footer h3{color:#fff}.footer a{display:block;margin:.55rem 0}.footer small{display:block;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px}.legal{font-size:.93rem;color:var(--muted)}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 15px 30px rgba(0,0,0,.1);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.grid-2,.cards,.footer-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.stat:last-child{border-bottom:0}.not-grid{grid-template-columns:1fr}.cta{display:block;padding:36px}.cta .btn{margin-top:18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero{padding-top:70px}.section{padding:72px 0}}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.brand-copy span{display:none}.hero-card,.manifesto{padding:22px}.hero-actions{display:grid}.btn{width:100%}.route-line{grid-template-columns:46px 1fr}.route-icon{width:46px;height:46px}.route-arrow{display:none}}


/* Identité RENAC et carte nationale */
.brand-logo{width:235px;height:58px;object-fit:contain;object-position:left center}.footer-logo{width:300px;max-width:100%;filter:drop-shadow(0 8px 24px rgba(0,0,0,.16))}.map-hero{background:linear-gradient(135deg,#f7fafc 0%,#eef8f2 55%,#fff5f4 100%)}.map-logo-panel{border-radius:32px;background:#fff;padding:22px;border:1px solid var(--line);box-shadow:var(--shadow)}.map-logo-panel img{border-radius:22px}.map-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.map-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:min(100%,480px)}.map-filters label{font-size:.78rem;font-weight:850;color:var(--navy);text-transform:uppercase;letter-spacing:.06em}.map-filters input,.map-filters select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;font:inherit}.map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}#renac-map{height:650px;min-height:520px}.member-panel{height:650px;overflow:auto;border-left:1px solid var(--line);background:#f8fafb}.member-panel-head{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);padding:18px 20px;border-bottom:1px solid var(--line)}.member-panel-head strong{display:block;color:var(--navy);font-size:1.25rem}.member-panel-head span{font-size:.85rem;color:var(--muted)}.member-list{padding:14px;display:grid;gap:12px}.member-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.member-card h3{margin:.65rem 0 .25rem;font-size:1.1rem}.member-card p{font-size:.9rem;color:var(--muted);margin:.35rem 0}.member-card a{color:var(--emerald);font-weight:800;font-size:.9rem}.member-location{font-weight:750;color:var(--navy)!important}.renac-marker-wrap{background:none;border:0}.renac-marker{display:block;width:24px;height:24px;background:var(--emerald);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 18px rgba(6,45,91,.45)}.map-notice{margin-top:18px}.application-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.consent-field label{display:flex;gap:10px;align-items:flex-start;font-weight:600}.consent-field input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.form-status{margin:12px 0 0;font-weight:750}.form-status.success{color:#087757}.form-status.error{color:#b22d28}.field small{color:var(--muted);text-align:right}.leaflet-popup-content-wrapper{border-radius:16px}.leaflet-popup-content a{color:var(--emerald);font-weight:800}
@media(max-width:900px){.brand-logo{width:185px;height:52px}.map-toolbar{display:block}.map-filters{margin-top:20px;min-width:0}.map-layout{grid-template-columns:1fr}.member-panel{height:auto;max-height:520px;border-left:0;border-top:1px solid var(--line)}#renac-map{height:520px}.map-logo-panel{max-width:440px}.application-card{padding:24px}}
@media(max-width:560px){.brand-logo{width:150px;height:46px}.map-filters{grid-template-columns:1fr}#renac-map{height:430px;min-height:430px}.application-card{padding:18px}.map-layout{border-radius:20px}}

/* ==========================================================
   RENAC V3 — Carte nationale et formulaire collaboratif
   ========================================================== */
.map-hero-v3{padding:76px 0;background:radial-gradient(circle at 82% 18%,rgba(0,150,111,.15),transparent 26%),linear-gradient(135deg,#f8fbfd 0%,#eef8f3 58%,#fff4f2 100%)}
.map-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);gap:70px;align-items:center}.map-hero-v3 h1{max-width:820px}.map-logo-panel-v3{position:relative;overflow:hidden;padding:22px 22px 0}.map-logo-panel-v3:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-60px;top:-70px;background:rgba(0,150,111,.1)}.map-logo-panel-v3 img{position:relative;z-index:1}.map-logo-caption{position:relative;z-index:2;margin:14px -22px 0;padding:18px 22px;color:#fff;background:linear-gradient(110deg,var(--navy),#075f68)}.map-logo-caption strong,.map-logo-caption span{display:block}.map-logo-caption span{color:#d8e7eb;font-size:.9rem}
.map-stats-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.map-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}.map-stats>div{padding:4px 28px;border-right:1px solid var(--line)}.map-stats>div:first-child{padding-left:0}.map-stats>div:last-child{border-right:0}.map-stats strong{display:block;color:var(--navy);font-size:1.55rem;line-height:1.15}.map-stats span{display:block;margin-top:4px;color:var(--muted);font-size:.86rem}
.map-section-v3{padding-top:78px}.map-container-v3{width:min(1420px,calc(100% - 40px))}.map-toolbar-v3{align-items:end}.map-layout-v3{position:relative;grid-template-columns:minmax(0,1fr) minmax(340px,410px);min-height:720px;border-radius:34px}.map-main-column{position:relative;min-width:0;background:#edf3f5}.map-actions{position:absolute;z-index:700;top:16px;right:16px;display:flex;gap:8px}.map-action{border:1px solid rgba(6,45,91,.16);border-radius:999px;padding:10px 14px;color:var(--navy);background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(6,45,91,.13);backdrop-filter:blur(10px);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:.2s ease}.map-action:hover{transform:translateY(-1px);border-color:var(--emerald);color:var(--emerald)}.map-action:disabled{opacity:.65;cursor:wait}
#renac-map{position:absolute;inset:0;width:100%;height:100%;min-height:720px;z-index:1;background:#e7eef1}.leaflet-container{width:100%;height:100%;font-family:inherit;background:#e7eef1}.leaflet-tile{max-width:none!important;max-height:none!important}.leaflet-control-zoom{border:0!important;box-shadow:0 10px 28px rgba(6,45,91,.2)!important}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;color:var(--navy)!important;border-color:var(--line)!important}.leaflet-control-attribution{font-size:10px!important;background:rgba(255,255,255,.82)!important}
.map-layout-v3 .member-panel{height:720px}.member-panel-head{padding:24px}.member-panel-head strong{font-size:1.55rem}.member-list{padding:18px;gap:15px}.member-card{position:relative;padding:21px;border-radius:22px;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.member-card:hover,.member-card:focus{outline:none;transform:translateY(-2px);border-color:rgba(0,150,111,.45);box-shadow:0 18px 40px rgba(6,45,91,.1)}.member-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.member-map-dot{width:10px;height:10px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 5px rgba(0,150,111,.12)}.member-card h3{margin:.75rem 0 .2rem;font-size:1.2rem}.member-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}.member-focus{padding:0;border:0;color:var(--navy);background:none;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.member-focus:hover{color:var(--emerald)}.map-empty{padding:28px 18px;text-align:center;color:var(--muted)}.map-empty strong{display:block;margin-bottom:6px;color:var(--navy);font-size:1.05rem}
.renac-marker-wrap{background:transparent!important;border:0!important}.renac-marker{position:relative;display:block;width:30px;height:30px;border:5px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--emerald);box-shadow:0 7px 22px rgba(6,45,91,.45)}.renac-marker span{position:absolute;width:8px;height:8px;left:6px;top:6px;border-radius:50%;background:#fff}.renac-popup{display:grid;gap:6px;min-width:190px}.renac-popup strong{color:var(--navy);font-size:1.05rem}.renac-popup span:not(.tag){color:var(--muted)}.renac-popup a{margin-top:5px;color:var(--emerald);font-weight:850}.leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 18px 46px rgba(6,45,91,.2)}.leaflet-popup-tip{box-shadow:4px 4px 8px rgba(6,45,91,.08)}
.application-layout-v3{gap:80px;align-items:start}.application-card{padding:38px}.application-card-head{padding-bottom:22px;margin-bottom:25px;border-bottom:1px solid var(--line)}.application-card-head h3{margin:.7rem 0 .4rem;font-size:1.65rem}.application-card-head p{margin:0;color:var(--muted)}.application-card .field input:focus,.application-card .field textarea:focus,.application-card .field select:focus{outline:3px solid rgba(0,150,111,.13);border-color:var(--emerald)}.application-card button[disabled]{opacity:.65;cursor:wait}.form-status{min-height:26px}.map-notice code{padding:.12rem .35rem;border-radius:5px;background:rgba(6,45,91,.08)}
@media(max-width:1050px){.map-layout-v3{grid-template-columns:minmax(0,1fr) 350px}.map-hero-grid{gap:40px}.map-stats>div{padding:4px 18px}}
@media(max-width:900px){.map-hero-grid{grid-template-columns:1fr}.map-logo-panel-v3{max-width:560px}.map-stats{grid-template-columns:1fr 1fr}.map-stats>div{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.map-stats>div:nth-child(odd){border-right:1px solid var(--line)}.map-stats>div:nth-last-child(-n+2){border-bottom:0}.map-layout-v3{display:grid;grid-template-columns:1fr;min-height:0}.map-main-column{height:580px}.map-layout-v3 .member-panel{height:auto;max-height:570px}.map-actions{top:12px;right:12px}.application-layout-v3{gap:42px}#renac-map{position:absolute;min-height:580px}}
@media(max-width:560px){.map-container-v3{width:min(100% - 20px,1420px)}.map-hero-v3{padding:58px 0}.map-stats{grid-template-columns:1fr}.map-stats>div,.map-stats>div:nth-child(odd){padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.map-stats>div:last-child{border-bottom:0}.map-main-column{height:500px}.map-layout-v3{border-radius:22px}.map-layout-v3 .member-panel{max-height:480px}.map-actions{left:10px;right:10px;justify-content:flex-end}.map-action{padding:9px 11px;font-size:.75rem}.application-card{padding:20px}.member-card-actions{align-items:flex-start;flex-direction:column}#renac-map{min-height:500px}}
