/* Ulysse, feuille de style commune */
@font-face{font-family:'Bricolage Grotesque';src:url(fonts/bricolage-grotesque.woff2) format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree.woff2) format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'DM Mono';src:url(fonts/dm-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'DM Mono';src:url(fonts/dm-mono-500.woff2) format('woff2');font-weight:500;font-display:swap}
body{margin:0;font-family:Figtree,system-ui,sans-serif;background:#FBF7F2;color:#1C2233}
a{color:#23408E}a:hover{color:#172C66}
.v{display:inline-block;min-width:54px;text-align:center;padding:3px 8px;border-radius:999px;font-family:'DM Mono',monospace;font-size:11px;font-weight:500;box-sizing:border-box}
.get{background:#EEF1FA;color:#23408E}.post{background:#E3F2EA;color:#1E6B45}.patch{background:#FBE5D9;color:#9A3D17}.put{background:#EFE8FA;color:#5B3A9A}.del{background:#F8E1E1;color:#8E2424}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h,96px) + 16px)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
*,*::before,*::after{box-sizing:border-box}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #C9552A;outline-offset:2px}
.site-nav a.is-active{background:#EEF1FA!important;color:#23408E!important;border-radius:999px}
.page>main>section:not(#contact),.page>header,.page>footer{padding-left:max(64px,calc((100vw - 1152px)/2))!important;padding-right:max(64px,calc((100vw - 1152px)/2))!important}
#contact{margin-left:max(64px,calc((100vw - 1152px)/2))!important;margin-right:max(64px,calc((100vw - 1152px)/2))!important}
input:invalid.touched,textarea:invalid.touched{border-color:#F4B899!important;box-shadow:0 0 0 2px #F4B899}
@media (max-width: 1100px){
 .site-nav{display:none!important}
}
@media (max-width: 900px){
 .page>main>section:not(#contact),.page>header,.page>footer{padding-left:24px!important;padding-right:24px!important;padding-top:56px!important;padding-bottom:56px!important}
 .page>header{padding-top:14px!important;padding-bottom:14px!important}
 #contact{margin-left:16px!important;margin-right:16px!important;padding:32px 24px!important}
 .page [style*="grid-template-columns"]{grid-template-columns:1fr!important;row-gap:28px!important}
 .page [style*="grid-column"]{grid-column:auto!important}
 .page h1{font-size:38px!important}
 .page h2{font-size:32px!important}
 .page>footer{flex-direction:column;gap:20px}
 .page [style*="justify-content: space-between; align-items: flex-end"]{flex-direction:column;align-items:flex-start!important}
 .site-header>a{white-space:nowrap;padding:10px 14px!important;font-size:14px!important}
 .site-header span{white-space:nowrap}
 #contact button{align-self:stretch!important}
}
.skip-link{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 16px;background:#23408E;color:#FFFFFF;border-radius:10px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px;color:#FFFFFF}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.menu-toggle{display:none;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid #D8CFC1;border-radius:999px;background:#FFFFFF;color:#1C2233;font:600 14px Figtree,system-ui,sans-serif;cursor:pointer}
.header-actions{display:flex;align-items:center;gap:10px}
#form-status:empty{display:none}
#form-status.ok{background:#E3F2EA;color:#1E6B45;padding:12px 14px;border-radius:10px;font-weight:600}
#form-status.err{background:#FBE5D9;color:#8E2424;padding:12px 14px;border-radius:10px;font-weight:600}
button[disabled]{opacity:.7;cursor:progress}
@media (max-width: 1100px){
 .menu-toggle{display:inline-flex}
 .site-nav.open{display:flex!important;position:absolute;top:calc(100% + 8px);left:16px;right:16px;flex-direction:column;border-radius:18px!important;padding:8px!important;box-shadow:0 18px 40px rgba(28,34,51,.16)}
 .site-nav.open a{padding:14px 16px!important;font-size:16px}
}
@media (max-width: 480px){ .header-cta{display:none} .site-header span[data-sig]{display:none} }
/* Mise en page adaptative */
.diagram-m{display:none}
.pilot-row [data-label]{font-variant-numeric:tabular-nums}
.res-grid [style*="DM Mono"]{overflow-wrap:anywhere}
@media (max-width: 960px){
 .diagram{display:none!important}
 .diagram-m{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:20px;background:#FBF7F2;border-radius:22px}
 .dm-block{background:#FFFFFF;border:1px solid #ECE4D8;border-radius:18px;padding:18px}
 .dm-title{font:700 18px 'Bricolage Grotesque',system-ui,sans-serif;color:#1C2233;margin-bottom:12px}
 .dm-uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dm-use{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-left:3px solid #C9552A;background:#FBF7F2;border-radius:8px}
 .dm-use strong{font:700 15px 'Bricolage Grotesque',system-ui,sans-serif;color:#1C2233}
 .dm-use span{font-size:13px;color:#6B7285}
 .dm-flow{display:flex;justify-content:center;gap:28px;padding:12px 0;font-size:13px;font-weight:500}
 .dm-flow span{display:flex;align-items:center;gap:6px}
 .dm-dn{color:#9A3D17}.dm-up{color:#1E6B45}
 .dm-hub{background:#23408E;color:#FFFFFF;border-radius:22px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
 .dm-hub-name{font:700 32px 'Bricolage Grotesque',system-ui,sans-serif;line-height:1}
 .dm-hub-sub{font-size:13px;color:#DCE3F5;margin-bottom:10px}
 .dm-group{width:100%;margin-top:10px}
 .dm-label{font-size:13px;font-weight:600;color:#DCE3F5;margin-bottom:8px}
 .dm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
 .dm-chip{padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600}
 .dm-chip.in{background:#EEF1FA;color:#23408E}.dm-chip.out{background:#E3F2EA;color:#1E6B45}
 .dm-portals{display:flex;flex-wrap:wrap;gap:8px}
 .dm-portal{padding:9px 14px;border:1px solid #ECE4D8;border-radius:12px;font:700 15px 'Bricolage Grotesque',system-ui,sans-serif;color:#3A4256}
 .dm-portal.more{background:#FBE5D9;border-color:#FBE5D9;color:#9A3D17}
}
@media (max-width: 900px){
 .page .stat3{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:12px!important}
 .page .stats4{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:16px!important}
 .page .g2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .page .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:16px!important}
 .contacts-sec .contacts-visual{order:2}
 .pillars>div>span:first-child{font-size:44px!important}
 .stats4 span:first-child{font-size:34px!important}
 .pilot-head{display:none!important}
 .pilot-table{border:none!important;border-radius:0!important;overflow:visible!important;display:flex;flex-direction:column;gap:12px}
 .page .pilot-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;row-gap:12px!important;column-gap:12px!important;border:1px solid #ECE4D8!important;border-radius:16px;background:#FFFFFF;padding:16px!important}
 .pilot-row .pilot-name{grid-column:1 / -1;font:700 18px 'Bricolage Grotesque',system-ui,sans-serif}
 .pilot-row [data-label]{display:flex;flex-direction:column;gap:2px;font-size:18px;font-weight:600}
 .pilot-row [data-label]::before{content:attr(data-label);font-size:12px;font-weight:500;color:#6B7285}
 .pilot-row [data-label="Dernier export"]{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:baseline;font-size:14px;padding-top:10px;border-top:1px solid #F0EAE0}
}
@media (max-width: 600px){
 .page .g2,.page .res-grid{grid-template-columns:1fr!important}
 .dm-uses{grid-template-columns:1fr}
 .page .pilot-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .stat3>div{padding:10px!important}
 .stat3 span:last-child{font-size:22px!important}
 .stat3 span:first-child{font-size:12px!important}
 .res-grid [style*="DM Mono"]{font-size:12px!important}
 .stats4 span:first-child{font-size:28px!important;white-space:nowrap}
 .stats4>div{padding:18px!important}
 .verb-legend{justify-content:flex-start!important}
 .page>main>section:not(#contact){padding-top:48px!important;padding-bottom:48px!important}
}

/* Barre de navigation entre les espaces */
.site-switch{background:#1C2233;color:#C9CFDD;font-size:13px}
.site-switch nav{display:flex;gap:4px;align-items:center;padding:6px max(64px,calc((100vw - 1152px)/2));overflow-x:auto;white-space:nowrap}
.site-switch a{color:#C9CFDD;text-decoration:none;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.site-switch a:hover{color:#FFFFFF;background:#2A3246}
.site-switch a[aria-current="page"]{color:#FFFFFF;background:#2A3246;font-weight:600}
.site-switch .tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#3A4256;color:#DCE3F5}
@media (max-width:900px){.site-switch nav{padding-left:16px;padding-right:16px}.site-switch .tag{display:none}}

/* Guide de démarrage */
.guide-hero{padding:64px max(64px,calc((100vw - 1152px)/2)) 48px;background:#FFFFFF;border-bottom:1px solid #ECE4D8}
.guide-hero .eyebrow{display:inline-block;padding:6px 12px;background:#FBE5D9;color:#9A3D17;border-radius:999px;font-size:14px;font-weight:600}
.guide-hero h1{margin:18px 0 14px;font:700 52px/1.05 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em;max-width:820px}
.guide-hero p{margin:0;max-width:760px;font-size:19px;line-height:1.6;color:#454C5E}
.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.level{padding:22px;border:1px solid #ECE4D8;border-radius:18px;background:#FBF7F2;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:#1C2233}
.level.here{background:#EEF1FA;border-color:#C9D3EE}
.level strong{font:700 20px 'Bricolage Grotesque',system-ui,sans-serif}
.level span{font-size:15px;line-height:1.5;color:#454C5E}
.level em{font-style:normal;font-size:13px;font-weight:600;color:#23408E}

.guide{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding:48px max(64px,calc((100vw - 1152px)/2)) 80px;align-items:start}
.guide>aside{position:sticky;top:var(--header-h,96px);align-self:start;max-height:calc(100vh - var(--header-h,96px) - 16px);overflow-y:auto;padding-top:8px}
.toc{display:flex;flex-direction:column;gap:2px;font-size:14px}
.toc .toc-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6B7285;padding:0 12px 8px}
.toc a{padding:7px 12px!important;border-radius:10px!important;color:#1C2233!important;text-decoration:none}
.toc a.is-active{background:#EEF1FA!important;color:#23408E!important;font-weight:600}
.g-content{display:flex;flex-direction:column;gap:72px;min-width:0}
.g-sec{display:flex;flex-direction:column;gap:18px;scroll-margin-top:calc(var(--header-h,96px) + 16px)}
.g-sec>.kicker{font-size:14px;font-weight:600;color:#9A3D17}
.g-sec h2{margin:0;font:700 36px/1.1 'Bricolage Grotesque',system-ui,sans-serif}
.g-sec h3{margin:0;font:700 20px/1.25 'Bricolage Grotesque',system-ui,sans-serif}
.g-sec p{margin:0;font-size:17px;line-height:1.65;color:#454C5E}
.g-sec p strong{color:#1C2233}
.lead{font-size:18px!important}
.note{padding:16px 18px;border-radius:14px;background:#EEF1FA;color:#23408E!important;font-size:15px!important;line-height:1.55}
.note.warm{background:#FBE5D9;color:#9A3D17!important}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{padding:20px;border:1px solid #ECE4D8;border-radius:16px;background:#FFFFFF;display:flex;flex-direction:column;gap:8px}
.card p{font-size:15px!important;line-height:1.55!important}
.call{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:'DM Mono',monospace;font-size:13px;color:#1C2233}
.call code{font-family:'DM Mono',monospace;overflow-wrap:anywhere}

/* Schéma des notions */
.model{display:flex;flex-direction:column;align-items:center;gap:0;padding:28px;background:#FBF7F2;border-radius:20px}
.model .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.model .box{padding:12px 18px;border-radius:14px;background:#FFFFFF;border:1px solid #ECE4D8;text-align:center;min-width:150px}
.model .box b{display:block;font:700 17px 'Bricolage Grotesque',system-ui,sans-serif}
.model .box small{font-size:13px;color:#6B7285}
.model .box.main{background:#23408E;border-color:#23408E;color:#FFFFFF}.model .box.main small{color:#DCE3F5}
.model .box.out{background:#E3F2EA;border-color:#E3F2EA}
.model .link{width:2px;height:22px;background:#C9BFAF}
.model .label{font-size:12px;color:#6B7285;margin:4px 0}

/* Étapes */
.steps{display:flex;flex-direction:column;gap:14px;counter-reset:step}
.step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:22px;border:1px solid #ECE4D8;border-radius:18px;background:#FFFFFF}
.step .num{width:48px;height:48px;border-radius:14px;background:#23408E;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font:700 22px 'Bricolage Grotesque',system-ui,sans-serif}
.step .body{display:flex;flex-direction:column;gap:8px;min-width:0}
.step .who{font-size:13px;font-weight:600;color:#9A3D17}

/* Tableaux */
.table{border:1px solid #ECE4D8;border-radius:16px;overflow:hidden;background:#FFFFFF}
.table .tr{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px 18px;border-top:1px solid #F0EAE0;font-size:15px;line-height:1.5;color:#454C5E}
.table .tr:first-child{border-top:none}
.table .th{background:#F6F2EC;font-size:13px;font-weight:600;color:#6B7285}
.table .tr>span:first-child{color:#1C2233;font-weight:600}
.table.two .tr{grid-template-columns:200px minmax(0,1fr)}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.p-ok{background:#E3F2EA;color:#1E6B45}.p-wait{background:#FFF1D6;color:#8A5200}.p-part{background:#EEF1FA;color:#23408E}.p-err{background:#F8E1E1;color:#8E2424}.p-off{background:#ECE8E1;color:#4A4F5C}

/* Frise des délais */
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tl{position:relative;padding:18px 16px;border-radius:16px;background:#FFFFFF;border:1px solid #ECE4D8;display:flex;flex-direction:column;gap:6px}
.tl .when{font-size:13px;font-weight:600;color:#C9552A}
.tl b{font:700 16px/1.25 'Bricolage Grotesque',system-ui,sans-serif;color:#1C2233}
.tl span{font-size:14px;line-height:1.5;color:#454C5E}

/* Référentiels */
.refs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ref{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #ECE4D8;border-radius:14px;background:#FFFFFF}
.ref b{font-size:15px;color:#1C2233}
.ref code{font-family:'DM Mono',monospace;font-size:12px;color:#23408E;overflow-wrap:anywhere}
.ref span{font-size:14px;color:#6B7285}

/* Qui fait quoi */
.who-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.who-card{padding:22px;border-radius:18px;display:flex;flex-direction:column;gap:10px}
.who-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5;color:#1C2233}
.who-card.you{background:#FBE5D9}.who-card.sn{background:#EEF1FA}.who-card.portals{background:#E3F2EA}

/* FAQ */
.faq-list details{border-top:1px solid #D8CFC1;padding:16px 0}
.faq-list details:last-child{border-bottom:1px solid #D8CFC1}
.faq-list summary{cursor:pointer;font-size:17px;font-weight:600;color:#1C2233;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-size:22px;line-height:1;color:#C9552A}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{margin-top:10px}

.guide-cta{margin-top:8px;padding:36px;border-radius:24px;background:#23408E;color:#FFFFFF;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.guide-cta h2{color:#FFFFFF}.guide-cta p{color:#DCE3F5!important}
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap}
.btn.primary{background:#C9552A;color:#FFFFFF}.btn.ghost{background:#FFFFFF;color:#1C2233}

@media (max-width:1100px){
 .guide>aside{position:static;max-height:none;overflow:visible;padding:0}
 .guide{grid-template-columns:minmax(0,1fr);gap:0}
 .toc{display:none!important}
 .toc.open{display:flex!important;position:fixed;top:72px;left:16px;right:16px;z-index:30;background:#FFFFFF;border:1px solid #ECE4D8;border-radius:18px;padding:10px;box-shadow:0 18px 40px rgba(28,34,51,.16);max-height:70vh;overflow:auto}
}
@media (max-width:900px){
 .guide-hero{padding:40px 24px 32px}.guide-hero h1{font-size:36px}
 .guide{padding:32px 24px 56px}
 .levels,.grid3,.who-grid{grid-template-columns:1fr}
 .grid2,.refs{grid-template-columns:1fr}
 .timeline{grid-template-columns:1fr}
 .g-sec h2{font-size:30px}
 .table .tr,.table.two .tr{grid-template-columns:1fr;gap:4px}
 .table .th{display:none}
 .step{grid-template-columns:1fr;gap:12px}
 .model{padding:18px}
 .guide-cta{padding:26px}
}
.site-switch .s{display:none}
@media (max-width:600px){.site-switch .l{display:none}.site-switch .s{display:inline}.site-switch a{padding:6px 10px}.guide-label{display:none}}
@media (max-width:900px){.table [data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#6B7285;margin-top:6px}}
.g-sec .res-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:600px){.g-sec .res-grid{grid-template-columns:1fr!important}}
/* Référence API (Scalar) */
.api-reference{display:flex;flex-direction:column}
.api-reference-title{margin:40px max(64px,calc((100vw - 1152px)/2)) 8px;font-family:'Bricolage Grotesque',sans-serif;font-size:36px;color:#1C2233}
.api-reference-intro{margin:0 max(64px,calc((100vw - 1152px)/2)) 24px;max-width:760px;font-size:16px;line-height:1.6;color:#454C5E}
#reference{border-top:1px solid #ECE4D8;background:#FFFFFF}
@media (max-width:900px){.api-reference-title{margin-left:16px;margin-right:16px;font-size:28px}.api-reference-intro{margin-left:16px;margin-right:16px}}
