@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--dark:#073d49;--ink:#123f48;--teal:#087d7b;--mint:#b8f0db;--line:#e3eae8;--muted:#657a7d;--bg:#f4f8f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}button{font:inherit}.container{width:min(1200px,calc(100% - 72px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:white;z-index:30}.header{position:sticky;top:0;z-index:20;background:#fffefefa;border-bottom:1px solid #edf1f0;backdrop-filter:blur(18px)}.nav{height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:45px;height:45px;background:var(--dark);color:var(--mint);border-radius:13px;display:grid;place-items:center;font:italic 35px Georgia;position:relative}.brand-dot{position:absolute;font:18px Arial;right:4px;top:2px}.brand strong{font:800 34px/1.05 Manrope;letter-spacing:.035em;display:block}.brand small{font-size:14px;line-height:1.3;letter-spacing:0;color:#234653;display:block;font-weight:800}.nav nav{display:flex;align-items:center;gap:clamp(12px, 1.6vw, 22px)}.nav nav a{font-size:12px;font-weight:800;color:#49656a}.nav nav a.active,.nav nav a:hover{color:var(--teal)}.nav nav .nav-social{background:var(--dark);color:#fff;padding:13px 17px;border-radius:6px}.hamburger{display:none}.hero{background:linear-gradient(120deg,#f3f8f5 0%,#f9fbf9 60%,#e8f5f0 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;min-height:620px;gap:50px}.pill{display:inline-flex;align-items:center;gap:8px;background:#e2f1e9;color:#137a75;padding:11px 14px;border-radius:40px;font-size:10px;font-weight:800;letter-spacing:.12em}.pulse{width:7px;height:7px;border-radius:50%;background:#17a78c}.hero h1,.subhero h1{font:800 clamp(50px,5.5vw,79px)/1.1 Manrope;letter-spacing:-.065em;margin:25px 0;color:var(--dark)}h1 em,h2 em{font-style:normal;color:#168c85}.hero-lead{font-size:17px;line-height:1.9;color:#60767a;max-width:550px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 21px;border-radius:8px;font-size:12px;font-weight:800;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.solid{background:var(--dark);color:white}.outline{background:white;border:1px solid #d7e5df}.hero-note{display:flex;gap:26px;margin-top:72px;color:#7b9091;font-size:10px;font-weight:800;letter-spacing:.08em}.hero-visual{position:relative;min-height:500px;display:grid;place-items:center;background:radial-gradient(circle,#c6ebe0 0%,#e5f5ec 36%,transparent 70%)}.halo{width:340px;height:340px;border:1px dashed #9acfc4;border-radius:50%;position:absolute}.ring{position:absolute;border:1.5px solid #63b5ab;border-radius:50%}.r1{width:420px;height:170px;transform:rotate(-36deg)}.r2{width:420px;height:170px;transform:rotate(36deg)}.r3{width:260px;height:370px;transform:rotate(20deg);opacity:.5}.core{width:174px;height:174px;display:grid;place-items:center;background:linear-gradient(140deg,#139c93,#06424d);border-radius:50%;box-shadow:0 25px 65px #056b6855;z-index:1}.core span{font:italic 115px Georgia;color:#c9f5e5}.float-label{position:absolute;z-index:2;background:#fff;box-shadow:0 15px 40px #2c77751c;padding:15px 18px;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.09em}.float-label span{color:var(--teal);margin-left:14px}.float-label.top{top:100px;right:0}.float-label.bottom{bottom:90px;left:0}.metrics{background:#083e49;color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr)}.metric-grid>div{padding:29px 24px;border-right:1px solid #ffffff25;display:grid;grid-template-columns:36px 1fr;gap:2px 8px}.metric-grid>div:first-child{padding-left:0}.metric-grid>div:last-child{border:0}.metric-grid span{grid-row:span 2;color:#8fe0cb;font-size:12px;font-weight:800}.metric-grid strong{font-size:15px}.metric-grid small{color:#b3ced0;font-size:12px}.section{padding:36px 0}.eyebrow{font-size:11px;color:#0b8981;letter-spacing:.16em;font-weight:800}.mission{display:grid;grid-template-columns:1fr 1fr;gap:52px}.section h2,.cta h2{font:800 clamp(34px,3.6vw,49px)/1.22 Manrope;letter-spacing:-.055em;margin:17px 0 24px}.large{font-size:18px;line-height:1.9;color:#405f66}.muted{color:var(--muted);line-height:1.8;font-size:14px}.inline-link{display:inline-flex;align-items:center;gap:12px;color:#0a817b;font-weight:800;font-size:13px;margin-top:15px}.light{background:var(--bg)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2{margin-bottom:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:18px;min-height:180px;background:#fff;border:1px solid #e1eae6;border-radius:13px;display:flex;flex-direction:column;box-shadow:0 10px 30px #194e4b05}.card.featured{background:#073d49;color:white}.tag{color:#0a8b83;font-size:10px;font-weight:800;letter-spacing:.13em}.featured .tag{color:#a7e9d5}.card h3{font:800 22px/1.35 Manrope;letter-spacing:-.03em;margin:16px 0 8px}.card p{color:#718488;font-size:13px;line-height:1.8}.featured p{color:#c6dadb}.card .arrow{margin-top:auto;padding-top:16px;font-size:12px;font-weight:800;color:#0a8980;display:flex;justify-content:space-between}.featured .arrow{color:#b2edda}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-grid>a{background:#f5f9f7;padding:20px;border-radius:13px;min-height:168px;position:relative;border:1px solid #e8eeeb}.resource-symbol{font-size:35px;color:#128a82}.resource-grid h3{font:800 21px Manrope;margin:20px 0 9px}.resource-grid p{color:#6a7d80;font-size:13px}.resource-grid .arrow{position:absolute;right:27px;top:30px;color:#0d8b84}.instagram{background:#eaf5f0}.insta-grid{display:grid;grid-template-columns:1fr 0.85fr;align-items:center;gap:52px}.insta-grid h2{max-width:550px}.insta-grid p{line-height:1.9;color:#5e7779;max-width:470px}.insta-grid .btn{margin-top:22px}.insta-preview{background:white;border-radius:18px;overflow:hidden;box-shadow:0 25px 75px #124d4b18;max-width:420px;width:100%;justify-self:center}.insta-top{display:flex;align-items:center;gap:12px;padding:16px 20px}.insta-avatar{background:#0c6b72;color:white;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font:italic 27px Georgia}.insta-top strong,.insta-top small{display:block;font-size:12px}.insta-top small{color:#7d8e8f;font-size:10px;margin-top:3px}.insta-top>span:last-child{margin-left:auto}.insta-art{min-height:285px;background:radial-gradient(circle at 80% 20%,#3eada0,transparent 45%),linear-gradient(135deg,#0b5260,#062d38);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:center}.insta-art>span{font-size:13px;letter-spacing:.3em;color:#a1eddb}.insta-art strong{font:800 33px/1.2 Manrope;margin:22px 0}.insta-art small{font-size:9px;letter-spacing:.15em;color:#b8e7da}.insta-bottom{padding:20px;font-size:12px;font-weight:800;color:#0c7c78}.cta{background:#073d49;color:white;padding:30px 0}.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin-bottom:0}.cta h2 em{color:#a8e9d5}.cta .eyebrow{color:#a8e9d5}.pale-btn{background:#b4ebd8;color:#073d49}.foot-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:36px;padding-top:36px;padding-bottom:30px}.footer-logo{font:800 30px Manrope;color:#073d49}.footer-logo span{color:#0b9388;margin-left:8px}.foot-top p{color:#6a7d80;font-size:12px;line-height:1.9}.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:13px}.foot-links a,.footer-social{font-size:12px;font-weight:700}.foot-label{display:block;color:#7c8e8e;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:15px}.footer-social{color:#0b817c}.foot-bottom{border-top:1px solid #e9eeee;padding:16px 0 20px;display:flex;justify-content:space-between;gap:12px;color:#839091;font-size:11px}.subhero{background:linear-gradient(110deg,#f0f8f4,#e7f3ee);padding:32px 0 28px}.subhero .container{max-width:1200px}.crumb{color:#849a98;font-size:12px;margin-bottom:35px}.subhero h1{font-size:clamp(45px,5vw,67px);max-width:850px}.subhero p{color:#58777a;font-size:18px;max-width:650px;line-height:1.8}.timeline{margin:40px 0;border-left:2px solid #d1e8df;padding-left:35px}.timeline>div{margin-bottom:35px}.timeline span{font-size:12px;color:#0c8880;font-weight:800}.timeline h3{font:800 22px Manrope;margin:12px 0}.timeline p{font-size:14px;line-height:1.8;color:#687d7f}.note{font-size:12px;color:#819091;margin-top:24px}.narrow{max-width:690px}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center}.contact-box{background:#f2f8f5;border:1px solid #e0ece6;border-radius:16px;padding:42px}.contact-box h3{font:800 30px Manrope}.contact-box p{line-height:1.8;color:#5f797b}.contact-box hr{border:0;border-top:1px solid #dce8e4;margin:30px 0}@media(max-width:960px){.hamburger{display:block;border:0;background:none;font-size:25px;color:var(--dark)}.nav nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:22px 36px;box-shadow:0 20px 30px #0001;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.hero-grid{grid-template-columns:1fr;gap:0;padding-top:70px}.hero-visual{min-height:390px}.mission,.insta-grid,.contact-layout{grid-template-columns:1fr;gap:40px}.card-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.hero-note{margin-top:35px}}@media(max-width:620px){.container{width:calc(100% - 40px)}.nav{height:76px}.nav nav{top:76px}.brand small{font-size:clamp(10px, 3vw, 12px)}.brand strong{font-size:29px}.hero h1{font-size:48px}.hero-grid{padding-top:45px}.hero-visual{min-height:300px}.halo{width:250px;height:250px}.r1,.r2{width:290px;height:120px}.r3{width:170px;height:260px}.core{width:125px;height:125px}.core span{font-size:85px}.float-label{font-size:8px;padding:11px}.float-label.top{top:30px}.float-label.bottom{bottom:25px}.hero-note{gap:13px;font-size:8px}.metric-grid{grid-template-columns:1fr}.metric-grid>div,.metric-grid>div:first-child{padding:18px 0;border-right:0;border-bottom:1px solid #ffffff25}.section{padding:26px 0}.card-grid,.resource-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading .inline-link{margin-top:20px}.cta-grid{display:block}.cta-grid .btn{margin-top:30px}.foot-top{grid-template-columns:1fr;gap:25px}.foot-bottom{display:block}.subhero{padding:28px 0}.subhero h1{font-size:44px}.insta-art{min-height:250px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.insta-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.insta-carousel {
  width: 100%;
  max-width: 440px;
  justify-self: center;
  min-width: 0;
}
.insta-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 10px;
}
.insta-controls[hidden] {
  display: none;
}
.insta-controls button {
  width: 44px;
  height: 44px;
  border: 1px solid #0c6b72;
  border-radius: 50%;
  background: white;
  color: #073d49;
  cursor: pointer;
  font-size: 1.25rem;
}
.insta-controls button:disabled {
  opacity: .5;
  cursor: default;
}
.insta-posts {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  list-style: none;
  padding: 0;
  margin: 0;
}
.insta-slide {
  flex: 0 0 100%;
  min-width: 0;
  scroll-snap-align: start;
  background: white;
  border-radius: 16px;
  overflow: hidden;
}
.insta-slide iframe {
  display: block;
  width: 100%;
  height: 480px;
  border: 0;
}
.insta-slide a {
  display: block;
  padding: 12px 16px;
  color: #073d49;
  font-weight: 700;
  font-size: .875rem;
}
@media (max-width: 960px) {
  .insta-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Identité SMEVE et mise en page éditoriale */
:root {
  --ink: #112e40;
  --teal: #08797f;
}
body { color: #112e40; background: #f8fbfc; }
.header { background: #fff; }
.brand { gap: 11px; }
.brand-logo { width: 60px; height: 60px; object-fit: contain; border-radius: 12px; }
.brand strong { color: #076d74; }
.header #navlinks a.active {
  color: #fff;
  background: #08797f;
  border-radius: 7px;
  padding: 8px 12px;
}
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(114deg, #dff3f5 0%, #eef8fa 35%, #9dd6e0 70%, #1d8196 100%);
  color: #112e40;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  align-items: center;
  min-height: 360px;
  padding-top: 26px;
  padding-bottom: 56px;
  gap: 34px;
}
.hero-copy { z-index: 1; }
.hero h1 {
  font-family: inherit;
  font-size: clamp(2.25rem, 4.15vw, 4.1rem);
  line-height: 1.04;
  letter-spacing: -.045em;
  margin: 16px 0;
  max-width: 700px;
  color: inherit;
}
.hero h1 em { font: inherit; color: #08747b; }
.hero .hero-lead { color: #224555; font-size: 1.08rem; max-width: 525px; }
.hero .outline { color: #075661; border-color: #21858e; background: #f4fbfce6; }
.hero-art {
  position: absolute;
  z-index: -1;
  inset: 0 0 0 46%;
}
.hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #b3dce5, #b3dce500 27%);
}
.shortcuts-wrap { position: relative; z-index: 2; margin-top: -38px; }
.shortcuts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  background: white;
  border: 1px solid #dcecef;
  border-radius: 18px;
  box-shadow: 0 12px 40px #0c465a12;
  padding: 18px 8px;
}
.shortcuts a { display: grid; justify-items: center; align-content: start; text-align: center; gap: 5px; padding: 5px 8px 10px; color: #112e40; }
.shortcuts a + a { border-left: 1px solid #e2eef0; }
.shortcuts a:hover { background: #eff8fa; border-radius: 8px; }
.shortcuts a > span { color: #08797f; font-size: 28px; line-height: 1.1; }
.shortcuts strong { font-size: .93rem; line-height: 1.2; }
.shortcuts small { color: #46616d; font-size: .73rem; }
.subhero { background: linear-gradient(115deg, #eef8fa, #ccebf0); color: #112e40; }
.subhero h1 { color: #112e40; font-family: inherit; letter-spacing: -.045em; }
.subhero p, .subhero .crumb, .subhero .crumb a { color: #315c6b; }
.subhero .eyebrow { color: #086d76; }
.section h2 em { color: #08747b; }
.card, .resource-grid > a { border-color: #dcecef; box-shadow: 0 6px 20px #0c465a0a; }
@media (max-width: 960px) {
  .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 0; padding-top: 42px; padding-bottom: 0; }
  .hero { background: linear-gradient(135deg, #073747, #116c80); color: #fff; }
  .hero .eyebrow, .hero h1 em { color: #91e4e7; }
  .hero .hero-lead { color: #e5f6f8; }
  .hero-art { position: relative; inset: auto; z-index: 0; aspect-ratio: 2.05; margin: 10px -5% 0; overflow: hidden; }
  .hero-art img { object-position: center 49%; }
  .hero-art::after { background: linear-gradient(#0a4254, #0a425400 30%); }
  .shortcuts-wrap { margin-top: 18px; }
  .shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 14px; }
  .shortcuts a:nth-child(4) { border-left: 0; }
}
@media (max-width: 520px) {
  .brand-logo { width: 47px; height: 47px; }
  .hero-grid { padding-top: 26px; }
  .hero .buttons { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero .buttons a { justify-content: center; }
  .hero-art { aspect-ratio: 1.6; }
  .shortcuts strong { font-size: .82rem; }
  .shortcuts small { font-size: .68rem; }
}

@media (min-width: 961px) and (max-width: 1150px) {
  .brand small { font-size: 12px; }
  .nav nav { gap: 12px; }
}

/* Mise en page compacte et visuels de la société. */
.nav { height: 100px; gap: 14px; }
.brand { flex-shrink: 0; gap: 10px; }
.brand-logo { width: 100px; height: 76px; border-radius: 0; object-fit: contain; }
.brand strong { font-size: 29px; }
.section h2, .cta h2 { font-size: clamp(28px, 3vw, 38px); margin: 10px 0 16px; }
.section-heading { margin-bottom: 18px; }
.hero h1 { font-size: clamp(32px, 3.6vw, 52px); }
.hero .hero-lead { line-height: 1.55; }
.mission, .insta-grid, .contact-layout { gap: 30px; }
.card h3 { margin: 12px 0 6px; }
.card-photo { width: calc(100% + 36px); max-width: none; height: 145px; object-fit: cover; margin: -18px -18px 14px; border-radius: 12px 12px 0 0; }
.society-photo { width: 100%; max-height: 235px; object-fit: cover; border-radius: 12px; margin-bottom: 14px; }
.instagram-icon { width: 22px; height: 22px; flex-shrink: 0; vertical-align: middle; }
.nav-social, .buttons .btn, .instagram .btn { display: inline-flex; align-items: center; gap: 8px; }
.nav-social .instagram-icon, .instagram .solid .instagram-icon { filter: invert(1); }
.shortcuts .instagram-icon { width: 28px; height: 28px; }
.shortcuts { padding: 12px 6px; }
.shortcuts a { padding: 3px 6px 5px; }
.timeline { margin: 20px 0; }
.timeline > div { margin-bottom: 20px; }
.foot-top { padding-top: 28px; padding-bottom: 24px; }
@media (max-width: 1150px) and (min-width: 961px) {
  .brand-logo { width: 82px; height: 65px; }
  .nav nav { gap: 10px; }
  .nav nav a { font-size: 11px; }
}
@media (max-width: 960px) {
  .nav nav { top: 100px; }
  .hero-grid { padding-top: 26px; }
  .hero-art { aspect-ratio: 2.5; }
}
@media (max-width: 620px) {
  .nav { height: 92px; gap: 8px; }
  .nav nav { top: 92px; }
  .brand { gap: 6px; }
  .brand-logo { width: 72px; height: 62px; }
  .brand strong { font-size: 26px; }
  .brand small { font-size: clamp(9px, 2.8vw, 11px); }
  .hero-art { aspect-ratio: 2; }
  .card-grid { gap: 14px; }
  .section-heading .inline-link { margin-top: 8px; }
}
@media (max-width: 620px) {
  .hero .hero-lead { font-size: 15px; line-height: 1.5; }
  .hero h1 { font-size: 30px; margin: 12px 0; }
  .hero .buttons { margin-top: 20px; }
}
