/* Feuille de style du thème SSPC.
   Reprise telle quelle de la démo validée — ne pas diverger sans raison.
   Ordre : socle, gabarits, composants. */


:root{
  --ivory:#F7F2E7; --paper:#FDFBF6; --white:#FFFFFF;
  --ink:#1B1B1B; --ink-2:#55503F; --ink-3:#847C66;
  --gold:#D9AE1F; --gold-lt:#F0C64A; --gold-txt:#8A6C0C;
  --blue:#1D3557; --green:#2E5A44; --red:#8E2B2B;
  --rule:#E4DCC7; --rule-2:#CFC3A4;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.68;
  -webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-family:Montserrat,sans-serif;letter-spacing:-.02em;
  text-wrap:balance;line-height:1.12}
p{margin:0} a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{max-width:1120px;margin:0 auto;padding-inline:28px}
.kick{font-family:Oswald,sans-serif;font-weight:500;font-size:12px;letter-spacing:.28em;
  text-indent:.28em;text-transform:uppercase;color:var(--gold-txt);display:block}
.dot{opacity:.45;margin:0 .4em}
.arr{width:15px;height:15px;flex:none}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.84em}

.mock{background:var(--ink);color:var(--gold-lt);font-family:Oswald,sans-serif;
  font-size:11px;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;
  text-align:center;padding:9px 16px}

/* ---- en-tête ---- */
header.site{position:sticky;top:0;z-index:20;background:rgba(253,251,246,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;gap:34px;padding-block:15px}
.brand{width:116px;flex:none} .brand svg{width:100%;height:auto;display:block}
nav.links{display:flex;gap:26px;margin-left:auto;align-items:center}
nav.links a{font-family:Oswald,sans-serif;font-size:13.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-2);padding:4px 0;
  border-bottom:1.5px solid transparent}
nav.links a:hover,nav.links a.on{color:var(--ink);border-bottom-color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:Oswald,sans-serif;
  font-weight:500;font-size:13px;letter-spacing:.15em;text-transform:uppercase;
  padding:11px 20px;border-radius:2px;border:1.5px solid transparent;white-space:nowrap}
.btn.gold{background:var(--gold);color:var(--ink)} .btn.gold:hover{background:#C79C13}
.btn.ghost{border-color:var(--rule-2);color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink);background:var(--ivory)}
.btn.dark{background:var(--ink);color:var(--white)} .btn.dark:hover{background:#000}
.btn.light{border-color:rgba(255,255,255,.34);color:#fff}
.btn.light:hover{background:rgba(255,255,255,.09)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;
  height:42px;padding:0 10px;background:none;border:1px solid var(--rule-2);
  border-radius:2px;cursor:pointer}
.burger span{display:block;height:1.6px;background:var(--ink);border-radius:2px}

/* ---- fil d'Ariane ---- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-family:Oswald,sans-serif;font-weight:300;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);padding-block:22px}
.crumbs a:hover{color:var(--ink)}
.crumbs .sep{opacity:.5}

/* ---- corps d'article ---- */
.doc{max-width:none}
.col-read{max-width:68ch}
.doc h2{font-size:26px;font-weight:800;margin:46px 0 16px}
.doc h3{font-family:Oswald,sans-serif;font-size:13px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);margin:34px 0 12px}
.doc p{margin:0 0 18px}
.doc p.chapo{font-size:20.5px;line-height:1.6;color:var(--ink-2);margin-bottom:30px}
.doc ol,.doc ul{margin:0 0 18px;padding-left:0;list-style:none;
  display:flex;flex-direction:column;gap:12px}
.doc ol{counter-reset:s}
.doc ol li{position:relative;padding-left:38px;counter-increment:s}
.doc ol li::before{content:counter(s);position:absolute;left:0;top:.1em;width:24px;
  height:24px;border-radius:50%;background:var(--ink);color:var(--gold-lt);
  font-family:Oswald,sans-serif;font-size:12px;display:grid;place-items:center}
.doc ul li{position:relative;padding-left:22px}
.doc ul li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:1.6px;
  background:var(--gold)}
.doc strong{font-weight:600}
.doc a.inl{border-bottom:1.5px solid var(--gold);color:var(--gold-txt)}
.doc a.inl:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---- citation ---- */
blockquote{margin:32px 0;padding-left:24px;border-left:3px solid var(--gold)}
blockquote p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;
  font-style:italic;font-weight:500;line-height:1.42;color:var(--ink);margin:0 0 10px}
blockquote cite{font-family:Oswald,sans-serif;font-style:normal;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

/* ---- encadré Catéchisme ---- */
.cec{margin:32px 0;background:var(--ivory);border:1px solid var(--rule);
  border-radius:3px;padding:24px 26px}
.cec .ref{font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;
  color:var(--gold-txt);letter-spacing:-.01em}
.cec .src{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);margin:2px 0 14px;display:block}
.cec p{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;
  line-height:1.45;color:var(--ink);margin:0}

/* ---- relecture ---- */
.review{display:flex;align-items:center;gap:14px;margin:38px 0 0;padding:16px 20px;
  border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:3px;
  background:var(--white)}
.review .ic{width:26px;height:26px;flex:none;color:var(--green)}
.review .ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.review b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--green)}
.review span{font-size:15px;color:var(--ink-2)}

/* ---- sources ---- */
.sources{margin-top:38px;padding-top:22px;border-top:1px solid var(--rule)}
.sources h3{margin-top:0}
.doc .sources ol{counter-reset:r;display:flex;flex-direction:column;gap:9px;
  font-size:15px;color:var(--ink-2);list-style:none;padding:0;margin:0}
.doc .sources ol li{padding-left:26px;position:relative;counter-increment:r}
.doc .sources ol li::before{content:counter(r) ".";position:absolute;left:0;top:0;
  width:auto;height:auto;border-radius:0;background:none;display:block;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;
  color:var(--gold-txt)}
.sources i{font-style:italic}

/* ---- barre latérale ---- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:56px;
  align-items:start;padding-bottom:70px}
.side{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}
.sidebox{border:1px solid var(--rule);border-radius:3px;background:var(--white);
  padding:20px}
.sidebox h4{margin:0 0 12px;font-family:Oswald,sans-serif;font-weight:500;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.toc{display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.toc a{color:var(--ink-2);border-left:2px solid var(--rule);padding-left:11px}
.toc a:hover,.toc a.on{color:var(--ink);border-left-color:var(--gold)}
.share{display:flex;gap:8px;flex-wrap:wrap}
.share a{width:36px;height:36px;border:1px solid var(--rule-2);border-radius:2px;
  display:grid;place-items:center;color:var(--ink-2)}
.share a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.share svg{width:16px;height:16px;fill:currentColor}
.author{display:flex;gap:12px;align-items:center}
.author .av{width:42px;height:42px;border-radius:50%;background:var(--ink);
  color:var(--gold-lt);display:grid;place-items:center;font-family:Oswald,sans-serif;
  font-size:16px;flex:none}
.author b{display:block;font-size:15px;font-weight:600}
.author span{font-size:13.5px;color:var(--ink-3)}

/* ---- appel Discord ---- */
.dcall{background:var(--ink);color:#fff;border-radius:3px;padding:26px 28px;
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
  margin-top:44px}
.dcall b{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:19px}
.dcall p{color:#BDB6A4;font-size:15px;margin-top:5px;max-width:46ch}

/* ---- articles liés ---- */
.rel{background:var(--ivory);border-block:1px solid var(--rule);padding:56px 0}
.relgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:22px;
  margin-top:26px}
.relcard{background:var(--white);border:1px solid var(--rule);border-radius:3px;
  overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,border-color .16s}
.relcard:hover{transform:translateY(-2px);border-color:var(--rule-2)}
.relcard .im{aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.relcard .im img{width:100%;height:100%;object-fit:cover}
.relcard .bd{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.relcard h3{font-size:18px;font-weight:700;line-height:1.28;letter-spacing:-.012em}
.relcard .m{font-family:Oswald,sans-serif;font-weight:300;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:auto;
  padding-top:11px;border-top:1px solid var(--rule)}

/* ---- pied ---- */
footer.site{background:var(--ink);color:#9E977F;padding:54px 0 30px;font-size:14.5px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:34px 28px}
.fgrid h4{font-family:Oswald,sans-serif;font-weight:500;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-lt);margin:0 0 13px}
.fgrid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fgrid a:hover{color:#fff}
.fbrand{width:128px;display:block;margin-bottom:14px}
.fbrand svg{width:100%;height:auto;display:block}
.fbase{margin-top:38px;padding-top:20px;border-top:1px solid #322D25;display:flex;
  flex-wrap:wrap;gap:9px 24px;justify-content:space-between;font-size:12.5px;color:#6F6957}

@media (max-width:980px){
  .layout{grid-template-columns:1fr;gap:36px}
  .side{position:static;flex-direction:row;flex-wrap:wrap}
  .sidebox{flex:1 1 240px}
}
@media (max-width:900px){
  nav.links{display:none} .burger{display:flex} .nav{gap:14px} .brand{width:100px}
  .fgrid{grid-template-columns:1fr 1fr}
  .doc h2{font-size:23px}
}
/* ---------- accueil : héros ---------- */
.hero{background:var(--ivory);border-bottom:1px solid var(--rule);padding:70px 0 64px}
.hero .shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:56px;align-items:center}
.hero h1{font-size:clamp(36px,4.9vw,56px);font-weight:900;margin:22px 0 0;max-width:14ch}
.hero .lede{max-width:46ch;margin:22px 0 0;font-size:18.5px;color:var(--ink-2)}
.hero .cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}
.hero-fig{position:relative}
.hero-fig img{width:100%;height:auto;border-radius:3px;
  box-shadow:0 2px 4px rgba(60,50,20,.08),0 26px 50px -28px rgba(60,50,20,.5)}
.hero-fig figcaption{text-align:right;margin-top:10px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;line-height:1.5;
  color:var(--ink-3)}
.hero-fig figcaption i{font-style:italic}

/* ---------- chiffres ---------- */
.figs{background:var(--ink);color:var(--white)}
.figs .shell{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:26px 40px;padding-block:32px}
.fig .n{font-family:Montserrat,sans-serif;font-weight:800;font-size:31px;
  color:var(--gold-lt);line-height:1;font-variant-numeric:tabular-nums;display:block}
.fig .l{font-family:Oswald,sans-serif;font-weight:300;font-size:12px;letter-spacing:.18em;
  text-indent:.18em;text-transform:uppercase;color:#CFC8B6;display:block;margin-top:6px}
.fig .live{display:inline-flex;align-items:center;gap:8px}
.pulse{width:7px;height:7px;border-radius:50%;background:#5DD08A;flex:none}

/* ---------- bandes ---------- */
section.band{padding:66px 0}
section.band.alt{background:var(--ivory);border-block:1px solid var(--rule)}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-bottom:32px}
.head h2{font-size:clamp(25px,3.1vw,34px);font-weight:800;margin-top:10px}
.more{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-txt);border-bottom:1.5px solid var(--gold);
  padding-bottom:3px}
.more:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---------- apologétique (bande sombre) ---------- */
.apo{background:var(--ink);color:var(--white);padding:70px 0}
.apo .kick{color:var(--gold-lt)}
.apo h2{font-size:clamp(25px,3.1vw,34px);font-weight:800;margin-top:10px}
.apo .intro{max-width:52ch;margin-top:15px;color:#BDB6A4;font-size:16.5px}
.objs{margin-top:34px;border-top:1px solid #322D25}
.obj{display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:17px 4px;border-bottom:1px solid #322D25;transition:padding-left .16s}
.obj:hover{padding-left:13px;background:#201D18}
.obj .q{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;
  line-height:1.3}
.obj .meta{display:flex;align-items:center;gap:15px;flex:none;color:var(--gold-lt)}
.obj .theme{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase}
.apo .after{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.apo .note{font-size:14px;color:#8B8474;max-width:42ch}

/* ---------- bande parcours ---------- */
.parcband{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:44px;align-items:center}
.parcfig img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.parcfig figcaption{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;line-height:1.5;color:var(--ink-3)}
.parcfig figcaption i{font-style:italic}
.plist{border-top:1px solid var(--rule)}
.pl{display:flex;align-items:center;gap:18px;padding:16px 4px;
  border-bottom:1px solid var(--rule);transition:padding-left .16s}
.pl:hover{padding-left:12px;background:var(--white)}
.pn{font-family:Montserrat,sans-serif;font-weight:800;font-size:13px;
  color:var(--gold-txt);flex:none}
.pt{font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;flex:1;
  letter-spacing:-.012em}
.pc{font-family:Oswald,sans-serif;font-weight:300;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);flex:none}
.pl .arr{color:var(--gold-txt)}

/* ---------- réseaux sociaux ---------- */
.social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.72fr);gap:22px}
.card{border:1px solid var(--rule);border-radius:3px;background:var(--white);
  padding:22px;display:flex;flex-direction:column;gap:14px}
.card.dc{background:#2B2D31;border-color:#22242a;color:#DBDEE1}
.card h3{font-size:17px;font-weight:700}
.chead{display:flex;align-items:center;gap:11px}
.cicon{width:34px;height:34px;border-radius:8px;flex:none;display:grid;place-items:center;
  color:#fff}
.cicon.dc{background:#5865F2}
.cicon.ig{background:linear-gradient(45deg,#F9CE34,#EE2A7B,#6228D7)}
.cicon.yt{background:#FF0033} .cicon.tt{background:#000}
.cicon svg{width:19px;height:19px;fill:currentColor}
.chandle{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;
  color:var(--ink-3)}
.card.dc .chandle{color:#9AA0A6}
.dc-count{font-family:Montserrat,sans-serif;font-weight:800;font-size:26px;color:#fff;
  display:flex;align-items:center;gap:9px}
.dc-sub{font-size:13px;color:#9AA0A6;margin-top:-6px}
.dc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;
  font-size:14px;flex:1}
.dc-list li{display:flex;align-items:center;gap:9px}
.av{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:Oswald,sans-serif;font-size:11px;color:#fff}
.iggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.igt img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:2px;
  transition:opacity .16s}
.igt:hover img{opacity:.82}
.social2{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(0,1fr);gap:22px;
  margin-top:22px}
.ytfig{position:relative;border-radius:2px;overflow:hidden}
.ytfig img{width:100%;height:auto}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play span{width:54px;height:38px;border-radius:9px;background:rgba(255,0,51,.92);
  display:grid;place-items:center}
.play svg{width:16px;height:16px;fill:#fff}
.ytmeta{font-size:14.5px;color:var(--ink-2)}
.ytmeta b{display:block;color:var(--ink);font-size:16px;font-weight:600;margin-bottom:3px;
  font-family:Montserrat,sans-serif}
.ttfig{display:flex;gap:14px;align-items:flex-start}
.ttfig img{width:70px;border-radius:2px;flex:none}
.ttfig+.ttfig{padding-top:14px;border-top:1px solid var(--rule)}

/* ---------- bande dons ---------- */
.give{background:var(--gold);color:var(--ink)}
.give .shell{display:flex;align-items:center;justify-content:space-between;gap:28px;
  flex-wrap:wrap;padding-block:38px}
.give h2{font-size:clamp(22px,2.7vw,29px);font-weight:800;max-width:20ch}
.give p{color:#4A3B06;max-width:44ch;margin-top:8px;font-size:15.5px}

/* ---------- gabarit article ---------- */
.artHero{background:var(--ivory);border-bottom:1px solid var(--rule);padding-bottom:44px}
.artHead{max-width:74ch}
.artHead h1{font-size:clamp(32px,4.4vw,50px);font-weight:900;margin:14px 0 0}
.artMeta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:26px;
  font-family:Oswald,sans-serif;font-weight:300;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3)}
.artMeta b{font-weight:500;color:var(--ink)}
.figHero{margin:34px 0 0}
.figHero img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:3px}
.figHero figcaption{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;line-height:1.5;color:var(--ink-3)}
.figHero i{font-style:italic}
.rel{background:var(--ivory);border-block:1px solid var(--rule);padding:56px 0}

/* ---------- gabarit objection ---------- */
.objHero{background:var(--ink);color:#fff;padding-bottom:52px;position:relative;
  overflow:hidden}
.objHero .crumbs{color:#7C7462}
.objHero .crumbs a:hover{color:#fff}
.objWrap{position:relative;max-width:56ch}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.tag{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;padding:6px 12px 5px;border-radius:2px;
  border:1px solid rgba(240,198,74,.4);color:var(--gold-lt)}
.tag.who{border-color:rgba(255,255,255,.24);color:#CFC8B6}
.objHero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;
  font-size:clamp(32px,4.6vw,52px);line-height:1.22;letter-spacing:0;color:#fff}
.short{margin-top:34px;border-left:3px solid var(--gold);padding:4px 0 4px 24px;
  max-width:60ch}
.short b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:10px}
.short p{font-size:19.5px;line-height:1.62;color:#EDE7D9}
.objMeta{margin-top:34px;display:flex;flex-wrap:wrap;gap:9px 22px;
  font-family:Oswald,sans-serif;font-weight:300;font-size:12.5px;letter-spacing:.12em;
  text-transform:uppercase;color:#7C7462}
.objMeta b{color:#CFC8B6;font-weight:400}
.scripture{margin:32px 0;display:flex;flex-direction:column;gap:16px}
.verse{border:1px solid var(--rule);border-radius:3px;padding:18px 22px;
  background:var(--white)}
.verse span{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-txt);display:block;margin-bottom:8px}
.verse p{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:500;
  font-style:italic;line-height:1.45;margin:0}
.objlist{display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--rule)}
.objlink{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:17px 4px;border-bottom:1px solid var(--rule);transition:padding-left .16s}
.objlink:hover{padding-left:12px;background:var(--white)}
.objlink .q{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:600}
.objlink .t{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-txt);flex:none}

/* ---------- serveurs (accueil + association) ---------- */
.srvs2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}

@media (max-width:980px){
  .hero .shell{grid-template-columns:1fr;gap:38px}
  .hero-fig{max-width:400px}
  .parcband{grid-template-columns:1fr;gap:26px}
  .social,.social2{grid-template-columns:1fr}
}
@media (max-width:900px){
  .obj{flex-direction:column;align-items:flex-start;gap:8px}
  .obj .meta{width:100%;justify-content:space-between}
  .pl{flex-wrap:wrap;gap:8px 14px} .pt{flex:1 1 100%;order:2} .pc{order:3}
}

/* ---------- menu mobile ---------- */
.mobmenu{display:none;position:fixed;left:0;right:0;top:0;bottom:0;background:var(--paper);
  z-index:19;padding:96px 28px 40px;overflow-y:auto;flex-direction:column}
.mobmenu a:first-child{border-top:1px solid var(--rule)}
.mobmenu.on{display:flex}
.mobmenu a{font-family:Oswald,sans-serif;font-weight:400;font-size:21px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink);padding:17px 0;
  border-bottom:1px solid var(--rule)}
.mobmenu a.on{color:var(--gold-txt)}
.mobmenu a.btn{border-bottom:0;font-size:13px;padding:13px 22px}
.burger span{transition:transform .18s,opacity .18s}
.burger.x span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
@media (min-width:901px){.mobmenu{display:none!important}}

/* ---------- routeur ---------- */

/* ---------- en-tête de section ---------- */
.pageHead{background:var(--ivory);border-bottom:1px solid var(--rule);padding-bottom:40px}
.pageHead h1{font-size:clamp(30px,4.2vw,46px);font-weight:900;margin:12px 0 0;max-width:17ch}
.pageHead .lede{max-width:58ch;margin-top:18px;font-size:19px;color:var(--ink-2)}
.pageHead.dark{background:var(--ink);color:#fff;border-bottom:0}
.pageHead.dark .crumbs{color:#7C7462}
.pageHead.dark .crumbs a:hover{color:#fff}
.pageHead.dark .lede{color:#BDB6A4}

/* ---------- filtres ---------- */
.filters{display:flex;flex-direction:column;gap:14px;margin-top:26px}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flabel{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);width:96px;flex:none}
.pageHead.dark .flabel{color:#7C7462}
.chip{font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;padding:8px 14px 7px;border-radius:2px;cursor:pointer;
  border:1px solid var(--rule-2);background:transparent;color:var(--ink-2);
  transition:background .14s,color .14s,border-color .14s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pageHead.dark .chip{border-color:rgba(255,255,255,.22);color:#CFC8B6}
.pageHead.dark .chip:hover{border-color:#fff;color:#fff}
.pageHead.dark .chip.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.searchbox{display:flex;align-items:center;gap:10px;border:1px solid var(--rule-2);
  border-radius:2px;padding:11px 14px;background:var(--white);max-width:420px}
.pageHead.dark .searchbox{background:#221F1A;border-color:rgba(255,255,255,.18)}
.searchbox svg{width:16px;height:16px;fill:none;stroke:var(--ink-3);stroke-width:1.8;
  flex:none}
.searchbox input{border:0;outline:0;background:none;font:inherit;font-size:15.5px;
  width:100%;color:var(--ink)}
.pageHead.dark .searchbox input{color:#fff}
.searchbox input::placeholder{color:var(--ink-3)}
.count{font-family:Oswald,sans-serif;font-weight:300;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin:26px 0 18px}
.empty{padding:40px 0;color:var(--ink-3);font-size:16px}

/* ---------- grilles de cartes ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:24px}
.card2{background:var(--white);border:1px solid var(--rule);border-radius:3px;
  overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,border-color .16s}
.card2:hover{transform:translateY(-2px);border-color:var(--rule-2)}
.card2 .im{aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.card2 .im img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card2:hover .im img{transform:scale(1.035)}
.card2 .bd{padding:20px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.card2 .rub{font-family:Oswald,sans-serif;font-weight:500;font-size:11px;
  letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--gold-txt)}
.card2 h3{font-size:19.5px;font-weight:700;line-height:1.26;letter-spacing:-.012em}
.card2 p{font-size:15px;color:var(--ink-2);flex:1}
.card2 .m{font-family:Oswald,sans-serif;font-weight:300;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:auto;
  padding-top:12px;border-top:1px solid var(--rule)}

/* ---------- liste d'objections ---------- */
.objs2{border-top:1px solid var(--rule)}
.obj2{display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:19px 4px;border-bottom:1px solid var(--rule);transition:padding-left .16s}
.obj2:hover{padding-left:13px;background:var(--white)}
.obj2 .q{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:600;
  line-height:1.32}
.obj2 .tg{display:flex;gap:9px;flex:none;align-items:center}
.obj2 .t1,.obj2 .t2{font-family:Oswald,sans-serif;font-size:10.5px;letter-spacing:.15em;
  text-transform:uppercase;padding:5px 10px 4px;border-radius:2px;white-space:nowrap}
.obj2 .t1{background:var(--ivory);color:var(--gold-txt);border:1px solid var(--rule)}
.obj2 .t2{border:1px solid var(--rule-2);color:var(--ink-3)}

/* ---------- parcours ---------- */
.crs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.crsCard{background:var(--white);border:1px solid var(--rule);border-radius:3px;
  padding:26px;display:flex;flex-direction:column;gap:11px;position:relative;
  overflow:hidden;transition:border-color .16s}
.crsCard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--gold);opacity:0;transition:opacity .16s}
.crsCard:hover{border-color:var(--rule-2)} .crsCard:hover::after{opacity:1}
.crsCard .n{font-family:Montserrat,sans-serif;font-weight:800;font-size:13px;
  color:var(--gold-txt)}
.crsCard h3{font-size:22px;font-weight:700;letter-spacing:-.015em}
.crsCard p{font-size:15px;color:var(--ink-2);flex:1}
.crsCard .m{font-family:Oswald,sans-serif;font-weight:300;font-size:12px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);padding-top:12px;
  border-top:1px solid var(--rule)}
.lessons{border-top:1px solid var(--rule);margin-top:8px}
.lesson{display:flex;align-items:center;gap:18px;padding:16px 4px;
  border-bottom:1px solid var(--rule);transition:padding-left .16s}
.lesson:hover{padding-left:12px;background:var(--white)}
.lesson .ln{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px;
  color:var(--gold-txt);flex:none;width:26px}
.lesson .lt{font-family:Montserrat,sans-serif;font-weight:600;font-size:17.5px;flex:1;
  letter-spacing:-.01em}
.lesson .lm{font-family:Oswald,sans-serif;font-weight:300;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);flex:none}
.lesson.done .ln{color:var(--green)}
.prevnext{display:flex;gap:16px;justify-content:space-between;margin-top:44px;
  padding-top:24px;border-top:1px solid var(--rule);flex-wrap:wrap}
.pn2{display:flex;flex-direction:column;gap:4px;max-width:46%}
.pn2 span{font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-3)}
.pn2 b{font-family:Montserrat,sans-serif;font-weight:600;font-size:16px}
.pn2:hover b{color:var(--gold-txt)}
.pn2.next{text-align:right;margin-left:auto}
.retain{margin:34px 0;background:var(--ink);color:#fff;border-radius:3px;padding:24px 26px}
.retain b{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:12px}
.retain ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.retain li{position:relative;padding-left:22px;font-size:16.5px;color:#EDE7D9}
.retain li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1.6px;
  background:var(--gold)}

/* ---------- ressources ---------- */
.res{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.resItem{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:20px;
  padding:20px 4px;border-bottom:1px solid var(--rule);align-items:center;
  transition:padding-left .16s}
.resItem:hover{padding-left:12px;background:var(--white)}
.resType{width:52px;height:52px;border-radius:3px;display:grid;place-items:center;
  font-family:Oswald,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;text-align:center;line-height:1.2;padding:4px}
.resType.livre{background:var(--ink)} .resType.doc{background:var(--blue)}
.resType.lien{background:var(--green)} .resType.video{background:var(--red)}
.resItem h3{font-size:18.5px;font-weight:700;letter-spacing:-.012em}
.resItem p{font-size:14.5px;color:var(--ink-2);margin-top:4px}
.resItem .lv{font-family:Oswald,sans-serif;font-weight:300;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);flex:none}

/* ---------- association ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:52px;
  align-items:start}
.split img{border-radius:3px}
.figcap{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;line-height:1.5;color:var(--ink-3)}
.figcap i{font-style:italic}
.bureau{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;
  margin-top:20px}
.person{border:1px solid var(--rule);border-radius:3px;background:var(--white);
  padding:20px;display:flex;gap:13px;align-items:center}
.person .av{width:44px;height:44px;border-radius:50%;background:var(--ink);
  color:var(--gold-lt);display:grid;place-items:center;font-family:Oswald,sans-serif;
  font-size:16px;flex:none}
.person b{display:block;font-size:15.5px;font-weight:600}
.person span{font-size:13.5px;color:var(--ink-3)}
.srvs2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.srv2{border-radius:3px;padding:24px;display:flex;flex-direction:column;gap:9px;
  color:#fff;transition:transform .16s}
.srv2:hover{transform:translateY(-3px)}
.srv2.ink{background:var(--ink)} .srv2.blue{background:var(--blue)}
.srv2.green{background:var(--green)} .srv2.red{background:var(--red)}
.srv2 .ch{display:block;width:40px;color:var(--gold-lt);margin-bottom:4px}
.srv2 .ch svg{width:100%;height:auto;display:block}
.srv2 b{font-family:Montserrat,sans-serif;font-weight:700;font-size:18.5px}
.srv2 p{font-size:14.5px;color:rgba(255,255,255,.78);flex:1}
.srv2 .c{font-family:Oswald,sans-serif;font-weight:300;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);
  border-top:1px solid rgba(255,255,255,.16);padding-top:11px;margin-top:6px}

/* ---------- soutenir ---------- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;
  margin:26px 0}
.tier{border:1px solid var(--rule-2);border-radius:3px;padding:22px;background:var(--white);
  display:flex;flex-direction:column;gap:8px}
.tier.hi{border-color:var(--gold);border-width:2px}
.tier .amt{font-family:Montserrat,sans-serif;font-weight:800;font-size:30px}
.tier .real{font-family:Oswald,sans-serif;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-txt)}
.tier p{font-size:14.5px;color:var(--ink-2)}
.uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;
  margin-top:20px}
.use{border-left:3px solid var(--gold);padding-left:16px}
.use b{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:16.5px;
  margin-bottom:4px}
.use p{font-size:14.5px;color:var(--ink-2)}

/* ---------- liens ---------- */
.linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.linkbtn{display:flex;align-items:center;gap:15px;padding:20px 22px;border-radius:3px;
  border:1px solid var(--rule);background:var(--white);transition:transform .16s,border-color .16s}
.linkbtn:hover{transform:translateY(-2px);border-color:var(--rule-2)}
.linkbtn .ic2{width:42px;height:42px;border-radius:10px;flex:none;display:grid;
  place-items:center;color:#fff}
.linkbtn .ic2 svg{width:22px;height:22px;fill:currentColor}
.linkbtn b{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:17px}
.linkbtn span{font-size:14px;color:var(--ink-3);font-family:'IBM Plex Mono',monospace}

/* ---------- contact / formulaire ---------- */
.form{display:flex;flex-direction:column;gap:16px;max-width:560px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:Oswald,sans-serif;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-3)}
.field input,.field textarea,.field select{border:1px solid var(--rule-2);border-radius:2px;
  padding:12px 14px;font:inherit;font-size:16px;background:var(--white);color:var(--ink)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--gold);
  outline-offset:1px;border-color:var(--gold)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.consent input{margin-top:4px}

/* ---------- mentions ---------- */
.legal dl{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:12px 26px;
  margin:0}
.legal dt{font-family:Oswald,sans-serif;font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.legal dd{margin:0;font-size:16.5px}

/* ---------- retour en haut / focus ---------- */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);
  outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

@media (max-width:980px){
  .split{grid-template-columns:1fr;gap:32px}
  .obj2{flex-direction:column;align-items:flex-start;gap:10px}
  .obj2 .tg{width:100%}
  .resItem{grid-template-columns:52px minmax(0,1fr);gap:14px}
  .resItem .lv{grid-column:2}
  .legal dl{grid-template-columns:1fr;gap:4px 0}
  .legal dd{margin-bottom:14px}
  .flabel{width:100%}
}

/* ---------- accessibilité et éléments propres à WordPress ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;
  padding:12px 20px;font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase}
.skip:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}

.wp-block-image img{border-radius:3px}
.wp-block-image figcaption{margin-top:10px;font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px;line-height:1.5;color:var(--ink-3)}
.wp-block-quote{margin:32px 0;padding-left:24px;border-left:3px solid var(--gold)}
.wp-block-quote p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;
  font-style:italic;font-weight:500;line-height:1.42;margin:0 0 10px}
.wp-block-quote cite{font-family:Oswald,sans-serif;font-style:normal;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

.navigation.pagination{margin-top:44px;padding-top:24px;border-top:1px solid var(--rule)}
.navigation .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-family:Oswald,sans-serif;font-size:14px;letter-spacing:.08em}
.navigation .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;
  padding:0 10px;border:1px solid var(--rule-2);border-radius:2px;color:var(--ink-2)}
.navigation .page-numbers:hover{border-color:var(--ink);color:var(--ink)}
.navigation .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}
.navigation .page-numbers.dots{border-color:transparent}

.share .copy{background:none;cursor:pointer}
.share .copy.ok{background:var(--green);border-color:var(--green);color:#fff}

/* Les chips sont des <button> : on neutralise le style natif. */
button.chip{font:inherit;font-family:Oswald,sans-serif;cursor:pointer}
