figure.schema{margin:1.4rem 0;text-align:center;break-inside:avoid}
.skill-dot{display:inline-block;line-height:1;width:.8em;text-align:center}
.skill-dot-empty{font-size:.78em;vertical-align:.04em}
.skills-matrix{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0 1.4rem}
.skills-matrix th,.skills-matrix td{padding:.4rem .55rem;vertical-align:middle;border-bottom:1px solid #E2E8F0}
.skills-matrix thead th{font-size:.85rem;color:#003399;border-bottom:2px solid #003399;background:#fff}
.skills-matrix tr.skill-group td{background:#F8FAFC;font-size:.95rem;border-bottom:1px solid #D5DCE3}
.skills-matrix tr.in-cours td{background:#E8EEF8;border-bottom-color:#C5D0E6}
.skills-matrix tr.in-cours-first td{border-top:2px solid #003399}
.skills-matrix tr.in-cours-last td{border-bottom:2px solid #003399}
.skills-matrix .cours-badge{display:inline-block;margin-left:.45rem;padding:.12rem .55rem;border:1px solid #003399;border-radius:3px;background:#fff;color:#003399;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}
.schedule-table table{width:100%;table-layout:fixed;border-collapse:collapse}
.schedule-table col:nth-child(1){width:5rem !important}
.schedule-table col:nth-child(2){width:7.5rem !important}
.schedule-table col:nth-child(3){width:auto !important}
.schedule-table th,.schedule-table td{vertical-align:top;padding:.45rem .55rem}
.schedule-table th:nth-child(1),.schedule-table td:nth-child(1),
.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){white-space:nowrap}
.schedule-table.deroule-table col:nth-child(1){width:15.5rem !important}
.schedule-table.deroule-table col:nth-child(2){width:4.5rem !important}
.schedule-table.deroule-table th:nth-child(1),.schedule-table.deroule-table td:nth-child(1){white-space:normal}
figure.schema svg{display:block;width:100%;max-width:100%;height:auto;background:#fff;border:1px solid #CCC;padding:.4rem;overflow:visible}
figure.schema img{max-width:100%;height:auto;display:block;margin:0 auto;background:#fff;border:1px solid #CCC}
.etl-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem;align-items:stretch;margin:1rem 0;text-align:center}
.etl-step{--etl-accent:#003399;--etl-tint:#F5F8FD;position:relative;min-height:9.2rem;background:#fff;border:1px solid #AAB4BF;display:flex;flex-direction:column}
.etl-step:nth-child(2),.etl-step:nth-child(5){--etl-accent:#3B7A57;--etl-tint:#F1F7F3}
.etl-step:nth-child(3),.etl-step:nth-child(6){--etl-accent:#8A6410;--etl-tint:#FCF8ED}
.etl-step:nth-child(4){--etl-accent:#A63D2F;--etl-tint:#FDF2F0}
.etl-step:not(:last-child)::after{content:"→";position:absolute;right:-1.1rem;top:50%;width:1.3rem;text-align:center;transform:translateY(-50%);color:#6B7280;background:transparent;font-size:1.25rem;font-weight:700;z-index:1}
.etl-step-kicker{padding:.65rem .35rem .45rem;color:var(--etl-accent);font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1.2}
.etl-step-title{border-top:1px solid #AAB4BF;background:var(--etl-tint);padding:.5rem .25rem;color:var(--etl-accent);font-size:1.05rem;font-weight:700}
.etl-step-body{flex:1;border-top:1px solid #AAB4BF;padding:.8rem .3rem;color:#33414E;font-size:.82rem;line-height:1.45}
.etl-step-foot{border-top:1px solid #AAB4BF;padding:.58rem .25rem;color:var(--etl-accent);font-size:.65rem;font-weight:700;letter-spacing:.04em;line-height:1.2}
.elt-flow{grid-template-columns:repeat(5,minmax(0,1fr))}
.elt-flow .etl-step:nth-child(3){--etl-accent:#64748B;--etl-tint:#F1F5F9}
.elt-flow .etl-step:nth-child(4){--etl-accent:#8A6410;--etl-tint:#FCF8ED}
@media (max-width:900px){.etl-flow{overflow-x:auto;grid-template-columns:repeat(6,10.5rem);padding:.2rem .8rem .6rem}.etl-step:not(:last-child)::after{right:-1.1rem}}
@media (max-width:900px){.elt-flow{grid-template-columns:repeat(5,10.5rem)}}
#fig-crowsfoot img{max-width:min(28rem,100%)}
#fig-pk-fk figcaption{text-align:center}
#fig-pk-fk svg{width:auto;margin:0 auto}
figcaption{text-align:left;margin-top:.45rem;font-size:.85rem;color:#555}
figcaption strong{color:#003399}
.fig-legende{font-size:.8rem;color:#555}
.callout .callout-header{display:flex;align-items:center;gap:.55rem}
.callout .callout-icon-container{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.callout .callout-icon{font-size:1.8rem;line-height:1}
.callout .callout-title-container{margin:0;font-size:1.2rem;font-weight:700}
.callout .callout-body-container,
.callout .callout-body,
.callout .callout-body p,
.callout .callout-body li{font-size:1.1rem !important;line-height:1.6}
.frise{margin:1.3rem 0}
.frise-pistes{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative;padding-top:2.4rem}
.frise-pistes::before{content:"";position:absolute;top:.9rem;left:4%;right:4%;height:2px;background:#003399}
.frise-etape{background:#fff;border:1px solid #CCC;position:relative;display:flex;flex-direction:column}
.frise-etape::before{content:"";position:absolute;top:-1.85rem;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:#003399;border:2px solid #fff;z-index:2}
.frise-an{position:absolute;top:-2.4rem;left:50%;transform:translateX(-50%);background:#E8EEF8;color:#003399;font-weight:bold;font-size:.8rem;padding:.15rem .5rem;white-space:nowrap;z-index:2}
figure.schema img.frise-img{width:100%;height:150px;object-fit:cover;display:block;padding:0;border:none}
.frise-corps{padding:.7rem .85rem .85rem;flex:1;text-align:left}
.frise-verbe{font-size:1rem;font-weight:bold;color:#000;margin:0 0 .1rem}
.frise-corps p{margin:0;font-size:.78rem;color:#333;line-height:1.4}
.frise-corps p.frise-sous{font-size:.75rem;font-style:italic;color:#003399;margin:0 0 .5rem}
.frise-src{font-size:.68rem;color:#666;padding:.25rem .85rem .5rem;display:block;text-align:left}
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative;padding-top:2.4rem;margin:1.3rem 0}
.tl::before{content:"";position:absolute;top:.9rem;left:4%;right:4%;height:2px;background:#003399;opacity:.45}
.tl-carte{background:#fff;border:1px solid #CCC;border-top:3px solid #003399;padding:.75rem .85rem .85rem;position:relative;text-align:left}
.tl-carte::before{content:"";position:absolute;top:-1.85rem;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:#003399;border:2px solid #fff}
.tl-an{position:absolute;top:-2.4rem;left:50%;transform:translateX(-50%);background:#E8EEF8;color:#003399;font-weight:bold;font-size:.8rem;padding:.15rem .5rem}
.tl-titre{font-size:1rem;font-weight:bold;color:#000;margin:.1rem 0 .15rem}
.tl-sous{font-size:.78rem;font-style:italic;color:#003399;margin-bottom:.5rem}
.tl-carte ul{margin:0;padding-left:1.1rem;font-size:.78rem;color:#333;line-height:1.45;text-align:left}
.tl-carte li{margin-bottom:.32rem}
.tl-carte li:last-child{margin-bottom:0}
.tl-2{grid-template-columns:1fr 1fr}
.tl-5{grid-template-columns:repeat(5,1fr)}
.preuve{margin:1.5rem 0;text-align:left}
.preuve-q{text-align:center;font-weight:bold;color:#003399;font-size:1.05rem;margin:0 0 1.5rem}
.preuve-grid{display:grid;grid-template-columns:1fr auto 1fr;width:100%;align-items:stretch}
.preuve-col{background:#fff;border:1px solid #CCC;padding:.85rem 1rem .95rem}
.preuve-col.preuve-2026{border-left:none}
.preuve-an{font-size:1.05rem;font-weight:bold;margin:0;color:#000}
.preuve-2026 .preuve-an{color:#003399}
.preuve-sous{font-size:.78rem;color:#555;margin:.1rem 0 .7rem;font-style:italic}
.preuve-col ul{margin:0;padding:0;list-style:none;font-size:.86rem;color:#333;line-height:1.45}
.preuve-col li{padding:.22rem 0;border-top:1px dotted #DDD}
.preuve-col li:first-child{border-top:none;padding-top:0}
.preuve-arrow{display:flex;align-items:center;justify-content:center;padding:0 .65rem;color:#003399;font-size:.75rem;font-weight:bold;white-space:nowrap}
.preuve-bloc{margin-top:.55rem;padding:.5rem .6rem;background:#F4F7FB;border-radius:3px}
.preuve-2026 .preuve-bloc{background:#E8EEF8}
.preuve-bloc-titre{font-size:.72rem;font-weight:bold;letter-spacing:.03em;text-transform:uppercase;color:#003399;margin:0 0 .2rem}
.preuve-col .preuve-bloc ul{margin:0}
.preuve-cout{font-weight:bold;color:#003399}
.preuve-arrow.preuve-arrow-long{white-space:normal;text-align:center;max-width:4.8rem;line-height:1.25;font-size:.7rem}
@media (max-width:900px){.frise-pistes,.tl{grid-template-columns:1fr 1fr}.preuve-grid{grid-template-columns:1fr;gap:.6rem}.preuve-col.preuve-2026{border-left:1px solid #CCC}.preuve-arrow.preuve-arrow-long{max-width:none}}
.fig-question{margin:1.2rem 0 .6rem;padding:.5rem .8rem;border-left:3px solid #003399;background:#F5F8FD;font-size:.9rem;color:#33414E;text-align:left}
.fig-question p{margin:0}
.fig-question strong{color:#003399}
.fig-volets{display:grid;grid-template-columns:0.8fr 1.2fr;gap:1rem 1.2rem;align-items:start}
.fig-volets.fig-volets-vertical{grid-template-columns:1fr}
.fig-volet{min-width:0}
.fig-volet-titre{display:block;font-size:.8rem;font-weight:bold;color:#003399;text-align:left;margin-bottom:.3rem}
figure.schema .fig-volets img{max-width:100%;height:auto}
@media (max-width:860px){.fig-volets{grid-template-columns:1fr}}
