
:root{
  --navy:#06172d;
  --navy-2:#09213d;
  --navy-3:#07111f;
  --cyan:#00bfd3;
  --cyan-2:#7ef6ff;
  --gold:#ffb22e;
  --red:#d91f2a;
  --ink:#0f172a;
  --muted:#5f6f86;
  --line:#d9e5ee;
  --paper:#ffffff;
  --soft:#f4f8fb;
  --soft-2:#eaf5f8;
  --shadow:0 24px 70px rgba(4,22,44,.16);
  --shadow-soft:0 14px 34px rgba(4,22,44,.10);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;max-width:100vw;overflow-x:hidden;background:var(--soft);color:var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}img{max-width:100%;height:auto}p{margin:0 0 1rem}strong{font-weight:850}.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:16px;padding:10px 14px;background:#fff;color:#000;z-index:9999;border-radius:10px}.container{width:min(var(--max),calc(100vw - 40px));margin-inline:auto}.topbar{background:linear-gradient(90deg,#06172d,#08304f);color:#e6fbff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:8px 0}.topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid rgba(7,18,31,.08);box-shadow:0 14px 34px rgba(5,20,40,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(180deg,#04101f,#0c2440);display:grid;place-items:center;overflow:hidden;padding:6px;box-shadow:0 10px 26px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.08)}.brand-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,191,211,.16))}.brand-text{display:flex;flex-direction:column;line-height:1.05;font-weight:950;letter-spacing:-.035em;white-space:nowrap}.brand-text small{margin-top:3px;color:var(--muted);font-size:.72rem;letter-spacing:.02em;font-weight:750}.navlinks{display:flex;align-items:center;gap:3px;min-width:0}.navlinks a{border-radius:999px;padding:10px 12px;color:#12304a;font-weight:820;font-size:.94rem}.navlinks a[aria-current="page"],.navlinks a:hover{background:#e6f8fb;color:#003942;text-decoration:none}.nav-actions{display:flex;align-items:center;gap:10px}.mobile-toggle{display:none;border:1px solid #cfe0ea;border-radius:14px;background:#fff;padding:10px 12px;font-weight:850}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:0;padding:12px 18px;font-weight:900;letter-spacing:.005em;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--cyan),#0787c0);color:#00151a;box-shadow:0 14px 34px rgba(0,191,211,.24)}.btn-dark{background:var(--navy-3);color:#fff}.btn-outline{background:#fff;border:1px solid #cbdde9;color:#0b2741}.btn-gold{background:linear-gradient(135deg,#ffc451,#ff9a1d);color:#201200}.btn-red{background:linear-gradient(135deg,var(--red),#a70d18);color:#fff}.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden;background:#06172d}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,31,.97) 0%,rgba(5,16,31,.80) 48%,rgba(5,16,31,.35) 100%),url('banniere-nova.jpg');background-size:cover;background-position:center;z-index:-2}.hero::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:55%;background:radial-gradient(circle at 50% 20%,rgba(0,191,211,.34),transparent 60%);z-index:-1}.hero .container{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.78fr);gap:40px;align-items:center;min-height:670px;padding:80px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:950;color:#bdf9ff}.eyebrow::before{content:"";display:block;width:34px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--gold))}h1,.h1{font-size:clamp(2.7rem,7vw,5.8rem);line-height:.93;letter-spacing:-.075em;margin:18px 0 22px}h2,.h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;letter-spacing:-.055em;margin:8px 0 14px}h3{font-size:1.28rem;line-height:1.18;letter-spacing:-.025em;margin:0 0 10px}.lead{font-size:clamp(1.08rem,1.8vw,1.34rem);color:#ecfbff;max-width:760px}.hero-actions,.actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.hero-card img{display:block;width:min(150px,40%);margin:0 auto 18px;filter:drop-shadow(0 18px 38px rgba(0,0,0,.42))}.status-card{background:#fff;color:#10233a;border-radius:24px;padding:22px;box-shadow:0 18px 46px rgba(0,0,0,.24)}.status-card p{color:#4f6176}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.metric{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px}.metric b{display:block;font-size:1.7rem;line-height:1;color:#fff}.section{padding:84px 0}.section.alt{background:#fff}.section.dark{background:var(--navy-3);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head .sub{max-width:620px}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:950;color:#057b91}.sub{color:var(--muted);font-size:1.08rem}.dark .sub,.section.dark p{color:#cbd8e6}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-soft)}.card p{color:#5d6b82}.card.dark{background:linear-gradient(145deg,#071329,#0b2340);border-color:rgba(255,255,255,.12);color:#fff}.card.dark p{color:#c9d8e8}.icon{width:44px;height:44px;border-radius:15px;background:#e5fbff;color:#066c79;display:grid;place-items:center;font-weight:950;margin-bottom:14px}.num{font-size:2.25rem;font-weight:950;color:#04aeca;letter-spacing:-.06em}.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:36px;align-items:center}.quote{background:#071329;color:#fff;border-radius:32px;padding:34px;box-shadow:var(--shadow);overflow:hidden;position:relative}.quote::after{content:"";position:absolute;right:-80px;bottom:-90px;width:250px;height:250px;border-radius:50%;background:rgba(0,191,211,.18)}.quote p{position:relative;font-size:1.35rem;color:#eaf8ff}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.badge{background:#e7f9fc;border:1px solid #c9eef4;color:#045c68;padding:8px 12px;border-radius:999px;font-weight:850;font-size:.9rem}.dark .badge{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);color:#dffcff}.timeline{display:grid;gap:16px}.step{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start}.phase{border-radius:18px;background:#071329;color:#fff;padding:15px;text-align:center;font-weight:950}.phase span{display:block;color:#5ef4ff;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.doc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.doc{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px 18px}.doc:hover{border-color:#76dfe9;text-decoration:none}.doc span{color:#627185;font-size:.93rem}.form-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(280px,1fr);gap:36px;align-items:start}.form-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft)}label{display:block;font-weight:850;margin:0 0 8px}input,select,textarea{width:100%;border:1px solid #cbdde9;border-radius:16px;padding:14px 16px;font:inherit;background:#f8fbfd;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,191,211,.20);border-color:#00aeca}textarea{min-height:170px;resize:vertical}.field{margin-bottom:18px}.form-status{margin-top:14px;font-weight:800}.cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#071329,#0b3152);color:#fff;border-radius:34px;padding:36px;box-shadow:var(--shadow)}.cta p{color:#d7e8f4}.notice{border-left:5px solid var(--cyan);background:#edfaff;border-radius:18px;padding:18px;color:#254057}.footer{background:#050914;color:#d8e7f4;padding:54px 0 30px}.footer a{text-decoration:underline;text-underline-offset:4px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:44px}.footer h3{color:#fff}.footer p{color:#c5d2df}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;color:#9caebe;font-size:.9rem}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.in{opacity:1;transform:none}.page-hero{background:linear-gradient(135deg,#06172d,#0b2d4b);color:#fff;padding:38px 0}.page-hero h1{font-size:clamp(2.35rem,5vw,4.4rem);margin:14px 0 16px}.page-hero p{max-width:780px;color:#d8edf7;font-size:1.08rem}.page-hero.compact{padding:30px 0}.table{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:#fff}.table table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}.table th{background:#f0f7fb}.privacy-list li{margin-bottom:10px}.social-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.proof{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px}.proof b{display:block;font-size:1.7rem;color:#fff}.news-item{display:grid;grid-template-columns:120px 1fr;gap:18px}.datebox{border-radius:18px;background:#e8f9fc;color:#045865;text-align:center;padding:14px;font-weight:950}.datebox span{display:block;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase}.hidden{display:none !important}
@media (max-width:1100px){.navlinks{display:none}.navlinks.open{display:flex;position:absolute;left:20px;right:20px;top:76px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:12px}.navlinks.open a{padding:13px 16px}.mobile-toggle{display:inline-flex}.hide-md{display:none}.brand-text small{display:none}.hero .container{grid-template-columns:1fr;min-height:auto}.hero-card{max-width:620px}.hero-card img{width:140px}.social-proof{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.container{width:min(100% - 28px,var(--max))}.topbar .container{flex-direction:column;align-items:flex-start;gap:4px}.topbar{font-size:.85rem}.nav-actions .btn{display:none}.brand-text{font-size:.95rem}.brand-logo{width:48px;height:48px}.hero .container{padding:56px 0}.hero-actions,.actions-row{flex-direction:column;align-items:stretch}.btn{width:100%}.metrics,.grid-3,.grid-4,.grid-2,.doc-list,.split,.form-layout,.footer-grid,.social-proof{grid-template-columns:1fr}.section{padding:62px 0}.section-head{display:block}.cta{display:block;padding:28px}.step{grid-template-columns:1fr}.news-item{grid-template-columns:1fr}h1,.h1{font-size:clamp(2.25rem,12.5vw,3.7rem)}h2,.h2{font-size:clamp(2rem,10vw,3rem)}.page-hero{padding:40px 0}.page-hero h1{font-size:clamp(2rem,9.5vw,3rem)}.hero-card img{width:120px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* Ajustements Projet Nova - logo plus visible et consultation des documents */
.brand{gap:18px}.brand-logo{width:72px;height:72px;border-radius:22px;background:#071329;box-shadow:0 16px 36px rgba(4,18,35,.20);border:1px solid rgba(0,191,211,.16)}.brand-logo img{width:72px;height:72px;object-fit:cover}.brand-text{font-size:1.22rem}.brand-text small{font-size:.76rem;letter-spacing:.01em}.nav{padding:16px 0}.site-header{box-shadow:0 16px 38px rgba(5,20,40,.10)}
.document-card{display:flex;flex-direction:column;min-height:100%}.document-card .actions-row{margin-top:auto}.document-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.document-meta span{display:inline-flex;align-items:center;border-radius:999px;background:#eef8fb;border:1px solid #d2edf4;color:#26445a;font-weight:850;font-size:.82rem;padding:6px 10px}.viewer-shell{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--line);background:#f8fbfd}.viewer-title{font-weight:950;letter-spacing:-.02em}.viewer-actions{display:flex;gap:10px;flex-wrap:wrap}.pdf-frame{display:block;width:100%;height:min(78vh,940px);border:0;background:#eef3f7}.viewer-fallback{padding:18px;color:#5f6f86}.doc-note{font-size:.94rem;color:#637184;margin-top:12px}.doc-category{margin-top:54px}.doc-category:first-of-type{margin-top:0}
@media (max-width:1100px){.brand-logo{width:64px;height:64px;border-radius:20px}.brand-logo img{width:64px;height:64px}.brand-text{font-size:1.08rem}}
@media (max-width:760px){.brand{gap:12px}.brand-logo{width:54px;height:54px;border-radius:17px}.brand-logo img{width:54px;height:54px}.brand-text{font-size:1rem}.nav{padding:12px 0}.viewer-toolbar{align-items:flex-start;flex-direction:column}.viewer-actions .btn{width:auto}.pdf-frame{height:70vh}.document-card .actions-row .btn{width:100%}}


/* Propositions citoyennes publiques */
.consent-field label{display:flex;gap:10px;align-items:flex-start;font-weight:750;color:#304158;line-height:1.45}.consent-field input{width:auto;margin-top:4px}.proposal-tools{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;margin:20px 0 24px}.proposal-list{display:grid;gap:16px}.proposal-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft)}.proposal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:10px}.proposal-title{font-size:1.2rem;font-weight:950;letter-spacing:-.02em;margin:0}.proposal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.proposal-meta span,.status-pill{display:inline-flex;border-radius:999px;background:#eef8fb;border:1px solid #d2edf4;color:#26445a;font-weight:850;font-size:.82rem;padding:6px 10px}.status-pill{background:#071329;color:#fff;border-color:#071329}.proposal-message{color:#526277}.empty-state{background:#fff;border:1px dashed #b8d5e4;border-radius:22px;padding:26px;color:#526277;text-align:center}code{background:#edf4f8;border:1px solid #dbe8ef;border-radius:8px;padding:2px 6px}
@media (max-width:760px){.proposal-tools{grid-template-columns:1fr}.proposal-head{display:block}}

.doc-actions{flex-wrap:wrap}.doc-actions .btn{min-width:170px}.doc-actions .btn:first-child{font-weight:950}
@media (max-width:760px){.doc-actions .btn{width:100%;min-width:0}}


/* Page équipe */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}.team-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:minmax(250px,330px) 1fr;min-height:430px}.team-photo-wrap{background:linear-gradient(135deg,#071329,#0b2d4b);display:flex;align-items:stretch;justify-content:center}.team-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.placeholder-wrap .team-photo{object-fit:cover;object-position:center}.team-body{padding:34px}.team-role{display:inline-flex;align-items:center;gap:8px;color:#007c8a;text-transform:uppercase;letter-spacing:.14em;font-weight:950;font-size:.76rem;margin-bottom:10px}.team-body h3{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;margin:0 0 8px}.team-location{color:#607084;font-weight:850;margin-bottom:18px}.team-placeholder{min-height:210px;background:linear-gradient(135deg,#eaf8fb,#ffffff);display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:950;color:#00a6b7}.muted-team{grid-template-columns:1fr}.muted-team .team-body{padding:30px}@media (max-width:1200px){.team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:280px 1fr}.navlinks.open{max-height:calc(100vh - 110px);overflow:auto}}@media (max-width:760px){.team-card{grid-template-columns:1fr}.team-photo-wrap{height:420px}.team-body{padding:24px}.team-placeholder{min-height:160px}.navlinks.open a{padding:11px 14px}}
