/* =====================================================================
   AAF 95 — feuille de style unique
   Palette et inclinaison reprises du logo : rouge #D50F16, gris #868684,
   italique à -8° comme le lettrage « AAF95 ».
   ===================================================================== */

:root{
  --rouge:#D50F16;
  --rouge-fonce:#A70A10;
  --gris:#868684;
  --gris-clair:#C9CAC7;
  --anthracite:#1C1F22;
  --anthracite-2:#2A2F34;
  --papier:#F1F2F0;
  --blanc:#FFFFFF;
  --trait:rgba(28,31,34,.13);
  --trait-sombre:rgba(255,255,255,.16);
  --titre:"Barlow Condensed","Arial Narrow",sans-serif;
  --texte:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --chiffre:"Doto","Courier New",monospace;
  --marge:clamp(1.1rem,4vw,3rem);
  --large:1240px;
  --pente:-8deg;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--blanc);color:var(--anthracite);
  font-family:var(--texte);font-size:1.02rem;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:var(--rouge)}
button,input,select,textarea{font:inherit;color:inherit}
ul{margin:0;padding:0;list-style:none}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}

h1,h2,h3,h4{font-family:var(--titre);font-weight:800;font-style:italic;
  text-transform:uppercase;line-height:.95;letter-spacing:.005em;margin:0}
h1{font-size:clamp(2.4rem,1.3rem + 4.6vw,4.6rem)}
h2{font-size:clamp(1.9rem,1.2rem + 2.6vw,3.1rem)}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.5rem)}
h4{font-size:1.02rem;font-weight:700}

.conteneur{max-width:var(--large);margin-inline:auto;padding-inline:var(--marge)}
.evitement{position:absolute;left:-9999px;background:var(--rouge);color:#fff;padding:.7rem 1.2rem;z-index:200}
.evitement:focus{left:.5rem;top:.5rem}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--rouge);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Étiquette inclinée : la signature du site ---------- */
.etiquette{display:inline-block;background:var(--rouge);color:#fff;
  transform:skewX(var(--pente));padding:.3rem 1.1rem;margin-bottom:1.1rem}
.etiquette span{display:block;transform:skewX(calc(-1 * var(--pente)));
  font-family:var(--titre);font-weight:700;font-style:italic;text-transform:uppercase;
  letter-spacing:.11em;font-size:.76rem}
.etiquette--gris{background:var(--anthracite)}

/* ---------- Boutons ---------- */
.bouton{--fond:var(--rouge);--encre:#fff;
  display:inline-block;background:var(--fond);color:var(--encre);border:0;cursor:pointer;
  padding:.85rem 1.6rem;text-decoration:none;transform:skewX(var(--pente));
  transition:background .15s ease,transform .15s ease}
.bouton>span{display:block;transform:skewX(calc(-1 * var(--pente)));
  font-family:var(--titre);font-weight:800;font-style:italic;text-transform:uppercase;
  letter-spacing:.05em;font-size:.95rem;white-space:nowrap}
.bouton:hover{background:var(--rouge-fonce);transform:skewX(var(--pente)) translateY(-2px)}
.bouton--sombre{--fond:var(--anthracite)}
.bouton--sombre:hover{background:#000}
.bouton--vide{--fond:transparent;--encre:var(--anthracite);box-shadow:inset 0 0 0 2px currentColor}
.bouton--vide:hover{--fond:var(--anthracite);--encre:#fff;box-shadow:none}
.bouton--clair{--fond:#fff;--encre:var(--anthracite)}
.bouton--clair:hover{background:var(--papier)}
.bouton[disabled],.bouton[aria-disabled="true"]{opacity:.45;pointer-events:none}
.boutons{display:flex;flex-wrap:wrap;gap:.9rem}

/* ---------- Barre utilitaire ---------- */
.utilitaire{background:var(--anthracite);color:rgba(255,255,255,.72);font-size:.79rem}
.utilitaire__in{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between;align-items:center;min-height:38px}
.utilitaire p{margin:0}
.utilitaire__liens{display:flex;align-items:center;gap:1.2rem}
.utilitaire a{color:rgba(255,255,255,.8);text-decoration:none}
.utilitaire a:hover{color:#fff}
.utilitaire__cta{background:var(--rouge);color:#fff!important;padding:.35rem .9rem;
  font-family:var(--titre);font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
@media(max-width:700px){.utilitaire p{display:none}.utilitaire__in{justify-content:flex-end}}

/* ---------- En-tête et menu ---------- */
.entete{position:sticky;top:0;z-index:100;background:#fff;border-bottom:3px solid var(--rouge);
  box-shadow:0 6px 24px -18px rgba(0,0,0,.6)}
.entete__in{display:flex;align-items:center;gap:1.5rem;min-height:82px}
.logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex:none}
.logo img{width:112px;height:auto}
.logo__txt{font-family:var(--titre);font-style:italic;text-transform:uppercase;line-height:1.15;
  font-size:.68rem;letter-spacing:.1em;color:var(--gris);padding-left:.9rem;border-left:1px solid var(--trait)}
.logo__txt b{display:block;font-weight:700;font-size:.86rem;color:var(--anthracite);letter-spacing:.05em}
@media(max-width:520px){.logo__txt{display:none}}

.menu{margin-left:auto}
.menu>ul{display:flex;align-items:center;gap:.2rem}
.menu__lien{display:block;background:none;border:0;cursor:pointer;text-decoration:none;
  font-family:var(--titre);font-weight:700;font-style:italic;text-transform:uppercase;
  font-size:.98rem;letter-spacing:.03em;color:var(--anthracite);padding:.8rem .7rem;
  position:relative}
.menu__lien i{display:inline-block;width:.42em;height:.42em;margin-left:.4em;vertical-align:.15em;
  border-right:2px solid var(--gris);border-bottom:2px solid var(--gris);transform:rotate(45deg)}
.menu__lien::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.35rem;height:3px;
  background:var(--rouge);transform:scaleX(0) skewX(var(--pente));transform-origin:left;transition:transform .18s ease}
.menu__lien:hover::after,.menu__lien.est-actif::after{transform:scaleX(1) skewX(var(--pente))}
.menu__deroulant{position:relative}
.menu__sous{position:absolute;top:100%;left:0;min-width:250px;background:var(--anthracite);
  padding:.4rem 0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease;border-top:3px solid var(--rouge)}
.menu__deroulant:hover .menu__sous,
.menu__deroulant:focus-within .menu__sous,
.menu__sous[data-ouvert="true"]{opacity:1;visibility:visible;transform:none}
.menu__sous a{display:block;padding:.62rem 1.2rem;color:rgba(255,255,255,.82);text-decoration:none;
  font-size:.92rem;border-left:3px solid transparent}
.menu__sous a:hover{background:var(--anthracite-2);color:#fff;border-left-color:var(--rouge)}

.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;
  align-items:center;gap:.55rem;padding:.5rem}
.burger span{display:block;width:24px;height:3px;background:var(--anthracite);margin:4px 0;transition:.2s}
.burger em{font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;font-size:.9rem}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1080px){
  .burger{display:flex}
  .burger>div{display:block}
  .menu{position:fixed;inset:120px 0 0;background:#fff;overflow-y:auto;padding:0 var(--marge) 3rem;
    display:none;border-top:1px solid var(--trait)}
  .menu[data-ouvert="true"]{display:block}
  .menu>ul{flex-direction:column;align-items:stretch;gap:0}
  .menu__lien{width:100%;text-align:left;padding:1rem 0;border-bottom:1px solid var(--trait);font-size:1.15rem}
  .menu__lien::after{display:none}
  .menu__lien.est-actif{color:var(--rouge)}
  .menu__deroulant{position:static}
  .menu__sous{position:static;opacity:1;visibility:visible;transform:none;display:none;
    background:var(--papier);border-top:0;padding:.3rem 0 .8rem}
  .menu__sous[data-ouvert="true"]{display:block}
  .menu__sous a{color:var(--anthracite);padding:.6rem 1rem}
  .menu__sous a:hover{background:transparent;color:var(--rouge)}
}

/* ---------- Bandeau de tête des pages ---------- */
.tete{position:relative;background:var(--anthracite);color:#fff;overflow:hidden;
  padding-block:clamp(2.6rem,6vw,4.4rem)}
.tete::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(98deg,rgba(255,255,255,.045) 0 1px,transparent 1px 13px)}
.tete::after{content:"";position:absolute;right:-8%;top:-30%;width:44%;height:160%;
  background:var(--rouge);opacity:.14;transform:skewX(var(--pente))}
.tete__in{position:relative;max-width:var(--large);margin-inline:auto;padding-inline:var(--marge)}
.tete h1{max-width:22ch}
.tete p{margin-top:1.1rem;max-width:62ch;color:rgba(255,255,255,.76);font-size:1.06rem}
.fil{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);
  font-family:var(--titre);font-style:italic;font-weight:700;margin-bottom:.9rem}
.fil a{color:rgba(255,255,255,.75);text-decoration:none}

/* ---------- Hero de l'accueil ---------- */
.hero{position:relative;background:var(--anthracite);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(98deg,rgba(255,255,255,.05) 0 1px,transparent 1px 12px)}
.hero__bande{position:absolute;right:-10%;top:-20%;width:52%;height:140%;
  background:linear-gradient(160deg,var(--rouge),var(--rouge-fonce));opacity:.9;transform:skewX(var(--pente))}
@media(max-width:900px){.hero__bande{display:none}}
.hero__in{position:relative;max-width:var(--large);margin-inline:auto;padding:clamp(2.8rem,6vw,5rem) var(--marge);
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media(max-width:900px){.hero__in{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.7rem,1.4rem + 6.4vw,5.4rem)}
.hero h1 em{font-style:italic;color:var(--rouge)}
.hero__intro{margin-top:1.3rem;font-size:clamp(1.02rem,.98rem + .3vw,1.18rem);color:rgba(255,255,255,.82);max-width:46ch}
.hero .boutons{margin-top:2rem}
.hero__chiffres{display:flex;flex-wrap:wrap;margin-top:2.4rem;border-top:1px solid var(--trait-sombre);padding-top:1.1rem;
  font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;
  font-size:.85rem;letter-spacing:.08em;color:rgba(255,255,255,.62)}
.hero__chiffres span{padding-right:1.1rem;margin-right:1.1rem;border-right:1px solid var(--trait-sombre)}
.hero__chiffres span:last-child{border:0;margin:0;padding:0}

/* ---------- Panneau du 4e arbitre ---------- */
.panneau{background:#0C0E10;border:1px solid rgba(213,15,22,.4);padding:1.4rem 1.5rem 1.3rem;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.panneau__titre{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;font-size:.7rem;color:rgba(255,255,255,.55);margin-bottom:1rem}
.panneau__titre b{display:flex;align-items:center;gap:.4rem;color:var(--rouge)}
.point{width:7px;height:7px;border-radius:50%;background:var(--rouge);box-shadow:0 0 9px var(--rouge);animation:bat 2.4s infinite}
@keyframes bat{0%,100%{opacity:1}50%{opacity:.22}}
.panneau__horloge{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;text-align:center}
.panneau__horloge b{display:block;font-family:var(--chiffre);font-weight:800;
  font-size:clamp(2.1rem,1.2rem + 3vw,3rem);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.panneau__horloge small{display:block;margin-top:.4rem;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.4);font-family:var(--titre);font-style:italic;font-weight:700}
.panneau__suite{margin-top:1.2rem;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.18);color:#fff;font-size:.95rem}
.panneau__suite strong{display:block;font-family:var(--titre);font-style:italic;font-weight:800;
  text-transform:uppercase;font-size:1.1rem}
.panneau__suite span{color:rgba(255,255,255,.55);font-size:.85rem}

/* ---------- Sections ---------- */
.section{padding-block:clamp(2.8rem,6vw,5rem)}
.section--papier{background:var(--papier)}
.section--sombre{background:var(--anthracite);color:#fff}
.section--sombre a{color:#fff}
.section__tete{max-width:64ch;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.section__tete p{margin-top:1rem;color:var(--gris);font-size:1.05rem}
.section--sombre .section__tete p{color:rgba(255,255,255,.72)}

/* ---------- Tuiles de rubriques ---------- */
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1.3rem}
.tuile{position:relative;display:block;background:var(--blanc);border:1px solid var(--trait);
  padding:1.6rem 1.5rem 1.7rem;text-decoration:none;color:inherit;overflow:hidden;transition:.18s}
.tuile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rouge);
  transform:scaleY(0);transform-origin:top;transition:transform .2s ease}
.tuile:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(0,0,0,.5)}
.tuile:hover::before{transform:scaleY(1)}
.tuile h3{margin-bottom:.5rem}
.tuile p{color:var(--gris);font-size:.94rem;margin:0}
.tuile__fleche{display:block;margin-top:1.1rem;font-family:var(--titre);font-style:italic;font-weight:700;
  text-transform:uppercase;font-size:.82rem;letter-spacing:.08em;color:var(--rouge)}

/* ---------- Actualités ---------- */
.actus{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.6rem}
.actu{background:#fff;border:1px solid var(--trait);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:.18s}
.actu:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(0,0,0,.45)}
.actu__img{aspect-ratio:16/9;background:var(--anthracite);position:relative;overflow:hidden}
.actu__img img{width:100%;height:100%;object-fit:cover}
.actu__img--vide::after{content:"AAF95";position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--titre);font-style:italic;font-weight:800;font-size:2.2rem;letter-spacing:.06em;
  color:rgba(255,255,255,.13)}
.actu__corps{padding:1.2rem 1.3rem 1.5rem;display:flex;flex-direction:column;flex:1}
.actu time{font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;
  font-size:.76rem;letter-spacing:.1em;color:var(--rouge)}
.actu h3{margin:.5rem 0 .6rem}
.actu p{color:var(--gris);font-size:.94rem;margin:0}
.actu__lire{margin-top:auto;padding-top:1.1rem;font-family:var(--titre);font-style:italic;font-weight:700;
  text-transform:uppercase;font-size:.82rem;letter-spacing:.07em;color:var(--anthracite)}

/* ---------- Article ---------- */
.article{max-width:72ch;margin-inline:auto}
.article p{font-size:1.06rem;margin-bottom:1.2rem}
.article__meta{color:var(--gris);font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;
  font-family:var(--titre);font-style:italic;font-weight:700;margin-bottom:1.6rem}

/* ---------- Agenda ---------- */
.evenement{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:1.4rem;align-items:center;
  padding:1.3rem 0;border-top:1px solid var(--trait)}
.section--sombre .evenement{border-color:var(--trait-sombre)}
.evenement:last-child{border-bottom:1px solid var(--trait)}
.section--sombre .evenement:last-child{border-bottom-color:var(--trait-sombre)}
.evenement__date{text-align:center;border-right:1px solid var(--trait);padding-right:1rem}
.section--sombre .evenement__date{border-color:var(--trait-sombre)}
.evenement__date b{display:block;font-family:var(--titre);font-style:italic;font-weight:800;font-size:2.2rem;line-height:1}
.evenement__date span{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-top:.2rem}
.evenement__meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.86rem;color:var(--gris);margin:.35rem 0 0}
.section--sombre .evenement__meta{color:rgba(255,255,255,.6)}
.evenement__txt{font-size:.93rem;color:var(--gris);margin-top:.5rem}
.section--sombre .evenement__txt{color:rgba(255,255,255,.7)}
.pastille{font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;font-size:.68rem;padding:.2rem .6rem;background:var(--rouge);color:#fff}
.pastille--reunion{background:var(--anthracite)}
.pastille--convivialite{background:#1D7A46}
@media(max-width:720px){
  .evenement{grid-template-columns:70px minmax(0,1fr)}
  .evenement .bouton{grid-column:2;justify-self:start}
}
.filtres{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}
.filtre{background:transparent;border:1px solid var(--trait);cursor:pointer;padding:.45rem 1rem;
  font-family:var(--titre);font-style:italic;font-weight:700;text-transform:uppercase;
  font-size:.82rem;letter-spacing:.06em;color:var(--gris)}
.section--sombre .filtre{border-color:var(--trait-sombre);color:rgba(255,255,255,.7)}
.filtre:hover{color:var(--rouge);border-color:var(--rouge)}
.filtre[aria-pressed="true"]{background:var(--rouge);color:#fff;border-color:var(--rouge)}

/* ---------- Blocs, formulaires ---------- */
.bloc{background:#fff;border:1px solid var(--trait);padding:clamp(1.3rem,3vw,2.2rem);margin-bottom:1.6rem}
.section--papier .bloc{background:#fff}
.bloc__tete{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.bloc__tete h2,.bloc__tete h3{margin:0}
.numero{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--rouge);color:#fff;
  font-family:var(--chiffre);font-weight:800;font-size:1.15rem;margin-right:.7rem;
  transform:skewX(var(--pente));vertical-align:-.35rem}
.numero>span{transform:skewX(calc(-1 * var(--pente)))}

.champ{margin-bottom:1.05rem}
.champ label{display:block;font-family:var(--titre);font-style:italic;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;margin-bottom:.35rem}
.champ input,.champ select,.champ textarea{width:100%;padding:.7rem .85rem;background:#fff;
  color:var(--anthracite);border:1px solid var(--gris-clair);border-radius:0;font-family:var(--texte)}
.champ textarea{min-height:140px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--rouge)}
.ligne{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
.ligne--3{grid-template-columns:.85fr 1.15fr 1fr}
@media(max-width:640px){.ligne,.ligne--3{grid-template-columns:1fr}}
.erreur{color:var(--rouge);font-size:.82rem;margin-top:.3rem;display:none}
.champ[data-invalide="true"] .erreur{display:block}
.champ[data-invalide="true"] input,.champ[data-invalide="true"] select,.champ[data-invalide="true"] textarea{border-color:var(--rouge)}
.coche{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--gris);margin:1.1rem 0 .2rem}
.coche input{width:18px;height:18px;flex:none;margin-top:.25rem;accent-color:var(--rouge)}
.piege{position:absolute;left:-9999px}
.etat{margin-top:1.3rem;padding:1rem 1.2rem;background:var(--papier);border-left:4px solid var(--gris);
  font-size:.93rem;display:none}
.etat[data-ouvert="true"]{display:block}
.etat[data-niveau="ok"]{border-left-color:#1D7A46}
.etat[data-niveau="ko"]{border-left-color:var(--rouge)}
.note{font-size:.87rem;color:var(--gris)}

/* ---------- Tarifs et paiement ---------- */
.tarifs{display:grid;gap:.6rem;margin-bottom:1.6rem}
.tarif{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  border:1px solid var(--trait);padding:.85rem 1.1rem;background:var(--papier)}
.tarif b{font-family:var(--titre);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.02rem}
.tarif span{font-family:var(--chiffre);font-weight:800;font-size:1.5rem;color:var(--rouge)}
.moyens{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--trait);border:1px solid var(--trait)}
.moyen{background:#fff;padding:1.3rem 1.4rem}
.moyen h4{margin-bottom:.6rem;font-style:italic;text-transform:uppercase}
.moyen p{font-size:.89rem;color:var(--gris);margin-bottom:.8rem}
.iban{font-family:var(--chiffre);font-weight:800;font-size:1.02rem;color:var(--anthracite);word-break:break-all}

/* ---------- Calendrier mensuel ---------- */
.cal{border:1px solid var(--trait);background:#fff;margin-top:1.5rem}
.cal__tete{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;
  padding:1rem 1.2rem;border-bottom:1px solid var(--trait)}
.cal__cadre{width:100%;height:min(76vh,760px);border:0;display:block;background:var(--papier)}
.cal__mobile{display:none;padding:2.2rem 1.2rem;text-align:center}
@media(max-width:820px){.cal__cadre{display:none}.cal__mobile{display:block}}
.legende{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:1.3rem;font-size:.87rem;color:var(--gris)}
.legende span{display:inline-flex;align-items:center;gap:.55rem}
.legende i{width:14px;height:14px;display:block;flex:none}

/* ---------- Documents et listes ---------- */
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--trait);border:1px solid var(--trait)}
.grille>*{background:#fff;padding:1.3rem 1.4rem}
.doc{text-decoration:none;color:inherit;display:block;transition:background .15s}
.doc:hover{background:var(--papier)}
.doc b{display:block;font-family:var(--titre);font-style:italic;font-weight:800;
  text-transform:uppercase;font-size:1.02rem;margin-bottom:.35rem}
.doc span{font-size:.79rem;color:var(--gris);letter-spacing:.08em;text-transform:uppercase}
.portail{max-width:440px}
.portail .ligne{grid-template-columns:1fr auto;align-items:end;gap:.7rem}
@media(max-width:640px){.portail .ligne{grid-template-columns:1fr}}
.cache{display:none}

/* ---------- Membres du bureau ---------- */
.bureau{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--trait);border:1px solid var(--trait)}
.membre{background:#fff;padding:1.3rem 1.4rem}
.membre span{display:block;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--rouge);
  font-family:var(--titre);font-style:italic;font-weight:700;margin-bottom:.3rem}
.membre b{font-family:var(--titre);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.15rem}

/* ---------- Partenaires ---------- */
.partenaires{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.2rem;align-items:center}
.partenaire{background:#fff;border:1px solid var(--trait);padding:1.3rem;display:grid;place-items:center;min-height:120px}
.partenaire img{max-height:70px;width:auto;object-fit:contain}
.vide{border:1px dashed var(--gris-clair);padding:2.2rem 1.5rem;text-align:center;color:var(--gris);background:#fff}

/* ---------- Bandeau d'appel ---------- */
.appel{background:var(--rouge);color:#fff;padding-block:clamp(2.2rem,5vw,3.4rem)}
.appel__in{display:flex;flex-wrap:wrap;gap:1.6rem;justify-content:space-between;align-items:center}
.appel h2{max-width:24ch}
.appel p{margin-top:.7rem;color:rgba(255,255,255,.85);max-width:52ch}

/* ---------- Newsletter ---------- */
.lettre{background:var(--anthracite-2);color:#fff;padding:clamp(1.5rem,3vw,2.2rem)}
.lettre .champ label{color:rgba(255,255,255,.8)}
.lettre .note{color:rgba(255,255,255,.55)}

/* ---------- Pied de page ---------- */
.pied{background:var(--anthracite);color:rgba(255,255,255,.68);padding-top:clamp(2.4rem,5vw,3.4rem);font-size:.92rem}
.pied__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem}
.pied h3{color:#fff;font-size:1.02rem;margin-bottom:.8rem}
.pied a{color:rgba(255,255,255,.7);text-decoration:none}
.pied a:hover{color:#fff}
.pied__marque{font-family:var(--titre);font-style:italic;font-weight:800;font-size:2.1rem;
  color:var(--rouge);line-height:1;margin-bottom:.8rem}
.pied__marque span{color:var(--gris)}
.pied__liste li{margin-bottom:.35rem}
.pied__bas{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;
  margin-top:2.4rem;padding-block:1.2rem;border-top:1px solid var(--trait-sombre);font-size:.82rem}

/* ---------- Apparitions ---------- */
.js .monte{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.js .monte.est-vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .js .monte{opacity:1;transform:none}
}
