/* Version finale — plan oral, pages 59 à 79 du rapport. */

.bilan-slide{--chapter:#93b9a4}
.memory-slide{--chapter:#d4a15c}
.final-source{margin:0;align-self:end}
.slide-inner>header>p:not(.eyebrow){max-width:780px}
.model-instrument .coefficient-item{grid-template-columns:112px 100px 1fr}
.model-instrument .coefficient-item strong{font-size:23px;white-space:nowrap}

/* Barre de commande */
.top-actions{min-width:max-content}
.top-actions .icon-button{flex:0 0 44px}
.resources-modal-card{width:min(860px,94vw)}
.resources-modal-card .resource-grid{padding:18px;gap:8px}
.resources-modal-card .resource-card{width:100%;color:var(--white)}
.overview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}

/* 02 — MPC */
.final-mpc-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(460px,1.28fr);grid-template-rows:auto auto auto;gap:18px 5vw;align-content:center}
.final-mpc-heading{align-self:end}
.final-mpc-heading h2{font-size:clamp(42px,4.2vw,64px);margin-bottom:14px}
.final-mpc-heading>p:last-child{font-size:15px;line-height:1.5;margin:0;max-width:600px}
.mpc-final-stats{display:grid;grid-template-columns:repeat(4,1fr);align-content:start;border-top:1px solid var(--line)}
.mpc-final-stats button{min-height:82px;padding:12px 10px;text-align:left;background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background var(--state) var(--ease),box-shadow var(--state) var(--ease)}
.mpc-final-stats button:hover,.mpc-final-stats button.is-active{background:rgba(103,173,176,.08);box-shadow:inset 0 3px #67adb0}
.mpc-final-stats button strong{display:block;font:560 clamp(24px,2.1vw,34px)/1 Newsreader,serif;color:#f1eee6}
.mpc-final-stats button span{display:block;margin-top:7px;font:500 10px/1.25 "IBM Plex Mono";color:#91a4a7}
.mpc-stat-detail{grid-column:1/-1;margin:0;padding:12px 14px;background:var(--paper);color:#354c51;font-size:13px;line-height:1.45}
.mpc-stat-detail span{font:600 10px "IBM Plex Mono";color:#9a603f;margin-right:8px}
.interface-chain{grid-column:1/-1;display:grid;grid-template-columns:1fr 210px 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.interface-chain>div{padding:14px 16px}
.interface-chain>div:last-child{text-align:right}
.interface-chain small{display:block;font:600 10px "IBM Plex Mono";letter-spacing:.08em;color:#82989d;margin-bottom:6px}
.interface-chain strong{font-size:14px;color:#dbe2e0}
.interface-chain>span{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;color:#10252c}
.interface-chain>span i{height:1px;background:#67adb0}
.interface-chain>span b{display:grid;place-items:center;width:58px;height:38px;background:#9bc6c3;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);font:700 11px "IBM Plex Mono";letter-spacing:.08em}
.mpc-final-axes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mpc-final-axes span{display:flex;align-items:center;gap:10px;padding:10px 12px;border-left:1px solid var(--chapter);font-size:12px;color:#cbd6d5}
.mpc-final-axes b{font:500 10px "IBM Plex Mono";color:var(--chapter)}
.final-mpc-layout>.final-source{justify-self:end;text-align:right}

/* 04 — problème fluvial */
.fluvial-problem-layout{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(480px,1.18fr);gap:5vw;align-items:center}
.fluvial-problem-copy h2{font-size:clamp(39px,3.7vw,56px);margin-bottom:14px}
.fluvial-problem-copy>p:not(.eyebrow){font-size:15px;line-height:1.5}
.missing-data{margin-top:20px;padding:14px 16px;border-left:3px solid #c86f4c;background:rgba(200,111,76,.07)}
.missing-data span{display:block;font:600 10px "IBM Plex Mono";letter-spacing:.08em;color:#df8d6b}
.missing-data strong{display:block;margin:6px 0 3px;font:540 27px Newsreader,serif}
.missing-data small{color:#9cafb1;font-size:11px}
.gescales-sheet{background:var(--paper);color:#243b40;padding:18px 20px 20px;box-shadow:0 26px 60px rgba(0,0,0,.25);border-radius:4px;transform:rotate(.25deg)}
.sheet-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:11px;border-bottom:2px solid #29484e}
.sheet-head span{font:700 11px "IBM Plex Mono";letter-spacing:.11em}.sheet-head small{font:500 10px "IBM Plex Mono";color:#718286}
.sheet-columns,.sheet-row{display:grid;grid-template-columns:1.25fr .9fr .85fr .7fr;gap:9px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(16,37,44,.13)}
.sheet-columns{font:600 9px "IBM Plex Mono";letter-spacing:.08em;color:#718286;background:rgba(16,37,44,.04)}
.sheet-row{font-size:12px}.sheet-row em{font:700 20px "IBM Plex Mono";font-style:normal;color:#c86f4c;text-align:center}
.fluvial-input-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border-top:1px solid rgba(16,37,44,.2)}
.fluvial-input-stats div{padding:12px 10px 0;border-right:1px solid rgba(16,37,44,.15)}.fluvial-input-stats div:last-child{border:0}
.fluvial-input-stats strong{display:block;font:560 28px/1 Newsreader,serif}.fluvial-input-stats span{font-size:10px;color:#617579}

/* 05 — méthode et résultats fluviaux */
.fluvial-final-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);grid-template-rows:auto 1fr auto;gap:13px 3vw;align-content:center}
.fluvial-final-heading{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);padding-bottom:11px}
.fluvial-final-heading .eyebrow{min-width:270px;margin-bottom:5px}
.fluvial-final-heading h2{font-size:clamp(32px,3vw,46px);max-width:850px;margin:0;text-align:right}
.final-method-chain{display:grid;grid-template-columns:1fr;gap:9px;align-content:start}
.final-method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.final-method-steps .route-stop{min-height:76px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:background var(--state),border-color var(--state),transform var(--state)}
.final-method-steps .route-stop:hover,.final-method-steps .route-stop.is-active{background:rgba(212,154,87,.08);border-color:#d49a57;transform:translateY(-2px)}
.final-method-steps .route-stop span{font:600 10px "IBM Plex Mono";color:#d9a261}
.final-method-steps .route-stop strong{font-size:12px;line-height:1.25}
.final-method-chain .route-case-detail{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:11px 13px;background:var(--paper);color:#294146}
.final-method-chain .route-case-detail span{font:600 9px "IBM Plex Mono";color:#a16440}.final-method-chain .route-case-detail p{font-size:12px;line-height:1.4;color:#40575b;margin:0}
.fluvial-final-kpis{display:grid;align-content:start;gap:8px}
.fluvial-final-kpis article{padding:15px 16px;border-left:2px solid #67adb0;background:rgba(103,173,176,.055)}
.fluvial-final-kpis small{display:block;font:600 9px "IBM Plex Mono";letter-spacing:.05em;color:#92a7aa}
.fluvial-final-kpis strong{display:block;margin:6px 0 2px;font:560 34px/1 Newsreader,serif}
.fluvial-final-kpis article span{font-size:11px;color:#e0ad6e}
.fluvial-final-kpis>p{margin:2px 0 0;padding:10px 12px;border-left:2px solid #c86f4c;background:rgba(200,111,76,.06);font-size:11px;line-height:1.45;color:#becac9}
.fluvial-final-kpis>p b{font:600 9px "IBM Plex Mono";color:#db8a68;margin-right:7px}
.fluvial-final-layout>.final-source{grid-column:1/-1}

/* 08 — outils opérationnels */
.final-tools-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;padding-top:46px;padding-bottom:14px}
.tool-pane{min-width:0;min-height:490px;padding:17px 19px;border-top:2px solid var(--chapter);background:rgba(255,255,255,.022);display:flex;flex-direction:column}
.tool-pane>header{display:grid;grid-template-columns:145px 1fr;gap:14px;align-items:end;margin-bottom:10px}
.tool-pane>header .eyebrow{margin:0;font-size:10px}.tool-pane>header h2{font-size:clamp(25px,2.25vw,35px);line-height:1.05;margin:0}
.tool-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:9px}
.tool-stats span{padding:7px 9px;font-size:10px;color:#a3b4b5}.tool-stats span+span{border-left:1px solid var(--line)}
.tool-stats strong{font:560 23px Newsreader,serif;color:#f1eee6;margin-right:4px}
.compact-demo{height:265px;min-height:265px;border-radius:3px;box-shadow:none}
.compact-demo .demo-fallback{object-position:top}
.tool-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:9px}
.tool-actions .primary-button,.tool-actions .text-button{min-height:44px;font-size:11px}
.compact-workflow{padding:10px;margin-top:58px}
.compact-workflow .workflow-steps{grid-template-columns:repeat(5,1fr);gap:4px}
.compact-workflow .workflow-step{min-height:92px;padding:8px 7px}
.compact-workflow .workflow-step strong{font-size:14px;margin:auto 0 4px}
.compact-workflow .workflow-step small,.compact-workflow .workflow-step>span{font-size:9px}
.compact-workflow .workflow-detail{grid-template-columns:115px 1fr;margin-top:7px;padding:8px 10px}
.compact-workflow .workflow-detail p{font-size:11px}
.time-shift{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;margin-top:auto;border-top:1px solid var(--line);padding-top:10px}
.time-shift>div{padding:0 10px}.time-shift>div:last-child{text-align:right}
.time-shift small{display:block;font:600 9px "IBM Plex Mono";color:#8ea2a5}.time-shift strong{display:block;font:550 23px Newsreader,serif}.time-shift span{font-size:9px;color:#91a4a7}
.time-shift i{height:1px;background:#d49a57;position:relative}.time-shift i::after{content:"";position:absolute;right:0;top:-3px;border-left:6px solid #d49a57;border-top:3px solid transparent;border-bottom:3px solid transparent}

/* 09 — bilan */
.bilan-layout{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(540px,1.3fr);grid-template-rows:auto auto auto auto;gap:13px 4vw;align-content:center}
.bilan-heading{grid-row:1/4;align-self:center}
.bilan-heading h2{font-size:clamp(40px,4.1vw,62px);margin:0}
.bilan-route{grid-column:2;display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bilan-route span{font:600 9px "IBM Plex Mono";color:#cdd6d4;white-space:nowrap}.bilan-route i{height:1px;flex:1;background:#67adb0}
.bilan-columns{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.bilan-columns section{padding:13px 15px;border-left:2px solid #67adb0;background:rgba(103,173,176,.045)}.bilan-columns section+section{border-color:#d49a57;background:rgba(212,154,87,.045)}
.bilan-columns small{font:600 9px "IBM Plex Mono";letter-spacing:.07em;color:#91a5a8}
.bilan-columns ul{list-style:none;padding:0;margin:10px 0 0}.bilan-columns li{position:relative;padding:5px 0 5px 15px;border-top:1px solid var(--line);font-size:12px;color:#d3dcda}.bilan-columns li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;background:var(--chapter)}
.bilan-switches{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bilan-switches button{min-height:58px;padding:9px 11px;text-align:left;border:1px solid var(--line);background:transparent}.bilan-switches button:hover,.bilan-switches button.is-active{border-color:#93b9a4;background:rgba(147,185,164,.08)}
.bilan-switches span{font:600 9px "IBM Plex Mono";color:#93b9a4;margin-right:8px}.bilan-switches strong{font-size:12px}
.bilan-detail{grid-column:2;margin:0;padding:10px 12px;background:var(--paper);color:#3f5559;font-size:12px;line-height:1.4}

/* 10 — problématique */
.memory-question-layout{display:grid;place-content:center;max-width:1320px;text-align:center}
.memory-question-layout .eyebrow{margin-bottom:24px}
.memory-question-layout blockquote{max-width:1200px;margin:0 auto 36px;font-size:clamp(34px,4.1vw,62px);line-height:1.08;color:#f2eee5}
.memory-question-layout blockquote::before{content:"«";display:block;font-size:62px;line-height:.4;color:#d4a15c;margin-bottom:18px}
.memory-argument{display:flex;align-items:center;justify-content:center;gap:10px}
.memory-argument span{font:600 10px "IBM Plex Mono";color:#b7c4c3;white-space:nowrap}.memory-argument i{width:38px;height:1px;background:#d4a15c}
.memory-question-layout .source-note{margin-top:24px}

/* 11 — économie */
.economic-layout{display:grid;grid-template-columns:minmax(390px,.78fr) minmax(540px,1.22fr);grid-template-rows:auto auto auto auto;gap:12px 4vw;align-content:center}
.economic-heading{grid-row:1/4;align-self:center}.economic-heading h2{font-size:clamp(38px,3.8vw,58px);margin:0}
.economic-hero{grid-column:2;display:grid;grid-template-columns:1fr auto;align-items:end;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.economic-hero small{font:600 9px "IBM Plex Mono";color:#8fa3a6}.economic-hero strong{grid-row:1/3;grid-column:2;font:560 47px/1 Newsreader,serif;color:#f1eee6}.economic-hero span{font-size:11px;color:#9dafb1}
.economic-ledger{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.economic-ledger button{min-height:116px;padding:12px;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.economic-ledger button:hover,.economic-ledger button.is-active{border-color:#d4a15c;background:rgba(212,154,87,.075);transform:translateY(-2px)}
.economic-ledger small{display:block;min-height:24px;font:600 9px/1.25 "IBM Plex Mono";color:#93a6a9}.economic-ledger strong{display:block;margin:6px 0 4px;font:560 29px Newsreader,serif}.economic-ledger span{font-size:9px;line-height:1.35;color:#a4b4b5}
.economic-detail{grid-column:2;margin:0;padding:9px 11px;background:var(--paper);color:#40565a;font-size:11px}
.beneficiary-line{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.beneficiary-line span{text-align:center;padding:9px 4px;border-right:1px solid var(--line);font:500 9px "IBM Plex Mono";color:#a9b9b9}.beneficiary-line span:last-child{border:0}
.economic-layout>.final-source{grid-column:1/-1}

/* 12 — externalités */
.externalities-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);grid-template-rows:auto auto auto;gap:14px 3vw;align-content:center}
.externalities-layout>header{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);padding-bottom:10px}
.externalities-layout>header .eyebrow{margin:0;min-width:280px}.externalities-layout>header h2{font-size:clamp(37px,3.7vw,56px);margin:0;text-align:right}
.territory-balance{display:grid;grid-template-columns:1fr 120px 1fr;align-items:stretch}
.territory-balance section{min-height:235px;padding:20px;border:1px solid var(--line)}
.territory-balance small{font:600 9px "IBM Plex Mono";letter-spacing:.09em;color:#93a6aa}.territory-balance strong{display:block;margin:7px 0 4px;font:560 31px Newsreader,serif}.territory-balance p{font-size:12px;margin:0 0 14px;color:#9fb0b1}.territory-balance section div{display:flex;flex-wrap:wrap;gap:5px}.territory-balance section div span{padding:5px 7px;border:1px solid var(--line);font-size:9px;color:#c8d3d2}
.benefit-zone{background:rgba(103,173,176,.055)}.impact-zone{background:rgba(200,111,76,.055)}
.territory-axis{display:grid;grid-template-rows:1fr auto 1fr;place-items:center;color:#10252c}.territory-axis i{width:1px;height:100%;background:#67adb0}.territory-axis b{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#d4a15c;font:700 10px "IBM Plex Mono"}
.nox-proof{min-height:235px;display:grid;align-content:center;padding:18px;border-left:3px solid #c86f4c;background:rgba(200,111,76,.07)}
.nox-proof strong{font:560 clamp(48px,5vw,74px)/.9 Newsreader,serif}.nox-proof p{font-size:14px;line-height:1.4;margin:10px 0}.nox-proof span{font-size:10px;line-height:1.4;color:#aebdbc}
.externalities-layout>.final-source{grid-column:1/-1}

/* 13 — transition */
.transition-layout{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(500px,1.18fr);grid-template-rows:auto auto auto auto;gap:11px 3vw;align-content:center}
.transition-layout>header{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px;gap:30px}.transition-layout>header .eyebrow{margin:0}.transition-layout>header h2{font-size:clamp(34px,3.4vw,51px);margin:0;text-align:right}
.transition-levers{display:grid;gap:6px;align-content:start}
.transition-levers .lever{min-height:61px;padding:9px 11px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.018)}
.transition-levers .lever:hover,.transition-levers .lever.is-active{border-color:#d4a15c;background:rgba(212,154,87,.07);box-shadow:inset 3px 0 #d4a15c}
.transition-levers .lever>span{grid-row:1/3;align-self:center;font:600 10px "IBM Plex Mono";color:#d4a15c}.transition-levers .lever strong{font-size:13px}.transition-levers .lever small{font-size:9px;color:#91a4a7}
.transition-reading{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;background:var(--paper);color:#243b40}
.transition-reading>div{padding:13px;border-right:1px solid rgba(16,37,44,.15)}.transition-reading>div:last-child{border:0}
.transition-reading span{display:block;font:600 9px "IBM Plex Mono";color:#9b6040;margin-bottom:8px}.transition-reading strong{font-size:11px;line-height:1.4}
.cenaq-case{grid-column:1/-1;display:grid;grid-template-columns:270px 1fr;gap:11px 22px;padding:12px 15px;border:1px solid var(--line);background:rgba(103,173,176,.045)}
.cenaq-head{grid-row:1/3}.cenaq-head span{font:600 9px "IBM Plex Mono";color:#67adb0}.cenaq-head strong{display:block;font:560 33px Newsreader,serif}.cenaq-head small{font-size:9px;line-height:1.35;color:#9dafb0}
.scenario-bars{display:grid;gap:7px}.scenario-bars>span{display:grid;grid-template-columns:215px 1fr 60px;align-items:center;gap:9px}.scenario-bars small{font:500 9px "IBM Plex Mono";color:#a1b2b3}.scenario-bars i{width:var(--bar);height:8px;background:#67adb0;transform-origin:left}.scenario-bars b{font:600 10px "IBM Plex Mono";color:#dfad70;text-align:right}
.cenaq-case>p{margin:0;font-size:9px;color:#8fa2a5}.transition-layout>.final-source{grid-column:1/-1}

/* 14 — GNL */
.lng-layout{display:grid;grid-template-columns:minmax(500px,1.18fr) minmax(390px,.82fr);grid-template-rows:auto auto auto auto;gap:10px 3vw;align-content:center}
.lng-layout>header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:28px;border-bottom:1px solid var(--line);padding-bottom:9px}
.lng-layout>header .eyebrow{max-width:390px;margin:0}.lng-layout>header h2{font-size:clamp(33px,3.25vw,49px);margin:0;text-align:right;max-width:800px}
.lng-figure{margin:0;background:var(--paper);padding:8px;color:#344b50;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.lng-figure img{width:100%;height:300px;object-fit:contain;background:#fff}
.lng-figure figcaption{padding:7px 5px 0;font:500 9px/1.35 "IBM Plex Mono";color:#667a7e}
.lng-contrast{display:grid;gap:7px;align-content:start}
.lng-contrast button{min-height:132px;padding:13px 15px;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.lng-contrast button:hover,.lng-contrast button.is-active{transform:translateX(-3px);border-color:#d4a15c;background:rgba(212,154,87,.07)}
.lng-contrast small{display:block;font:600 9px "IBM Plex Mono";color:#95a8aa}.lng-contrast strong{display:block;margin:7px 0 3px;font:560 27px Newsreader,serif}.lng-contrast span,.lng-contrast b{display:block;font-size:10px;color:#a9b9b9}.lng-contrast b{margin-top:7px;color:#dfad70}
.lng-detail{grid-column:1/-1;margin:0;padding:9px 12px;background:var(--paper);color:#40565a;font-size:11px}
.lng-layout>.final-source{grid-column:1/-1}

/* 15 — réponse */
.answer-layout{display:grid;grid-template-columns:minmax(390px,.78fr) minmax(560px,1.22fr);grid-template-rows:auto auto auto;gap:13px 4vw;align-content:center}
.answer-layout>header{grid-row:1/4;align-self:center}.answer-layout>header h2{font:560 clamp(55px,6vw,92px)/.9 Newsreader,serif;margin:0 0 20px}.answer-layout>header>p:last-child{font-size:16px;line-height:1.5}
.answer-conditions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.answer-conditions button{min-height:126px;padding:12px;text-align:left;border-top:2px solid var(--line);background:rgba(255,255,255,.02)}
.answer-conditions button:hover,.answer-conditions button.is-active{border-color:#d4a15c;background:rgba(212,154,87,.065);transform:translateY(-3px)}
.answer-conditions span{font:600 9px "IBM Plex Mono";color:#d4a15c}.answer-conditions strong{display:block;margin:14px 0 5px;font-size:14px}.answer-conditions small{display:block;font-size:10px;line-height:1.35;color:#98abad}
.answer-detail{margin:0;padding:10px 12px;background:var(--paper);color:#3f5559;font-size:11px}
.final-statement{padding:13px 15px;border-left:3px solid #67adb0;background:rgba(103,173,176,.06)}
.final-statement strong{font:560 23px Newsreader,serif}.final-statement span{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#aab9b9}
.thanks{grid-column:2;margin:0;text-align:right;font:500 11px "IBM Plex Mono";letter-spacing:.08em;color:#d4a15c}

/* Animation des instruments */
.is-entering .scenario-bars i{animation:final-grow 650ms var(--ease) both 120ms}
.is-entering .bilan-route i{animation:final-grow 520ms var(--ease) both 90ms}
.is-entering .territory-axis i{animation:final-grow-y 520ms var(--ease) both 100ms}
@keyframes final-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes final-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}

@media(max-height:820px) and (min-width:821px){
  .slide-inner{padding-top:44px;padding-bottom:12px}
  .final-mpc-layout{gap:11px 4vw}.final-mpc-heading h2{font-size:45px}.final-mpc-heading>p:last-child{font-size:13px}.mpc-final-stats button{min-height:68px;padding:8px}.mpc-stat-detail{padding:8px 11px}.interface-chain>div{padding:10px 13px}.mpc-final-axes span{padding:7px 10px}
  .fluvial-problem-copy h2{font-size:43px}.fluvial-problem-copy>p:not(.eyebrow){font-size:13px}.missing-data{margin-top:12px;padding:10px 13px}.gescales-sheet{padding:14px 17px}.sheet-row{padding:8px}.fluvial-input-stats div{padding-top:9px}
  .fluvial-final-heading h2{font-size:38px}.final-method-steps .route-stop{min-height:61px}.fluvial-final-kpis article{padding:12px 14px}.fluvial-final-kpis strong{font-size:29px}
  .field-proof-layout{gap:3vw}.evidence-sheet img{max-height:265px}.field-copy h2{font-size:40px}.observation-funnel{margin:12px 0}.field-rule{margin-bottom:0}
  .model-case-heading h2{font-size:40px}.model-equation{margin:12px 0;padding:9px 0}.model-instrument{padding:13px}.coefficient-item{min-height:51px;grid-template-columns:112px 96px 1fr}.coefficient-item strong{font-size:22px;white-space:nowrap}.model-quality strong{font-size:20px}
  .final-tools-layout{padding-top:40px}.tool-pane{min-height:455px;padding:12px 14px}.tool-pane>header{margin-bottom:7px}.compact-demo{height:225px;min-height:225px}.compact-workflow{margin-top:46px}.compact-workflow .workflow-step{min-height:78px}.compact-workflow .workflow-detail{padding:7px 9px}.time-shift{padding-top:7px}
  .bilan-layout{gap:9px 3vw}.bilan-heading h2{font-size:48px}.bilan-route{padding:9px 0}.bilan-columns li{padding-block:3px}.bilan-switches button{min-height:48px}
  .memory-question-layout blockquote{font-size:48px;margin-bottom:28px}
  .economic-heading h2{font-size:43px}.economic-ledger button{min-height:99px;padding:9px}.economic-hero strong{font-size:39px}
  .territory-balance section{min-height:218px;padding:15px}.territory-balance strong{font-size:26px}.nox-proof{min-height:218px;padding:14px}.nox-proof strong{font-size:57px}
  .transition-layout{gap:8px 3vw}.transition-levers .lever{min-height:52px}.transition-reading>div{padding:9px}.cenaq-case{padding:9px 12px}.cenaq-head strong{font-size:28px}
  .lng-figure img{height:245px}.lng-contrast button{min-height:105px;padding:10px 13px}.lng-contrast strong{font-size:23px}
  .answer-layout>header h2{font-size:68px}.answer-conditions button{min-height:106px}.final-statement{padding:10px 13px}
}

@media(max-width:1180px) and (min-width:821px){
  .topbar{grid-template-columns:190px 1fr auto;gap:10px;padding-inline:14px}.brand small{display:none}.top-actions{gap:1px}.top-actions .icon-button{flex-basis:40px;width:40px}.timer{min-width:120px}
  .slide-inner{width:calc(100vw - 64px)}
  .final-mpc-layout,.fluvial-problem-layout,.bilan-layout,.economic-layout,.answer-layout{column-gap:3vw}
  .interface-chain{grid-template-columns:1fr 150px 1fr}
  .scenario-bars>span{grid-template-columns:170px 1fr 56px}
}

@media(max-width:820px){
  html,body{overflow:hidden}.topbar{grid-template-columns:1fr auto;padding:0 10px}.route-progress{display:none}.brand{min-width:0}.brand small{display:none}.brand strong{font-size:10px}.brand-mark{width:22px}.top-actions{gap:0}.top-actions .icon-button{width:38px;flex-basis:38px}.top-actions .icon-button:nth-last-child(3),.top-actions .icon-button:nth-last-child(2){display:none}.timer{min-width:92px;padding:0 8px;grid-template-columns:7px 5ch}.timer small{display:none}
  .slide{overflow-y:auto}.slide-inner{width:90vw;min-height:auto;padding:66px 0 42px}
  .section-tab{left:5vw;right:5vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .final-mpc-layout,.fluvial-problem-layout,.fluvial-final-layout,.final-tools-layout,.bilan-layout,.economic-layout,.externalities-layout,.transition-layout,.lng-layout,.answer-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:18px;align-content:start}
  .final-mpc-heading,.bilan-heading,.economic-heading,.answer-layout>header{grid-row:auto}.final-mpc-layout>*,.fluvial-final-layout>*,.bilan-layout>*,.economic-layout>*,.externalities-layout>*,.transition-layout>*,.lng-layout>*,.answer-layout>*{grid-column:1!important}
  .final-mpc-heading h2,.fluvial-problem-copy h2,.bilan-heading h2,.economic-heading h2,.answer-layout>header h2{font-size:38px}.final-mpc-heading>p:last-child{font-size:14px}
  .mpc-final-stats{grid-template-columns:1fr 1fr}.interface-chain{grid-template-columns:1fr}.interface-chain>span{display:none}.interface-chain>div:last-child{text-align:left;border-top:1px solid var(--line)}.mpc-final-axes{grid-template-columns:1fr}
  .gescales-sheet{padding:12px;overflow-x:auto}.sheet-columns,.sheet-row{min-width:560px}.fluvial-input-stats{min-width:560px}
  .fluvial-final-heading,.externalities-layout>header,.transition-layout>header,.lng-layout>header{display:block}.fluvial-final-heading h2,.externalities-layout>header h2,.transition-layout>header h2,.lng-layout>header h2{text-align:left;margin-top:9px}.final-method-steps{grid-template-columns:1fr 1fr}
  .final-tools-layout{padding-top:66px}.tool-pane>header{grid-template-columns:1fr}.compact-demo{height:280px}.compact-workflow .workflow-steps{grid-template-columns:1fr 1fr}.compact-workflow .workflow-step{min-height:90px}
  .bilan-route{grid-column:1;overflow-x:auto}.bilan-columns{grid-template-columns:1fr}.bilan-switches{grid-template-columns:1fr 1fr 1fr}.bilan-detail{grid-column:1}
  .memory-question-layout{display:grid;place-content:start;text-align:left}.memory-question-layout blockquote{font-size:34px;margin-bottom:25px}.memory-argument{justify-content:flex-start;flex-wrap:wrap}.memory-argument i{width:18px}
  .economic-ledger{grid-template-columns:1fr}.economic-ledger button{min-height:92px}.beneficiary-line{grid-template-columns:1fr 1fr 1fr}
  .territory-balance{grid-template-columns:1fr}.territory-axis{height:70px;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr}.territory-axis i{height:1px;width:100%}
  .transition-reading{grid-template-columns:1fr}.transition-reading>div{border-right:0;border-bottom:1px solid rgba(16,37,44,.15)}.cenaq-case{grid-template-columns:1fr}.cenaq-head{grid-row:auto}.scenario-bars>span{grid-template-columns:130px 1fr 54px}
  .lng-figure img{height:auto}.answer-conditions{grid-template-columns:1fr}.answer-conditions button{min-height:90px}.thanks{grid-column:1}
  .overview-grid{grid-template-columns:1fr 1fr}.resources-modal-card .resource-grid{padding:10px}.resource-card{grid-template-columns:45px 1fr}.resource-action{display:none}
}

@media(prefers-reduced-motion:reduce){
  .is-entering .scenario-bars i,.is-entering .bilan-route i,.is-entering .territory-axis i{animation:none!important}
}
