/* Déroulement du bilan : un seul sujet à la fois, tous les contrôles à gauche. */
.method-scroll:has(.bilan-film){height:auto}
.bf-visit-note{font-size:21px;line-height:1.5;color:#c7c5c2;max-width:900px;margin:25px 0 0}
#methode .bilan-film{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 35px;position:relative;max-width:none;margin:45px 0 0;--bf-x:60%;--bf-y:30%;color:#f3eee4;isolation:isolate}
#methode .bilan-film .bf-rail{grid-column:1;grid-row:1 / 3;align-self:start;position:sticky;top:20px;padding:0;min-width:0}
.bf-navigation-summary{display:none}
.bf-tabs{display:flex;flex-direction:column;gap:0}
.bf-tab{display:flex;align-items:baseline;gap:16px;font:inherit;font-size:22px;line-height:1.25;text-align:left;color:#b3b1ae;min-height:64px;padding:17px 10px 17px 16px;border:0;border-left:1px solid #6f6d6a80;background:none;cursor:pointer;transition:color .3s,background .3s}
.bf-tab-number{font-size:19px;color:#bda281;flex:none;font-variant-numeric:tabular-nums}
.bf-tab[aria-selected=true]{color:#f4e6d4;background:linear-gradient(90deg,#b58c5730,transparent);border-left:2px solid #e2bb91}
.bf-tab:hover{color:#f4d9b6}
.bf-replay{font:inherit;font-size:20px;color:#ddc3a4;min-height:48px;padding:10px 14px;margin:22px 0 0 16px;border:1px solid #7c7a77;border-radius:5px;background:transparent;cursor:pointer;text-align:left}
#methode .bilan-film .bf-stage{grid-column:2;grid-row:1;border:0;border-radius:0;background:radial-gradient(ellipse at var(--bf-x) var(--bf-y),#a9875921,transparent 70%),#0d0e0d;overflow:hidden;min-width:0;scroll-margin-top:92px;perspective:1400px}
.bf-stage:after{display:none}
.bf-panel{position:relative;min-height:0;padding:26px 30px 30px;outline-offset:-3px}
.bf-scene-top{display:flex;justify-content:space-between;gap:20px;font-size:20px;line-height:1.4;color:#d4b99b;margin-bottom:25px}
.bf-phase{font-size:20px;line-height:1.4;max-width:75%;margin:0}
.bf-scene-count{font-size:20px;white-space:nowrap;color:#b2b0ad}
.bf-scene-title{font-size:clamp(40px,3.7vw,61px);line-height:1.04;letter-spacing:-.045em;font-weight:500;color:#f4f0e7;margin:0 0 22px;max-width:930px}
.bf-scene-title em{display:block;color:#e0bc97;font-weight:400;margin-top:4px}
.bf-scene-intro{font-size:23px;line-height:1.5;color:#e2e0dd;max-width:980px;margin:0 0 26px}
.bf-result{border-top:1px solid #7e7c7970;padding-top:18px;font-size:22px;line-height:1.45;color:#ecd0ad;max-width:980px;margin:24px 0 0}
.bf-visual{position:relative;display:grid;gap:18px;min-height:270px;isolation:isolate;perspective:1400px}
.bf-plane{position:relative;min-width:0;padding:26px 24px;background:linear-gradient(140deg,#333333cc,#191919f0);border:1px solid #a8a6a355;transform-origin:left bottom;backface-visibility:hidden;isolation:isolate;overflow:hidden}
.bf-plane:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 15%,#ead3ad12 40%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.bf-card-label{font-size:20px;line-height:1.35;color:#d3b594;margin:0 0 16px}
.bf-plane h4{font-size:clamp(29px,2.6vw,39px);line-height:1.12;font-weight:500;letter-spacing:-.03em;color:#f4eadc;margin:0 0 17px;overflow-wrap:anywhere}
.bf-card-copy{font-size:22px;line-height:1.5;color:#dcdad7;margin:0}
.bf-diagnostic{overflow:hidden;background:#0a0a0a;grid-template-columns:1.15fr 1fr;min-height:300px}
.bf-photo-box{position:absolute;inset:0 0 0 33%;overflow:hidden;z-index:-1;opacity:.75}
.bf-photo{position:absolute;max-width:none}
.bf-photo-box:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0e0e,transparent 85%),linear-gradient(0deg,#0e0e0e90,transparent)}
.bf-diagnostic .bf-plane{border:0;background:linear-gradient(90deg,#1d1d1df0,#1e1e1ea0);backdrop-filter:blur(12px)}
.bf-diagnostic-points{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:15px;color:#e0dedb;font-size:23px;line-height:1.4}
.bf-diagnostic-points li{border-top:1px solid #e5dbc433;padding-top:12px}
.bf-tests,.bf-values{grid-template-columns:repeat(2,minmax(0,1fr))}
.bf-test-sustain{background:linear-gradient(140deg,#443c2d,#1b1b1b)}
.bf-test-transfer{background:linear-gradient(140deg,#e1d1b7,#b8a68d);color:#282828}
.bf-test-transfer .bf-card-label{color:#504632}.bf-test-transfer h4{color:#282828}.bf-test-transfer .bf-card-copy{color:#383838}
.bf-missions{grid-template-columns:1.1fr 1fr}
.bf-mission-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:22px;line-height:1.45;color:#e9e6d8}
.bf-mission-list li{border-top:1px solid #cccac733;padding-top:12px}
.bf-mission-outcome{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(130deg,#39362b,#1a1a1a)}
.bf-investigation{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.bf-investigation .bf-plane:nth-child(2){background:linear-gradient(140deg,#3f3f3f,#1f1f1f)}
.bf-investigation .bf-plane:nth-child(3){background:linear-gradient(140deg,#77644a,#2a2a2a)}
.bf-value-marks{display:flex;flex-direction:column;gap:10px;margin:20px 0 0;color:#e7cda8;font-size:21px;line-height:1.4}
.bf-value-marks span{border-left:1px solid #d5b18180;padding-left:12px}
.bf-values .bf-plane:last-child{background:linear-gradient(140deg,#4d4836,#191919)}
.bf-skills{display:block}.bf-competence-source{font-size:21px;line-height:1.5;color:#cdbb9f;margin:0 0 20px;padding-left:18px;border-left:2px solid #c8aa7e}
.bf-skill-rows{display:flex;flex-direction:column;gap:10px}.bf-skill-rows .bf-plane{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:17px 20px}.bf-skill-rows h4{font-size:28px;margin:0}.bf-skill-rows .bf-card-copy{font-size:22px}
.bf-action{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bf-action .bf-plane{padding:23px 19px}.bf-action h4{font-size:30px}.bf-action .bf-plane:last-child{background:linear-gradient(140deg,#d7c3a3,#a79777)}.bf-action .bf-plane:last-child h4{color:#282828}.bf-action .bf-plane:last-child p{color:#414141}
#methode .bilan-film .bf-detail{grid-column:2;grid-row:2;min-width:0;border:0;border-bottom:1px solid #7e7c7980;margin:0;padding:0}
#methode .bilan-film .bf-detail>summary{font-size:22px;color:#e1c5a3;padding:19px 0;line-height:1.4;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px}
.bf-detail-copy{font-size:23px;line-height:1.6;color:#e1dfdc;padding:24px 0 32px}
.bf-film-note{font-size:20px;color:#b8b6b3;line-height:1.5}
.bilan-film button:focus-visible,.bilan-film summary:focus-visible,.bf-panel:focus-visible{outline:2px solid #edc69b;outline-offset:5px}
#projet #skills{display:block!important}.mission-intro,.mission-boundary{font-size:23px;line-height:1.6;max-width:950px}.mission-boundary{font-size:21px;color:#656360;margin-top:25px}.mission-reference-list{list-style:none;margin:24px 0;padding:0;display:flex;flex-direction:column;gap:0;font-size:24px;line-height:1.5;max-width:950px}.mission-reference-list li{padding:19px 0;border-top:1px solid #aba9a688}
.bf-animate .bf-scene-title,.bf-animate .bf-scene-intro{animation:bf-text-enter .85s both cubic-bezier(.2,.75,.2,1)}
.bf-animate .bf-scene-intro{animation-delay:.08s}
.bf-animate .bf-plane{animation:bf-plane-enter 1.1s both cubic-bezier(.16,1,.3,1)}
.bf-animate .bf-plane:nth-child(2){animation-delay:.14s}.bf-animate .bf-plane:nth-child(3){animation-delay:.28s}.bf-animate .bf-plane:nth-child(4){animation-delay:.42s}
.bf-animate .bf-plane:after{animation:bf-light-pass 1.7s .1s both ease-out}
.bf-animate .bf-result{animation:bf-text-enter .85s .25s both ease-out}
.bf-animate .bf-photo{animation:bf-photo-enter 1.8s both cubic-bezier(.2,.7,.2,1)}
[data-bf-paused=true].bf-animate *{animation-play-state:paused!important}
@keyframes bf-text-enter{from{opacity:0;transform:translateY(22px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes bf-plane-enter{from{opacity:0;transform:translate3d(15px,45px,90px) rotateY(-11deg) rotateX(5deg);clip-path:inset(0 0 100%)}to{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateX(0);clip-path:inset(0)}}
@keyframes bf-light-pass{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes bf-photo-enter{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(min-width:1151px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .method-scroll:has(.bilan-film){height:580svh}
 #methode .bilan-film{position:sticky;top:0;height:100svh;margin:0;padding:22px 0 12px;grid-template-rows:minmax(0,1fr) auto}
 #methode .bilan-film .bf-rail{position:relative;top:auto;align-self:center}
 .bilan-film .bf-panel{height:100%;display:flex;flex-direction:column;padding:25px 28px}
 .bilan-film .bf-visual{flex:1;min-height:0}
 .bilan-film .bf-plane{display:flex;flex-direction:column;justify-content:center}
 .bilan-film .bf-skill-rows .bf-plane{display:grid}
 .bilan-film .bf-scene-title{font-size:clamp(40px,3.4vw,57px)}
 .bilan-film .bf-scene-intro{font-size:23px;line-height:1.45;margin-bottom:23px}
 .bilan-film .bf-result{margin-top:20px;padding-top:16px}
 #methode .bilan-film .bf-detail[open]{grid-area:auto;position:absolute;inset:22px 0 12px 255px;background:#181818;border:1px solid #8d8b88;z-index:20;overflow:auto;padding:0 28px;overscroll-behavior:contain}
 #methode .bilan-film .bf-detail[open]>summary{position:sticky;top:0;background:#181818;padding:24px 0;border-bottom:1px solid #6e6c69}
 .bilan-film .method-scroll-cue{max-width:210px;margin-left:16px;font-size:20px}
 .bilan-film .method-scroll-progress{margin-left:16px}
}
@media(min-width:1151px) and (max-height:880px){.bf-tab{min-height:54px;padding:12px 8px 12px 14px;font-size:21px}.bf-replay{margin-top:16px}.bilan-film .method-scroll-cue{display:none}.bilan-film .bf-scene-top{margin-bottom:15px}.bilan-film .bf-scene-title{font-size:42px;margin-bottom:16px}.bilan-film .bf-scene-intro{font-size:22px;margin-bottom:18px}.bf-plane{padding:19px}.bf-plane h4{font-size:30px}.bf-card-copy,.bf-mission-list{font-size:21px}.bf-result{font-size:21px}.bf-action h4{font-size:27px}}
@media(max-width:1150px) and (min-width:851px){#methode .bilan-film{grid-template-columns:185px 1fr;gap:0 25px}.bf-tab{font-size:21px}.bf-tests,.bf-missions,.bf-values{grid-template-columns:1fr}.bf-action{grid-template-columns:repeat(2,1fr)}.bf-investigation{grid-template-columns:1fr}.bf-skill-rows .bf-plane{grid-template-columns:150px 1fr}.bf-visual{min-height:0}.bf-plane{padding:20px}.bf-plane h4{font-size:30px}#methode .bilan-film .bf-detail[open]{left:210px}}
@media(max-width:850px){
 #methode .bilan-film{display:block;margin-top:28px}
 #methode .bilan-film .bf-rail{position:relative;top:auto;margin:0 0 25px}
 .bf-navigation{border-top:1px solid #858380;border-bottom:1px solid #858380}
 .bf-navigation-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;font-size:24px;line-height:1.3;color:#edcfaa;cursor:pointer;list-style:none}
 .bf-navigation-summary:after{content:'+';font-size:30px;font-weight:400}.bf-navigation[open]>.bf-navigation-summary:after{content:'−'}
 .bf-navigation-summary::-webkit-details-marker{display:none}.bf-navigation:not([open]) .bf-tabs{display:none}
 .bf-tab{font-size:23px;min-height:60px;gap:18px;padding:16px}.bf-tab-number{font-size:20px}
 .bf-replay{margin:18px 0 0;font-size:21px}
 .bf-panel{padding:24px 22px 27px}.bf-scene-top{font-size:20px;gap:15px;margin-bottom:24px}.bf-phase{max-width:80%;font-size:20px}.bf-scene-count{font-size:20px}
 .bf-scene-title{font-size:clamp(37px,8.5vw,58px);line-height:1.08;margin-bottom:23px}.bf-scene-intro{font-size:23px;line-height:1.55;margin-bottom:26px}
 .bf-visual{display:flex;flex-direction:column;min-height:0;gap:18px}.bf-plane{padding:25px 22px;min-height:0}.bf-plane h4{font-size:33px;line-height:1.15}.bf-card-copy,.bf-mission-list{font-size:23px;line-height:1.5}.bf-card-label{font-size:21px;margin-bottom:15px}
 .bf-diagnostic{padding-top:230px}.bf-diagnostic .bf-photo-box{inset:0 0 auto;height:300px}.bf-diagnostic .bf-plane{background:linear-gradient(0deg,#1d1d1d,#1d1d1dd9)}
 .bf-skill-rows .bf-plane{display:block}.bf-skill-rows h4{font-size:30px;margin-bottom:13px}.bf-skill-rows .bf-card-copy{font-size:23px}.bf-competence-source{font-size:22px}
 .bf-result{font-size:23px;line-height:1.5;margin-top:26px;padding-top:22px}
 #methode .bilan-film .bf-detail{margin-top:10px}#methode .bilan-film .bf-detail>summary{font-size:23px;padding:24px 0}.bf-detail-copy{font-size:23px;line-height:1.6}
 .bf-visit-note{font-size:21px;line-height:1.55}.mission-reference-list{font-size:23px}.mission-intro,.mission-boundary{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.bilan-film *{animation:none!important;transition:none!important}.bf-replay{display:none}.bf-plane{transform:none!important}.bf-photo{transform:none!important}}

/* Deux volets s’ouvrent autour d’un axe commun ; le défilement accompagne leur mise à plat. */
#methode.method{background:#0d0e0d}
.bf-tests{gap:0;perspective:1600px}
.bf-test-sustain{transform-origin:right center;border-right:0}
.bf-test-transfer{transform-origin:left center}
.bf-animate .bf-tests .bf-test-sustain{animation:bf-test-left 1.65s both cubic-bezier(.16,1,.3,1)}
.bf-animate .bf-tests .bf-test-transfer{animation:bf-test-right 1.8s .12s both cubic-bezier(.16,1,.3,1)}
.bf-animate .bf-mission-list li{animation:bf-mission-enter .85s .3s both ease-out}
.bf-animate .bf-mission-list li:nth-child(2){animation-delay:.44s}.bf-animate .bf-mission-list li:nth-child(3){animation-delay:.58s}
@keyframes bf-test-left{from{opacity:.05;transform:rotateY(78deg) translateZ(65px);filter:brightness(.6)}to{opacity:1;transform:rotateY(0) translateZ(0);filter:brightness(1)}}
@keyframes bf-test-right{from{opacity:.05;transform:rotateY(-78deg) translateZ(65px);filter:brightness(1.3)}to{opacity:1;transform:rotateY(0) translateZ(0);filter:brightness(1)}}
@keyframes bf-mission-enter{from{opacity:0;transform:translateX(-22px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:translateX(0);clip-path:inset(0)}}
@media(min-width:1151px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .bf-visual{transform:perspective(1600px) rotateX(calc((.45 - var(--bf-scroll,.45))*3deg));transform-origin:center center}
 .bf-visual:before{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,#e6c497,transparent);clip-path:inset(0 calc((1 - var(--bf-scroll,.45))*100%) 0 0);pointer-events:none;z-index:4}
}
@media(max-width:850px){.bf-tests{gap:18px}.bf-test-sustain{border-right:1px solid #a8a6a355}.bf-animate .bf-tests .bf-plane{animation:bf-plane-enter 1.1s both cubic-bezier(.16,1,.3,1)}.bf-animate .bf-tests .bf-test-transfer{animation-delay:.15s}}
@media(prefers-reduced-motion:reduce){.bf-tests .bf-plane,.bf-visual{transform:none!important}}

@media(min-width:1151px){
 .bf-skill-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .bf-skill-rows .bf-plane,#methode .bilan-film .bf-skill-rows .bf-plane{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:22px}
 .bf-skill-rows h4{font-size:29px;line-height:1.15}
}
@media(min-width:1151px) and (max-height:880px){
 .bf-card-copy,.bf-mission-list{font-size:22px}
 .bf-value-marks,.bf-competence-source{display:none}
 .bf-skill-rows .bf-plane,#methode .bilan-film .bf-skill-rows .bf-plane{padding:18px}
 .bf-skill-rows h4{font-size:27px}.bf-skill-rows .bf-card-copy{font-size:22px}
}

/* Dans la séquence, une seule colonne de commandes libère la scène. */
.bf-exit{display:none}
@media(min-width:1151px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 #methode .bilan-film.bf-is-docked{grid-template-columns:minmax(0,1fr);gap:0}
 #methode .bilan-film.bf-is-docked .bf-stage{grid-column:1}
 #methode .bilan-film.bf-is-docked .bf-detail{grid-column:1}
 #methode .bilan-film.bf-is-docked .bf-detail[open]{left:0}
 .bf-method-active .top{gap:18px;background:#141414}
 .bf-method-active .top>.bf-rail{display:flex;flex-direction:column;flex:1;align-self:stretch;position:relative;top:auto;min-height:0;overflow:auto;scrollbar-width:thin}
 .bf-method-active .top .chapter-nav{display:none}
 .bf-method-active .top .rail-content{flex:0;gap:0}
 .bf-method-active .top .top-right{margin:0;gap:0}
 .bf-method-active .top .top-right>:not(.book){display:none}
 .bf-method-active .bf-exit{display:block;font:inherit;font-size:20px;line-height:1.3;color:#d8bea1;text-align:left;padding:8px 0 17px;margin:0 0 8px;border:0;border-bottom:1px solid #86848155;background:none;cursor:pointer}
 .bf-method-active .bf-tab{min-height:49px;padding:13px 6px 13px 12px;gap:12px;font-size:21px}
 .bf-method-active .bf-tab-number{font-size:19px}
 .bf-method-active .bf-replay{font-size:20px;align-self:flex-start;min-height:44px;padding:9px 14px;margin:16px 0 0 12px}
 .bf-method-active .method-scroll-cue{display:none}
 .bf-method-active .method-scroll-progress{display:block;margin:20px 8px 0 12px;flex:none}
 .bf-is-docked .bf-action{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr auto}
 .bf-is-docked .bf-action .bf-plane:last-child{grid-column:1 / -1;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:20px;padding:18px 22px}
 .bf-is-docked .bf-action .bf-plane:last-child .bf-card-label,.bf-is-docked .bf-action .bf-plane:last-child h4{margin:0}
 .bf-is-docked .bf-action .bf-plane:last-child .bf-card-copy{margin:0}
}

@media(min-width:1151px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .bf-method-active .top>.bf-rail{overflow-x:hidden;overflow-y:auto}
 .bf-method-active .bf-tab{gap:0;font-size:20px;line-height:1.25;padding:12px 5px 12px 12px;min-height:47px}
 .bf-method-active .bf-tab-number{display:none}
 .bf-method-active .bf-replay{margin-top:12px}
}

@media(min-width:1151px) and (max-height:880px){
 .bf-missions .bf-mission-list li:nth-child(n+3){display:none}
 .bf-missions .bf-card-label,.bf-diagnostic .bf-card-label{margin-bottom:10px}
 .bf-missions h4,.bf-diagnostic h4{margin-bottom:10px}
 .bf-diagnostic-points{gap:10px}.bf-diagnostic-points li{padding-top:8px}
 .bf-action .bf-plane{padding:18px}.bf-action .bf-card-label{margin-bottom:12px}
}
