/* Concept : institution sobre et solennelle. Fond blanc et gris perle, angles droits, grands titres Cinzel,
   bandes vert nuit pour les moments forts, or réservé aux filets et aux titres sur fond sombre. Thème clair unique (charte). */
:root{
  color-scheme:light;
  --blanc:#ffffff; --perle:#eaf1e9; --perle-2:#f4f8f3; --vert:#01541c; --nuit:#092c14;
  --or:#cea549; --or-lum:#ffd94d; --rouge:#c6070c;
  --encre:#092c14; --encre-70:rgba(9,44,20,.72); --encre-50:rgba(9,44,20,.5); --filet:#d3ded2;
  --titre:"Cinzel",Georgia,serif; --texte:"Source Sans 3",Arial,sans-serif; --slogan:"Lora",Georgia,serif;
  --etoile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2301541c' d='M12 1.5l3.1 7.1 7.7.7-5.8 5.1 1.7 7.6L12 18l-6.7 4 1.7-7.6-5.8-5.1 7.7-.7z'/%3E%3C/svg%3E");
  --largeur:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blanc);color:var(--encre);font-family:var(--texte);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--vert)}
img{display:block;max-width:100%}
.wrap{max-width:var(--largeur);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--titre);font-weight:700;color:var(--vert);line-height:1.12;text-wrap:balance;margin:0}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
p{margin:0}
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.ph{background:#fff4c2}

/* éléments de la charte */
.sur{display:flex;align-items:center;gap:12px;font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vert);margin-bottom:14px}
.sur::before{content:"";width:28px;height:2px;background:var(--or)}
.sur.clair{color:var(--or-lum)}
.filet{width:72px;height:2px;background:var(--or);border:0;margin:20px 0 24px}
.slogan{font-family:var(--slogan);font-style:italic}
.tricolore{height:14px;background:var(--etoile) center/auto 78% no-repeat,linear-gradient(90deg,var(--vert) 0 33.33%,var(--or) 33.33% 66.66%,var(--rouge) 66.66%)}
.tete-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:44px}
.tete-section p.intro{color:var(--encre-70);max-width:56ch;margin-top:14px;font-size:1.1rem}

/* boutons : angles droits */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 1rem/1.2 var(--texte);text-decoration:none;padding:15px 26px;border:2px solid var(--vert);background:var(--vert);color:#fff;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--nuit);border-color:var(--nuit)}
.btn.contour{background:transparent;color:var(--vert)}
.btn.contour:hover{background:var(--vert);color:#fff}
.btn.clair{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn.clair:hover{background:#fff;color:var(--nuit);border-color:#fff}
.btn.rouge{background:var(--rouge);border-color:var(--rouge)}
.btn.rouge:hover{background:#a00509;border-color:#a00509}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.lien-fleche{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;color:var(--vert);border-bottom:2px solid var(--or);padding-bottom:3px}
.lien-fleche:hover{color:var(--nuit)}

/* top bar */
.topbar{background:var(--nuit);color:#e3ece4;font-size:.88rem}
.topbar .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-block:9px}
.tb-infos{display:flex;flex-wrap:wrap;gap:6px 22px;min-width:0}
.tb-infos > span{display:inline-flex;align-items:center;gap:7px}
.tb-infos svg{width:15px;height:15px;fill:var(--or);flex:none}
.tb-devise{font-family:var(--slogan);font-style:italic;color:var(--or-lum);white-space:nowrap;font-size:.95rem}
.tb-reseaux{justify-self:end;display:flex;gap:4px}
.tb-reseaux a{width:30px;height:30px;display:grid;place-items:center;color:#fff}
.tb-reseaux a:hover{background:var(--vert)}
.tb-reseaux svg{width:15px;height:15px;fill:currentColor}
@media (prefers-reduced-motion:no-preference){
  .tb-devise{background:linear-gradient(100deg,var(--or) 0%,var(--or-lum) 35%,#fff7d1 50%,var(--or-lum) 65%,var(--or) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:brille 4.5s ease-in-out infinite,entre 1.2s ease-out both}
  @keyframes brille{0%{background-position:100% 0}60%,100%{background-position:-20% 0}}
  @keyframes entre{from{letter-spacing:.2em;opacity:.2}to{letter-spacing:0;opacity:1}}
}

/* en-tête */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--blanc)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--blanc);border-bottom:1px solid var(--filet);transition:background-color .25s ease}
header.defile{background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
header > .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-block:10px}
.marque{justify-self:start;display:block}
.marque img{width:118px;height:auto}
header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:34px;align-items:center}
header nav > ul > li{position:relative}
header nav a,header nav button.dd{display:inline-flex;align-items:center;gap:6px;font:600 1.15rem/1.5 var(--texte);text-decoration:none;background:none;border:0;color:var(--encre);padding:10px 0;cursor:pointer;position:relative}
header nav > ul > li > a::after,header nav button.dd::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .25s}
header nav > ul > li > a:hover::after,header nav button.dd:hover::after,header nav a.actif::after,header nav button.dd.actif::after{transform:scaleX(1)}
header nav a.actif,header nav button.dd.actif{color:var(--vert)}
header nav .fl{font-size:.7em;margin-top:2px}
header nav .sous{position:absolute;top:calc(100% + 6px);left:-18px;min-width:260px;background:var(--blanc);border-top:3px solid var(--or);box-shadow:0 18px 40px rgba(9,44,20,.14);padding:8px 0;display:block}
header nav .sous[hidden]{display:none}
header nav .sous a{display:block;font-size:1rem;font-weight:500;padding:11px 20px}
header nav .sous a:hover{background:var(--perle-2);color:var(--vert)}
.droite{justify-self:end;display:flex;align-items:center;gap:12px}
.rech-btn{width:46px;height:46px;border:1px solid var(--filet);background:var(--blanc);display:grid;place-items:center;cursor:pointer;color:var(--vert)}
.rech-btn:hover,.rech-btn[aria-expanded="true"]{border-color:var(--vert);background:var(--perle-2)}
.rech-btn svg,.rech-champ > svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.droite .btn{padding:12px 24px}
.burger{display:none;background:var(--blanc);border:1px solid var(--filet);padding:11px 16px;font:600 1rem var(--texte);color:var(--vert);cursor:pointer}
.cta-mobile{display:none}
.recherche{border-top:1px solid var(--filet);background:var(--blanc);box-shadow:0 18px 40px rgba(9,44,20,.12)}
.recherche[hidden]{display:none}
.recherche .wrap{padding-block:18px 22px}
.rech-champ{display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--vert);padding:6px 2px;color:var(--vert);max-width:780px;margin:0 auto}
.rech-champ input{flex:1;min-width:0;border:0;outline:0;font:1.15rem var(--texte);color:var(--encre);padding:.5em 0;background:transparent}
.rech-champ input::-webkit-search-cancel-button{display:none}
.rech-champ button{border:0;background:none;font-size:1.1rem;color:var(--encre-70);cursor:pointer;padding:6px 10px}
.rech-res{list-style:none;padding:0;margin:12px auto 0;max-width:780px;max-height:60vh;overflow:auto}
.rech-res a{display:block;text-decoration:none;padding:12px 14px;border-left:3px solid transparent}
.rech-res a:hover,.rech-res a:focus-visible{background:var(--perle-2);border-left-color:var(--or)}
.rech-res small{display:block;color:var(--encre-70);font-size:.8rem;letter-spacing:.04em}
.rech-res strong{display:block;color:var(--vert)}
.rech-res span{display:block;color:var(--encre-70);font-size:.92rem;line-height:1.45;margin-top:2px}
.rech-vide{padding:12px 14px;color:var(--encre-70)}
@media (max-width:1040px){
  header > .wrap{grid-template-columns:1fr auto}
  .burger{display:block}
  .droite .cta-desk{display:none}
  .cta-mobile{display:block}
  header nav{position:absolute;left:0;right:0;top:100%;background:var(--blanc);border-bottom:1px solid var(--filet);box-shadow:0 18px 40px rgba(9,44,20,.12);padding:10px max(20px,env(safe-area-inset-right,0px)) 22px max(20px,env(safe-area-inset-left,0px))}
  header nav ul{flex-direction:column;align-items:stretch;gap:0}
  header nav > ul > li{border-bottom:1px solid var(--filet)}
  header nav a,header nav button.dd{padding:14px 0;width:100%}
  header nav > ul > li > a::after,header nav button.dd::after{display:none}
  header nav .sous{position:static;box-shadow:none;border:0;border-left:2px solid var(--or);margin:0 0 10px 6px;padding:0}
  header nav .cta-mobile{border:0;margin-top:14px}
  header nav .cta-mobile a{width:100%;color:#fff;padding:15px}
  .topbar .wrap{grid-template-columns:1fr auto}
  .tb-devise,.tb-infos .tb-lieu{display:none}
}

/* hero */
.hero{position:relative;color:#fff;background:var(--nuit);overflow:hidden}
.hero-fond{position:absolute;inset:0;background:var(--i-monument) 70% 30%/cover no-repeat}
.hero-voile{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,44,20,.94) 0%,rgba(9,44,20,.8) 38%,rgba(9,44,20,.25) 72%,rgba(9,44,20,.05) 100%),linear-gradient(0deg,rgba(9,44,20,.7),transparent 40%)}
.hero .wrap{position:relative;padding-block:clamp(72px,10vw,128px) clamp(120px,12vw,170px)}
.hero-texte{max-width:640px}
.hero .devise{font-family:var(--slogan);font-style:italic;color:var(--or-lum);font-size:1.2rem;margin-bottom:18px}
.hero h1{color:#fff;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;letter-spacing:.01em}
.hero h1 span{display:block;color:var(--or-lum)}
.hero .filet{width:110px;margin:28px 0}
.hero .slogan{font-size:clamp(1.25rem,2.2vw,1.55rem);color:#fff;margin-bottom:12px}
.hero .chapo{color:#d9e5db;font-size:1.12rem;max-width:52ch;margin-bottom:36px}
.hero .btn.contour{color:#fff;border-color:#fff}
.hero .btn.contour:hover{background:#fff;color:var(--nuit)}
@media (prefers-reduced-motion:no-preference){
  .hero-texte > *{animation:monte .8s cubic-bezier(.2,.7,.2,1) both}
  .hero-texte > *:nth-child(2){animation-delay:.08s}.hero-texte > *:nth-child(3){animation-delay:.16s}.hero-texte > *:nth-child(4){animation-delay:.24s}.hero-texte > *:nth-child(5){animation-delay:.32s}.hero-texte > *:nth-child(6){animation-delay:.4s}
  .hero-fond{animation:zoom 14s ease-out both}
  @keyframes monte{from{transform:translateY(18px)}to{transform:none}}
  @keyframes zoom{from{transform:scale(1.06)}to{transform:none}}
}

/* deux grands boutons sous le hero */
.acces{position:relative;margin-top:-72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-left:auto;margin-right:auto;box-shadow:0 24px 50px rgba(9,44,20,.22);z-index:2}
.acces a{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;padding:48px 40px;color:#fff;background:var(--vert);transition:filter .2s}
.acces a.don{background:var(--rouge)}
.acces a:hover{filter:brightness(1.1)}
.acces small{display:block;font-size:.9rem;opacity:.85;letter-spacing:.04em}
.acces strong{display:block;font-family:var(--titre);font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2;margin-top:6px}
.acces .fleche{width:52px;height:52px;flex:none;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:transform .2s}
.acces a:hover .fleche{transform:translateX(4px)}
.acces .fleche svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2}

/* sections */
.bloc{padding-block:clamp(72px,9vw,120px)}
.bloc.perle{background:var(--perle-2)}

/* qui sommes-nous */
.qui-grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.cadre{position:relative;max-width:100%}
.cadre::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:2px solid var(--or);z-index:0}
.cadre img{position:relative;z-index:1;width:100%;aspect-ratio:5/4;object-fit:cover}
.cadre .etiquette{position:absolute;z-index:2;left:-1px;bottom:28px;background:var(--nuit);color:#fff;padding:16px 22px;max-width:75%}
.cadre .etiquette b{display:block;font-family:var(--titre);font-size:1.6rem;color:var(--or-lum);line-height:1.1}
.cadre .etiquette span{font-size:.9rem;color:#d9e5db}
.citation-grande{font-family:var(--slogan);font-style:italic;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.45;color:var(--vert);margin:6px 0 24px;position:relative;padding-left:28px;border-left:3px solid var(--or)}
.texte-courant p{color:var(--encre-70);margin-bottom:16px;max-width:60ch}

/* valeurs : bande sombre */
.valeurs-bande{position:relative;background:var(--nuit);color:#e3ece4;isolation:isolate}
.valeurs-bande::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.04;background:var(--i-aigles) 0 0/220px auto repeat}
.valeurs-bande h2{color:#fff}
.valeurs-bande .tete-section p.intro{color:#c9d8cc}
.quatre{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(206,165,73,.45)}
.quatre > div{padding:36px 30px 8px;border-left:1px solid rgba(206,165,73,.3)}
.quatre > div:first-child{border-left:0;padding-left:0}
.quatre svg{width:38px;height:38px;fill:none;stroke:var(--or);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:22px}
.quatre h3{color:var(--or-lum);font-size:1.75rem;margin-bottom:10px}
.quatre p{color:#cfdcd1;line-height:1.6}
.devise-centre{text-align:center;font-family:var(--slogan);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.75rem);color:#fff;margin-top:64px;padding-top:40px;border-top:1px solid rgba(206,165,73,.3)}
@media (max-width:960px){.quatre{grid-template-columns:repeat(2,minmax(0,1fr))}.quatre > div:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:560px){.quatre{grid-template-columns:1fr}.quatre > div{border-left:0;padding-left:0;border-bottom:1px solid rgba(206,165,73,.25);padding-bottom:28px}}

/* président */
.pres-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);align-items:center}
.cadre.portrait img{aspect-ratio:4/5;object-position:50% 22%}
.cadre.portrait::before{inset:22px 22px -22px -22px}
.pres-nom{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.pres-role{color:var(--encre-70);font-size:1.1rem;margin-top:8px}
.faits{list-style:none;padding:0;margin:28px 0 34px;display:grid;gap:0;border-top:1px solid var(--filet)}
.faits li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--filet)}
.faits b{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--vert);padding-top:2px}
@media (max-width:520px){.faits li{grid-template-columns:1fr;gap:2px}}

/* programme */
.engagements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.engagements article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:28px 0;border-top:1px solid var(--filet)}
.engagements svg{width:44px;height:44px;fill:none;stroke:var(--vert);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.engagements h3{font-family:var(--texte);font-weight:600;font-size:1.25rem;color:var(--encre);margin-bottom:6px}
.engagements p{color:var(--encre-70)}
.engagements article.large{grid-column:1/-1}
.secteurs-titre{font-weight:600;margin:40px 0 14px}
.secteurs{display:flex;flex-wrap:wrap;gap:8px}
.secteurs span{border:1px solid var(--filet);background:var(--blanc);padding:6px 14px;font-size:.92rem;color:var(--vert);font-weight:600}
@media (max-width:760px){.engagements{grid-template-columns:1fr}}

/* instances */
.instances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}
.instance{padding:36px 32px;background:var(--blanc);border:1px solid var(--filet);position:relative}
.instance + .instance{border-left:0}
.instance.principale{background:var(--vert);border-color:var(--vert);color:#e3ece4}
.instance.principale h3{color:var(--or-lum)}
.instance .role{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--or);font-weight:600;margin-bottom:12px;display:block}
.instance h3{font-size:1.5rem;margin-bottom:12px}
.instance p{color:var(--encre-70)}
.instance.principale p{color:#d6e3d8}
.instance .lien{position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;background:var(--or);color:var(--nuit);display:grid;place-items:center}
.instance .lien svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4}
@media (max-width:860px){.instances{grid-template-columns:1fr}.instance + .instance{border-left:1px solid var(--filet);border-top:0}.instance .lien{right:auto;left:50%;top:auto;bottom:-17px;transform:translateX(-50%) rotate(90deg)}}

/* actualités accueil */
.actus-grille{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px}
.une{display:block;text-decoration:none;color:inherit}
.une .img,.carte .img{position:relative;aspect-ratio:16/10;max-width:100%;background:var(--photo) 45% 30%/cover no-repeat,var(--nuit);overflow:hidden}
.une .img{aspect-ratio:16/11}
.date{position:absolute;top:0;left:0;text-align:center;background:var(--vert);color:#fff;padding:14px 16px 12px;font-variant-numeric:tabular-nums;min-width:76px}
.date b{display:block;font:700 1.9rem/1 var(--titre)}
.date span{display:block;font-size:.78rem;margin-top:4px;letter-spacing:.05em}
.cat{position:absolute;left:0;bottom:0;background:var(--nuit);color:var(--or-lum);font-weight:600;font-size:.82rem;letter-spacing:.06em;padding:9px 16px}
.une .corps{padding-top:24px}
.une h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:8px 0 12px}
.une p{color:var(--encre-70)}
.auteur{color:var(--encre-50);font-size:.9rem}
.une:hover h3,.carte:hover h3,.liste-actus a:hover strong{text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:5px}
.liste-actus{display:grid;align-content:start}
.liste-actus a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;text-decoration:none;color:inherit;padding:20px 0;border-bottom:1px solid var(--filet)}
.liste-actus a:first-child{padding-top:0}
.liste-actus .mini{aspect-ratio:1;background:var(--photo) 45% 30%/cover no-repeat,var(--nuit)}
.liste-actus small{display:block;color:var(--encre-50);font-size:.85rem;margin-bottom:4px}
.liste-actus strong{display:block;font-family:var(--titre);color:var(--vert);font-size:1.12rem;line-height:1.3}
@media (max-width:880px){.actus-grille{grid-template-columns:1fr}}

/* appel final */
.appel{position:relative;color:#fff;background:var(--nuit);overflow:hidden;isolation:isolate}
.appel::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--i-conf) 50% 30%/cover no-repeat}
.appel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,84,28,.95),rgba(9,44,20,.82) 55%,rgba(9,44,20,.6))}
.appel .wrap{padding-block:clamp(72px,9vw,112px);display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:40px;align-items:center}
.appel h2{color:#fff}
.appel h2 span{color:var(--or-lum)}
.appel p{color:#d9e5db;margin-top:16px;font-size:1.12rem;max-width:54ch}
.appel .actions{justify-content:flex-end}
@media (max-width:820px){.appel .wrap{grid-template-columns:1fr}.appel .actions{justify-content:flex-start}}

/* bandeau des pages */
.bandeau{position:relative;color:#fff;background:var(--nuit);overflow:hidden;isolation:isolate}
.bandeau::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--fond) 50% 40%/cover no-repeat}
.bandeau::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,44,20,.92),rgba(9,44,20,.62) 60%,rgba(9,44,20,.45))}
.bandeau .wrap{padding-block:clamp(64px,8vw,104px)}
.fil{font-size:.92rem;color:#c9d8cc;margin-bottom:18px}
.fil a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.bandeau h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4rem);max-width:18ch}
.bandeau .filet{margin:24px 0 18px}
.bandeau .slogan{font-size:1.25rem;color:var(--or-lum)}

/* pages de lecture avec sommaire */
.lecture .wrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:72px;padding-block:80px}
.sommaire{position:sticky;top:calc(env(safe-area-inset-top,0px) + 160px);align-self:start}
.sommaire h2{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--texte);color:var(--encre);margin-bottom:16px}
.sommaire ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--filet)}
.sommaire a{display:block;padding:10px 0 10px 20px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--encre-70);font-size:1rem}
.sommaire a:hover{color:var(--vert)}
.sommaire a.actif{color:var(--vert);font-weight:600;border-left-color:var(--or)}
.contenu section{scroll-margin-top:170px;padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--filet)}
.contenu section:last-child{border-bottom:0;margin-bottom:0}
.contenu h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.contenu p,.contenu li{font-size:1.08rem;line-height:1.78;max-width:70ch}
.contenu p{margin:0 0 1.1em;color:var(--encre)}
.contenu ul,.contenu ol{padding-left:1.25em;margin:0 0 1.1em}
.contenu li{margin-bottom:.5em}
.contenu .citation{font-family:var(--slogan);font-style:italic;font-size:1.4rem;line-height:1.5;color:var(--vert);border-left:3px solid var(--or);padding-left:22px;margin:14px 0 22px}
.contenu h3.sous-titre{font-family:var(--texte);font-weight:600;font-size:1.25rem;color:var(--encre);margin:34px 0 10px}
.sigle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:10px 0 28px;border:1px solid var(--filet)}
.sigle div{padding:24px;border-left:1px solid var(--filet);font-size:1rem;color:var(--encre-70);line-height:1.55}
.sigle div:first-child{border-left:0}
.sigle b{display:block;font-family:var(--titre);font-size:3rem;color:var(--vert);line-height:1}
.sigle span{display:block;font-weight:600;color:var(--encre);margin:8px 0 6px}
.vision-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vision-grille > div{background:var(--perle-2);padding:24px 26px;border-top:3px solid var(--vert);min-width:0}
.vision-grille h3{font-family:var(--texte);font-weight:600;font-size:1.15rem;color:var(--vert);margin-bottom:8px}
.vision-grille ul{margin:0;padding-left:1.1em}
.vision-grille li{font-size:1rem!important;line-height:1.55!important}
.qui{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start;margin-bottom:12px}
.qui > *{min-width:0}
.portrait-img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;object-position:50% 22%;border-bottom:4px solid var(--or)}
.tribunes{display:grid;gap:0;border-top:1px solid var(--filet)}
.tribunes a{display:block;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--filet)}
.tribunes small{display:block;color:var(--encre-50);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.tribunes span{font-family:var(--titre);color:var(--vert);font-size:1.2rem}
.tribunes a:hover span{text-decoration:underline;text-decoration-color:var(--or)}
.frise{list-style:none;padding:0!important;margin:6px 0 1em;border-left:2px solid var(--or)}
.frise li{position:relative;padding:0 0 22px 28px;margin:0!important;line-height:1.6}
.frise li::before{content:"";position:absolute;left:-8px;top:.45em;width:14px;height:14px;background:var(--vert);border:3px solid var(--blanc);box-shadow:0 0 0 1px var(--vert)}
.frise time{display:block;font-weight:600;color:var(--vert);font-variant-numeric:tabular-nums;letter-spacing:.03em}
@media (max-width:960px){.lecture .wrap{grid-template-columns:1fr;gap:28px;padding-block:44px}
  .sommaire{position:static}.sommaire ol{display:flex;flex-wrap:wrap;gap:8px;border:0}
  .sommaire a{border:1px solid var(--filet);padding:7px 14px;margin:0;font-size:.95rem}
  .sommaire a.actif{border-color:var(--or)}}
@media (max-width:600px){.sigle,.vision-grille{grid-template-columns:1fr}.sigle div{border-left:0;border-top:1px solid var(--filet)}.sigle div:first-child{border-top:0}.qui{grid-template-columns:1fr}.portrait-img{width:200px}}

/* page valeurs */
.v-liste{display:grid;gap:0;border-top:1px solid var(--filet)}
.v-liste article{display:grid;grid-template-columns:90px minmax(0,300px) minmax(0,1fr);gap:36px;padding:44px 0;border-bottom:1px solid var(--filet);align-items:start}
.v-liste svg{width:56px;height:56px;fill:none;stroke:var(--vert);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.v-liste h2{font-size:clamp(2.2rem,4vw,3.2rem)}
.v-liste .slogan{color:var(--or);font-size:1.15rem;margin-top:10px}
.v-liste p{color:var(--encre-70);margin-bottom:14px;font-size:1.08rem}
.v-liste ul{margin:0;padding-left:1.15em;color:var(--encre)}
.v-liste li{margin-bottom:.4em}
@media (max-width:860px){.v-liste article{grid-template-columns:64px minmax(0,1fr);gap:16px 20px}.v-liste article > div:last-child{grid-column:1/-1}.v-liste svg{width:44px;height:44px}}
.grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--filet)}
.grille-3 > div{padding:30px 30px 30px 0;border-bottom:1px solid var(--filet)}
.grille-3 > div:not(:nth-child(3n+1)){padding-left:30px;border-left:1px solid var(--filet)}
.grille-3 h3{font-size:1.4rem;margin-bottom:10px}
.grille-3 p{color:var(--encre-70)}
@media (max-width:760px){.grille-3{grid-template-columns:1fr}.grille-3 > div:not(:nth-child(3n+1)){padding-left:0;border-left:0}}
.couleurs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.couleurs > div{background:var(--blanc);border:1px solid var(--filet)}
.couleurs .nuance{height:96px}
.couleurs .txt{padding:20px 22px}
.couleurs h3{font-size:1.3rem;margin-bottom:8px}
.couleurs p{color:var(--encre-70);font-size:.98rem}
@media (max-width:900px){.couleurs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.couleurs{grid-template-columns:1fr}}

/* actualités */
.onglets{display:flex;flex-wrap:wrap;gap:0;margin-bottom:44px;border-bottom:1px solid var(--filet)}
.onglets button{font:600 1rem var(--texte);color:var(--encre-70);background:none;border:0;border-bottom:3px solid transparent;padding:14px 22px;margin-bottom:-1px;cursor:pointer}
.onglets button:hover{color:var(--vert)}
.onglets button[aria-selected="true"]{color:var(--vert);border-bottom-color:var(--or)}
.cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.carte{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0}
.carte .corps{padding-top:20px;display:grid;gap:8px}
.carte h3{font-size:1.35rem;line-height:1.25}
.carte p{color:var(--encre-70);font-size:1rem}
@media (max-width:960px){.cartes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cartes{grid-template-columns:1fr}}

/* article */
.art-tete{background:var(--perle-2);border-bottom:1px solid var(--filet)}
.art-tete .wrap{max-width:920px;padding-block:56px 48px}
.art-tete .fil{color:var(--encre-70)}
.art-tete .fil a{color:var(--vert);border-bottom-color:var(--or)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:18px;font-size:.95rem;color:var(--encre-70)}
.meta .cat{position:static}
.art-tete h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.chapeau{font-family:var(--slogan);font-style:italic;font-size:1.3rem;line-height:1.55;max-width:60ch;color:var(--encre)}
.art-corps{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding-block:56px 88px}
.art-corps > *{min-width:0}
.art-img{aspect-ratio:16/9;max-width:100%;background:var(--photo) 50% 35%/cover no-repeat,var(--nuit)}
.legende{font-size:.88rem;color:var(--encre-70);margin:10px 0 32px;padding-left:12px;border-left:2px solid var(--or)}
.art-texte p{font-size:1.15rem;line-height:1.85;margin:0 0 1.25em;max-width:68ch}
.art-texte h2{font-size:1.65rem;margin:1.7em 0 .7em}
.art-texte ol,.art-texte ul{font-size:1.1rem;line-height:1.75;padding-left:1.3em;max-width:68ch}
.art-texte li{margin-bottom:.6em}
.art-texte blockquote{margin:1.6em 0;padding:6px 0 6px 26px;border-left:3px solid var(--or);font-family:var(--slogan);font-style:italic;font-size:1.4rem;line-height:1.55;color:var(--vert)}
.art-pied{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--filet);margin-top:40px;padding-top:28px}
.copier{font:600 .95rem var(--texte);background:var(--blanc);color:var(--vert);border:1px solid var(--filet);padding:12px 18px;cursor:pointer}
.copier:hover{border-color:var(--vert)}
.autres{position:sticky;top:calc(env(safe-area-inset-top,0px) + 160px);align-self:start}
.autres h2{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--texte);color:var(--encre);margin-bottom:6px}
.autres a{display:block;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--filet)}
.autres a small{display:block;color:var(--encre-50);font-size:.85rem;margin-bottom:4px}
.autres a span{font-family:var(--titre);color:var(--vert);line-height:1.35}
.suivants{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.suivants a{display:block;text-decoration:none;border:1px solid var(--filet);padding:18px 20px;min-width:0}
.suivants a:hover{border-color:var(--vert)}
.suivants a:last-child{text-align:right}
.suivants small{display:block;color:var(--encre-50);font-size:.85rem}
.suivants span{font-weight:600;color:var(--vert)}
@media (max-width:960px){.art-corps{grid-template-columns:1fr;gap:44px}.autres{position:static}}
@media (max-width:520px){.suivants{grid-template-columns:1fr}.suivants a:last-child{text-align:left}}

/* boutique */
.pourquoi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--filet);margin-bottom:48px}
.pourquoi div{padding:26px 28px;border-left:1px solid var(--filet)}
.pourquoi div:first-child{border-left:0}
.pourquoi h3{font-size:1.4rem;margin-bottom:6px}
.pourquoi p{color:var(--encre-70)}
@media (max-width:700px){.pourquoi{grid-template-columns:1fr}.pourquoi div{border-left:0;border-top:1px solid var(--filet)}.pourquoi div:first-child{border-top:0}}
.etapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 36px;counter-reset:e;border-bottom:1px solid var(--filet)}
.etapes li{display:flex;align-items:center;gap:12px;padding:0 0 16px;color:var(--encre-50);font-weight:600;counter-increment:e;border-bottom:3px solid transparent;margin-bottom:-1px}
.etapes li::before{content:counter(e);width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid var(--filet);color:var(--encre-50);font-variant-numeric:tabular-nums}
.etapes li.fait{color:var(--vert)}
.etapes li.fait::before{content:"✓";background:var(--vert);border-color:var(--vert);color:#fff}
.etapes li.encours{color:var(--vert);border-bottom-color:var(--or)}
.etapes li.encours::before{background:var(--vert);border-color:var(--vert);color:#fff}
@media (max-width:640px){.etapes{grid-template-columns:repeat(4,auto);gap:10px}.etapes li{font-size:0;gap:0}.etapes li::before{font-size:.95rem}}
.boutique{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start}
.bloc-etape h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:8px}
.bloc-etape > p{margin:0 0 26px;color:var(--encre-70)}
.formules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.formule{position:relative;display:block;border:2px solid var(--filet);padding:22px;cursor:pointer;background:var(--blanc)}
.formule input{position:absolute;opacity:0;pointer-events:none}
.formule:has(input:checked){border-color:var(--vert);box-shadow:inset 0 0 0 1px var(--vert)}
.formule:has(input:focus-visible){outline:3px solid var(--or);outline-offset:2px}
.formule h3{font-family:var(--texte);font-weight:600;font-size:1.2rem;color:var(--vert);margin:16px 0 4px}
.formule p{margin:0 0 12px;color:var(--encre-70);line-height:1.5;font-size:.96rem}
.prix{font-weight:700;font-size:1.45rem;color:var(--encre);font-variant-numeric:tabular-nums}
.prix small{font-size:.8rem;font-weight:400;color:var(--encre-70)}
.coche{position:absolute;bottom:24px;right:22px;width:24px;height:24px;border:2px solid var(--filet);background:var(--blanc)}
.formule:has(input:checked) .coche{background:var(--vert);border-color:var(--vert);box-shadow:inset 0 0 0 4px #fff}
.mini-carte{aspect-ratio:85.6/54;max-width:100%;background:var(--blanc);border:1px solid var(--filet);position:relative;overflow:hidden;padding:9% 8% 0;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 18px rgba(9,44,20,.12)}
.mini-carte img{width:34%;height:auto}
.mini-carte b{font-family:var(--titre);color:var(--vert);font-size:.85rem;margin-top:4px}
.mini-carte span{font-size:.72rem;color:var(--encre-70)}
.mini-carte .ruban{position:absolute;right:8%;top:12%;font-size:.65rem;font-weight:600;color:#fff;background:var(--vert);padding:3px 8px;font-style:normal}
.mini-carte::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9%;background:var(--etoile) center/auto 80% no-repeat,linear-gradient(90deg,var(--vert) 0 33.3%,var(--or) 33.3% 66.6%,var(--rouge) 66.6%)}
.panier{position:sticky;top:calc(env(safe-area-inset-top,0px) + 160px);background:var(--nuit);color:#e3ece4;padding:30px}
.panier h2{font-size:1.4rem;color:var(--or-lum);margin-bottom:18px}
.panier .ligne{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);font-variant-numeric:tabular-nums}
.panier .total{font-weight:700;font-size:1.25rem;border-bottom:0;padding-top:18px;color:#fff}
.panier .note{font-size:.88rem;color:#b9cbbd;margin:14px 0 0;line-height:1.5}
.form-grille{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.champ{display:flex;flex-direction:column;gap:7px;min-width:0}
.champ.large{grid-column:1/-1}
.champ label{font-weight:600}
.champ input,.champ select{font:inherit;padding:.8em .9em;border:1px solid #b6c6b8;background:var(--blanc);color:var(--encre);min-width:0;border-radius:0}
.champ input:focus,.champ select:focus{outline:2px solid var(--vert);outline-offset:0;border-color:var(--vert)}
.champ .aide{font-size:.85rem;color:var(--encre-70)}
.accord{flex-direction:row!important;align-items:flex-start;gap:12px!important;font-weight:400!important;line-height:1.5;cursor:pointer;background:var(--perle-2);padding:16px 18px;border-left:3px solid var(--or)}
.accord input{width:20px;height:20px;flex:none;accent-color:var(--vert);margin-top:2px}
.erreur{color:var(--rouge);font-weight:600;margin-top:16px}
.paiements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.paiement{display:flex;align-items:center;gap:12px;border:2px solid var(--filet);padding:18px;cursor:pointer;font-weight:600}
.paiement input{accent-color:var(--vert);width:18px;height:18px}
.paiement:has(input:checked){border-color:var(--vert)}
.paiement small{display:block;font-weight:400;color:var(--encre-70);font-size:.85rem}
.nav-etapes{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px}
.merci{text-align:center;max-width:640px;margin:0 auto}
.merci .rond{width:76px;height:76px;margin:0 auto 20px;background:var(--vert);color:#fff;display:grid;place-items:center;font-size:2rem}
.merci h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.recap{text-align:left;background:var(--perle-2);padding:22px 26px;margin:26px 0;border-top:3px solid var(--or)}
.recap div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--filet)}
.recap div:last-child{border-bottom:0}
.demo{background:#fff4c2;padding:12px 16px;font-size:.92rem;line-height:1.5;margin:0 0 28px}
@media (max-width:960px){.boutique{grid-template-columns:1fr}.panier{position:static}}
@media (max-width:600px){.formules,.form-grille,.paiements{grid-template-columns:1fr}}

/* pied de page */
footer{position:relative;background:var(--nuit);color:#e3ece4;isolation:isolate}
footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.035;background:var(--i-aigles) 0 0/220px auto repeat}
.p-haut{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:40px;align-items:center;padding-block:56px 44px;border-bottom:1px solid rgba(206,165,73,.3)}
.p-embleme{display:block;background:var(--blanc);padding:14px;width:150px}
.p-haut .slogan{font-size:clamp(1.3rem,2.4vw,1.75rem);color:#fff;line-height:1.35}
.p-haut .slogan span{display:block;color:var(--or-lum);font-size:.75em;margin-top:6px}
.reseaux{display:flex;gap:10px}
.reseaux a{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(206,165,73,.6);color:#fff}
.reseaux a:hover{background:var(--or);border-color:var(--or);color:var(--nuit)}
.reseaux svg{width:20px;height:20px;fill:currentColor}
.p-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding-block:48px 56px}
.p-cols > *{min-width:0}
footer h4{font-family:var(--titre);font-weight:700;color:var(--or-lum);font-size:1.15rem;line-height:1.3;margin:0 0 20px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
footer ul li{line-height:1.5;min-height:24px;display:flex;align-items:center}
footer a{color:#e3ece4;text-decoration:none}
footer ul a:hover{color:var(--or-lum)}
.mail{gap:8px;overflow-wrap:anywhere}
.mail svg{width:17px;height:17px;flex:none;fill:var(--or)}
.p-boutons{display:grid;gap:12px}
.p-boutons a{display:flex;align-items:center;gap:10px;min-height:50px;padding:12px 18px;font-weight:600;background:var(--blanc);color:var(--vert)}
.p-boutons a.rouge{background:var(--rouge);color:#fff}
.p-boutons a:hover{filter:brightness(.95)}
.p-boutons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.copyright{background:var(--vert);color:#fff;font-size:.92rem}
.copyright .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:16px}
.haut{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
@media (max-width:960px){.p-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.p-haut{grid-template-columns:auto minmax(0,1fr)}.reseaux{grid-column:1/-1}}
@media (max-width:560px){.p-cols{grid-template-columns:1fr}.p-haut{grid-template-columns:1fr}.p-embleme{width:130px}}

/* mobile général */
@media (max-width:760px){
  .tete-section{grid-template-columns:1fr}
  .qui-grille,.pres-grille{grid-template-columns:1fr}
  .cadre::before{inset:14px -10px -14px 14px}
  .cadre.portrait::before{inset:14px 14px -14px -10px}
  .acces{grid-template-columns:1fr;margin-top:-48px}
  .acces a{padding:30px 26px}
  .hero .wrap{padding-block:56px 96px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* bandeau boutique : cartes mises en scène */
.b-boutique::before{background:var(--i-aigles) 0 0/220px auto repeat;opacity:.05}
.b-boutique::after{background:radial-gradient(ellipse 60% 90% at 78% 50%,rgba(1,84,28,.9),transparent 70%),var(--nuit)}
.b-boutique .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:40px;align-items:center}
.pile{position:relative;height:300px}
.vcarte.c1{right:110px;top:10px;transform:rotate(-7deg)}
.vcarte.c2{right:0;top:80px;transform:rotate(5deg)}
@media (prefers-reduced-motion:no-preference){
  .vcarte.c1{animation:flotte1 6s ease-in-out infinite}
  .vcarte.c2{animation:flotte2 7s ease-in-out infinite}
  @keyframes flotte1{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-14px)}}
  @keyframes flotte2{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(8deg) translateY(12px)}}
  .vcarte .carte-ars::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.65) 48%,rgba(255,217,77,.25) 52%,transparent 65%);background-size:250% 100%;animation:reflet 4s ease-in-out infinite}
  .vcarte.c2 .carte-ars::after{animation-delay:2s}
  @keyframes reflet{0%{background-position:120% 0}55%,100%{background-position:-60% 0}}
}
@media (max-width:900px){.b-boutique .wrap{grid-template-columns:1fr}.pile{height:220px;max-width:420px;width:100%}.vcarte{width:300px}.vcarte.c1{right:auto;left:0;top:0}.vcarte.c2{right:0;top:60px}}

/* carte de membre officielle */
.carte-ars{container-type:inline-size;width:100%;max-width:100%;aspect-ratio:85.6/54;background:#fff;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(9,44,20,.16)}
.ca{position:absolute;inset:0;display:grid;grid-template-columns:31% minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;font-size:3.1cqw;line-height:1.25;color:var(--encre)}
.ca-logo{background:var(--i-embleme) center/contain no-repeat;margin:1.1em .2em .5em 1.1em}
.ca-info{padding:1.2em 1.3em .4em .9em;display:flex;flex-direction:column;justify-content:center;gap:.45em;min-width:0}
.ca-titre{font-family:var(--titre);font-weight:700;color:var(--vert);font-size:1.25em;line-height:1.1;padding-bottom:.35em;border-bottom:.08em solid var(--or);margin-bottom:.15em}
.ca-ligne{display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:.4em;align-items:baseline;white-space:nowrap}
.ca-ligne small{font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--encre-70)}
.ca-ligne b{font-weight:700;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.ca-type{position:absolute;top:.9em;right:1em;font-style:normal;font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--vert);padding:.35em .8em}
.ca-type.or{background:var(--or);color:var(--nuit)}
.ca-mention{grid-column:1/-1;text-align:center;font-family:var(--titre);font-weight:700;font-size:.82em;letter-spacing:.12em;color:var(--vert);padding:.45em 0 .5em;border-top:.06em solid var(--filet)}
.ca-bande{grid-column:1/-1;height:.55em;background:var(--etoile) center/auto 100% no-repeat,linear-gradient(90deg,var(--vert) 0 33.3%,var(--or) 33.3% 66.6%,var(--rouge) 66.6%)}
.vcarte{position:absolute;width:390px;max-width:82%;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.vcarte .carte-ars{box-shadow:none}

:root{--i-embleme:url("../img/embleme.webp");--i-drapeau:url("../img/drapeau.jpg");--i-portrait:url("../img/malick-gaye.jpg");--i-monument:url("../img/monument.jpg");--i-conf:url("../img/conference.jpg");--i-aigles:url("../img/aigles-motif.webp");--photo:var(--i-conf)}
.b-mouvement{--fond:url("../img/drapeau.jpg")}
.b-president{--fond:var(--i-conf)}
.b-valeurs{--fond:var(--i-monument)}
.b-actus{--fond:url("../img/actualites.jpg")}
.b-boutique{--fond:none}
.b-paiement{--fond:none}
.b-paiement::before{background:var(--i-aigles) 0 0/220px auto repeat;opacity:.05}
.wave-option{display:flex;align-items:center;gap:18px;border:2px solid var(--vert);padding:22px;background:var(--perle-2)}
.wave-option .logo-wave{width:56px;height:56px;flex:none;background:var(--nuit);color:#fff;display:grid;place-items:center;font:700 1.05rem var(--texte)}
.wave-option b{display:block;font-size:1.15rem}
.wave-option span{color:var(--encre-70);font-size:.95rem}
.mode-test{background:#fff4c2;padding:12px 16px;font-size:.92rem;line-height:1.5;margin:0 0 28px}
.resultat{max-width:760px;margin:0 auto;text-align:center}
.resultat .rond{width:76px;height:76px;margin:0 auto 22px;background:var(--vert);color:#fff;display:grid;place-items:center;font-size:2rem}
.resultat .rond.attente{background:var(--or);color:var(--nuit)}
.resultat .rond.erreur{background:var(--rouge)}
.resultat h1{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.resultat p{color:var(--encre-70);margin-top:12px}
.resultat .carte-ars{max-width:440px;margin:36px auto 0}
.resultat .recap{margin-top:32px}
.resultat .actions{justify-content:center;margin-top:32px}
.resultat .carte-ars{text-align:left}
.espace-membre-titre{border-top:1px solid var(--filet);padding-top:18px;margin-top:6px}
.espace-membre-titre b{font-family:var(--titre);color:var(--vert);font-size:1.2rem}
/* espace membre */
.tb-reseaux a.tb-membre{width:auto;padding:0 12px;gap:7px;display:inline-flex;align-items:center;font-weight:600;color:var(--or-lum);border:1px solid rgba(206,165,73,.5);margin-right:8px}
.tb-reseaux a.tb-membre svg{fill:var(--or-lum)}
.tb-reseaux a.tb-membre:hover{background:var(--or);color:var(--nuit)}
.tb-reseaux a.tb-membre:hover svg{fill:var(--nuit)}
.m-onglets{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--filet);margin:36px 0 32px}
.m-onglets a{padding:14px 20px;text-decoration:none;font-weight:600;color:var(--encre-70);border-bottom:3px solid transparent;margin-bottom:-1px}
.m-onglets a[aria-current="page"]{color:var(--vert);border-bottom-color:var(--or)}
.m-onglets a:hover{color:var(--vert)}
.m-onglets .m-sortie{margin-left:auto;color:var(--rouge)}
.m-flash{padding:14px 18px;margin:0 0 28px;background:#e3f2e6;border-left:4px solid var(--vert)}
.m-flash.erreur{background:#fde8e8;border-left-color:var(--rouge);color:#7a0306}
.m-flash.attente{background:#fff4c2;border-left-color:var(--or)}
.m-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding-bottom:88px;align-items:start}
.m-grille h2,main > div > h2{font-size:1.6rem;margin-bottom:20px}
.m-carte{max-width:520px}
.m-carte.expiree{filter:grayscale(.8);opacity:.75}
.m-actions{margin-top:22px}
.m-aide{color:var(--encre-70);font-size:.95rem;margin-top:14px}
.m-infos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 24px;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--filet)}
.m-infos dt{color:var(--encre-70)}
.m-infos dd{margin:0;font-weight:600}
.m-etat{display:inline-block;padding:3px 10px;font-size:.92rem}
.m-etat.ok{background:#dff0e3;color:var(--vert)}
.m-etat.expire{background:#fde8e8;color:#7a0306}
.m-renouv{background:var(--perle-2);border-left:3px solid var(--or);padding:22px 24px}
.m-renouv h3{font-size:1.25rem;margin-bottom:8px}
.m-renouv p{color:var(--encre-70);margin-bottom:16px}
.m-renouv .mode-test{margin:14px 0 0}
.m-connexion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;max-width:960px}
.m-boite{display:flex;flex-direction:column;gap:16px;border:1px solid var(--filet);padding:32px}
.m-boite h2{font-size:1.5rem}
.m-boite .btn{align-self:flex-start}
.m-boite-claire{background:var(--perle-2);border-color:transparent}
.m-boite-claire p{color:var(--encre-70)}
.m-docs{display:grid;gap:0;border-top:1px solid var(--filet);padding-bottom:88px}
.m-docs article{padding:26px 0;border-bottom:1px solid var(--filet);display:grid;gap:8px}
.m-docs time{color:var(--encre-50);font-size:.9rem}
.m-docs h3{font-size:1.35rem}
.m-texte{color:var(--encre-70);max-width:70ch}
.m-docs .lien-fleche{justify-self:start}
@media (max-width:860px){.m-grille,.m-connexion{grid-template-columns:1fr;gap:40px}.m-onglets .m-sortie{margin-left:0}}
@media (max-width:1040px){.tb-reseaux a.tb-membre{margin-right:2px;padding:0 10px}}
.tb-reseaux a.tb-membre{text-decoration:none}
@media (max-width:560px){.topbar .tb-infos{display:none}.topbar .wrap{grid-template-columns:1fr}.tb-reseaux{justify-self:stretch;justify-content:space-between}}
/* en-tête compact sur téléphone */
@media (max-width:640px){
  header > .wrap{padding-block:6px;gap:12px}
  .marque img{width:56px}
  .rech-btn{width:40px;height:40px}
  .rech-btn svg{width:18px;height:18px}
  .burger{padding:8px 12px;font-size:.95rem}
  .droite{gap:8px}
  .topbar .wrap{padding-block:5px}
  .topbar{font-size:.82rem}
  .tb-reseaux a{width:26px;height:26px}
  header nav a,header nav button.dd{font-size:1.05rem;padding:11px 0}
  .sommaire,.autres,.panier{top:calc(env(safe-area-inset-top,0px) + 100px)}
  .contenu section{scroll-margin-top:100px}
}
.b-membre .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.m-embleme{width:170px;height:auto;background:var(--blanc);padding:14px}
@media (max-width:640px){.b-membre .wrap{grid-template-columns:minmax(0,1fr) auto;gap:16px}.m-embleme{width:84px;padding:6px}}
@media (max-width:640px){.m-onglets{flex-wrap:nowrap;overflow-x:auto;margin:20px 0 24px}.m-onglets a{padding:12px 14px;white-space:nowrap;font-size:.95rem}}

/* bandeaux de l'espace membre */
.b-m-index{--fond:url("../img/drapeau.jpg")}
.b-m-documents{--fond:url("../img/conference.jpg")}
.b-m-infos{--fond:url("../img/monument.jpg")}
.b-membre::after{background:linear-gradient(90deg,rgba(9,44,20,.94),rgba(9,44,20,.7) 55%,rgba(9,44,20,.45))}
.b-membre-connexion .wrap{padding-block:clamp(48px,6vw,80px)}
/* en-tête plus bas sur ordinateur */
.marque img{width:68px}
header > .wrap{padding-block:5px}
.sommaire,.autres,.panier{top:calc(env(safe-area-inset-top,0px) + 128px)}
.contenu section{scroll-margin-top:140px}
/* en-tête compact sur téléphone */
@media (max-width:640px){
  header > .wrap{padding-block:6px;gap:12px}
  .marque img{width:56px}
  .rech-btn{width:40px;height:40px}
  .rech-btn svg{width:18px;height:18px}
  .burger{padding:8px 12px;font-size:.95rem}
  .droite{gap:8px}
  .topbar .wrap{padding-block:5px}
  .topbar{font-size:.82rem}
  .tb-reseaux a{width:26px;height:26px}
  header nav a,header nav button.dd{font-size:1.05rem;padding:11px 0}
  .sommaire,.autres,.panier{top:calc(env(safe-area-inset-top,0px) + 100px)}
  .contenu section{scroll-margin-top:100px}
}

/* carrousel d'accueil */
.hero{display:grid}
.hero .slide{grid-area:1/1;position:relative;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.hero .slide.actif{opacity:1;visibility:visible;transition:opacity .9s ease;z-index:1}
.hero .hero-texte h2{color:#fff;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;letter-spacing:.01em}
.hero .hero-texte h2 span{display:block;color:var(--or-lum)}
.s-drapeau{background-image:var(--i-drapeau);background-position:50% 40%}
.s-president{background-image:var(--i-portrait);background-position:80% 20%}
.s-conf{background-image:var(--i-conf);background-position:50% 30%}
.hero .s-ctrl{position:absolute;padding-block:0;left:0;right:0;bottom:100px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}
.s-ctrl > *{pointer-events:auto}
.s-points{display:flex;gap:8px}
.s-points button{width:34px;height:20px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.s-points button::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:rgba(255,255,255,.4);transition:background .3s}
.s-points button[aria-current="true"]::before{background:var(--or-lum)}
.s-points button:hover::before{background:#fff}
.s-fleches{display:flex;align-items:center;gap:8px}
.s-num{color:#d9e5db;font-size:.92rem;letter-spacing:.08em;margin-right:8px}
.s-num b{color:#fff}
.s-fleches button{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);background:rgba(9,44,20,.35);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.s-fleches button:hover{background:var(--or-lum);border-color:var(--or-lum);color:var(--nuit)}
.s-fleches button:focus-visible,.s-points button:focus-visible{outline:2px solid var(--or-lum);outline-offset:2px}
.s-fleches svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}
.s-pause .i-lecture{display:none;fill:currentColor;stroke:none}
.s-pause.arrete .i-lecture{display:block}.s-pause.arrete .i-pause{display:none}
@media (prefers-reduced-motion:no-preference){
  .hero .slide.actif .hero-fond{animation:zoom 9s ease-out both}
  .hero .slide.actif .hero-texte > *{animation:monte .8s cubic-bezier(.2,.7,.2,1) both}
}
@media (max-width:760px){
  .hero .s-ctrl{bottom:66px;padding-block:0}
  .s-num{display:none}
  .s-fleches button{width:40px;height:40px}
  .s-president{background-position:72% 15%}
}

/* accueil plus compact */
#accueil .bloc{padding-block:clamp(48px,6vw,84px)}
#accueil .appel .wrap{padding-block:clamp(48px,6vw,76px)}
.hero .wrap{padding-block:clamp(52px,6.5vw,88px) clamp(112px,10vw,140px)}
.hero h1,.hero .hero-texte h2{font-size:clamp(2.5rem,6vw,4.8rem)}
.hero .filet{margin:22px 0}
.hero .chapo{margin-bottom:28px}
.hero .s-ctrl{bottom:92px}
@media (max-width:760px){
  #accueil .bloc{padding-block:48px}
  #accueil .appel .wrap{padding-block:48px}
  .hero .wrap{padding-block:40px 92px}
  .hero .s-ctrl{bottom:60px}
}

@media (max-width:760px){
  #accueil .tete-section{margin-bottom:28px;gap:16px}
  #accueil .qui-grille,#accueil .pres-grille{gap:36px}
  #accueil .cadre img{aspect-ratio:16/10}
  #accueil .cadre.portrait img{aspect-ratio:1;object-position:50% 20%}
  #accueil .citation-grande{font-size:1.2rem;margin-bottom:18px}
  .quatre{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 18px}
  .quatre > div{padding:22px 0 18px!important;border-left:0!important;border-bottom:1px solid rgba(206,165,73,.25)}
  .quatre svg{width:30px;height:30px;margin-bottom:12px}
  .quatre h3{font-size:1.35rem;margin-bottom:6px}
  .quatre p{font-size:.95rem;line-height:1.5}
  .devise-centre{margin-top:32px;padding-top:24px}
  .faits{margin:20px 0 24px}
  .faits li{padding:10px 0}
  .engagements article{grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 0}
  .engagements svg{width:32px;height:32px}
  .engagements h3{font-size:1.1rem}
  .secteurs-titre{margin-top:24px}
  .secteurs span{padding:4px 10px;font-size:.85rem}
  .instance{padding:24px 22px}
  .liste-actus a{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:14px 0}
  .acces a{padding:22px 22px}
}

@media (min-width:761px){#accueil .tete-section{margin-bottom:32px}.devise-centre{margin-top:44px;padding-top:30px}#accueil .cadre img{aspect-ratio:4/3}.secteurs-titre{margin-top:28px}}

/* commandes du slide : espace réservé sous le texte */
.hero .slide > .wrap{padding-bottom:178px}
.hero .s-ctrl{bottom:100px}
@media (max-width:760px){
  .hero .slide > .wrap{padding-bottom:132px}
  .hero .s-ctrl{bottom:66px}
}
.hero .s-ctrl{padding-block:0!important}

/* mobile allégé : slide et accès rapides */
@media (max-width:640px){
  .hero .sur.clair{font-size:.7rem;letter-spacing:.06em;white-space:nowrap}
  .hero h1,.hero .hero-texte h2{font-size:2.15rem}
  .hero .filet{width:64px;margin:14px 0}
  .hero .slogan{font-size:1.08rem;margin-bottom:18px}
  .hero .chapo{display:none}
  .hero .actions{display:flex;flex-wrap:nowrap;gap:10px}
  .hero .actions .btn{padding:11px 14px;font-size:.92rem;flex:1 1 auto}
  .hero .slide > .wrap{padding-top:30px;padding-bottom:104px}
  .hero .s-ctrl{bottom:58px}
  .hero .s-fleches{display:none}
  .hero .s-points button{width:28px}
  .acces{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:-40px}
  .acces a{padding:16px 14px!important;gap:8px}
  .acces small{font-size:.74rem}
  .acces strong{font-size:1rem;margin-top:3px}
  .acces .fleche{display:none}
}
