@font-face{font-family:'Bellefair';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bellefair-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bellefair';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/bellefair-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inclusive Sans';font-style:italic;font-weight:300 700;font-display:swap;src:url(fonts/inclusive-sans-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inclusive Sans';font-style:italic;font-weight:300 700;font-display:swap;src:url(fonts/inclusive-sans-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inclusive Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/inclusive-sans-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inclusive Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/inclusive-sans-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ===== JETONS DE LA DIRECTION ARTISTIQUE (23/10) — contrat partagé : ne pas redéfinir ailleurs ===== */
:root{
  --od-blanc:#fff; --od-eau:#DCEFE9; --od-celadon:#9FD3C4; --od-encre:#0E2A2C; --od-sarcelle:#1D5E58;
  --od-bleu:#1E47C8; --od-bleu-h:#16379F; --od-bleu-clair:#8FA8F0; --od-lichen:#4A6461; --od-urgence:#B3261E;
  --od-titre:Bellefair,"Cormorant Garamond",Georgia,serif;
  --od-texte:"Inclusive Sans","Segoe UI",Arial,sans-serif;
  --od-w:1200px; --od-g:24px; --od-r:6px; --od-rc:12px; --od-bande:96px;
}
@media (max-width:640px){:root{--od-bande:56px}}
.od-site{font-family:var(--od-texte);color:var(--od-encre);background:var(--od-blanc);font-size:18px;line-height:1.67;-webkit-font-smoothing:antialiased}
@media (max-width:640px){.od-site{font-size:17px;line-height:1.65}}
.od-site h1,.od-site h2,.od-site h3,.od-site h4{font-family:var(--od-titre);font-weight:400;font-style:normal;color:var(--od-encre);margin:0}
.od-site a{color:var(--od-bleu)} .od-site a:hover{color:var(--od-bleu-h)}
.od-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.od-bande{max-width:var(--od-w);margin:0 auto;padding:0 var(--od-g)}               /* conteneur */
.od-fond-eau{background:var(--od-eau)} .od-fond-encre{background:var(--od-encre);color:#fff}
.od-section{padding:var(--od-bande) 0}
/* Légende de planche : surtitre capitales précédé d'un filet (remplace toute pastille) */
.od-leg{display:flex;align-items:center;gap:12px;font:600 12px/1.2 var(--od-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--od-sarcelle)}
.od-leg::before{content:"";width:32px;height:1px;background:var(--od-sarcelle);flex:none}
/* Numéro de légende (01, 02…) */
.od-num{font-family:var(--od-titre);font-size:28px;line-height:1;color:var(--od-bleu)}
/* Boutons : rectangles à coins 6px, jamais de pilule */
.od-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 22px;border-radius:var(--od-r);background:var(--od-bleu);color:#fff!important;font:600 16px/1 var(--od-texte);text-decoration:none;border:0;cursor:pointer;transition:background .18s}
.od-btn:hover{background:var(--od-bleu-h)}
.od-btn-ligne{background:transparent;color:var(--od-bleu)!important;box-shadow:inset 0 0 0 1px var(--od-celadon)} .od-btn-ligne:hover{background:var(--od-eau)}
.od-site :focus-visible{outline:3px solid var(--od-bleu);outline-offset:2px}
/* Le Tracé : le CSS d'emplacement dimensionne ; ici seulement le dessin et l'animation de base */
.od-trace{display:block;overflow:visible}
.od-trace-fond{fill:none;stroke:var(--od-celadon);stroke-width:1.5}
.od-trace-ligne{fill:none;stroke:var(--od-sarcelle);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:0}
.od-trace-onde{fill:none;stroke:var(--od-bleu);stroke-width:4;stroke-linecap:round;stroke-dasharray:40 2000;stroke-dashoffset:40;opacity:0}
.od-trace-paroi{fill:none;stroke:var(--od-celadon);stroke-width:1.5;stroke-dasharray:3 6;stroke-linecap:round}
.od-station-halo{fill:var(--od-bleu);opacity:.14}.od-station-pt{fill:var(--od-bleu);stroke:#fff;stroke-width:2}
.od-station-fil{stroke:var(--od-sarcelle);stroke-width:1}.od-station-num{font:19px var(--od-titre);fill:var(--od-bleu)}
.od-station.est-actif .od-station-halo{opacity:.3}
.od-trace-anime .od-trace-ligne{animation:od-dessin 1.8s cubic-bezier(.4,0,.2,1) both}
.od-trace-anime .od-station{animation:od-station .5s ease both;animation-delay:calc(1.2s + var(--i)*.12s);transform-box:fill-box;transform-origin:center}
.od-trace-anime .od-trace-onde{animation:od-onde 7s ease-in-out 3s infinite}
@keyframes od-dessin{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes od-station{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes od-onde{0%{stroke-dashoffset:40;opacity:1}34%{stroke-dashoffset:-1000;opacity:1}35%,100%{stroke-dashoffset:-1000;opacity:0}}
@media (prefers-reduced-motion:reduce){.od-trace-anime *{animation:none!important}.od-trace-onde{display:none}.od-site *{scroll-behavior:auto!important}}
