:root{--bleu-france: #000091;--rouge-france: #e1000f;--bleu-france-light: #000091;--bleu-france-hover: #1212ff;--grey-1000: #161616;--grey-900: #1e1e1e;--grey-800: #2a2a2a;--grey-700: #3a3a3a;--grey-600: #666666;--grey-500: #929292;--grey-400: #cecece;--grey-300: #e5e5e5;--grey-200: #eeeeee;--grey-100: #f6f6f6;--white: #ffffff;--text-default: var(--grey-1000);--text-mention: var(--grey-700);--text-disabled: var(--grey-600);--text-inverted: var(--white);--bg-default: var(--white);--bg-alt: var(--grey-100);--bg-contrast: var(--grey-1000);--border-default: var(--grey-300);--border-plain: var(--grey-1000);--info: #0063cb;--success: #18753c;--warning: #b34000;--error: #ce0500;--teal: #009081;--green-tilleul: #b7a73f;--green-bourgeon: #68a532;--green-emeraude: #00a95f;--purple-glycine: #a558a0;--pink-tuile: #ce614a;--brown-cafe: #685c49;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 6rem;--font-family: "Marianne", "Liberation Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-mono: "Fira Code", "SF Mono", "Monaco", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--max-width-content: 78ch;--max-width-page: 1200px;--motion-fast: .14s;--motion-normal: .22s;--motion-slow: .42s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.05, .7, .1, 1);--reveal-distance: 12px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-default);background:var(--bg-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:var(--leading-tight);color:var(--text-default)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base);font-weight:600}h6{font-size:var(--text-sm);font-weight:600}p{margin:0 0 var(--space-4);max-width:var(--max-width-content)}a{color:var(--bleu-france);text-decoration:underline}a:hover,a:focus{color:var(--bleu-france-hover)}a:visited{color:var(--purple-glycine)}strong,b{font-weight:700}small{font-size:var(--text-sm)}ul,ol{margin:0 0 var(--space-4);padding-left:var(--space-5)}li{margin-bottom:var(--space-2)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default)}th{font-weight:700;background:var(--bg-alt);border-bottom:2px solid var(--border-plain)}tbody tr:nth-child(2n){background:var(--bg-alt)}figure{margin:0 0 var(--space-6)}figcaption{font-size:var(--text-sm);color:var(--text-mention);margin-top:var(--space-2);font-style:italic}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-mention)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}hr{border:none;border-top:1px solid var(--border-default);margin:var(--space-6) 0}.source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-3);display:block}.source:before{content:"Source : ";font-weight:600}.note{font-size:var(--text-sm);color:var(--text-mention);padding:var(--space-3) var(--space-4);border-left:3px solid var(--bleu-france);background:var(--bg-alt);margin:var(--space-4) 0}.encadre{border:1px solid var(--border-default);padding:var(--space-5);margin:var(--space-5) 0;background:var(--bg-alt)}.encadre h4{margin-bottom:var(--space-3);color:var(--bleu-france)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-default);border-bottom:1px solid var(--border-default)}.tricolore-band{height:5px;background:linear-gradient(to right,var(--bleu-france) 0%,var(--bleu-france) 33.33%,var(--bg-default) 33.33%,var(--bg-default) 66.66%,var(--rouge-france) 66.66%,var(--rouge-france) 100%)}.header-content{max-width:var(--max-width-page);margin:0 auto;padding:var(--space-5) var(--space-6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.header-brand{display:flex;align-items:flex-start;gap:var(--space-5)}.header-rf{display:flex;flex-direction:column;gap:var(--space-1);min-width:100px}.rf-logo{font-size:var(--text-lg);font-weight:700;color:var(--bleu-france);line-height:1}.rf-motto{font-size:var(--text-xs);color:var(--text-mention);text-transform:uppercase;letter-spacing:.05em}.header-divider{width:1px;height:60px;background:var(--border-default)}.header-title{display:flex;flex-direction:column;gap:var(--space-1)}.header-title h1{font-size:var(--text-xl);font-weight:700;color:var(--text-default)}.header-subtitle{font-size:var(--text-sm);color:var(--text-mention);margin:0}.header-meta{font-size:var(--text-xs);color:var(--bleu-france);font-weight:600;margin-top:var(--space-2)}.header-nav{display:flex;gap:var(--space-1);flex-wrap:wrap}.nav-link{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-mention);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--bleu-france);border-bottom-color:var(--bleu-france);text-decoration:none}.nav-link:focus-visible{outline:2px solid var(--bleu-france);outline-offset:2px}.app-main{flex:1;max-width:var(--max-width-page);margin:0 auto;padding:var(--space-8) var(--space-6);width:100%}.app-footer{background:var(--grey-1000);color:var(--text-inverted);padding:var(--space-6);margin-top:var(--space-12)}.footer-content{max-width:var(--max-width-page);margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--grey-700);margin-bottom:var(--space-5)}.footer-brand{display:flex;align-items:center;gap:var(--space-4)}.footer-rf{font-size:var(--text-lg);font-weight:700}.footer-methodology h4{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-3);color:var(--grey-400)}.footer-methodology p{font-size:var(--text-xs);color:var(--grey-500);line-height:var(--leading-relaxed);margin:0;max-width:500px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.footer-legal{font-size:var(--text-xs);color:var(--grey-500)}.footer-links{display:flex;gap:var(--space-4)}.footer-links a{font-size:var(--text-xs);color:var(--grey-400)}.footer-links a:hover{color:var(--white)}.section{margin-bottom:var(--space-12)}.section-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--bleu-france)}.section-number{font-size:var(--text-sm);font-weight:600;color:var(--bleu-france);margin-bottom:var(--space-2);display:block}.section-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-default);margin-bottom:var(--space-2)}.section-subtitle{font-size:var(--text-base);color:var(--text-mention);margin:0;font-style:italic}.kpi-grid{display:grid;gap:var(--space-5);margin-bottom:var(--space-6)}.kpi-grid--3cols{grid-template-columns:repeat(3,1fr)}.kpi-grid--4cols{grid-template-columns:repeat(4,1fr)}.kpi-card{padding:var(--space-5);border-left:3px solid var(--bleu-france);background:var(--bg-alt)}.kpi-card:hover{background:var(--grey-200)}.kpi-value{font-size:var(--text-3xl);font-weight:700;color:var(--bleu-france);line-height:1.1}.kpi-label{font-size:var(--text-sm);color:var(--text-default);margin-top:var(--space-2);font-weight:500}.kpi-subtitle,.kpi-year{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-1)}.executive-grid{display:grid;gap:var(--space-8)}.executive-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.insight-card{padding:var(--space-5);border-left:3px solid var(--bleu-france);background:var(--bg-alt)}.insight-card h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-mention);margin-bottom:var(--space-3);font-weight:600}.insight-card p{font-size:var(--text-sm);margin:0;line-height:var(--leading-relaxed)}.insight-card--market{border-left-color:var(--bleu-france)}.insight-card--tutorat{border-left-color:var(--teal)}.insight-card--gtm{border-left-color:var(--green-emeraude)}.executive-kpis h3,.executive-priorities h3,.executive-actions h3{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default)}.priority-list{padding-left:var(--space-5);font-size:var(--text-sm)}.priority-list li{margin-bottom:var(--space-3)}.action-list{list-style:none;padding:0}.action-list li{padding:var(--space-2) 0 var(--space-2) var(--space-5);position:relative;font-size:var(--text-sm);border-bottom:1px dotted var(--border-default)}.action-list li:before{content:"→";position:absolute;left:0;color:var(--bleu-france);font-weight:700}.macro-grid{display:grid;gap:var(--space-8)}.macro-intro p{font-size:var(--text-lg);max-width:var(--max-width-content)}.macro-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.chart-card{border:1px solid var(--border-default);padding:var(--space-5);background:var(--bg-default)}.chart-card h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.chart-note{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-5);font-style:italic}.chart-source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-3)}.chart-source:before{content:"Source : ";font-weight:600}.macro-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.highlight-card{background:var(--bg-alt);border-top:3px solid var(--bleu-france);padding:var(--space-5);text-align:center}.highlight-value{font-size:var(--text-3xl);font-weight:700;color:var(--bleu-france)}.highlight-label{font-size:var(--text-sm);color:var(--text-default);margin-top:var(--space-2)}.highlight-source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-1)}.figures-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.figure-card{border:1px solid var(--border-default);overflow:hidden}.figure-card img{width:100%}.figure-caption{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-mention);margin:0;background:var(--bg-alt);border-top:1px solid var(--border-default)}.trends-grid{display:grid;gap:var(--space-8)}.trends-intro p{font-size:var(--text-lg);max-width:var(--max-width-content)}.trends-chart{border:1px solid var(--border-default);padding:var(--space-5);max-width:450px}.trends-chart h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.donut-chart-container{display:flex;align-items:center;gap:var(--space-6)}.donut-legend{display:flex;flex-direction:column;gap:var(--space-2)}.donut-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.donut-legend-color{width:12px;height:12px}.donut-legend-value{font-weight:600;margin-left:auto;font-variant-numeric:tabular-nums}.trends-pattern{border:1px solid var(--border-default);padding:var(--space-5)}.trends-pattern h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.pattern-steps{display:flex;align-items:center;gap:var(--space-3)}.pattern-step{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-alt);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default)}.pattern-step .step-number{width:28px;height:28px;background:var(--bleu-france);color:var(--text-inverted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm)}.step-content{display:flex;flex-direction:column}.step-content strong{font-size:var(--text-sm)}.step-content span{font-size:var(--text-xs);color:var(--text-mention)}.pattern-arrow{font-size:var(--text-lg);color:var(--text-mention)}.trends-tutorat{border:1px solid var(--border-default);padding:var(--space-5)}.trends-tutorat h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.tutorat-comparison{display:flex;align-items:center;gap:var(--space-5);justify-content:center}.tutorat-card{padding:var(--space-5) var(--space-6);text-align:center;min-width:180px;border:1px solid var(--border-default)}.tutorat-card--positive{border-top:3px solid var(--success)}.tutorat-card--negative{border-top:3px solid var(--error)}.tutorat-value{font-size:var(--text-3xl);font-weight:700}.tutorat-card--positive .tutorat-value{color:var(--success)}.tutorat-card--negative .tutorat-value{color:var(--error)}.tutorat-label{font-size:var(--text-sm);font-weight:500;margin-top:var(--space-2)}.tutorat-detail{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-1)}.tutorat-vs{font-size:var(--text-base);font-weight:600;color:var(--text-mention)}.tutorat-source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-4);text-align:center}.offers-intro{margin-bottom:var(--space-6)}.offers-intro p{max-width:var(--max-width-content);margin-bottom:var(--space-4)}.offers-legend{display:flex;gap:var(--space-5);flex-wrap:wrap;padding:var(--space-3) 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-mention)}.offers-table-container{border:1px solid var(--border-default)}.offers-filters{padding:var(--space-4);border-bottom:1px solid var(--border-default);background:var(--bg-alt);display:flex;flex-direction:column;gap:var(--space-3)}.offers-search{max-width:280px}.search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);font-size:var(--text-sm);background:var(--bg-default)}.search-input:focus{outline:2px solid var(--bleu-france);outline-offset:2px}.offers-filter-group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-label{font-size:var(--text-sm);font-weight:600;color:var(--text-mention)}.filter-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-pill{padding:var(--space-1) var(--space-3);border:1px solid var(--border-default);background:var(--bg-default);font-size:var(--text-xs);color:var(--text-mention)}.filter-pill:hover{border-color:var(--bleu-france);color:var(--bleu-france)}.filter-pill:focus-visible{outline:2px solid var(--bleu-france);outline-offset:2px}.filter-pill--active{background:var(--bleu-france);border-color:var(--bleu-france);color:var(--text-inverted)}.clear-filters{padding:var(--space-2) var(--space-3);border:none;background:transparent;font-size:var(--text-xs);color:var(--error);text-decoration:underline}.offers-table-wrapper{overflow-x:auto}.offers-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.offers-table th{background:var(--bg-alt);padding:var(--space-3) var(--space-4);text-align:left;font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-mention);border-bottom:2px solid var(--border-plain);white-space:nowrap}.offers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.offers-table th.sortable:hover{color:var(--bleu-france)}.offers-table th.sortable:focus-visible{outline:2px solid var(--bleu-france);outline-offset:-2px}.offers-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);vertical-align:top}.offers-table tbody tr:nth-child(2n){background:var(--bg-alt)}.offers-table tr:hover td{background:var(--grey-200)}.offer-title{max-width:250px}.format-badge{display:inline-block;padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;border:1px solid currentColor}.format-badge--inter{color:var(--bleu-france)}.format-badge--intra{color:var(--purple-glycine)}.format-badge--interintra{color:var(--teal)}.format-badge--elearning{color:var(--warning)}.format-badge--mooc{color:var(--success)}.format-badge--parcours{color:var(--purple-glycine)}.format-badge--formationcourte{color:var(--pink-tuile)}.price-free{color:var(--success);font-weight:600}.price-display{font-size:var(--text-sm);color:var(--text-mention);font-variant-numeric:tabular-nums}.offer-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-alt);color:var(--bleu-france);font-size:var(--text-xs);border:1px solid var(--border-default);text-decoration:none}.offer-link:hover{background:var(--bleu-france);color:var(--text-inverted);text-decoration:none}.offer-link:focus-visible{outline:2px solid var(--bleu-france);outline-offset:2px}.offers-count{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--text-mention);border-top:1px solid var(--border-default);background:var(--bg-alt)}.analysis-grid{display:grid;gap:var(--space-8)}.analysis-roi h3,.analysis-actors h3,.analysis-matrix h3,.analysis-quotes h3,.analysis-evolution h3{font-size:var(--text-lg);font-weight:700;color:var(--text-default);margin-top:var(--space-6);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.roi-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.roi-card{border:1px solid var(--border-default);padding:var(--space-5)}.roi-card h4{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.roi-price{font-size:var(--text-xl);font-weight:700;color:var(--bleu-france);margin-bottom:var(--space-3)}.roi-card p{font-size:var(--text-sm);color:var(--text-mention);margin:0}.roi-card--highlight{border-left:3px solid var(--bleu-france);background:var(--bg-alt)}.actor-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.actor-card{border:1px solid var(--border-default);padding:var(--space-5);text-align:center}.actor-icon{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.actor-card h4{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2)}.actor-card p{font-size:var(--text-sm);color:var(--text-mention);margin:0}.positioning-matrix{border:1px solid var(--border-default);overflow:hidden}.matrix-header{display:grid;grid-template-columns:120px 1fr 1fr;background:var(--bg-alt)}.matrix-corner{padding:var(--space-3)}.matrix-col-header{padding:var(--space-3);font-size:var(--text-xs);font-weight:700;text-align:center;border-left:1px solid var(--border-default);text-transform:uppercase;letter-spacing:.05em}.matrix-row{display:grid;grid-template-columns:120px 1fr 1fr;border-top:1px solid var(--border-default)}.matrix-row-header{padding:var(--space-3);font-size:var(--text-xs);font-weight:700;background:var(--bg-alt);display:flex;align-items:center;text-transform:uppercase;letter-spacing:.05em}.matrix-cell{padding:var(--space-3);border-left:1px solid var(--border-default);display:flex;flex-wrap:wrap;gap:var(--space-2);align-content:flex-start}.matrix-cell--digital-generaliste,.matrix-cell--digital-specialise{background:var(--grey-100)}.matrix-cell--presentiel-generaliste,.matrix-cell--presentiel-specialise{background:var(--bg-default)}.matrix-item{display:inline-block;padding:2px var(--space-2);background:var(--bg-default);font-size:var(--text-xs);border:1px solid var(--border-default)}.matrix-note{padding:var(--space-3);font-size:var(--text-xs);color:var(--text-mention);text-align:center;background:var(--bg-alt);margin:0;border-top:1px solid var(--border-default)}.quotes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.quote-card{background:var(--bg-alt);border-left:3px solid var(--bleu-france);padding:var(--space-5);margin:0}.quote-card p{font-style:italic;margin-bottom:var(--space-3);font-size:var(--text-sm)}.quote-card footer{font-size:var(--text-xs);color:var(--text-mention)}.evolution-list{list-style:none;padding:0}.evolution-list li{padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);margin-bottom:var(--space-2);font-size:var(--text-sm)}.evolution-list li:nth-child(odd){background:var(--bg-alt)}.recommendations-intro{margin-bottom:var(--space-6)}.recommendations-intro p{font-size:var(--text-lg);max-width:var(--max-width-content)}.recommendations-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-8)}.step-card{border:1px solid var(--border-default);padding:var(--space-5);border-top:3px solid var(--bleu-france)}.step-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.step-icon{font-size:var(--text-xl)}.step-card .step-number{font-size:var(--text-xs);font-weight:700;color:var(--text-mention);text-transform:uppercase;letter-spacing:.1em}.step-title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-3)}.step-objective{font-size:var(--text-sm);color:var(--text-default);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default)}.step-section{margin-bottom:var(--space-4)}.step-section h4{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2)}.step-section ul{font-size:var(--text-sm);padding-left:var(--space-4);color:var(--text-mention)}.step-risk{background:#fef2f2;border-left:3px solid var(--error);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.step-risk h4{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2);color:var(--error)}.step-risk p{font-size:var(--text-sm);margin-bottom:var(--space-2)}.step-risk .risk-avoidance{font-size:var(--text-xs);color:var(--text-mention);margin:0}.step-actions{background:var(--bg-alt);border-left:3px solid var(--bleu-france);padding:var(--space-3) var(--space-4)}.step-actions h4{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-2);color:var(--bleu-france)}.step-actions ul{font-size:var(--text-sm);padding-left:var(--space-4)}.recommendations-summary h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.themes-grid{display:flex;gap:var(--space-4);flex-wrap:wrap}.theme-card{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--border-default);padding:var(--space-4) var(--space-5);font-weight:500;font-size:var(--text-sm)}.theme-icon{font-size:var(--text-xl)}.bar-chart{width:100%}.bar-chart svg{width:100%;height:auto}.bar-label{fill:var(--text-mention);font-family:var(--font-family)}.bar-value{fill:var(--text-default);font-family:var(--font-family)}.scatter-plot{width:100%}.scatter-plot svg{width:100%;height:auto}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem;animation:fadeIn var(--motion-fast, .14s) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 25px 50px -12px #00000080;animation:lightboxZoom var(--motion-normal, .22s) var(--ease-emphasized, ease-out)}@keyframes lightboxZoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-close{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;border:none;background:#0000001a;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text);transition:background-color var(--motion-fast, .14s) ease,transform var(--motion-fast, .14s) ease;z-index:1}.lightbox-close:hover{background:#0003;transform:scale(1.1)}.lightbox-title{padding:1.5rem 3rem 0 1.5rem;margin:0;font-size:1.25rem;color:var(--primary)}.lightbox-body{padding:1.5rem}.lightbox-image{display:block;max-width:100%;max-height:75vh;margin:0 auto;border-radius:4px}.lightbox-caption{text-align:center;margin:1rem 0 0;color:var(--text-light);font-size:.9rem}.lightbox-chart{min-width:450px;max-width:700px;padding:1.5rem}.lightbox-chart svg{width:100%;height:auto}.lightbox-subtitle{font-size:.95rem;color:var(--mention);margin-top:.25rem;margin-bottom:0}.lightbox-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--divider)}.lightbox-note{font-size:.85rem;color:var(--mention);font-style:italic;margin:0 0 .5rem}.lightbox-source{font-size:.8rem;color:var(--mention);margin:0}.lightbox-source:before{content:"Source : "}.clickable-image,.clickable-chart{cursor:zoom-in;transition:transform var(--motion-fast, .14s) ease,box-shadow var(--motion-fast, .14s) ease}.clickable-image:hover,.clickable-chart:hover{transform:scale(1.02);box-shadow:0 4px 20px #00000026}.figure-card.clickable-image{cursor:zoom-in}.figure-card.clickable-image:hover{transform:translateY(-2px) scale(1.01)}.section.section--reveal{opacity:0;transform:translateY(var(--reveal-distance, 12px));transition:opacity var(--motion-slow, .42s) var(--ease-standard, ease-out),transform var(--motion-slow, .42s) var(--ease-standard, ease-out)}.section.section--reveal[data-revealed=true]{opacity:1;transform:translateY(0)}.kpi-card{opacity:0;transform:translateY(8px);transition:opacity var(--motion-normal, .22s) var(--ease-standard, ease-out),transform var(--motion-normal, .22s) var(--ease-standard, ease-out),box-shadow var(--motion-fast, .14s) ease,border-color var(--motion-fast, .14s) ease;transition-delay:var(--stagger-delay, 0ms)}.section[data-revealed=true] .kpi-card{opacity:1;transform:translateY(0)}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--primary)}@keyframes barGrowX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes barGrowY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bar-rect{transform-box:fill-box;opacity:0}.bar-chart:not(.bar-chart--vertical) .bar-rect{transform-origin:left center;animation:barGrowX var(--motion-slow, .42s) var(--ease-emphasized, ease-out) both;animation-play-state:paused}.bar-chart--vertical .bar-rect{transform-origin:bottom center;animation:barGrowY var(--motion-slow, .42s) var(--ease-emphasized, ease-out) both;animation-play-state:paused}.bar-chart[data-revealed=true] .bar-rect,.lightbox-chart[data-revealed=true] .bar-rect{opacity:1;animation-play-state:running}@keyframes donutPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.donut-arc{transform-box:fill-box;transform-origin:center;opacity:0;animation:donutPop var(--motion-slow, .42s) var(--ease-emphasized, ease-out) both;animation-play-state:paused;transition:filter var(--motion-fast, .14s) ease}.donut-chart-container[data-revealed=true] .donut-arc,.lightbox-chart[data-revealed=true] .donut-arc{animation-play-state:running}.donut-arc:hover{filter:brightness(1.05)}@keyframes pointPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.scatter-point{transform-box:fill-box;transform-origin:center;opacity:0;animation:pointPop var(--motion-normal, .22s) var(--ease-emphasized, ease-out) both;animation-play-state:paused;transition:r var(--motion-fast, .14s) ease,filter var(--motion-fast, .14s) ease}.scatter-plot[data-revealed=true] .scatter-point,.lightbox-chart[data-revealed=true] .scatter-point{animation-play-state:running}.scatter-point:hover{filter:brightness(1.1)}.chart-card,.figure-card,.theme-card,.step-card,.pattern-step,.tutorat-card{transition:transform var(--motion-fast, .14s) var(--ease-standard, ease-out),box-shadow var(--motion-fast, .14s) ease,border-color var(--motion-fast, .14s) ease}.chart-card:hover,.figure-card:hover,.theme-card:hover,.step-card:hover,.pattern-step:hover,.tutorat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.nav-link{transition:color var(--motion-fast, .14s) ease,border-color var(--motion-fast, .14s) ease,background-color var(--motion-fast, .14s) ease}.nav-link:hover{background-color:#0000910a}.filter-pill,.clear-filters{transition:background-color var(--motion-fast, .14s) ease,border-color var(--motion-fast, .14s) ease,color var(--motion-fast, .14s) ease,transform var(--motion-fast, .14s) ease}.filter-pill:hover,.clear-filters:hover{transform:translateY(-1px)}.offers-table tbody tr{transition:background-color var(--motion-fast, .14s) ease}.offer-link,.annexe-link{transition:color var(--motion-fast, .14s) ease,text-decoration-color var(--motion-fast, .14s) ease}.search-input{transition:border-color var(--motion-fast, .14s) ease,box-shadow var(--motion-fast, .14s) ease}.search-input:focus{box-shadow:0 0 0 2px #0000911a}.actions-list li{opacity:0;transform:translate(-8px);transition:opacity var(--motion-normal, .22s) ease,transform var(--motion-normal, .22s) ease}.section[data-revealed=true] .actions-list li{opacity:1;transform:translate(0)}.section[data-revealed=true] .actions-list li:nth-child(1){transition-delay:.1s}.section[data-revealed=true] .actions-list li:nth-child(2){transition-delay:.15s}.section[data-revealed=true] .actions-list li:nth-child(3){transition-delay:.2s}.section[data-revealed=true] .actions-list li:nth-child(4){transition-delay:.25s}.section[data-revealed=true] .actions-list li:nth-child(5){transition-delay:.3s}.section[data-revealed=true] .actions-list li:nth-child(6){transition-delay:.35s}@media(max-width:1024px){.kpi-grid--3cols,.kpi-grid--4cols{grid-template-columns:repeat(2,1fr)}.executive-insights,.macro-charts,.figures-grid,.quotes-grid{grid-template-columns:1fr}.macro-highlights{grid-template-columns:repeat(2,1fr)}.roi-cards{grid-template-columns:1fr}.actor-cards{grid-template-columns:repeat(2,1fr)}.recommendations-steps{grid-template-columns:1fr}}@media(max-width:768px){.header-content{flex-direction:column;align-items:flex-start;padding:var(--space-4)}.header-nav{width:100%;overflow-x:auto;padding-bottom:var(--space-2);gap:0}.app-main{padding:var(--space-5) var(--space-4)}.kpi-grid--3cols,.kpi-grid--4cols,.macro-highlights,.actor-cards{grid-template-columns:1fr}.pattern-steps{flex-direction:column;align-items:stretch}.pattern-arrow{transform:rotate(90deg);text-align:center}.tutorat-comparison{flex-direction:column}.tutorat-vs{transform:rotate(90deg)}.matrix-header,.matrix-row{grid-template-columns:80px 1fr 1fr}.offers-table{font-size:var(--text-xs)}.offers-table th,.offers-table td{padding:var(--space-2)}.footer-top{flex-direction:column}}@media print{.app-header,.app-footer{position:static}.nav-link,.filter-pill,.clear-filters{display:none}.section{page-break-inside:avoid}.chart-card,.kpi-card{break-inside:avoid}}.actions-block{margin-top:var(--space-8);padding:var(--space-5);background:var(--bg-alt);border-left:4px solid var(--bleu-france);border-radius:0 var(--radius-md) var(--radius-md) 0}.actions-block h3{font-size:var(--text-base);font-weight:700;color:var(--bleu-france);margin-bottom:var(--space-4)}.actions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.actions-list li{position:relative;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--text-default);line-height:1.6}.actions-list li:before{content:"→";position:absolute;left:0;color:var(--bleu-france);font-weight:700}.methodology-grid{display:flex;flex-direction:column;gap:var(--space-6)}.methodology-intro p{font-size:var(--text-base);line-height:1.8;color:var(--text-default);margin-bottom:var(--space-4)}.methodology-definitions h3{font-size:var(--text-lg);font-weight:700;color:var(--text-default);margin-bottom:var(--space-4)}.definitions-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.definition-item{padding:var(--space-4);background:var(--bg-alt);border-radius:var(--radius-md);border:1px solid var(--border-default)}.definition-item dt{font-size:var(--text-sm);font-weight:700;color:var(--bleu-france);margin-bottom:var(--space-2)}.definition-item dd{font-size:var(--text-sm);color:var(--text-default);line-height:1.6;margin:0}.annexes-grid{display:flex;flex-direction:column;gap:var(--space-6)}.annexes-group h3{font-size:var(--text-base);font-weight:700;color:var(--text-default);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default)}.annexes-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.annexes-list li{font-size:var(--text-sm);line-height:1.6}.annexes-list a{color:var(--bleu-france);text-decoration:none;transition:color .2s ease}.annexes-list a:hover{color:var(--text-default);text-decoration:underline}.annexes-list .link-icon{font-size:var(--text-xs);opacity:.7}.annexes-list .no-link{color:var(--text-mention)}.annexes-note{font-size:var(--text-xs);color:var(--text-mention)}.macro-internal-ref{margin-bottom:var(--space-6)}.macro-internal-ref h4{font-size:var(--text-sm);font-weight:700;color:var(--bleu-france);margin-bottom:var(--space-3)}.internal-ref-stats{display:flex;gap:var(--space-6);flex-wrap:wrap}.internal-ref-stat{display:flex;flex-direction:column;gap:var(--space-1)}.internal-ref-stat .stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-default)}.internal-ref-stat .stat-label{font-size:var(--text-xs);color:var(--text-mention)}.internal-ref-source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-3)}.macro-depenses{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--border-default);background:var(--bg-default)}.macro-depenses h3{font-size:var(--text-base);font-weight:700;color:var(--text-default);margin-bottom:var(--space-4)}.depenses-chart{display:flex;justify-content:center;margin-bottom:var(--space-3)}.executive-narrative,.macro-intro,.trends-intro,.analysis-intro,.analysis-roi,.analysis-actors,.analysis-evolution,.recommendations-intro{max-width:800px}.executive-narrative p,.macro-intro p,.trends-intro p,.analysis-intro p,.analysis-roi p,.analysis-actors>p,.analysis-matrix>p,.analysis-evolution p,.recommendations-intro p{font-size:var(--text-base);line-height:1.8;color:var(--text-default);margin-bottom:var(--space-4);text-align:justify}.quotes-source{font-size:var(--text-xs);color:var(--text-mention);margin-top:var(--space-3)}.quotes-source a{color:var(--bleu-france)}
