@font-face{font-family:'Funnel Display';src:url(fonts/funnel-display-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Funnel Display';src:url(fonts/funnel-display-latin-700-normal.woff2) format('woff2');font-weight:650 800;font-display:swap}
@font-face{font-family:'Funnel Sans';src:url(fonts/funnel-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Funnel Sans';src:url(fonts/funnel-sans-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Funnel Sans';src:url(fonts/funnel-sans-latin-600-normal.woff2) format('woff2');font-weight:600 649;font-display:swap}
@font-face{font-family:'Funnel Sans';src:url(fonts/funnel-sans-latin-700-normal.woff2) format('woff2');font-weight:650 800;font-display:swap}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:#FAFAF7;color:#121214;font-family:'Funnel Sans','Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
a{color:#121214}a:hover{color:#3E3E42}
img{max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(clamp(16px,4vw,32px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,32px),env(safe-area-inset-right,0px));box-sizing:border-box}
.skip{position:absolute;left:-9999px;top:0;background:#121214;color:#FAFAF7;padding:10px 14px;border-radius:2px;z-index:30}
.skip:focus{left:16px;top:16px}
:focus-visible{outline:2px solid #0E4B5A;outline-offset:3px}
.texte h2{font-family:'Funnel Display','Helvetica Neue',Arial,sans-serif;font-size:24px;letter-spacing:-0.02em;margin:32px 0 8px}
.texte p{font-size:17px;line-height:1.65;color:#3E3E42;margin:0}

/* en-tête */
.site-head{position:sticky;top:0;z-index:20;background:#FAFAF7;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.site-head.is-hidden{transform:translateY(-100%)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:20px 0}
.site-head{box-shadow:0 1px 0 transparent;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease}
.site-head.is-scrolled{box-shadow:0 1px 0 #E4E3DE}
.nav-logo{display:block;line-height:0;margin-right:auto}
.nav-logo img{height:28px;width:auto}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:15px}
.nav-links a{color:#121214;text-decoration:none;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .25s ease}
.nav-links a:hover{color:#121214;background-size:100% 1.5px}
.nav-links a.is-active{font-weight:650;background-size:100% 2px}
.nav-cta{background:#121214;color:#FAFAF7;text-decoration:none;padding:12px 18px;border-radius:2px;font-size:15px;font-weight:600;white-space:nowrap}
.nav-toggle{display:none;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;color:#121214;background:transparent;border:1.5px solid #121214;border-radius:2px;padding:9px 14px;cursor:pointer}
.nav-burger{position:relative;display:block;width:16px;height:10px}
.nav-burger::before,.nav-burger::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:#121214;transition:transform .25s ease,top .25s ease}
.nav-burger::before{top:1px}.nav-burger::after{top:8px}
.is-open .nav-burger::before{top:4.5px;transform:rotate(45deg)}
.is-open .nav-burger::after{top:4.5px;transform:rotate(-45deg)}
@keyframes menu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* boutons, cartes, liens */
.btn{display:inline-block;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.btn-ink:hover{background:#34343A !important;color:#FAFAF7 !important}
.btn-jaune:hover{background:#FFEA80 !important;color:#121214 !important}
.btn-trait:hover{background:#121214 !important;color:#FAFAF7 !important}
.carte-lien{transition:border-color .2s ease}

main a:not(.btn):not(.carte-lien){transition:text-underline-offset .2s ease,color .2s ease}
main a:not(.btn):not(.carte-lien):hover{text-underline-offset:7px !important}

/* logos : posés sur le papier, sans case */
.logos img{max-width:100%}
@media (max-width:560px){.logos{gap:24px 36px !important}}
/* cadre « suivi du plan » : quatre cartes qui défilent */
.plans{display:flex;flex-direction:column;gap:10px;min-width:0}
.plans-piste{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:2px}
.plans-piste::-webkit-scrollbar{display:none}
.plans-piste:focus-visible{outline:2px solid #0E4B5A;outline-offset:3px}
.plan-carte{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;display:flex;flex-direction:column;gap:18px;min-width:0}
.plan-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#0E4B5A}
.plan-chip{color:#121214;letter-spacing:0}
.plan-nom{font-family:'Funnel Display','Helvetica Neue',Arial,sans-serif;font-size:30px;font-weight:700;letter-spacing:-0.035em;line-height:1.1}
.plan-carte ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.plan-carte li{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #E4E3DE;font-size:15px;line-height:1.4}
.plan-carte li:last-child{border-bottom:1px solid #E4E3DE}
.plan-pied{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.case{width:20px;height:20px;box-sizing:border-box;border-radius:2px;border:1.5px solid #121214;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.case.fait{background:#0E4B5A;border-color:#0E4B5A}
.case path{stroke-dasharray:14;stroke-dashoffset:0}
.plan-txt{flex:1;min-width:0}
.barre{color:#6B6B70;background:linear-gradient(#6B6B70,#6B6B70) 0 58% / 100% 1.5px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.etat{font-size:13px;white-space:nowrap}
.etat.fait{color:#0E4B5A;font-weight:600}
.etat.cours{color:#121214;font-weight:600;padding:2px 6px;border:1.5px solid #121214;border-radius:2px}
.plans-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px}
.plans-points{display:flex;gap:6px}
.plans-point{position:relative;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.plans-point::before,.plans-point::after{content:"";position:absolute;left:0;top:21px;height:2px;border-radius:1px}
.plans-point::before{right:0;background:#D6D5CF}
.plans-point::after{width:0;background:#121214}
.plans-point[aria-current="true"]::after{width:100%}
.plans.is-run .plans-point[aria-current="true"]::after{animation:fil 6s linear both}
@keyframes fil{from{width:0}to{width:100%}}
.plans-compte{font-size:13px;font-weight:600;color:#6B6B70;font-variant-numeric:tabular-nums}
/* la carte se coche quand elle arrive */
.anim .plan-carte .case.fait{transition:background-color .25s ease,border-color .25s ease}
.anim .plan-carte .case path{transition:stroke-dashoffset .35s ease}
.anim .plan-carte .barre{transition:background-size .45s ease}
.anim .plan-carte .etat.fait{transition:opacity .3s ease}
.anim .plan-carte:not(.vu) .case.fait{background-color:transparent;border-color:#121214}
.anim .plan-carte:not(.vu) .case path{stroke-dashoffset:14}
.anim .plan-carte:not(.vu) .barre{background-size:0 1.5px}
.anim .plan-carte:not(.vu) .etat.fait{opacity:0}
.anim .plan-carte li:nth-child(1) .case{transition-delay:0.15s}.anim .plan-carte li:nth-child(1) .case path{transition-delay:0.25s}.anim .plan-carte li:nth-child(1) .barre,.anim .plan-carte li:nth-child(1) .etat{transition-delay:0.35s}
.anim .plan-carte li:nth-child(2) .case{transition-delay:0.29s}.anim .plan-carte li:nth-child(2) .case path{transition-delay:0.39s}.anim .plan-carte li:nth-child(2) .barre,.anim .plan-carte li:nth-child(2) .etat{transition-delay:0.49s}
.anim .plan-carte li:nth-child(3) .case{transition-delay:0.43s}.anim .plan-carte li:nth-child(3) .case path{transition-delay:0.53s}.anim .plan-carte li:nth-child(3) .barre,.anim .plan-carte li:nth-child(3) .etat{transition-delay:0.63s}
.anim .plan-carte li:nth-child(4) .case{transition-delay:0.57s}.anim .plan-carte li:nth-child(4) .case path{transition-delay:0.67s}.anim .plan-carte li:nth-child(4) .barre,.anim .plan-carte li:nth-child(4) .etat{transition-delay:0.77s}
.anim .plan-carte li:nth-child(5) .case{transition-delay:0.71s}.anim .plan-carte li:nth-child(5) .case path{transition-delay:0.81s}.anim .plan-carte li:nth-child(5) .barre,.anim .plan-carte li:nth-child(5) .etat{transition-delay:0.91s}

/* couleur et retour au toucher */
main a:not(.btn):not(.carte-lien):hover{color:#0E4B5A}
.carte-lien:hover{border-color:#0E4B5A !important}
.btn:active{background-color:#3E3E42 !important}

/* bande de preuves */
.preuves{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}

/* pied de page */
.pied{background:#F1F0EB;margin-top:clamp(40px,6vw,72px);font-size:14px;color:#6B6B70}
.pied-int{padding-top:clamp(36px,5vw,56px);padding-bottom:clamp(32px,5vw,56px);display:flex;flex-direction:column;gap:32px}
.pied a{color:#6B6B70;text-underline-offset:3px}
.pied a:hover{color:#121214}
.pied a.fort{color:#121214;font-weight:600}
.pied-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 48px;align-items:start}
.pied-marque{display:flex;flex-direction:column;gap:10px}
.pied-marque img{height:24px;width:auto;align-self:flex-start}
.pied-col{display:flex;flex-direction:column;gap:6px}
.pied-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px}
.pied-liens{display:flex;flex-wrap:wrap;gap:8px 20px}

/* apparitions, seulement si le navigateur accepte le mouvement */
.anim img[src*="surligneur"]{clip-path:inset(0 100% 0 0);transition:clip-path .7s cubic-bezier(.65,0,.35,1) .45s}
.anim img[src*="surligneur"].is-in{clip-path:inset(0 0 0 0)}
.anim img[src*="signature-theo"]{clip-path:inset(0 100% 0 0);transition:clip-path 1.3s cubic-bezier(.55,0,.35,1) .25s}
.anim img[src*="signature-theo"].is-in{clip-path:inset(-20% -5% -20% 0)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* tablette */
@media (max-width:960px){
  .preuves{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
  .pied-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* téléphone */
@media (max-width:760px){
  .nav{padding:14px 0;gap:12px}
  .nav-cta{padding:10px 14px;font-size:14px}
  .js .nav-toggle{display:inline-flex}
  .js .nav-links{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:4px 0 8px}
  .js .site-head.is-open .nav-links{display:flex;animation:menu .25s ease both}
  .js .nav-links a{font-family:'Funnel Display','Helvetica Neue',Arial,sans-serif;font-size:24px;font-weight:650;letter-spacing:-0.02em;padding:14px 0;border-top:1px solid #E4E3DE;background:none}
  .js .nav-links a.is-active{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
}
@media (max-width:560px){
  [style*="grid-template-columns: 120px minmax(0, 1fr)"]{grid-template-columns:minmax(0,1fr) !important;gap:6px !important}
  main div:has(> a.btn + a.btn) > a.btn{flex:1 1 auto;text-align:center}
  .plans-piste{grid-auto-columns:90%;gap:12px}
  .plan-nom{font-size:26px}
  .preuves span + span{font-size:14px !important}
  .pied-grille{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 20px}
  .pied-marque,.pied-col:last-child{grid-column:1 / -1}
  .pied-col{gap:2px}
  .pied-col a,.pied-col span{padding:5px 0;font-size:15px}
  .pied-liens a{padding:6px 0}
}
@media (max-width:359px){
  .nav-cta{display:none}
}
@media print{.site-head{position:static}.anim main > *,.anim [data-stagger] > *{opacity:1 !important;transform:none !important}}
