:root{
  --noir:#0A0A0A; --creme:#F4EFE6; --or:#C4A574; --or2:#d4b88a; --gris:#6b645a;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body.mag{margin:0;background:var(--creme);color:var(--noir);font:300 17px/1.75 Jost,system-ui,sans-serif}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px}
a{color:inherit}
h1,h2,h3,.logo,.intro-brand{font-family:"Playfair Display",Georgia,serif;font-weight:500}
/* Header éditorial */
.site-header{background:var(--noir);color:var(--creme);padding:22px 0 18px;border-bottom:1px solid rgba(196,165,116,.45)}
.header-inner{display:flex;flex-direction:column;align-items:center;gap:16px}
.logo{font-size:28px;text-decoration:none;letter-spacing:.06em}
.logo em,.intro-brand em{font-style:italic;color:var(--or);font-weight:500}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px}
nav li{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#c9c0b0;font-weight:400}
nav em{display:none}
/* Hero magazine */
.hero{padding:90px 0 70px;border-bottom:1px solid rgba(196,165,116,.35)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.kicker,.section-label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--or);margin:0 0 18px;font-weight:400}
.hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1.05;margin:0 0 28px;font-weight:500}
.lead{max-width:420px;color:var(--gris);margin:0;font-weight:300}
.rule{width:64px;height:1px;background:var(--or);margin:40px 0 0}
.hero-visual{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--noir)}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(8%) contrast(1.02)}
/* Rubriques type sommaire magazine */
.rubriques{padding:90px 0 120px}
.rubriques h2{font-size:42px;margin:0 0 48px;font-weight:500}
.index{list-style:none;margin:0;padding:0;border-top:1px solid rgba(10,10,10,.15)}
.index li{display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(10,10,10,.12)}
.index .num{font-family:"Playfair Display",serif;color:var(--or);font-size:18px}
.index .name{font-family:"Playfair Display",serif;font-size:28px}
.index .soon{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
/* Pages intérieures */
.page{padding:100px 0 130px;max-width:720px}
.page.center{text-align:center;max-width:560px}
.page h1{font-size:clamp(36px,4.5vw,56px);line-height:1.1;margin:0 0 20px;text-align:center;font-weight:500}
.page h1::after{content:"";display:block;width:56px;height:1px;background:var(--or);margin:32px auto 48px}
.page h2{font-family:"Playfair Display",serif;font-size:26px;margin:48px 0 12px;font-weight:500}
.page p,.page li{color:#2a2620}
.page a{color:#8a6d3b;text-decoration-color:var(--or);text-underline-offset:3px}
/* Footer */
.site-footer{background:var(--noir);color:#c9c0b0;padding:52px 0;font-size:13px;text-align:center;border-top:1px solid rgba(196,165,116,.45)}
.site-footer ul{list-style:none;padding:0;margin:0 0 18px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px}
.site-footer a{text-decoration:none;color:var(--or2);letter-spacing:.08em;text-transform:uppercase;font-size:11px}
.site-footer p{margin:0;font-weight:300}
footer button,footer [data-cc]{background:none;border:0;color:var(--or2);font:inherit;cursor:pointer;text-decoration:underline;letter-spacing:.08em;text-transform:uppercase;font-size:11px}
/* Intro */
.intro{position:fixed;inset:0;z-index:9999;background:var(--noir);display:flex;align-items:center;justify-content:center;transition:opacity .7s}
.intro.done{opacity:0;pointer-events:none}
.intro video,.intro-still{width:100%;height:100%;object-fit:cover}
.intro-still{display:none}.intro.static .intro-still{display:block}
.intro-brand{position:absolute;bottom:11%;left:0;right:0;text-align:center;color:var(--creme);font-size:clamp(32px,5.5vw,64px);text-shadow:0 2px 28px rgba(0,0,0,.55)}
.skip{position:absolute;top:24px;right:24px;background:rgba(10,10,10,.55);color:var(--creme);border:1px solid var(--or);padding:10px 22px;font:400 11px Jost,sans-serif;letter-spacing:.28em;text-transform:uppercase;cursor:pointer}
.skip:hover,.skip:focus-visible{background:var(--or);color:var(--noir)}
.intro[hidden]{display:none!important}
/* Cookies : masqué pendant l'intro */
html.intro-on #cc-main{display:none!important}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{aspect-ratio:16/10;max-width:520px}
  .index .name{font-size:22px}
  .wrap{padding:0 24px}
}
@media (max-width:700px){
  .hero{padding:56px 0 48px}
  .index li{grid-template-columns:40px 1fr;gap:12px}
  .index .soon{grid-column:2}
  #cc-main .cm{max-width:none!important;left:10px!important;right:10px!important;bottom:10px!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== Footer riche (inspiré structure 99biz, DA magazine) ===== */
.site-footer.jmc-ft{position:relative;overflow:hidden;background:linear-gradient(180deg,#14110d 0%,#0A0A0A 70%,#050504 100%);color:#c9c0b0;padding:72px 0 0;margin-top:80px;border-top:none;text-align:left}
.jmc-ft::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:3;background:linear-gradient(90deg,transparent,var(--or),#fff8e8,var(--or),transparent);background-size:60% 100%;background-repeat:no-repeat;animation:jmcGoldLine 7s linear infinite}
@keyframes jmcGoldLine{0%{background-position:-60% 0}100%{background-position:160% 0}}
.jmc-ft canvas.jmc-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.55}
.jmc-ft .jmc-in{position:relative;z-index:2}
.jmc-ft .jmc-top{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:36px;padding-bottom:8px}
.jmc-ft .jmc-brand .logo{display:inline-block;font-size:26px;color:var(--creme);margin-bottom:4px}
.jmc-ft .jmc-brand p{margin:14px 0 0;font-size:14px;line-height:1.65;color:#b5aa98;max-width:300px}
.jmc-badge{display:inline-block;margin-top:16px;padding:5px 12px;border:1px solid var(--or);border-radius:99px;color:var(--or2);font:500 11px/1.4 Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.jmc-ft h4{margin:0 0 14px;font:500 11px/1 Jost,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--or)}
.jmc-ft ul{list-style:none;margin:0;padding:0}
.jmc-ft li{margin:0 0 2px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:30px}
.jmc-ft li span{color:var(--creme);font-size:14px}
.jmc-ft li i{font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7a7164}
.jmc-ft a{color:var(--creme);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;min-height:30px;transition:color .28s ease,transform .28s ease}
.jmc-ft a:hover,.jmc-ft a:focus-visible{color:var(--or2);transform:translateX(4px)}
.jmc-nl{margin-top:22px;padding-top:18px;border-top:1px solid rgba(196,165,116,.2)}
.jmc-nl-note{margin:0;font-size:13px;color:#8a8174;line-height:1.5}
.jmc-word{position:relative;z-index:1;margin:28px 0 0;text-align:center;font:600 clamp(56px,14vw,200px)/.85 "Playfair Display",Georgia,serif;letter-spacing:.02em;white-space:nowrap;background:linear-gradient(90deg,rgba(196,165,116,.22),rgba(244,239,230,.38),rgba(196,165,116,.22),rgba(244,239,230,.3));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:jmcWord 12s linear infinite;user-select:none;-webkit-mask:linear-gradient(180deg,#000 35%,transparent 100%);mask:linear-gradient(180deg,#000 35%,transparent 100%)}
@keyframes jmcWord{to{background-position:-200% 0}}
.jmc-bot{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.08);padding:18px 40px 24px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;font-size:12px;color:#8a8174}
.jmc-bot strong{color:var(--creme);font-weight:400}
.site-footer.jmc-ft .wrap{max-width:1180px}

/* ===== Animations vivantes (légères) ===== */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal-item]{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-in [data-reveal-item]{opacity:1;transform:none}
[data-reveal].is-in [data-reveal-item]:nth-child(1){transition-delay:.05s}
[data-reveal].is-in [data-reveal-item]:nth-child(2){transition-delay:.1s}
[data-reveal].is-in [data-reveal-item]:nth-child(3){transition-delay:.15s}
[data-reveal].is-in [data-reveal-item]:nth-child(4){transition-delay:.2s}
[data-reveal].is-in [data-reveal-item]:nth-child(5){transition-delay:.25s}
[data-reveal].is-in [data-reveal-item]:nth-child(6){transition-delay:.3s}
[data-reveal].is-in [data-reveal-item]:nth-child(7){transition-delay:.35s}
[data-reveal].is-in [data-reveal-item]:nth-child(8){transition-delay:.4s}

.hero-visual{transition:transform .2s linear}
.hero-visual img{transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .5s ease}
.hero:hover .hero-visual img{transform:scale(1.03)}

.index li{transition:background .35s ease,padding-left .35s ease,border-color .35s ease;cursor:default}
.index li:hover{background:rgba(196,165,116,.08);padding-left:12px}
.index li .name{transition:color .3s ease}
.index li:hover .name{color:#8a6d3b}

.kicker,.section-label{position:relative}
.rule{transform-origin:left center;transition:transform 1s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-in .rule{transform:scaleX(1)}
[data-reveal]:not(.is-in) .rule{transform:scaleX(0)}

.site-header{transition:box-shadow .35s ease,background .35s ease}
.site-header.is-scrolled{box-shadow:0 1px 0 rgba(196,165,116,.35)}

.page a,.hero a{transition:color .25s ease,text-decoration-color .25s ease}

@media (max-width:900px){
  .jmc-ft .jmc-top{grid-template-columns:1fr 1fr;gap:28px}
  .jmc-ft .jmc-brand{grid-column:1/-1}
  .jmc-bot{padding-left:24px;padding-right:24px}
}
@media (max-width:480px){
  .jmc-ft .jmc-top{grid-template-columns:1fr}
  .jmc-bot{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-item]{opacity:1!important;transform:none!important;transition:none!important}
  .jmc-word,.jmc-ft::before{animation:none!important}
  .hero-visual img,.index li,.jmc-ft a{transition:none!important}
  .hero:hover .hero-visual img{transform:none}
}

/* --- Articles, cards, formations (v4) --- */
.site-header nav a{color:inherit;text-decoration:none}
.site-header nav li.on a{color:var(--gold,#C4A574)}
.site-header nav ul{flex-wrap:wrap;gap:.35rem 1rem}
.hero.compact{padding-top:72px;padding-bottom:40px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.25rem}
.btn{display:inline-block;padding:.85rem 1.25rem;background:#C4A574;color:#0A0A0A;text-decoration:none;font-family:Jost,system-ui,sans-serif;font-weight:500;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}
.btn.ghost{background:transparent;border:1px solid #C4A574;color:#F4EFE6}
.btn:hover{filter:brightness(1.08)}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.cards .card{display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none;height:100%}
.cards .card img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid rgba(196,165,116,.25)}
.cards .num{font-family:Jost,system-ui,sans-serif;color:#C4A574;letter-spacing:.12em;font-size:.75rem}
.cards .name{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;line-height:1.25}
.cards .excerpt{font-size:.92rem;opacity:.8}
.cards-section{padding:64px 0 96px}
.cards-section h2{font-family:Playfair Display,Georgia,serif;font-weight:500;margin:.25rem 0 1.5rem}
.index a{display:flex;gap:1rem;align-items:baseline;color:inherit;text-decoration:none;width:100%}
.index a .soon{display:none}
.article{padding:72px 0 96px;max-width:760px}
.article-hero .lead{font-size:1.15rem;opacity:.9}
.article-hero .meta{font-size:.85rem;opacity:.65;margin:1rem 0 1.5rem}
.article-cover{margin:0 0 2rem}
.article-cover img{width:100%;height:auto;display:block;border:1px solid rgba(196,165,116,.25)}
.article-cover figcaption{font-size:.8rem;opacity:.6;margin-top:.5rem}
.article-body{font-size:1.05rem;line-height:1.75}
.article-body h2{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:1.6rem;margin:2.4rem 0 1rem;color:var(--noir)}
.article-body h3{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:1.25rem;margin:1.8rem 0 .8rem}
.article-body ul,.article-body ol{padding-left:1.2rem}
.article-body li{margin:.35rem 0}
.article-body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1.5rem 0}
.article-body th,.article-body td{border:1px solid rgba(196,165,116,.28);padding:.55rem .7rem;text-align:left}
.article-body th{background:rgba(196,165,116,.1)}
.aff-note{font-size:.88rem;opacity:.75;border-left:2px solid #C4A574;padding:.6rem 0 .6rem 1rem;margin:1.2rem 0}
.aff-link{color:#C4A574;text-underline-offset:3px}
.formation-box,.partner-box{border:1px solid rgba(196,165,116,.35);padding:1.25rem 1.4rem;margin:1.75rem 0;background:rgba(10,10,10,.35)}
.formation-box h3,.partner-box h3{margin:.3rem 0 .6rem;font-family:Playfair Display,Georgia,serif;font-weight:500}
.soon-pill{display:inline-block;margin-top:.6rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#0A0A0A;background:#C4A574;padding:.35rem .65rem}
.article-aside{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(196,165,116,.25)}
.related ul{padding-left:1.1rem}
.prose{padding:72px 0 96px;max-width:720px;line-height:1.75}
.prose h1,.page h1{font-family:Playfair Display,Georgia,serif;font-weight:500}
.formations-list{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:1.25rem}
.formation-card{border:1px solid rgba(196,165,116,.35);padding:1.5rem}
.formation-card h2{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:1.4rem;margin:.4rem 0 .8rem}
.plain{padding-left:1.1rem}
@media (max-width:700px){
  .site-header nav ul{display:none}
  .article{padding-top:48px}
}

.article-page [data-reveal],.article-page [data-reveal-item]{opacity:1;transform:none}
.article-body{color:#2a2620}
.article-hero h1{color:var(--noir)}
.btn{color:#0A0A0A}
.formation-card,.formation-box,.partner-box{color:#2a2620;background:#fffdf8}
.formation-card h2,.formation-box h3,.partner-box h3{color:var(--noir)}
