/* Archip’Elles, feuille de style V5
   Formes rondes, vagues et mouvements lents. Couleurs relevées sur le logo.
   Polices hébergées sur le site. Les mouvements s'arrêtent si le système le demande
   (prefers-reduced-motion) ou si la personne clique sur « Mettre en pause les animations » (pied de page). */
@font-face{font-family:"Lora";src:url("../fonts/lora-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/lora-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/lora-400-italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-500.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
:root{
  --aubergine:#34124A;
  --purple:#6A2F8A;
  --purple-dark:#55236F;
  --lavender:#F3ECF7;
  --lagoon:#12A8B9;
  --turquoise:#3DB9C2;
  --lagoon-ink:#0B6F7A;
  --coral:#EC7449;
  --coral-light:#F38E68;
  --roots:#745438;
  --ink:#24182C;
  --muted:#5E5466;
  --line:#E2DAE8;
  --mist:#EEF7F8;
  --paper:#FFFFFF;
  --on-dark:#EDE6F3;
  --on-dark-muted:#C2B2D3;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sans:"Poppins","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --container:1160px;
  --gutter:clamp(20px,5vw,48px);
  --section:clamp(72px,9vw,124px);
  --header-h:64px;
  --slide:min(880px,86vw);
  --overlap:clamp(110px,14vw,180px);
  --hero-wave:clamp(170px,21vw,280px);
  --edge-h:clamp(44px,6.5vw,96px);
  --r-photo:clamp(26px,3.2vw,40px);
  --r-md:28px;
  --leaf:46px 10px 46px 10px;
}
@media (min-width:1200px){
  :root{--header-h:78px}
}
*, *::before, *::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);overflow-x:clip}
body{margin:0;font-family:var(--serif);font-size:1.125rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
h1, h2, h3, h4{margin:0;font-weight:600;line-height:1.15;text-wrap:balance}
p{margin:0}
p+p{margin-top:1em}
figure{margin:0}
a{color:var(--purple);text-decoration-thickness:1px;text-underline-offset:.2em}
@media (hover:hover){a:hover{text-decoration-thickness:2px}}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:4px}
.container{max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.nowrap{white-space:nowrap}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-120px;z-index:100;background:var(--purple);color:#fff;font-family:var(--sans);font-size:.9375rem;padding:10px 16px;border-radius:999px;text-decoration:none}
.skip-link:focus{top:12px}
/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--sans);font-weight:500;font-size:.9375rem;line-height:1.2;padding:.85em 1.5em;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .25s cubic-bezier(.3,1.5,.5,1)}
@media (hover:hover){.btn:hover{transform:translateY(-3px)}}
.btn svg{width:1.2em;height:1.2em;flex:none}
.btn--primary{background:var(--purple);color:#fff}
@media (hover:hover){.btn--primary:hover{background:var(--purple-dark)}}
.btn--coral{background:var(--coral);color:#2B0F3A}
@media (hover:hover){.btn--coral:hover{background:var(--coral-light)}}
.btn--ghost{color:#fff;border-color:rgba(255,255,255,.7)}
@media (hover:hover){.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}}
.btn--large{font-size:1rem;padding:1em 1.8em}
/* En-tête fixe aux coins arrondis */
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-radius:0 0 26px 26px;box-shadow:0 12px 26px -20px rgba(52,18,74,.55)}
.header-inner{display:flex;align-items:center;gap:6px;min-height:var(--header-h)}
.brand{display:block;margin-right:auto;flex:none;border-radius:14px}
.brand img{height:44px;width:auto}
.lang{display:flex;align-items:center;font-family:var(--sans);font-size:.875rem;font-weight:500}
.lang a{display:block;padding:10px 7px;color:var(--muted);text-decoration:none;letter-spacing:.02em}
@media (hover:hover){.lang a:hover{color:var(--purple)}}
.lang a[aria-current="true"]{color:var(--purple);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.menu-toggle{display:inline-flex;align-items:center;gap:9px;margin:0 8px 0 0;font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 15px;cursor:pointer}
.menu-toggle .bars{position:relative;display:inline-block;width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;border-radius:2px}
.menu-toggle[aria-expanded="true"] .bars{border-color:transparent}
.menu-toggle[aria-expanded="true"] .bars::before, .menu-toggle[aria-expanded="true"] .bars::after{content:"";position:absolute;left:0;top:2px;width:16px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .bars::after{transform:rotate(-45deg)}
.nav ul{list-style:none;margin:0;padding:0}
.nav a{font-family:var(--sans);font-weight:500;text-decoration:none;white-space:nowrap}
@media (max-width:1199px){
  .nav{position:fixed;left:0;right:0;top:var(--header-h);display:none;max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overscroll-behavior:contain;overflow:auto;background:#fff;border-radius:0 0 26px 26px;box-shadow:0 24px 32px -24px rgba(36,24,44,.45);padding:4px var(--gutter) 24px}
  .nav.is-open{display:block}
  .nav li{border-bottom:1px solid var(--line)}
  .nav li.nav-cta{border:0;padding-top:20px}
  .nav a:not(.btn){display:block;padding:15px 2px;color:var(--ink);font-size:1.0625rem}
  .nav .btn{width:100%}
}
@media (min-width:1200px){
  .brand img{height:58px}
  .menu-toggle{display:none}
  .nav ul{display:flex;align-items:center;gap:2px}
  .nav a:not(.btn){display:block;color:var(--ink);font-size:.9375rem;padding:10px 12px;border-radius:999px;transition:background-color .2s,color .2s}
  @media (hover:hover){.nav a:not(.btn):hover{color:var(--purple);background:var(--lavender)}}
  .nav li.nav-cta{margin-left:12px}
  .lang{margin-left:16px;padding-left:12px;border-left:1px solid var(--line)}
}
/* Vagues (éléments décoratifs réutilisés partout) :
   chaque vague est un motif qui se répète, deux fois plus large que son cadre, et glisse d'un motif sur la gauche. */
.wave{position:absolute;left:0;bottom:0;width:max(200%,2000px);height:100%;background-repeat:repeat-x;background-size:50% 100%;background-position:0 100%;will-change:transform}
.wave--hero-back{background-image:url("../img/waves/hero-back.svg");opacity:.34}
.wave--hero-mid{background-image:url("../img/waves/hero-mid.svg");opacity:.55}
.wave--hero-front{background-image:url("../img/waves/hero-front.svg")}
.wave--edge-mist-a{background-image:url("../img/waves/edge-mist-a.svg")}
.wave--edge-mist-b{background-image:url("../img/waves/edge-mist-b.svg");opacity:.55}
.wave--edge-white-a{background-image:url("../img/waves/edge-white-a.svg")}
.wave--edge-white-b{background-image:url("../img/waves/edge-white-b.svg");opacity:.6}
.wave--edge-aubergine-a{background-image:url("../img/waves/edge-aubergine-a.svg")}
.wave--edge-aubergine-b{background-image:url("../img/waves/edge-aubergine-b.svg");opacity:.5}
.edge{position:absolute;left:0;width:100%;height:var(--edge-h);overflow:hidden;pointer-events:none;z-index:1}
.edge--top{top:calc(var(--edge-h) * -1 + 1px)}
.edge--bottom{bottom:-1px}
.edge .wave:first-child{--t:78s;animation-direction:reverse}
.edge .wave:last-child{--t:52s}
/* Accueil */
.hero{position:relative;overflow:hidden;background:var(--aubergine);color:#fff;padding-block:clamp(40px,6vw,88px) clamp(104px,10vw,132px)}
.hero :focus-visible{outline-color:var(--turquoise)}
.hero-inner{position:relative;z-index:1}
.hero-text{position:relative;max-width:660px}
.hero h1{font-size:clamp(2.3rem,1.45rem + 3.6vw,4.1rem);line-height:1.06;letter-spacing:-.012em;margin-bottom:.5em}
.hero-lead{font-size:clamp(1.08rem,1rem + .35vw,1.28rem);line-height:1.55;color:var(--on-dark);max-width:46ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:2em}
@media (max-width:520px){
  .hero-actions .btn{width:100%}
}
.hero-waves{position:absolute;left:0;right:0;bottom:0;height:var(--hero-wave);overflow:hidden;pointer-events:none}
.hero-waves .wave--hero-back{--t:90s}
.hero-waves .wave--hero-mid{--t:64s;animation-direction:reverse}
.hero-waves .wave--hero-front{--t:46s}
.b{position:absolute;border-radius:50%}
.hero-art{display:none}
@media (min-width:1000px){
  .hero-art{display:block;position:absolute;right:0;top:50%;width:clamp(300px,34vw,440px);aspect-ratio:1;transform:translateY(-54%);pointer-events:none}
  .hero-art img{position:relative;width:100%;height:100%;object-fit:contain}
  .hero-art .ripple{position:absolute;inset:8%;border-radius:50%;border:2px solid rgba(255,255,255,.4);opacity:0}
}
/* Sections */
.section{position:relative;padding-block:var(--section)}
.section--mist{background:var(--mist)}
.section-title{font-size:clamp(1.95rem,1.35rem + 2.3vw,2.85rem);line-height:1.1;letter-spacing:-.01em;color:var(--purple)}
/* Fond organique derrière une photo : deux formes qui se déforment lentement */
.blob-back{position:relative;isolation:isolate}
.blob-back::before, .blob-back::after{content:"";position:absolute;z-index:-1;border-radius:62% 38% 46% 54% / 50% 56% 44% 50%}
.blob-back::before{left:-5%;bottom:-6%;width:62%;height:56%;background:var(--turquoise);opacity:.55}
.blob-back::after{right:-4%;top:-6%;width:34%;height:34%;background:var(--coral);opacity:.8;border-radius:44% 56% 52% 48% / 56% 44% 56% 44%}
/* Qui sommes-nous */
.about-section{padding-top:clamp(52px,7vw,100px)}
.about{display:grid;gap:22px}
@media (min-width:900px){
  .about{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px}
}
.about-text{max-width:56ch}
.about-text .lead{font-size:clamp(1.22rem,1.08rem + .55vw,1.45rem);line-height:1.5}
.heritage{margin-top:clamp(56px,8vw,96px)}
.heritage img{width:100%;border-radius:var(--r-photo)}
.heritage figcaption{font-family:var(--sans);font-size:.875rem;line-height:1.55;color:var(--muted);margin-top:16px;max-width:76ch;padding-left:6px}
/* Ambitions et commissions : cartes en forme de pétale */
.ambitions{display:grid;gap:40px}
@media (min-width:960px){
  .ambitions{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
}
.ambitions-intro p{margin-top:.9em;max-width:40ch}
.ambitions-photo{margin-top:36px}
.ambitions-photo img{width:100%;border-radius:var(--r-photo)}
.photo-caption{font-family:var(--sans);font-size:.875rem;line-height:1.45;color:var(--muted);margin-top:18px;padding-left:6px}
.commission-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.commission{position:relative;background:#fff;border-radius:var(--leaf);padding:26px 30px 28px 66px}
.commission:nth-child(even){border-radius:10px 46px 10px 46px}
.commission::before{content:"";position:absolute;left:28px;top:34px;width:18px;height:18px;border-radius:50%;background:var(--bud,var(--lagoon))}
.commission:nth-child(2)::before{--bud:var(--coral);background:var(--coral)}
.commission:nth-child(3)::before{background:var(--purple)}
.commission:nth-child(4)::before{background:var(--turquoise)}
.commission:nth-child(5)::before{background:var(--roots)}
.commission h3{font-size:1.28rem;color:var(--purple);margin-bottom:.4em}
.commission p{font-size:1rem;line-height:1.62}
@media (max-width:520px){
  .commission{padding:24px 22px 26px 54px}
  .commission::before{left:22px;top:32px}
}
/* Bureau : portraits ronds, prêts à recevoir une photo */
.team-section{padding-block:clamp(64px,8vw,104px)}
.team{list-style:none;margin:clamp(28px,4vw,48px) 0 0;padding:0;display:grid;gap:36px}
@media (min-width:760px){
  .team{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,5vw,72px)}
}
.member{display:grid;grid-template-columns:104px 1fr;gap:20px;align-items:center}
@media (min-width:760px){
  .member{display:block}
}
.member:nth-child(1){--c:var(--lagoon);--tint:#DDF1F3}
.member:nth-child(2){--c:var(--coral);--tint:#FCE6DC}
.member:nth-child(3){--c:var(--purple);--tint:#E9DDF1}
.member-photo{position:relative;isolation:isolate;width:104px;aspect-ratio:1}
@media (min-width:760px){
  .member-photo{width:min(100%,216px);margin-bottom:26px}
}
.member-photo .blob{position:absolute;z-index:-1;inset:-9% -8% -6% -12%;background:var(--c);opacity:.5;border-radius:62% 38% 46% 54% / 50% 56% 44% 50%}
.member-photo .face{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--tint);display:grid;place-items:center}
.member-photo .initials{font-family:var(--serif);font-weight:600;font-size:1.7rem;color:var(--c)}
@media (min-width:760px){
  .member-photo .initials{font-size:3.2rem}
}
.member-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.member-name{font-size:1.45rem;font-weight:600;line-height:1.2}
.member-role{font-family:var(--sans);font-size:.9375rem;color:var(--muted);margin-top:.3em}
.action{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-photo);overflow:hidden}
.partners{margin-top:clamp(56px,8vw,96px)}
.partners h3{font-size:1.5rem;color:var(--purple)}
.partner-list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.partner{background:#fff;border-radius:var(--r-md);padding:13px 24px 14px;max-width:390px}
.partner-name{font-weight:600;font-size:1.0625rem;line-height:1.35;color:var(--ink)}
a.partner-name{text-decoration:none}
@media (hover:hover){a.partner-name:hover{color:var(--purple);text-decoration:underline}}
.partner-place{display:block;font-family:var(--sans);font-size:.875rem;color:var(--muted);margin-top:3px}
/* Devenir membre */
.join{display:grid;gap:48px;align-items:center}
@media (min-width:900px){
  .join{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(48px,6vw,88px)}
}
.join-text>p{margin-top:.9em;max-width:52ch}
.steps{list-style:none;counter-reset:step;margin:28px 0 34px;padding:0;display:grid;gap:14px}
.steps li{counter-increment:step;display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:center;font-family:var(--sans);font-size:1rem;line-height:1.4}
.steps li::before{content:counter(step);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lavender);color:var(--purple);font-family:var(--serif);font-weight:600;font-size:1.05rem}
/* Pied de page */
.site-footer{position:relative;background:var(--aubergine);color:var(--on-dark);font-family:var(--sans);font-size:.9375rem;line-height:1.6;padding:clamp(48px,6vw,80px) 0 28px}
.site-footer a{color:#fff;text-decoration:none}
@media (hover:hover){.site-footer a:hover{text-decoration:underline;text-underline-offset:.25em}}
.site-footer :focus-visible{outline-color:var(--turquoise)}
.footer-grid{display:grid;gap:40px}
@media (min-width:900px){
  .footer-grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:48px}
}
.footer-logo{height:54px;width:auto;margin-bottom:18px}
.footer-brand p{color:var(--on-dark-muted);max-width:36ch}
.footer-col h2{font-family:var(--sans);font-size:.875rem;font-weight:500;color:var(--on-dark-muted);margin-bottom:14px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.follow{gap:12px!important}
.follow a{display:inline-flex;align-items:center;gap:14px}
.follow .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);flex:none;transition:background-color .2s,transform .25s cubic-bezier(.3,1.5,.5,1)}
@media (hover:hover){.follow a:hover .ico{background:rgba(61,185,194,.3);transform:scale(1.08)}}
.follow svg{width:20px;height:20px;color:var(--turquoise)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;margin-top:clamp(40px,6vw,64px);padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.875rem;color:var(--on-dark-muted)}
.footer-bottom a{color:var(--on-dark)}
.motion-toggle{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.875rem;color:var(--on-dark);background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 16px 8px 12px;cursor:pointer}
@media (hover:hover){.motion-toggle:hover{border-color:#fff;background:rgba(255,255,255,.08)}}
.motion-toggle svg{width:16px;height:16px}
.motion-toggle .when-off, .motion-toggle .i-play{display:none}
html.motion-off .motion-toggle .when-on, html.motion-off .motion-toggle .i-pause{display:none}
html.motion-off .motion-toggle .when-off{display:inline}
html.motion-off .motion-toggle .i-play{display:block}
/* Page de choix de langue et page légale */
.lang-picker{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px}
.lang-picker img{height:72px;width:auto;margin:0 auto 28px}
.lang-picker ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.legal-header .header-inner{justify-content:space-between}
.legal-header a.back{font-family:var(--sans);font-size:.9375rem}
.legal{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--gutter) clamp(56px,8vw,96px)}
.legal h1{font-size:clamp(1.8rem,1.3rem + 2vw,2.5rem);color:var(--purple);margin-bottom:.8em}
.legal h2{font-size:1.25rem;margin:1.8em 0 .5em}
.legal p, .legal li{font-size:1rem}
.todo{background:#FFF1BF;border-radius:6px;padding:0 .3em}
/* Message d'aperçu */
.toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--ink);color:#fff;font-family:var(--sans);font-size:.9375rem;padding:12px 20px;border-radius:999px;box-shadow:0 12px 30px rgba(36,24,44,.3)}
/* ---------- Mouvements ----------
   Tous lents et doux. Ils ne démarrent que si la personne n'a pas demandé de réduire les animations. */
@keyframes rise{from{opacity:0;transform:translateY(24px)}}
@keyframes swell{from{opacity:0;transform:translateY(34%)}}
@keyframes drift{to{transform:translate3d(-50%,0,0)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes isle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ripple{0%{transform:scale(.62);opacity:.6}100%{transform:scale(1.32);opacity:0}}
@keyframes morph{
  0%,100%{border-radius:62% 38% 46% 54% / 50% 56% 44% 50%}
  33%{border-radius:42% 58% 60% 40% / 58% 40% 60% 42%}
  66%{border-radius:55% 45% 38% 62% / 44% 60% 40% 56%}
}
@media (prefers-reduced-motion:no-preference){
  .hero-text>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero-text>:nth-child(2){animation-delay:.12s}
  .hero-text>:nth-child(3){animation-delay:.24s}
  .hero-waves{animation:swell 1.5s cubic-bezier(.2,.7,.2,1) both}
  .wave{animation:drift var(--t,60s) linear infinite}
  .edge .wave:first-child, .hero-waves .wave--hero-mid{animation-direction:reverse}
  .hero-art img{animation:bob 9s ease-in-out infinite}
  .hero-art .ripple{animation:ripple 7s ease-out infinite}
  .hero-art .ripple--2{animation-delay:-3.5s}
  .iles{animation:isle 12s ease-in-out infinite}
  .blob-back::before{animation:morph 16s ease-in-out infinite}
  .blob-back::after{animation:morph 11s ease-in-out infinite reverse}
  .member-photo .blob{animation:morph 13s ease-in-out infinite}
  .member:nth-child(2) .blob{animation-duration:17s;animation-delay:-4s}
  .member:nth-child(3) .blob{animation-duration:15s;animation-delay:-8s}
  .member-photo .face{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
  @media (hover:hover){.member:hover .face{transform:scale(1.05) rotate(-2deg)}}
}
html.motion-off *, html.motion-off *::before, html.motion-off *::after{animation:none!important}
[data-live].is-off *, [data-live].is-off *::before, [data-live].is-off *::after, [data-live].is-off::before, [data-live].is-off::after{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *, *::before, *::after{transition:none!important;animation:none!important}
}
/* Sélecteur de langue : « KRÉYÒL » sur écran large, « KR » sur mobile */
.code-long{display:none}
@media (min-width:600px){
  .code-long{display:inline}
  .code-short{display:none}
}
/* En-tête resserré sur les téléphones étroits (quatre langues) */
@media (max-width:380px){
  .header-inner{gap:2px}
  .brand img{height:36px}
  .lang{font-size:.875rem}
  .lang a{padding:10px 4px}
  .menu-toggle{padding:9px 11px;gap:7px;margin-left:0}
}
/* ===== V8 : agenda, actualités, articles, page 404, motif discret ===== */
.wave--edge-lavender-a{background-image:url("../img/waves/edge-lavender-a.svg")}
.wave--edge-lavender-b{background-image:url("../img/waves/edge-lavender-b.svg");opacity:.55}
.section--lavender{background:var(--lavender)}
.about-motif{display:none;width:176px;height:auto;margin-top:30px}
@media (min-width:900px){
  .about-motif{display:block}
}
.life{display:grid;gap:clamp(44px,6vw,72px)}
.life-intro{margin-top:.7em;max-width:46ch;color:var(--muted);font-family:var(--sans);font-size:1rem}
.event-list, .news-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.event{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:start;background:#fff;border-radius:var(--r-md);padding:18px 22px 20px 18px}
.event-date{display:grid;place-content:center;width:76px;height:76px;border-radius:50%;background:var(--lagoon-ink);color:#fff;text-align:center;line-height:1.05;font-family:var(--sans)}
.event--promu .event-date{background:var(--purple)}
.event-date .d{font-family:var(--serif);font-weight:600;font-size:1.7rem}
.event-date .m{font-size:.875rem}
.chip{display:inline-block;font-family:var(--sans);font-size:.875rem;font-weight:500;line-height:1.3;border-radius:999px;padding:.2em .9em;margin:0 6px .5em 0}
.chip--asso{background:#DDF1F3;color:#0B5560}
.chip--promu{background:#E9DDF1;color:#55236F}
.chip--exemple{background:#FFF1BF;color:#5A4500}
.event-title, .news-title{font-size:1.2rem;line-height:1.25}
.event-meta, .news-meta{font-family:var(--sans);font-size:.9375rem;color:var(--muted);margin-top:.35em}
.event-desc, .news-summary{font-size:1rem;margin-top:.5em}
.event-links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:.5em;font-family:var(--sans);font-size:.9375rem}
.event-links a, .news-more a, .article-back a, .article-others a{display:inline-block;padding:8px 0}
.agenda-sub, .news-more{margin-top:20px;font-family:var(--sans);font-size:.9375rem}
.news-card{background:#fff;border-radius:var(--r-md);padding:20px 24px 14px}
.news-card a.news-link{color:inherit;text-decoration:none}
@media (hover:hover){.news-card a.news-link:hover{color:var(--purple);text-decoration:underline}}
.page-head{padding-top:clamp(40px,6vw,80px);padding-bottom:calc(var(--edge-h) + 32px)}
.news-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
@media (min-width:760px){
  .news-grid{grid-template-columns:1fr 1fr}
}
.article{max-width:780px;margin:0 auto;padding:clamp(36px,6vw,72px) var(--gutter) calc(var(--edge-h) + 32px)}
.article h1{font-size:clamp(1.9rem,1.3rem + 2.4vw,2.9rem);line-height:1.12;color:var(--purple);margin:.3em 0 .5em}
.article-meta{font-family:var(--sans);font-size:.9375rem;color:var(--muted)}
.article-lead{font-size:1.25rem;line-height:1.5}
.article-cover{margin:1.6em 0 0}
.article-cover img, .article-body img{width:100%;height:auto;border-radius:var(--r-photo)}
.article-body{margin-top:1.6em}
.article-body h2{font-size:1.6rem;margin:1.8em 0 .5em;color:var(--purple)}
.article-body h3{font-size:1.3rem;margin:1.5em 0 .4em}
.article-body p{margin:0 0 1em}
.article-body ul, .article-body ol{padding-left:1.3em;margin:0 0 1em}
.article-body blockquote{border-left:4px solid var(--turquoise);margin:1.4em 0;padding:.2em 1.2em;font-style:italic;color:var(--muted)}
.article-body img{margin:1.2em 0}
.article-others{font-family:var(--sans);font-size:.9375rem;margin-top:2.4em;padding-top:1em;border-top:1px solid var(--line)}
.notfound{min-height:60vh;display:grid;place-items:center;text-align:center;padding:60px var(--gutter)}
.notfound h1{font-size:clamp(2rem,1.4rem + 2.4vw,3rem);color:var(--purple);margin-bottom:.5em}
.news-grid .news-card{background:var(--lavender)}
.notfound{padding:60px var(--gutter) calc(var(--edge-h) + 48px)}
.notfound h1{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem)}
.notfound section+section{margin-top:2.4rem;padding-top:2.2rem;border-top:1px solid var(--line)}
/* ===== La Caraïbe en miniature autour du lotus (position et superficie réelles des îles : voir outils/iles_caraibe.py) ===== */
/* chiffres calculés par le script : proportions 629/504, lotus à 38.47 % / 65.67 %, largeur 52.46 % */
.hero-world{position:absolute;pointer-events:none;right:-3vw;top:50%;width:clamp(500px,46vw,680px);aspect-ratio:629/504;transform:translateY(-50%)}
.hero-world .iles{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.il{transform-box:fill-box}
.il-gr{fill:#8E5BB5;fill-opacity:.6}
.il-le{fill:#3DB9C2;fill-opacity:.9}
.il-tt{fill:#12A8B9;fill-opacity:.75}
.il-mq{fill:var(--coral)}
.hero-world .hero-art{display:none}
@media (min-width:1000px){
  .hero-world .hero-art{display:block;position:absolute;left:38.47%;top:65.67%;right:auto;width:52.46%;transform:translate(-50%,-50%)}
}
/* Écrans étroits : seul l'arc des Petites Antilles reste visible, le long du bord droit, pour ne pas passer derrière le texte */
@media (max-width:999px){
  .hero-world{right:-9vw;top:8%;width:clamp(380px,100vw,560px);transform:none;-webkit-mask-image:linear-gradient(to right,transparent 62%,#000 82%);mask-image:linear-gradient(to right,transparent 62%,#000 82%)}
}
/* ===== Devenir membre : sans photo, le texte et les trois étapes sont centrés ===== */
.join{display:block}
.join-text{max-width:780px;margin-inline:auto;text-align:center}
.join-text>p{margin-inline:auto}
.steps{margin:30px 0 34px}
@media (min-width:760px){
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .steps{align-items:start}
  .steps li{grid-template-columns:1fr;justify-items:center;align-content:start;gap:12px;text-align:center}
  .steps li::before{width:46px;height:46px;font-size:1.2rem}
}
/* ===== V10 : accessibilité (cibles ≥ 44 px), cohérence des boutons et des pastilles, premier écran, contrôle de pause ===== */
.menu-toggle{min-height:44px;padding:0 16px}
.lang a{padding:13px 9px}
@media (min-width:1200px){
  .nav a:not(.btn){padding-block:12px}
}
.footer-col ul{gap:0}
.footer-col li a, .footer-bottom a{display:inline-block;padding:11px 0}
a.partner-name{display:inline-block;padding:8px 0 6px}
.partner{padding:5px 24px 13px}
.event-links a, .news-more a, .article-back a, .article-others a, .commission-link a{display:inline-block;padding:11px 0}
.commission-link{margin-top:.3em;font-family:var(--sans);font-size:.9375rem}
.member:nth-child(1) .initials{color:var(--lagoon-ink)}
.member:nth-child(2) .initials{color:#A33F17}
.btn--primary{background:var(--coral);color:#2B0F3A}
@media (hover:hover){.btn--primary:hover{background:var(--coral-light)}}
.skip-links{position:absolute;left:12px;top:-140px;z-index:100;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.skip-links:focus-within{top:12px}
.skip-links .skip-link{position:static}
.motion-toggle--skip{background:var(--purple);color:#fff;border:0;font-size:.9375rem;padding:10px 16px}
@media (min-width:1000px) and (max-height:820px){
  .hero{padding-top:28px;padding-bottom:112px}
  .hero h1{font-size:clamp(2.2rem,1.1rem + 3vw,3.3rem)}
  .hero-lead{font-size:1.08rem}
  .hero-actions{margin-top:1.2em}
}
/* V10 (suite) : l'en-tête tient sur une ligne même à 320 px avec des cibles de 44 px de haut */
a.partner-name{padding:12px 0 10px}
.partner{padding:0 24px 13px}
.motion-toggle{min-height:44px}
@media (max-width:430px){
  .header-inner{gap:2px}
  .brand img{height:34px}
  .lang a{padding:13px 6px}
  .menu-toggle{padding:0 12px;gap:7px}
}
@media (max-width:359px){
  .menu-toggle{font-size:0;gap:0;padding:0 14px}
  .lang a{padding:13px 5px}
}
@media (max-width:430px){
  .brand{padding:5px 0}
}
span.partner-name{display:inline-block;padding:12px 0 10px}
@media (max-width:430px){
  .hero-world{opacity:.6}
}
.ambitions-photo{width:min(72%,300px)}
/* ===== Équipe : quatre personnes. Couleurs attribuées par personne (et non par position), grille adaptée ===== */
.member[data-member="myriam-moise"]{--c:var(--lagoon);--tint:#DDF1F3}
.member[data-member="orianne-rancelli"]{--c:var(--coral);--tint:#FCE6DC}
.member[data-member="mylene-henri"]{--c:var(--roots);--tint:#EFE6DD}
.member[data-member="nathalie-moise"]{--c:var(--purple);--tint:#E9DDF1}
@media (min-width:760px){
  .team{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,56px) clamp(28px,5vw,72px)}
}
@media (min-width:1100px){
  .team{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3.5vw,48px)}
}
/* ===== Agenda et actualités : chacune sa section, pleine largeur ===== */
@media (min-width:900px){
  .event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
  .news-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px}
}
.life{display:block}
.notfound h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);color:var(--purple);margin-bottom:.5em}
/* ===== Premier écran : prochain rendez-vous ===== */
.hero-next{display:flex;align-items:center;gap:14px;margin-top:22px;max-width:36rem;padding:10px 20px 10px 10px;border-radius:30px;background:#472A5C;border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-family:var(--sans)}
@media (hover:hover){.hero-next:hover{background:#573A6C}}
.hero-next[hidden]{display:none}
.hero-next-date{flex:none;display:grid;place-items:center;align-content:center;width:56px;height:56px;border-radius:50%;background:var(--lagoon-ink);color:#fff;text-align:center;line-height:1.05}
.hero-next-date .d{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.hero-next-date .m{font-size:.875rem}
.hero-next-text{min-width:0;flex:1}
.hero-next-label{display:block;font-size:.875rem;color:#C9EEF2}
.hero-next-title{display:block;font-size:1rem;font-weight:500;line-height:1.3}
.hero-next-go{flex:none;font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:4px}
@media (max-width:519px){
  .hero-next{padding-right:16px}
  .hero-next-go{display:none}
}
/* ===== Bande d'adhésion, à la fin du bloc « activité » ===== */
.join-band{padding:clamp(4px,1.5vw,20px) 0 clamp(20px,3vw,40px)}
.join-band-panel{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:clamp(22px,3.2vw,34px) clamp(24px,4vw,52px);border-radius:var(--r-photo);background:var(--aubergine);color:#fff}
.join-band-panel::before{content:"";position:absolute;right:-70px;top:50%;width:230px;height:230px;margin-top:-115px;border:2px solid var(--turquoise);border-radius:50%;opacity:.35;pointer-events:none}
.join-band-panel::after{content:"";position:absolute;right:-40px;top:50%;width:170px;height:170px;margin-top:-85px;border:2px solid var(--turquoise);border-radius:50%;opacity:.2;pointer-events:none}
.join-band-text{position:relative;margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,1.1rem + .9vw,1.8rem);line-height:1.25}
.join-band .btn{position:relative}
.join-band :focus-visible{outline-color:#fff}
@media (max-width:559px){
  .join-band .btn{width:100%;text-align:center}
}
/* Étapes d'adhésion : pastille blanche sur le fond lavande */
.section--lavender .steps li::before{background:#fff}
/* Menu compact entre 1200 et 1279 px (avec agenda et actualités, six entrées dans la langue la plus longue) */
@media (min-width:1200px) and (max-width:1279px){
  .brand img{height:50px}
  .nav a:not(.btn){font-size:.875rem;padding:10px 9px}
  .nav li.nav-cta{margin-left:6px}
  .lang{margin-left:8px;padding-left:8px}
}
/* ===== Fil d'actualités : photos et articles sur le fond menthe de l'ancienne section « Nos actions » ===== */
.news-section .news-list{margin-top:34px;gap:20px}
.news-section .news-card{box-shadow:0 14px 28px -22px rgba(52,18,74,.45)}
.news-card--photo{padding:0;overflow:hidden;display:flex;flex-direction:column}
.news-photo{margin:0}
.news-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.news-body{padding:16px 22px 20px}
.news-card--photo .news-title{margin:0 0 4px;font-size:1.15rem}
.news-card--photo .news-meta{margin:0;font-family:var(--sans);font-size:.875rem;color:var(--muted)}
.news-section:has(+ #agenda:not([hidden])) > .edge--bottom{display:none}
@media (min-width:600px) and (max-width:899px){
  .news-section .news-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Les vagues de bord de la première section sont fixes : celles du premier écran, juste au-dessus, suffisent (8 animations au plus à l'arrivée) */
.news-section > .edge--top .wave{animation:none}
/* Sous 1000 px, la carte des îles passe derrière le texte du premier écran : on l'atténue pour ménager le contraste */
@media (max-width:999px){
  .iles{opacity:.5}
}
/* Pied de page : crédit de la société d'infogérance */
.footer-credit{color:var(--on-dark-muted)}
.footer-credit a{color:#fff;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}
/* Pied de page : les liens de suivi gardent l'icône à côté du libellé (la règle des cibles tactiles les empilait) */
.footer-col .follow a{display:inline-flex;align-items:center;gap:14px;padding:0}
/* Partenaires : grille régulière (4 colonnes sur ordinateur, 2 sur tablette, 1 sur mobile) au lieu de pastilles qui s'enroulent */
.partner-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.partner{max-width:none}

/* Menu : symbole de fermeture visible en mode couleurs forcées (Windows contraste élevé) */
@media (forced-colors:active){.menu-toggle[aria-expanded="true"] .bars{forced-color-adjust:none;border-color:transparent}.menu-toggle[aria-expanded="true"] .bars::before,.menu-toggle[aria-expanded="true"] .bars::after{forced-color-adjust:none;background:CanvasText}}
/* Liens de langue : zones tactiles plus larges sur écran tactile quand la place le permet (40 px dès 390 px, 44 px dès 600 px) */
@media (pointer:coarse) and (min-width:390px){.lang a{min-width:40px;text-align:center}}
@media (pointer:coarse) and (min-width:600px){.lang a{min-width:44px}}
