:root{
  --noir:#0d0d0d;
  --scene:#141414;
  --blanc:#fff;
  --rouge:#d4202f;
  --rouge-f:#9e1622;
  --or:#ffcf6b;
  --papier:#f7f2e8;
  --encre:#161412;
  --gris:#6b6560;
  --ligne:rgba(22,20,18,.10);
  --titre:'Anton',Impact,sans-serif;
  --texte:'Figtree',system-ui,sans-serif;
  --musique:'Noto Music',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--noir);color:var(--blanc);font-family:var(--texte);-webkit-font-smoothing:antialiased}
a{color:inherit}
.gl{font-family:var(--musique);font-style:normal}

/* ================= INTRO ================= */
.intro{position:relative;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px 72px;background:radial-gradient(ellipse at 50% 120%,#2a0d10 0%,var(--noir) 60%)}
.scene-photo{position:absolute;inset:0;background:url(img/scene.jpg) center/cover;opacity:0;filter:grayscale(.3) contrast(1.1);animation:photo 9s 4.2s ease-out forwards}
.scene-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.75),rgba(13,13,13,.92) 70%,var(--noir))}
@keyframes photo{from{opacity:0;transform:scale(1.12)}to{opacity:.55;transform:scale(1)}}
.spot{position:absolute;top:-20%;width:38vmax;height:140%;background:linear-gradient(180deg,rgba(255,240,210,.20),rgba(255,240,210,0) 75%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(8px);opacity:0;mix-blend-mode:screen;pointer-events:none}
.spot-a{left:5%;transform-origin:50% 0;animation:spotA 5s 3.4s ease-in-out forwards}
.spot-b{right:5%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(212,32,47,.30),rgba(212,32,47,0) 75%);animation:spotB 5s 3.6s ease-in-out forwards}
@keyframes spotA{0%{opacity:0;transform:rotate(-35deg)}30%{opacity:1}100%{opacity:.7;transform:rotate(14deg)}}
@keyframes spotB{0%{opacity:0;transform:rotate(35deg)}30%{opacity:1}100%{opacity:.7;transform:rotate(-14deg)}}

.portee{position:absolute;left:0;width:100%;top:calc(50% - 60px);height:120px;opacity:.28}
.portee line{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;animation:trace 1.4s cubic-bezier(.6,0,.2,1) forwards}
.portee line:nth-child(2){animation-delay:.1s}.portee line:nth-child(3){animation-delay:.2s}.portee line:nth-child(4){animation-delay:.3s}.portee line:nth-child(5){animation-delay:.4s}
@keyframes trace{to{stroke-dashoffset:0}}

.logo-box{position:relative;width:min(88vw,720px);aspect-ratio:475/249;margin-top:4vh;z-index:2}
.pc{position:absolute;left:calc(var(--x)/475*100%);top:calc(var(--y)/249*100%);width:calc(var(--w)/475*100%);height:calc(var(--h)/249*100%);display:block}
.l{opacity:0;animation:tombe .7s calc(1.2s + var(--i)*.22s) cubic-bezier(.3,1.6,.5,1) forwards;filter:drop-shadow(0 0 0 rgba(255,207,107,0))}
@keyframes tombe{0%{opacity:0;transform:translateY(-140%) rotate(-12deg) scale(.7)}60%{opacity:1}100%{opacity:1;transform:none}}
.l{transition:filter .25s}
.l.flash{filter:drop-shadow(0 0 14px rgba(255,207,107,.9))}
.orch{opacity:0;clip-path:inset(0 100% 0 0);animation:ecrit .9s 2.9s cubic-bezier(.7,0,.2,1) forwards}
@keyframes ecrit{to{opacity:1;clip-path:inset(0 0 0 0)}}
.chef{padding:0;border:0;background:none;cursor:pointer;opacity:0;transform-origin:50% 100%;animation:saut 1.1s 3.3s cubic-bezier(.2,.8,.3,1) forwards}
.chef img{width:100%;height:100%;display:block;transform-origin:45% 100%}
.chef.dirige img{animation:dirige 1.6s ease-in-out infinite}
.chef:focus-visible{outline:2px dashed var(--or);outline-offset:6px}
@keyframes saut{0%{opacity:0;transform:translate(-260%,120%) rotate(-40deg) scale(.6)}55%{opacity:1;transform:translate(-40%,-55%) rotate(12deg) scale(1.05)}78%{transform:translate(0,4%) scaleY(.86) scaleX(1.08)}90%{transform:translate(0,-3%) scaleY(1.04)}100%{opacity:1;transform:none}}
@keyframes dirige{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg) translateY(-1%)}50%{transform:rotate(2deg)}75%{transform:rotate(-2deg) translateY(-1.5%)}}
.trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.trail path{fill:none;stroke:url(#gTrail);stroke-width:3.2;stroke-linecap:round;filter:url(#glow);stroke-dasharray:var(--len,700);stroke-dashoffset:var(--len,700);opacity:0}
.trail path.go{animation:baguette 1.5s cubic-bezier(.5,0,.2,1) forwards}
@keyframes baguette{0%{opacity:1;stroke-dashoffset:var(--len,700)}70%{opacity:1;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:calc(var(--len,700) * -1)}}

.note-vole{position:fixed;left:0;top:0;pointer-events:none;font-family:var(--musique);color:var(--or);z-index:20;text-shadow:0 0 10px rgba(255,207,107,.7);will-change:transform,opacity}

.intro-titre{text-align:center;z-index:2;margin-top:5vh}
.intro-titre span{display:inline-block;opacity:0;transform:translateY(110%);animation:monte .9s cubic-bezier(.2,.8,.2,1) forwards}
.intro-titre p,.intro-titre h1{overflow:hidden;margin:0}
.intro-titre .kicker span{animation-delay:4.5s}
.intro-titre h1 span{animation-delay:4.7s}
.intro-titre .sous span{animation-delay:4.95s}
@keyframes monte{to{opacity:1;transform:none}}
.kicker{font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;color:var(--or)}
.intro-titre h1{font-family:var(--titre);font-weight:400;font-size:clamp(2.6rem,8vw,5.6rem);line-height:1.05;text-transform:uppercase;transform:skew(-8deg);margin:.15em 0 .1em;letter-spacing:.01em}
.sous{color:#d9d4cc;font-size:clamp(1rem,2.3vw,1.25rem)}
.intro-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px;z-index:2;opacity:0;animation:monte .8s 5.4s forwards}
.btn{font:600 1rem var(--texte);border:0;border-radius:4px;padding:13px 22px;background:var(--rouge);color:#fff;cursor:pointer;text-decoration:none;box-shadow:0 6px 24px rgba(212,32,47,.35);transition:transform .15s,background .15s}
.btn:hover{background:var(--rouge-f);transform:translateY(-2px)}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.astuce{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.85rem;color:#8d8780;opacity:0;animation:monte .8s 6.2s forwards;z-index:2;margin:0}

/* ================= PAGES ================= */
.partition{padding:40px 16px 80px;display:flex;flex-direction:column;gap:40px;align-items:center}
.page{position:relative;width:100%;max-width:820px;border-radius:6px;overflow:hidden;padding:48px 56px 40px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.papier{background:var(--papier);color:var(--encre);background-image:repeating-linear-gradient(180deg,transparent 0 31px,var(--ligne) 31px 32px);background-size:100% 160px;background-repeat:repeat-x;background-position:0 calc(100% - 20px)}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.vu{opacity:1;transform:none}

.ph{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--encre);padding-bottom:6px;margin-bottom:22px;font-size:.82rem}
.mes{font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tempo{font-style:italic;font-weight:600;color:var(--rouge)}
.num{margin:0 0 4px;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gris);font-weight:600}
.page h2{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:30pt;line-height:1.05;margin:0 0 12px;transform:skew(-6deg);transform-origin:left}
.chapo{font-size:1.12rem;line-height:1.5;margin:0 0 24px;max-width:62ch}
.src{font-size:.68rem;line-height:1.45;color:var(--gris);margin:26px 0 0;border-top:1px solid var(--ligne);padding-top:8px}
.src a{color:var(--gris)}
.pf{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-top:6px}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trio.deux{grid-template-columns:1fr 1fr;margin-top:22px}
.tuile{background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:16px 16px 14px;box-shadow:4px 4px 0 var(--encre);transition:transform .2s}
.tuile:hover{transform:translate(-2px,-2px) rotate(-.6deg)}
.tuile h3{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.25rem;margin:6px 0 6px;letter-spacing:.01em}
.tuile p{margin:0;font-size:.95rem;line-height:1.45}
.tuile.rouge{background:var(--rouge);color:#fff;border-color:var(--encre)}
.picto{font-family:var(--musique);font-size:2.4rem;line-height:1;display:block;height:2.6rem}
.tuile.rouge .picto{color:#fff}

.disque{display:flex;gap:18px;align-items:center;margin:26px 0 0;background:var(--encre);color:#fff;border-radius:6px;padding:16px 20px}
.disque-rond{flex:0 0 76px;height:76px;border-radius:50%;background:repeating-radial-gradient(circle,#222 0 2px,#111 2px 4px);position:relative;display:grid;place-items:center;animation:tourne 6s linear infinite}
.disque-rond span{width:30px;height:30px;border-radius:50%;background:var(--rouge);display:grid;place-items:center;font-size:.55rem;font-weight:800}
@keyframes tourne{to{transform:rotate(360deg)}}
.disque figcaption{font-size:.95rem;line-height:1.5}
.citation{margin:22px 0 0;padding:4px 0 4px 18px;border-left:5px solid var(--rouge);font-size:1.15rem;font-style:italic;line-height:1.45}
.citation cite{display:block;font-style:normal;font-size:.88rem;color:var(--gris);margin-top:6px}

.montee{width:100%;height:auto;display:block;margin:4px 0 6px}
.montee .lignes line{stroke:var(--encre);stroke-width:1;opacity:.35}
.montee .cresc{stroke:var(--rouge);stroke-width:2;fill:none}
.montee ellipse{fill:var(--encre)}
.montee .fin ellipse{fill:var(--rouge)}
.montee line{stroke:var(--encre);stroke-width:2.2}
.montee text{font:400 15px var(--titre);fill:var(--rouge);text-anchor:middle}
.mouvements{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}
.mouvements li{border-left:5px solid var(--encre);padding:6px 0 6px 16px;display:grid;grid-template-columns:200px 1fr;column-gap:18px;background:rgba(255,255,255,.55);border-radius:0 6px 6px 0}
.mouvements .t{grid-column:1;grid-row:1}.mouvements h3{grid-column:1;grid-row:2}
.mouvements li>p{grid-column:2}.mouvements li>p:first-of-type{grid-row:1/span 2;align-self:center}
.mouvements .liv{grid-row:3}
.mouvements li.v{border-color:var(--rouge)}
.mouvements .t{font-style:italic;font-weight:800;color:var(--rouge);font-size:.85rem}
.mouvements h3{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.3rem;line-height:1.1;margin:4px 0 6px}
.mouvements p{font-size:.95rem;line-height:1.42;margin:0}
.mouvements .liv{font-weight:600;font-size:.88rem;margin-top:4px}
.clin{margin:18px 0 0;font-size:.9rem;background:var(--or);display:inline-block;padding:6px 12px;border-radius:4px;transform:rotate(-1deg)}

.outils{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.outils span{background:var(--encre);color:#fff;border-radius:40px;padding:8px 16px 8px 12px;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:8px}
.outils .gl{color:var(--or);font-size:1.2rem}
.rituels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
.rituels p{margin:0;font-size:.92rem;line-height:1.45;background:#fff;border-radius:6px;padding:12px 14px;border:1px solid var(--ligne)}
.h-defis{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.5rem;margin:0 0 10px;transform:skew(-6deg)}
.defis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.defi{position:relative;background:var(--encre);color:#fff;border-radius:6px;padding:14px 16px 14px 64px}
.defi .nuance{position:absolute;left:12px;top:10px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:1.9rem;color:var(--or);width:44px;text-align:center}
.defi h4{margin:0 0 4px;font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.1rem;letter-spacing:.02em}
.defi p{margin:0;font-size:.88rem;line-height:1.42;color:#e6e0d7}

.echelle{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0 0 22px;border-radius:6px;overflow:hidden}
.niv{padding:14px 16px;display:flex;align-items:baseline;gap:12px}
.niv b{font-family:Georgia,serif;font-style:italic;font-size:2rem}
.niv span{font-weight:600;font-size:.95rem}
.n1{background:#e9e2d4}.n2{background:#f3b5a9}.n3{background:var(--rouge);color:#fff}
.temps{list-style:none;padding:0;margin:0 0 20px;position:relative}
.temps::before{content:"";position:absolute;left:96px;top:6px;bottom:6px;width:2px;background:var(--encre)}
.temps li{display:grid;grid-template-columns:86px 1fr;gap:22px;align-items:start;margin-bottom:10px;position:relative}
.temps li::after{content:"♩";font-family:var(--musique);position:absolute;left:88px;top:-2px;background:var(--papier);color:var(--rouge);font-size:1.1rem;line-height:1.2}
.temps .d{font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;text-align:right;padding-top:2px}
.temps p{margin:0;font-size:.95rem;line-height:1.45}
.grille{background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:8px;box-shadow:4px 4px 0 var(--rouge)}
.grille h3{width:100%;margin:0 0 2px;font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.2rem}
.grille span{font-size:.86rem;border:1px solid var(--encre);border-radius:30px;padding:5px 12px}
.grille span::before{content:"✓ ";color:var(--rouge);font-weight:800}

.exemple-t{font-family:var(--titre);text-transform:uppercase;font-size:1.25rem;margin:0 0 10px;display:flex;align-items:center;gap:10px}
.exemple-t .gl{color:var(--rouge);font-size:1.6rem}
.fleches{display:flex;flex-direction:column;gap:8px}
.f{display:grid;grid-template-columns:1fr 34px 1.3fr;align-items:center;font-size:.95rem}
.f .de{background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:9px 12px;font-weight:600}
.f::before{content:"";grid-column:2;grid-row:1;height:2px;background:var(--encre);position:relative}
.f .a{grid-column:3;padding:9px 12px;background:var(--encre);color:#fff;border-radius:6px}
.f .de{grid-column:1;grid-row:1}
.f .a{grid-row:1}
.f.renfort .de{border-color:var(--rouge);color:var(--rouge)}
.f.renfort .a{background:var(--rouge)}
.signature{margin:22px 0 0;font-family:var(--titre);font-size:1.6rem;text-transform:uppercase;transform:skew(-6deg);display:flex;align-items:center;gap:10px}
.signature .gl{color:var(--rouge);font-size:2.2rem}
.signature small{font-family:var(--texte);font-size:.75rem;letter-spacing:.2em;color:var(--gris);margin-left:6px}

/* Couverture */
.couverture{background:var(--scene);color:#fff;min-height:900px;padding:0;display:flex;flex-direction:column}
.cv-photo{position:absolute;inset:0;background:url(img/contrebasse.jpg) 70% 30%/cover;opacity:.32}
.cv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--scene) 30%,rgba(20,20,20,.4)),linear-gradient(0deg,var(--scene),transparent 40%)}
.cv-in{position:relative;padding:56px 56px 24px;flex:1;display:flex;flex-direction:column}
.cv-logo{width:240px;height:auto;margin-bottom:34px}
.couverture .kicker{margin:0}
.page .titre-cv{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:clamp(3.4rem,10vw,6.4rem);line-height:.95;margin:.15em 0 .2em;transform:skew(-8deg);transform-origin:left}
.cv-sous{font-size:1.25rem;margin:0 0 10px;color:#e6e0d7;max-width:30ch}
.cv-sig{font-weight:600;margin:0 0 32px;display:flex;align-items:center;gap:8px}
.cv-sig .gl{font-size:1.8rem;color:var(--rouge)}
.cv-bio{border-left:4px solid var(--rouge);padding-left:18px;max-width:520px}
.cv-bio h3{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.3rem;margin:0 0 8px;color:var(--or)}
.cv-bio ul{margin:0;padding:0;list-style:none}
.cv-bio li{font-size:.95rem;line-height:1.4;margin-bottom:6px;padding-left:20px;position:relative}
.cv-bio li::before{content:"♪";font-family:var(--musique);position:absolute;left:0;color:var(--rouge)}
.cv-pied{margin-top:auto;padding-top:30px;font-size:.8rem;line-height:1.5;color:#bdb6ad}
.cv-pied p{margin:0 0 6px}
.version{color:#fff;font-weight:600;display:flex;align-items:baseline;gap:8px}
.pointilles{display:inline-block;width:180px;border-bottom:1.5px dotted #fff;height:1em}
.couverture .src{position:relative;margin:0;padding:10px 56px 18px;border-top:1px solid rgba(255,255,255,.12);color:#8d8780}
.couverture .src a{color:#8d8780}

/* Mobile */
@media (max-width:720px){
  .page{padding:32px 20px 28px}
  .page h2{font-size:2rem}
  .trio,.trio.deux,.rituels,.defis{grid-template-columns:1fr}
  .mouvements li{grid-template-columns:1fr}.mouvements li>p,.mouvements li>p:first-of-type,.mouvements .liv{grid-column:1;grid-row:auto}
  .echelle{grid-template-columns:1fr}
  .temps::before{left:70px}.temps li{grid-template-columns:60px 1fr}.temps li::after{left:62px}
  .f{grid-template-columns:1fr;gap:4px}.f::before{display:none}.f .a,.f .de{grid-column:1;grid-row:auto}
  .cv-in{padding:40px 20px 20px}.couverture .src{padding:10px 20px 16px}
  .cv-logo{width:170px}
}
@media (prefers-reduced-motion:reduce){
  .l,.orch,.chef,.scene-photo,.spot,.intro-titre span,.intro-actions,.astuce,.portee line{animation:none!important;opacity:1;transform:none;clip-path:none;stroke-dashoffset:0}
  .spot{opacity:.5}.scene-photo{opacity:.5}
  .reveal{opacity:1;transform:none}
  .disque-rond{animation:none}
}

/* ================= IMPRESSION (PDF A4) ================= */
@page{size:A4;margin:0}
@media print{
  body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .intro,.note-vole{display:none!important}
  .partition{padding:0;gap:0;display:block}
  .page{width:210mm;height:297mm;max-width:none;border-radius:0;box-shadow:none;padding:15mm 16mm 12mm;break-after:page;page-break-after:always;display:flex;flex-direction:column}
  .page:last-child{break-after:auto;page-break-after:auto}
  .reveal{opacity:1!important;transform:none!important}
  .couverture{padding:0;min-height:0}
  .page .titre-cv{font-size:72pt}
  .cv-sous{font-size:15pt}
  .cv-logo{width:270px}
  .cv-in{padding:18mm 16mm 6mm}
  .couverture .src{padding:3mm 16mm 6mm}
  .src{margin-top:auto}
  .disque-rond{animation:none}
  .tuile:hover{transform:none}
}

/* ================= MÉTHODE LONGUE ================= */
.page{scroll-margin-top:20px}
.puces{margin:0;padding:0;list-style:none}
.puces li{position:relative;padding-left:18px;margin-bottom:5px;font-size:.93rem;line-height:1.42}
.puces li::before{content:"♪";font-family:var(--musique);position:absolute;left:0;top:0;color:var(--rouge)}
.deux-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.h-mini{font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.05rem;letter-spacing:.03em;margin:0 0 8px;border-bottom:2px solid var(--encre);padding-bottom:3px}
.deux-col .h-mini+*{margin-bottom:14px}

/* Sommaire */
.sommaire{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.sommaire a{display:flex;gap:16px;align-items:center;text-decoration:none;background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:10px 14px;box-shadow:3px 3px 0 var(--encre);transition:transform .15s}
.sommaire a:hover{transform:translate(-2px,-2px)}
.sn{font-family:var(--titre);font-size:1.6rem;color:var(--rouge);min-width:48px;text-align:center;transform:skew(-8deg)}
.st b{display:block;font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.15rem}
.st small{color:var(--gris);font-size:.88rem}

/* Fiche */
.fiche{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.fiche.trois{grid-template-columns:repeat(3,1fr)}
.bloc{background:#fff;border:1px solid var(--ligne);border-radius:6px;padding:12px 14px}
.bloc h3{margin:0 0 4px;font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.05rem;color:var(--rouge)}
.bloc p{margin:0;font-size:.9rem;line-height:1.45}
.objectif-general{background:var(--encre);color:#fff;border-radius:6px;padding:12px 16px;font-size:.98rem;line-height:1.45;margin-bottom:10px}
.objectif-general b{color:var(--or)}
.objectifs{margin:0 0 14px;padding-left:0;list-style:none;counter-reset:o;display:grid;gap:6px}
.objectifs li{counter-increment:o;position:relative;padding-left:40px;font-size:.95rem;line-height:1.4}
.objectifs li::before{content:counter(o);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--rouge);color:#fff;font-family:var(--titre);display:grid;place-items:center;font-size:.95rem}
.note-pro{margin:16px 0 0;font-size:.9rem;line-height:1.5;background:#fff;border-left:5px solid var(--or);padding:10px 14px;border-radius:0 6px 6px 0}

/* Intercalaires */
.intercalaire{background:var(--scene);color:#fff;min-height:620px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.intercalaire::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 46px,rgba(255,255,255,.05) 46px 48px);background-size:100% 240px;background-position:0 50%;background-repeat:repeat-x}
.intercalaire::after{content:"";position:absolute;right:-10%;top:-10%;width:60%;height:120%;background:radial-gradient(ellipse at center,rgba(212,32,47,.28),transparent 65%)}
.intercalaire>*{position:relative;z-index:1}
.int-num{font-family:var(--titre);font-size:9rem;line-height:.9;margin:0;color:var(--rouge);transform:skew(-8deg)}
.int-tempo{font-style:italic;font-weight:600;color:var(--or);font-size:1.4rem;margin:6px 0 0}
.page .int-titre{font-size:clamp(2.6rem,7vw,4.4rem);margin:10px 0 6px}
.int-jours{letter-spacing:.24em;text-transform:uppercase;font-size:.85rem;color:#bdb6ad;margin:0 0 18px}
.int-texte{font-size:1.2rem;line-height:1.5;max-width:44ch;color:#e6e0d7;margin:0}
.intercalaire .pf{position:absolute;bottom:22px;left:56px;color:#8d8780}

/* Séances */
.h-jour{display:flex;align-items:center;gap:14px}
.jour-n{flex:0 0 auto;display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--rouge);color:#fff;font-size:1.9rem;transform:skew(6deg)}
.seance .chapo{margin-bottom:16px}
.deroule{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.demi{background:var(--encre);color:#fff;border-radius:6px;padding:10px 14px}
.demi .heure{font-family:var(--titre);color:var(--or);font-size:1rem;letter-spacing:.04em}
.demi p{margin:4px 0 0;font-size:.9rem;line-height:1.45;color:#e6e0d7}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chips span{border:1.5px solid var(--encre);border-radius:30px;padding:5px 12px;font-size:.84rem;background:#fff}
.chips b{color:var(--rouge);margin-right:4px}
.geste,.defi-jour{display:flex;gap:14px;align-items:flex-start;border-radius:6px;padding:12px 16px;margin-bottom:10px}
.geste{background:var(--rouge);color:#fff}
.geste .gl{font-size:2rem;line-height:1}
.defi-jour{background:#fff;border:1.5px dashed var(--encre)}
.defi-jour .nuance{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:1.7rem;color:var(--rouge);line-height:1}
.geste p,.defi-jour p{margin:2px 0 0;font-size:.92rem;line-height:1.45}
.geste b,.defi-jour b{font-family:var(--titre);font-weight:400;text-transform:uppercase;letter-spacing:.03em}
.renvoi{margin:4px 0 0;font-weight:600;font-size:.92rem}
.renvoi a{color:var(--rouge)}

/* Exemples de conducteur */
.partition-ex{margin:0 0 14px;background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:10px 12px 8px;box-shadow:4px 4px 0 var(--encre)}
.abc svg{max-width:100%;height:auto}
.partition-ex figcaption{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--gris);border-top:1px solid var(--ligne);padding-top:8px;margin-top:4px}
.ecouter{font:700 .9rem var(--texte);background:var(--rouge);color:#fff;border:0;border-radius:30px;padding:7px 16px;cursor:pointer}
.ecouter.joue{background:var(--encre)}
.a-retenir{background:var(--encre);color:#fff;border-radius:6px;padding:12px 16px}
.a-retenir>b{font-family:var(--titre);font-weight:400;text-transform:uppercase;color:var(--or);display:block;margin-bottom:6px}
.a-retenir .puces li{color:#e6e0d7}
.abc .abcjs-note.abcjs-note_playing,.abc .abcjs-note_playing{fill:var(--rouge)}

/* Boîte à outils */
.tab{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}
.tab th{font-family:var(--titre);font-weight:400;text-transform:uppercase;text-align:left;background:var(--encre);color:#fff;padding:7px 10px;letter-spacing:.03em}
.tab td{padding:6px 10px;border-bottom:1px solid var(--ligne);vertical-align:top}
.tab tr:nth-child(even) td{background:#faf7f1}
.memo{font-size:.88rem;margin:12px 0 0;display:flex;gap:8px;align-items:center}
.memo .gl{color:var(--rouge);font-size:1.6rem}
.ordre{list-style:none;padding:0;margin:0;counter-reset:r}
.ordre li{counter-increment:r;display:grid;grid-template-columns:30px 1fr;column-gap:10px;margin-bottom:8px;font-size:.9rem;line-height:1.35}
.ordre li::before{content:counter(r);grid-row:1/span 2;width:26px;height:26px;border-radius:50%;border:2px solid var(--rouge);color:var(--rouge);display:grid;place-items:center;font-weight:800;font-size:.8rem}
.ordre b{grid-column:2}.ordre span{grid-column:2;color:var(--gris)}
.copiste{margin:0;padding:0;list-style:none;columns:2;column-gap:22px;counter-reset:c}
.copiste li{counter-increment:c;break-inside:avoid;position:relative;padding:8px 10px 8px 42px;margin-bottom:8px;background:#fff;border:1px solid var(--ligne);border-radius:6px;font-size:.9rem;line-height:1.4}
.copiste li::before{content:"☐";position:absolute;left:12px;top:6px;font-size:1.2rem;color:var(--rouge)}
.arbo{background:var(--encre);color:#e6e0d7;border-radius:6px;padding:10px 12px;font-size:.78rem;line-height:1.5;margin:0;white-space:pre;overflow-x:auto}
.lexique{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mot{background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column}
.mot b{font-style:italic;font-family:Georgia,serif;font-size:1.1rem;color:var(--rouge)}
.mot span{font-size:.9rem}

/* Grille détaillée */
.criteres{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.crit{background:#fff;border:1.5px solid var(--encre);border-radius:6px;padding:10px 12px}
.crit h3{margin:0 0 6px;font-family:var(--titre);font-weight:400;text-transform:uppercase;font-size:1.05rem}
.crit p{margin:0 0 4px;font-size:.84rem;line-height:1.35;display:grid;grid-template-columns:30px 1fr;gap:6px}
.crit p b{font-family:Georgia,serif;font-style:italic;color:var(--rouge)}
.biblio{margin:0;padding:0;list-style:none}
.biblio li{font-size:.9rem;line-height:1.45;margin-bottom:8px;padding-left:16px;position:relative}
.biblio li::before{content:"𝄞";font-family:var(--musique);position:absolute;left:0;color:var(--rouge)}
.biblio a{color:var(--encre)}

@media (max-width:720px){
  .deux-col,.fiche,.fiche.trois,.deroule,.lexique,.criteres{grid-template-columns:1fr}
  .copiste{columns:1}
  .int-num{font-size:6rem}
  .jour-n{width:48px;height:48px;font-size:1.4rem}
  .intercalaire{min-height:480px}
  .intercalaire .pf{left:20px}
}
@media print{
  .intercalaire{min-height:0;justify-content:center;padding:0 22mm}
  .intercalaire .pf{left:22mm;bottom:12mm}
  .ecouter{display:none}
  .seance .src,.exemple .src{margin-top:auto}
  .page:not(.intercalaire) > .pf{margin-top:4px}
}
#ex-chambre .abc-wrap{max-width:70%;margin:0 auto}
@media print{#ex-chambre .abc-wrap{max-width:64%}}
@media print{
  .seance .chapo{font-size:13pt}
  .seance .puces li{font-size:11pt;margin-bottom:6px}
  .seance .h-mini{font-size:13pt}
  .seance .demi p,.seance .geste p,.seance .defi-jour p{font-size:11pt}
  .seance .demi{padding:14px 16px}
  .seance .deroule{margin:10px 0 16px}
  .seance .chips span{font-size:10pt}
  .seance .geste,.seance .defi-jour{padding:16px 18px;margin-bottom:14px}
  .seance .deux-col{margin-bottom:6px}
}

/* ================= CHARTE MONSTRE : noir, blanc, or (d'après lemonstreorchestra.com) ================= */
:root{
  --noir:#0b0b0b; --scene:#101010; --papier:#131313; --carte:#1b1b1b; --carte2:#222;
  --encre:#f2eee7; --blanc:#fff; --gris:#8e8982; --ligne:rgba(255,255,255,.10);
  --rouge:#cfae6c; --rouge-f:#b8934f; --or:#cfae6c; --filet:rgba(207,174,108,.55);
}
body{background:var(--noir)}
.intro{background:radial-gradient(ellipse at 50% 120%,#1d1a14 0%,var(--noir) 60%)}
.spot-b{background:linear-gradient(180deg,rgba(207,174,108,.22),rgba(207,174,108,0) 75%)}
.btn{background:#fff;color:#0b0b0b;box-shadow:none;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800;border-radius:2px}
.btn:hover{background:var(--or);color:#0b0b0b}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.kicker{color:var(--or)}
.intro-titre h1{font-family:var(--texte);font-weight:800;transform:none;letter-spacing:.06em;font-size:clamp(2rem,5.6vw,4rem)}

/* Pages : fond scène, typographie du site (capitales espacées) */
.page{border:1px solid rgba(255,255,255,.06);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.papier{background:var(--papier);color:var(--encre);background-image:none}
.page h2{font-family:var(--texte);font-weight:800;text-transform:uppercase;letter-spacing:.05em;transform:none;font-size:24pt;line-height:1.15;color:#fff}
.page h2::after{content:"";display:block;width:56px;height:2px;background:var(--or);margin-top:14px}
.page .int-titre::after,.h-jour::after{display:none}
.ph{border-bottom:1px solid var(--ligne)}
.mes{color:var(--gris)}
.tempo{color:var(--or)}
.num{color:var(--or)}
.chapo{color:#d9d4cc}
.src,.src a{color:#6f6a64}
.src{border-top-color:var(--ligne)}
.pf{color:#6f6a64}
.h-mini{font-family:var(--texte);font-weight:800;letter-spacing:.14em;font-size:.78rem;border-bottom:1px solid var(--ligne);color:var(--or)}
.puces li::before{color:var(--or)}

/* Cartes : sombres, filet fin, sans ombres portées */
.tuile,.rituels p,.grille,.f .de,.sommaire a,.bloc,.note-pro,.chips span,.defi-jour,.copiste li,.mot,.crit,.mouvements li,.tab{background:var(--carte);color:var(--encre);border:1px solid rgba(255,255,255,.10);box-shadow:none}
.tuile:hover,.sommaire a:hover{transform:none;border-color:var(--filet)}
.tuile h3,.bloc h3,.grille h3,.crit h3,.st b,.mouvements h3,.defi h4,.geste b,.defi-jour b,.a-retenir>b,.exemple-t,.h-defis,.cv-bio h3{font-family:var(--texte);font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:none}
.tuile h3{font-size:.95rem}
.tuile.rouge{background:var(--carte2);color:var(--encre);border-color:var(--filet)}
.tuile.rouge .picto,.picto{color:var(--or)}
.disque,.defi,.outils span,.f .a,.objectif-general,.demi,.a-retenir,.arbo{background:#0b0b0b;color:var(--encre);border:1px solid rgba(255,255,255,.08)}
.defi p,.demi p,.a-retenir .puces li{color:#cfc9c0}
.disque-rond span{background:var(--or);color:#0b0b0b}
.citation{border-left:2px solid var(--or)}
.geste{background:transparent;border:1px solid var(--filet);color:var(--encre)}
.geste .gl,.defi-jour .nuance,.defi .nuance,.sn,.crit p b,.mot b,.signature .gl,.cv-sig .gl,.memo .gl,.exemple-t .gl,.biblio li::before{color:var(--or)}
.chips b{color:var(--or)}
.jour-n{background:transparent;border:1px solid var(--or);color:var(--or);transform:none;font-family:var(--texte);font-weight:300;font-size:1.6rem}
.h-jour{gap:18px}
.clin{background:transparent;color:var(--or);border:1px solid var(--filet);transform:none;font-size:.85rem;letter-spacing:.04em}
.objectifs li::before{background:transparent;border:1px solid var(--or);color:var(--or);font-family:var(--texte);font-weight:600}
.echelle .n1{background:#1b1b1b;color:var(--encre)} .echelle .n2{background:#3a3222;color:var(--encre)} .echelle .n3{background:var(--or);color:#0b0b0b}
.temps::before{background:var(--ligne)}
.temps li::after{background:var(--papier);color:var(--or)}
.grille{box-shadow:none}
.grille span{border-color:rgba(255,255,255,.18)}
.grille span::before{color:var(--or)}
.f.renfort .de{border-color:var(--or);color:var(--or)} .f.renfort .a{background:var(--or);color:#0b0b0b}
.f::before{background:var(--ligne)}
.mouvements li{border-left:2px solid var(--ligne)} .mouvements li.v{border-left-color:var(--or)}
.mouvements .t{color:var(--or)}
.montee .lignes line{stroke:#fff;opacity:.2} .montee line{stroke:var(--encre)} .montee ellipse{fill:var(--encre)} .montee .fin ellipse{fill:var(--or)} .montee .cresc{stroke:var(--or)}
.outils span{border-radius:2px}
.tab th{background:#0b0b0b;color:var(--or);font-family:var(--texte);font-weight:800;font-size:.72rem;letter-spacing:.12em}
.tab td{border-bottom-color:var(--ligne)} .tab tr:nth-child(even) td{background:#202020}
.copiste li::before{color:var(--or)}
.ordre li::before{border-color:var(--or);color:var(--or)}
.biblio a{color:var(--encre)}
.renvoi a{color:var(--or)}
.note-pro{border-left:2px solid var(--or)}
.sommaire a{border-radius:2px}
.sn{font-family:var(--texte);font-weight:300;transform:none}
.signature{font-family:var(--texte);font-weight:800;letter-spacing:.08em;transform:none;font-size:1.2rem}
.titre-cv,.page .titre-cv{font-family:var(--texte);font-weight:800;letter-spacing:.04em;transform:none}
.cv-bio{border-left:2px solid var(--or)} .cv-bio li::before{color:var(--or)}

/* Partitions : papier blanc posé sur la scène */
.partition-ex{background:#fbfaf7;color:#111;border:0;box-shadow:0 12px 40px rgba(0,0,0,.5);border-radius:2px}
.partition-ex figcaption{color:#77716a;border-top-color:rgba(0,0,0,.1)}
.ecouter{background:#0b0b0b;color:#fff;border-radius:2px;letter-spacing:.06em}
.ecouter.joue{background:var(--or);color:#0b0b0b}

/* Intercalaires : photo du Monstre, comme sur le site */
.intercalaire{background:#0b0b0b}
.intercalaire::before{background:linear-gradient(90deg,rgba(11,11,11,.96) 35%,rgba(11,11,11,.55)),var(--photo,none) center/cover no-repeat;filter:grayscale(.25)}
.intercalaire::after{display:none}
.int-num{color:var(--or);font-family:var(--texte);font-weight:200;font-size:7rem;transform:none}
.int-tempo{color:#fff;font-weight:400;letter-spacing:.06em}
.page .int-titre{font-size:clamp(2.2rem,5.5vw,3.6rem)}
.int-jours{color:var(--or)}

/* Pages des maîtres */
.maitre{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
.maitre.double{grid-template-columns:1.5fr 1fr}
.scan{margin:0;background:#fbfaf7;padding:10px;border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,.55);display:grid;gap:8px}
.maitre.double .scan{grid-template-columns:1fr 1fr}
.scan img{width:100%;height:auto;display:block}
.scan figcaption{grid-column:1/-1;font-size:.72rem;color:#77716a;letter-spacing:.04em}
.lecture .puces li{font-size:.92rem;margin-bottom:9px}
.lecture .defi-jour{margin-top:14px}
@media (max-width:720px){.maitre,.maitre.double{grid-template-columns:1fr}}
@media print{
  body{background:#0b0b0b}
  .page{border:0}
  .maitre-page .scan img{max-height:205mm;width:auto;max-width:100%;margin:0 auto}
  .maitre.double .scan img{max-height:150mm}
}
/* Pages des maîtres : la partition en grand, la lecture dessous */
.maitre{grid-template-columns:1fr;gap:16px}
.maitre .scan{max-width:640px;margin:0 auto;width:100%}
.maitre.double .scan{max-width:none}
.maitre .lecture{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
.maitre .lecture .h-mini{grid-column:1/-1;margin-bottom:0}
.maitre .lecture .defi-jour{margin-top:0}
@media (max-width:720px){.maitre .lecture{grid-template-columns:1fr}}
@media print{
  .maitre-page .scan{width:auto;justify-self:center;padding:8px}
  .maitre-page .scan img{max-height:168mm;width:auto;max-width:100%}
  .maitre.double .scan img{max-height:128mm}
  .maitre-page h2{font-size:20pt}
  .sommaire{gap:6px}.sommaire a{padding:7px 12px}
  #sommaire .chapo{margin-bottom:14px}
  #ex-chambre .abc-wrap{max-width:60%}
  .seance .puces li{font-size:11.5pt}
  .seance .demi p,.seance .geste p,.seance .defi-jour p{font-size:11.5pt}
  .seance .chapo{font-size:13.5pt}
}
.maitre.double{grid-template-columns:1fr}
.maitre.double .scan{grid-template-columns:1fr 1fr}
