@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap');

:root{--navy:#082a5e;--blue:#0b4a9e;--green:#248044;--green-dark:#196b37;--orange:#e36c0a;--purple:#743b98;--ink:#15294a;--muted:#53647d;--line:#dce6ef;--surface:#f5f9fc;--white:#fff;--shadow:0 14px 38px rgba(8,42,94,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.55;background:#fff}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Maquette originale sur ordinateur */
.desktop-maquette{position:relative;width:100%;max-width:none;margin:0;background:#fff}
.desktop-maquette>img{display:block;width:100%;height:auto}
.maquette-link{position:absolute;z-index:5;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent;cursor:pointer}
.maquette-link::before,.maquette-link::after{content:none!important;display:none!important}
.mq-logo{left:2.2%;top:1%;width:25%;height:9%}.mq-home{left:30.5%;top:2.2%;width:5.6%;height:6%}.mq-cyber{left:36.2%;top:2.2%;width:9.2%;height:6%}.mq-reuse{left:45.4%;top:2.2%;width:6.5%;height:6%}.mq-training{left:51.9%;top:2.2%;width:7.2%;height:6%}.mq-program{left:59.1%;top:2.2%;width:9.5%;height:6%}.mq-about{left:68.6%;top:2.2%;width:6.5%;height:6%}.mq-contact{left:75.1%;top:2.2%;width:6.2%;height:6%}.mq-donate{left:83.4%;top:1.7%;width:13.6%;height:6.8%}.mq-services{left:24.4%;top:45.3%;width:11.3%;height:5.5%}.mq-more{left:37%;top:45.3%;width:11.4%;height:5.5%}
.mq-stat-security{left:8.5%;top:54%;width:20.5%;height:11%}.mq-stat-reuse{left:29%;top:54%;width:21%;height:11%}.mq-stat-training{left:50%;top:54%;width:21%;height:11%}.mq-stat-projects{left:71%;top:54%;width:20%;height:11%}
.mq-card-cyber{left:8.3%;top:67%;width:19.2%;height:21%}.mq-card-reuse{left:29.3%;top:67%;width:19.2%;height:21%}.mq-card-training{left:50.3%;top:67%;width:19.2%;height:21%}.mq-card-program{left:71.3%;top:67%;width:19.2%;height:21%}.mq-footer-donate{left:75%;top:91%;width:15%;height:5.5%}
.mq-commitment{left:8%;top:91%;width:66%;height:5.5%}
.desktop-language{position:absolute;z-index:20;top:2%;right:16.2%;width:6.4%;height:6.2%}
.desktop-language>.language-button{width:100%;height:100%;padding:0;border:0;background:transparent;opacity:0;cursor:pointer}
.desktop-language>.language-menu{top:calc(100% + 5px);right:0;width:205px;opacity:1}
.responsive-site{display:none}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(8,42,94,.08);backdrop-filter:blur(12px)}
.header-inner{width:min(1440px,94%);min-height:94px;margin:auto;display:flex;align-items:center;gap:24px}
.brand{flex:0 0 285px}
.brand img{width:285px;height:auto}
.main-menu{display:flex;align-items:center;justify-content:center;gap:clamp(13px,1.5vw,26px);flex:1}
.main-menu a{position:relative;padding:13px 0;color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap}
.main-menu a,.main-menu a:hover,.main-menu a:focus,.main-menu a:active,.main-menu a[aria-current="page"]{border:0;outline:0;background:transparent;box-shadow:none;text-decoration:none}
.main-menu a::before,.main-menu a::after{content:none;display:none}
.main-menu a:hover,.main-menu a:focus-visible{color:var(--green)}
.header-actions{display:flex;align-items:center;gap:10px}
.language{position:relative}
.language-button{min-width:62px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}
.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:210px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.language-menu button{display:block;width:100%;padding:12px 14px;border:0;background:#fff;text-align:left;cursor:pointer}
.language-menu button:hover,.language-menu button:focus-visible{background:#f0f6f2;color:var(--green)}
.donate-button{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border-radius:9px;background:var(--green);color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.donate-button:hover,.donate-button:focus-visible{background:var(--green-dark)}
.menu-toggle{display:none;width:46px;height:44px;padding:9px;border:0;border-radius:8px;background:#f0f4f8;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;margin:5px auto;background:var(--navy);transition:.2s}

.hero{position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(3,27,67,.96) 0%,rgba(4,41,91,.9) 45%,rgba(4,41,91,.45) 100%),url('../images/maquette-v9-sans-selection.png');background-position:center;background-size:cover;background-repeat:no-repeat}
.hero-inner{width:min(1220px,90%);min-height:570px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:72px 0}
.eyebrow{margin:0 0 10px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.hero h1{max-width:690px;margin:0;color:#fff;font-size:clamp(42px,5.2vw,72px);line-height:1.06;letter-spacing:-.04em;text-shadow:0 3px 24px rgba(0,0,0,.2)}
.hero-lead{margin:24px 0 8px;color:#7fdb9b;font-size:clamp(22px,2.3vw,32px);font-weight:700;line-height:1.25}
.hero-copy>p:last-of-type{max-width:630px;color:#e9f2fb}
.hero .eyebrow{color:#8ee0a5}
.hero-237{display:none;color:#ff493c;font-weight:800;letter-spacing:.04em}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:13px 24px;border-radius:9px;color:#fff;font-weight:700}
.button-primary{background:var(--navy)}
.button-secondary{background:var(--green)}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(8,42,94,.16)}
.hero-visual{position:relative;min-height:410px;display:grid;place-items:center;visibility:hidden}
.hero-visual::before{content:"";position:absolute;width:92%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(24,133,226,.28),rgba(24,133,226,0) 68%)}
.orbit{position:absolute;border:1px solid rgba(35,126,204,.3);border-radius:50%}
.orbit-one{width:350px;height:350px}.orbit-two{width:440px;height:280px;transform:rotate(-18deg)}
.shield{position:relative;width:210px;height:240px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#126cca,#062a65);border:10px solid rgba(255,255,255,.86);border-radius:48% 48% 54% 54%/28% 28% 70% 70%;box-shadow:0 20px 55px rgba(9,82,153,.35);clip-path:polygon(50% 0,100% 20%,88% 76%,50% 100%,12% 76%,0 20%)}
.shield span{font-size:62px;font-weight:800}
.data-dot{position:absolute;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#33a8f3;box-shadow:0 0 18px #168cdd}
.dot-one{left:9%;top:29%}.dot-two{right:5%;top:45%}.dot-three{left:21%;bottom:12%}

.stats{position:relative;z-index:2;margin-top:-34px;padding:0 5%}
.stats-grid{width:min(1080px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.stats article{display:flex;align-items:center;gap:15px;padding:22px;border-right:1px solid var(--line)}
.stats article:last-child{border-right:0}
.stat-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border:3px solid var(--green);border-radius:50%;color:var(--green);font-size:24px;font-weight:800}
.stat-icon.blue{color:var(--blue);border-color:var(--blue)}.stat-icon.orange{color:var(--orange);border-color:var(--orange)}.stat-icon.green{color:var(--green);border-color:var(--green)}
.stats strong,.stats span,.stats small{display:block}.stats strong{color:var(--navy);font-size:28px;line-height:1}.stats span{font-size:11px;font-weight:700}.stats small{color:var(--muted);font-size:9px}

.services{width:min(1140px,90%);margin:auto;padding:88px 0 74px}
.section-heading{text-align:center;margin-bottom:35px}.section-heading h2{max-width:750px;margin:0 auto;color:var(--navy);font-size:clamp(30px,4vw,46px);line-height:1.15}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{display:flex;flex-direction:column;min-height:320px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(8,42,94,.07)}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:13px;border-radius:14px;background:#edf4ff;color:var(--blue);font-size:27px;font-weight:800}
.service-card h3{margin:0;color:var(--navy);font-size:18px}.service-card p{color:var(--muted);font-size:13px}.service-card a{margin-top:auto;color:var(--blue);font-size:13px;font-weight:800}
.reuse-card .service-icon,.reuse-card a{color:var(--green);background-color:#eff9f1}.training-card .service-icon,.training-card a{color:var(--orange);background-color:#fff5e9}.program-card .service-icon,.program-card a{color:var(--purple);background-color:#f7effb}
.program-card .service-icon{width:64px;height:64px;color:#fff;background:linear-gradient(145deg,#8246a8,#5f2b83);font-size:23px;font-weight:800;letter-spacing:.02em;box-shadow:0 7px 16px rgba(116,59,152,.25)}

.commitment{padding:0 5% 70px}.commitment-inner{width:min(1080px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 28px;border-radius:17px;background:linear-gradient(90deg,#063474,#075197);color:#fff}.commitment p{margin:0;font-size:13px}.commitment p span{margin-right:10px;font-size:25px}.commitment a{flex:0 0 auto;padding:11px 17px;border-radius:8px;background:#fff;color:var(--green);font-weight:800}
.site-footer{padding:28px 5%;background:#061a3a;color:#d7e0ee;text-align:center;font-size:13px}

@media(max-width:900px){
  .desktop-maquette{display:none}.responsive-site{display:block}
  .header-inner{min-height:82px}.brand{flex-basis:220px}.brand img{width:220px}.main-menu{gap:12px}.main-menu a{font-size:11px}.donate-button{font-size:11px;padding:11px}.hero-inner{min-height:510px}.service-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .header-inner{width:92%;justify-content:space-between}.brand{flex-basis:auto}.brand img{width:215px}.menu-toggle{display:block;order:3}.header-actions{margin-left:auto}.main-menu{position:fixed;inset:82px 0 auto 0;display:none;align-items:stretch;padding:18px 5% 25px;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(8,42,94,.13)}.main-menu.open{display:flex;flex-direction:column;gap:0}.main-menu a{padding:13px 5px;font-size:15px;border-bottom:1px solid #edf1f5!important}.hero{background-position:62% center}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:65px 0 82px}.hero-copy{text-align:center}.hero-copy>p,.hero h1{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats article:nth-child(2){border-right:0}.stats article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

@media(max-width:620px){
  .site-header{position:sticky}.header-inner{min-height:72px;gap:9px}.brand img{width:165px}.header-actions{gap:7px}.donate-button{display:none}.language-button{min-width:54px;padding:9px}.main-menu{top:72px;max-height:calc(100vh - 72px);overflow-y:auto}.hero{background-image:linear-gradient(rgba(3,28,67,.9),rgba(3,28,67,.93)),url('../images/maquette-v9-sans-selection.png');background-position:center}.hero-inner{width:88%;padding:62px 0 88px;gap:28px}.hero h1{font-size:38px}.hero-lead{font-size:21px}.hero-actions{flex-direction:column}.button{width:100%}.stats{margin-top:-24px}.stats-grid{grid-template-columns:1fr}.stats article{border-right:0;border-bottom:1px solid var(--line)!important;padding:18px}.stats article:last-child{border-bottom:0!important}.services{padding:65px 0 55px}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.program-card .service-icon{width:72px;height:72px;font-size:27px}.commitment-inner{flex-direction:column;text-align:center;padding:24px 20px}.commitment a{width:100%;text-align:center}.site-footer{padding-bottom:35px}
}

@media(max-width:620px){
  .hero-inner{padding-top:46px}
  .hero .eyebrow{display:flex;flex-direction:column;align-items:center;gap:1px;margin-bottom:7px}
  .hero-237{display:block;font-size:22px;line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.25)}
}

@media(prefers-reduced-motion:no-preference){.button,.service-card{transition:transform .2s ease,box-shadow .2s ease}.main-menu{transition:opacity .2s ease}}
