{"version":3,"file":"shared-lib.54VeOeEx.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/yQL2JNu1LfsiR1A0DOtB/WSYqFLc8ccSt9DJgprmA/TopNav.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/* ── Fondation mobile JODY — bloc partagé, identique dans les 44 composants ── */// ATTENTION : MOBILE_BP et le littéral des media queries CSS\n// `@media (max-width: 809.98px)` sont deux sources de vérité — une media query\n// CSS ne peut pas lire une constante JS. Changer la frontière impose de changer\n// LES DEUX, dans les 44 fichiers. Ne modifiez jamais l'une sans l'autre.\n//\n// 809.98 EST LA VALEUR QUE FRAMER DÉCLARE. Le site publié sert lui-même\n// `(max-width: 809.98px)` / `(min-width: 810px)` — le breakpoint Tablet par\n// défaut de Framer, que le propriétaire a choisi de garder. Notre CSS doit\n// basculer AU MÊME PIXEL que la mise en page de Framer : c'est la\n// désynchronisation de ces deux frontières qui a motivé tout le chantier.\n// Arrondir à 809 rouvrirait un interstice de 0,98px — le même défaut en\n// miniature. La décimale est délibérée, et l'outillage la lit telle quelle\n// (`lireBreakpoint`, guards.mjs : un `\\d+` y renverrait 809 en silence).\nconst MOBILE_BP=809.98;function useIsMobile(){const[isMobile,setIsMobile]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mql=window.matchMedia(`(max-width: ${MOBILE_BP}px)`);const update=()=>setIsMobile(mql.matches);update();if(mql.addEventListener)mql.addEventListener(\"change\",update);else mql.addListener(update);return()=>{if(mql.removeEventListener)mql.removeEventListener(\"change\",update);else mql.removeListener(update);};},[]);return isMobile;}const MOBILE={hero:\"clamp(30px, 8.5vw, 38px)\",title:\"clamp(26px, 7.2vw, 32px)\",// Titre display en capitales grasses : un cran sous `title`. En capitales,\n// un mot insécable long déborde à 360px au plancher de `title` (26px).\ntitleCaps:\"clamp(22px, 6vw, 28px)\",kicker:\"12px\",lead:\"clamp(16px, 4.4vw, 19px)\",body:\"16px\",label:\"13px\",figure:\"clamp(40px, 12vw, 52px)\",button:\"16px\",tap:48,// Gouttière horizontale de section sur mobile. Elle sert DEUX rôles qui\n// doivent partager la même valeur : le padding latéral de la section, et\n// le débord puis la restitution des marges du carrousel de la recette R2\n// (marges négatives, puis padding compensatoire). Si les deux divergent,\n// les bords du carrousel cessent silencieusement de s'aligner sur ceux de\n// la section. Un espacement dans une échelle par ailleurs typographique,\n// comme `tap` qui est une zone tactile — c'est assumé.\npadX:20};/* ── fin du bloc fondation ── *//* ── Canevas Framer JODY — bloc partagé, identique dans tous les composants ── */// Les sections se révèlent au défilement (`animation-timeline: view()`). Le\n// canevas de Framer ne défile pas : une section posée sous la zone visible y\n// resterait à opacity 0, donc invisible pendant qu'on compose la page.\n// Sur le canevas SEULEMENT, ces animations sont figées sur leur état final.\n// L'aperçu et le site publié ne sont pas concernés : la révélation y joue.\n// Les sélecteurs doublent une classe exprès, pour battre sans `!important`\n// les règles `.jody-root .sec { animation: … }` de chaque composant.\n// `tools/mobile-audit/canvas-check.mjs` sonde les deux cibles.\nif(typeof document!==\"undefined\"&&RenderTarget.current()===RenderTarget.canvas&&!document.getElementById(\"jody-canvas-still\")){const still=document.createElement(\"style\");still.id=\"jody-canvas-still\";still.textContent=\".jody-root.jody-root .sec,.jody-root.jody-root .sec-title,\"+\".jody-root.jody-root .bx.solid::before,.m-title.m-title{animation:none}\"+\".jody-root.jody-root .sec-title{clip-path:none}\"+// Révélations propres à un composant, déclenchées par un défilement\n// ou un IntersectionObserver qui n'arrivent jamais sur le canevas.\n\".m-title.m-title,.jody-root.jody-root .bm-tile,\"+\".jody-root.jody-root .plan-card{opacity:1;transform:none}\";document.head.appendChild(still);}/* ── fin du bloc canevas ── */// Le logo est une MARQUE, pas de la typographie de contenu : sa taille est\n// délibérément hors de l'échelle MOBILE et ne suit pas ses paliers. Elle est\n// identique en desktop et en mobile — c'est un logotype, il ne se met pas à\n// l'échelle du viewport. Constante locale à TopNav : aucun autre composant\n// n'affiche de logo, l'ajouter à MOBILE expédierait une clé morte dans 40 fichiers.\nconst LOGO_BRAND_SIZE=22;const translations={fr:{pourVous:\"Solution\",entreprises:\"Entreprises\",athletes:\"Athl\\xe8tes\",agenda:\"Agenda\",aPropos:\"\\xc0 propos\",contact:\"Contact\",ctaPrimary:\"Demander une d\\xe9mo\",menuOpen:\"Ouvrir le menu\",menuClose:\"Fermer le menu\",langSelector:\"S\\xe9lecteur de langue\"},en:{pourVous:\"Solution\",entreprises:\"For companies\",athletes:\"Athletes\",agenda:\"Events\",aPropos:\"About\",contact:\"Contact\",ctaPrimary:\"Request a demo\",menuOpen:\"Open menu\",menuClose:\"Close menu\",langSelector:\"Language selector\"}};const LANG_STORAGE_KEY=\"jody-lang\";function readLang(){if(typeof window===\"undefined\")return\"fr\";const params=new URLSearchParams(window.location.search);const fromUrl=params.get(\"lang\");if(fromUrl===\"en\"||fromUrl===\"fr\")return fromUrl;const stored=window.localStorage.getItem(LANG_STORAGE_KEY);if(stored===\"en\"||stored===\"fr\")return stored;return\"fr\";}function useLang(){const[lang,setLang]=useState(\"fr\");useEffect(()=>{setLang(readLang());const onStorage=()=>setLang(readLang());window.addEventListener(\"jody-lang-change\",onStorage);return()=>window.removeEventListener(\"jody-lang-change\",onStorage);},[]);return lang;}function NavLink(props){const{href,label}=props;const[hover,setHover]=useState(false);return /*#__PURE__*/_jsx(\"a\",{href:href,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{textDecoration:\"none\",color:hover?\"white\":\"inherit\",background:hover?\"var(--ink)\":\"transparent\",// `--nav-pad` est resserré par la media query de la bande 810–1179px.\npadding:\"6px var(--nav-pad, 12px)\",borderRadius:999,cursor:\"pointer\",transition:\"background 0.18s ease, color 0.18s ease\"},children:label});}function CtaButton(props){const{href,label}=props;const[hover,setHover]=useState(false);return /*#__PURE__*/_jsx(\"a\",{href:href,className:\"btn sm\",onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{textDecoration:\"none\",background:hover?\"transparent\":\"var(--ink)\",color:hover?\"var(--ink)\":\"var(--cream)\",borderColor:\"var(--ink)\",transition:\"background 0.18s ease, color 0.18s ease\"},children:label});}const sharedStyles=`\n:root {\n  --ink: #1F2A4F;\n  --ink-2: #3A4670;\n  --ink-3: #6F7796;\n  --ink-4: #B9BDCC;\n  --paper: #FAF6F0;\n  --paper-2: #F2EAD9;\n  --cream: #FFEDDE;\n  --amber: #F6A969;\n  --petrole: #036B90;\n  --red: #C25450;\n}\n\n.jody-root, .jody-root * { box-sizing: border-box; }\n.jody-root {\n  font-family: 'ABC Ginto Nord', system-ui, sans-serif;\n  font-size: 16px;\n  line-height: 1.35;\n  color: var(--ink);\n  -webkit-font-smoothing: antialiased;\n  -webkit-text-size-adjust: 100%;\n  text-size-adjust: 100%;\n}\n.jody-root .handwriting { font-family: 'ABC Ginto Nord', sans-serif; font-weight: 600; }\n.jody-root .brand   { font-family: 'ABC Ginto Nord', system-ui, sans-serif; letter-spacing: -0.02em; }\n.jody-root .eyebrow {\n  font-family: 'ABC Ginto Nord', system-ui, sans-serif;\n  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-2);\n}\n\n.jody-root .row { display: flex; gap: 16px; }\n.jody-root .row.gap-sm { gap: 10px; }\n.jody-root .row.gap-lg { gap: 24px; }\n.jody-root .col { display: flex; flex-direction: column; gap: 10px; }\n.jody-root .center  { display: flex; align-items: center; justify-content: center; }\n.jody-root .between { display: flex; align-items: center; justify-content: space-between; }\n.jody-root .mt-8  { margin-top: 8px; }\n.jody-root .mt-12 { margin-top: 12px; }\n.jody-root .mt-16 { margin-top: 16px; }\n.jody-root .mt-20 { margin-top: 20px; }\n.jody-root .mt-28 { margin-top: 28px; }\n\n.jody-root .bx {\n  border: 1.5px solid var(--ink-3);\n  background: var(--paper);\n  border-radius: 10px;\n  display: flex; align-items: center; justify-content: center;\n  color: var(--ink-3);\n  font-size: 13px;\n  position: relative;\n}\n.jody-root .bx.solid { border-style: solid; border-color: var(--ink); }\n.jody-root .bx.solid {\n  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;\n  transform-style: preserve-3d;\n  will-change: transform;\n}\n.jody-root .bx.solid:hover {\n  transform: translateY(-6px);\n  box-shadow: 0 32px 56px -28px rgba(31,42,79,0.38);\n}\n\n.jody-root .bx.tint  { background: var(--cream); }\n.jody-root .bx.dark  { background: var(--ink); color: var(--cream); border-color: var(--ink); }\n.jody-root .bx.amber { background: var(--amber); border-color: var(--ink); color: var(--ink); }\n\n.jody-root .btn {\n  display: inline-flex; align-items: center; gap: 6px;\n  padding: 7px 14px;\n  border: 1.5px solid var(--ink); border-radius: 999px;\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: 14px; color: var(--ink);\n  background: transparent;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.jody-root .btn.fill  { background: var(--ink); color: var(--cream); }\n.jody-root .btn.amber { background: var(--amber); border-color: var(--ink); }\n.jody-root .btn.sm    { padding: 4px 10px; font-size: 12px; }\n/* Le bloc mobile qui doublait .btn (32px de police, 48px de haut) a \\xe9t\\xe9\n   retir\\xe9. .btn est un s\\xe9lecteur PARTAG\\xc9, d\\xe9clar\\xe9 par 27 fichiers et rendu par\n   9 composants, et ce fichier est empil\\xe9 sur LES 8 PAGES du site : la r\\xe8gle\n   habillait les boutons de tout le site. Elle \\xe9tait de surcro\\xeet d\\xe9j\\xe0 morte\n   vis-\\xe0-vis de son propre balisage — sous 809.98px ce composant rend un\n   sous-arbre enti\\xe8rement diff\\xe9rent (topnav-m) qui ne produit AUCUN .btn ; le\n   seul, le CTA de la barre desktop, vit apr\\xe8s le retour anticip\\xe9 du branchement\n   mobile. Rien \\xe0 compenser en ligne ici. Supprim\\xe9 plut\\xf4t que rabot\\xe9. */\n\n.jody-root .chip {\n  display: inline-flex; align-items: center; gap: 4px;\n  padding: 2px 10px;\n  border: 1px solid var(--ink-3); border-radius: 999px;\n  font-size: 12px; color: var(--ink-2);\n  background: white;\n}\n\n.jody-root .sec {\n  padding: 40px clamp(24px, 6vw, 96px);\n\n}\n.jody-root .sec.cream { background: var(--cream); }\n.jody-root .sec.dark {\n  background:\n    radial-gradient(900px 500px at 90% 110%, rgba(246,169,105,0.42), rgba(246,169,105,0) 60%),\n    radial-gradient(700px 600px at 10% -10%, rgba(3,107,144,0.55), rgba(3,107,144,0) 65%),\n    linear-gradient(135deg, #131c3a 0%, #1F2A4F 35%, #036B90 100%);\n  color: var(--cream);\n  position: relative;\n}\n.jody-root .sec.dark .eyebrow { color: var(--amber); }\n.jody-root .sec.dark .sec-title { color: var(--cream); }\n.jody-root .sec.amber {\n  background:\n    radial-gradient(700px 500px at 100% 0%, rgba(3,107,144,0.20), rgba(3,107,144,0) 60%),\n    radial-gradient(800px 600px at 0% 100%, rgba(246,169,105,0.45), rgba(255,237,222,0) 65%),\n    linear-gradient(135deg, #FFEDDE 0%, #FFD8B5 60%, #F6A969 100%);\n}\n\n.jody-root .sec-title {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: 34px; letter-spacing: -0.02em; line-height: 1.05;\n  color: var(--ink); text-transform: uppercase;\n  margin: 0;\n}\n.jody-root .sec-kicker {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;\n  color: var(--ink-3); margin-bottom: 8px;\n}\n.jody-root .sec-sub {\n  font-size: 16px; color: var(--ink-2); max-width: 60ch;\n  margin-top: 10px;\n}\n.jody-root .stat-num {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: 64px; line-height: 0.95; letter-spacing: -0.04em;\n  color: var(--ink);\n}\n\n.jody-root .topnav {\n  position: sticky;\n  top: 0;\n  z-index: 999;\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 18px clamp(20px, 5vw, 80px);\n  background: rgba(255,255,255,0.7);\n  -webkit-backdrop-filter: blur(14px) saturate(140%);\n          backdrop-filter: blur(14px) saturate(140%);\n  border-bottom: 1px solid rgba(31,42,79,0.04);\n  transition: max-width 0.45s cubic-bezier(0.22, 1, 0.36, 1),\n              margin 0.45s cubic-bezier(0.22, 1, 0.36, 1),\n              border-radius 0.45s cubic-bezier(0.22, 1, 0.36, 1),\n              padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),\n              top 0.45s cubic-bezier(0.22, 1, 0.36, 1),\n              box-shadow 0.45s ease,\n              background 0.45s ease;\n}\n.jody-root .topnav.is-scrolled {\n  max-width: 1100px;\n  margin: 12px auto 0;\n  border-radius: 999px;\n  padding: 10px 18px;\n  top: 12px;\n  background: rgba(255,255,255,0.78);\n  border: 1px solid rgba(31,42,79,0.08);\n  border-bottom: 1px solid rgba(31,42,79,0.08);\n  box-shadow: 0 18px 40px -22px rgba(31,42,79,0.25);\n}\n.jody-root .topnav .logo {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: ${LOGO_BRAND_SIZE}px; letter-spacing: -0.03em; color: var(--ink);\n}\n.jody-root .topnav .nav-links { display: flex; gap: 22px; font-size: 14px; color: var(--ink-2); }\n.jody-root .topnav .nav-cta   { display: flex; gap: 10px; }\n/* Bande 810–1179px : la nav desktop a six entrees depuis l'ajout de\n   \\xab Agenda \\xbb (cinq depuis \\xab Athletes \\xbb) et ne tient plus sur une ligne sous\n   ~1100px. On resserre les espacements — jamais la taille du texte — en deux\n   paliers : 900–1179px (elle exige alors 874px), puis 810–899px, au plus\n   serre, pour tenir des 810px (tablette en portrait).\n   Le selecteur double la classe (.topnav.topnav) EXPRES : chaque composant\n   de la page embarque sa copie de \\xab .jody-root .topnav .nav-links \\xbb, et a\n   specificite egale c'est la derniere du document qui gagne — donc celle\n   d'un autre composant, qui annulait ce bloc sur les pages assemblees. */\n.jody-root .topnav.topnav .nav-links a { white-space: nowrap; }\n@media (min-width: 810px) and (max-width: 1179.98px) {\n  .jody-root .topnav.topnav { padding-left: 16px; padding-right: 16px; }\n  .jody-root .topnav.topnav .nav-links { gap: 4px; --nav-pad: 5px; }\n  .jody-root .topnav.topnav .nav-cta { gap: 6px; }\n}\n@media (min-width: 810px) and (max-width: 899.98px) {\n  .jody-root .topnav.topnav { padding-left: 6px; padding-right: 6px; }\n  .jody-root .topnav.topnav .nav-links { gap: 0; --nav-pad: 2px; }\n  .jody-root .topnav.topnav .nav-cta { gap: 4px; }\n}\n\n.jody-root .topnav-m {\n  position: sticky;\n  top: 0;\n  z-index: 999;\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 14px 16px;\n  background: rgba(255,255,255,0.85);\n  -webkit-backdrop-filter: blur(14px) saturate(140%);\n          backdrop-filter: blur(14px) saturate(140%);\n  border-bottom: 1px solid rgba(31,42,79,0.06);\n}\n.jody-root .topnav-m .logo {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: ${LOGO_BRAND_SIZE}px; letter-spacing: -0.03em; color: var(--ink);\n  text-decoration: none;\n  display: inline-flex; align-items: center;\n  min-height: ${MOBILE.tap}px;\n}\n.jody-root .burger {\n  width: ${MOBILE.tap}px; height: ${MOBILE.tap}px;\n  display: inline-flex; align-items: center; justify-content: center;\n  background: transparent;\n  border: 1.5px solid rgba(31,42,79,0.3);\n  border-radius: 999px;\n  cursor: pointer;\n  padding: 0;\n}\n.jody-root .burger span {\n  display: block; position: relative;\n  width: 22px; height: 2px;\n  background: var(--ink);\n  transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;\n}\n.jody-root .burger span::before,\n.jody-root .burger span::after {\n  content: ''; position: absolute; left: 0;\n  width: 22px; height: 2px;\n  background: var(--ink);\n  transition: transform 0.25s ease, top 0.25s ease;\n}\n.jody-root .burger span::before { top: -7px; }\n.jody-root .burger span::after  { top:  7px; }\n.jody-root .burger.is-open span { background: transparent; }\n.jody-root .burger.is-open span::before { top: 0; transform: rotate(45deg); }\n.jody-root .burger.is-open span::after  { top: 0; transform: rotate(-45deg); }\n\n.jody-root .mobile-panel {\n  position: fixed;\n  inset: 0;\n  z-index: 998;\n  background: var(--paper);\n  /* Gouttiere laterale alignee sur MOBILE.padX, comme le reste de la\n     branche. Ecrite en 28px avant la promotion de padX, elle decalait\n     l'en-tete du corps de page de 8px sur les 8 pages. */\n  padding: 96px ${MOBILE.padX}px 40px;\n  display: flex; flex-direction: column;\n  gap: 22px;\n  transform: translateY(-100%);\n  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n  overflow-y: auto;\n}\n.jody-root .mobile-panel.is-open { transform: translateY(0); }\n.jody-root .mobile-panel .m-link {\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: ${MOBILE.title};\n  letter-spacing: -0.02em;\n  color: var(--ink);\n  text-decoration: none;\n  padding: 12px 0;\n  border-bottom: 1px solid rgba(31,42,79,0.08);\n}\n.jody-root .mobile-panel .m-bottom {\n  margin-top: auto;\n  display: flex; flex-direction: column; gap: 16px;\n  padding-top: 24px;\n}\n.jody-root .mobile-panel .m-cta {\n  display: inline-flex; align-items: center; justify-content: center;\n  min-height: ${MOBILE.tap}px;\n  padding: 14px 20px;\n  border-radius: 999px;\n  background: var(--ink);\n  color: var(--cream);\n  text-decoration: none;\n  font-family: 'ABC Ginto Nord', sans-serif;\n  font-size: ${MOBILE.button};\n}\n\n@keyframes jodyScrollFill {\n  from { transform: scaleX(0); }\n  to   { transform: scaleX(1); }\n}\n.jody-root .jody-progress {\n  position: fixed;\n  top: 0; left: 0; right: 0;\n  height: 3px;\n  background: linear-gradient(90deg, #1F2A4F 0%, #036B90 50%, #F6A969 100%);\n  transform: scaleX(0);\n  transform-origin: left center;\n  z-index: 9999;\n  pointer-events: none;\n}\n@supports (animation-timeline: scroll()) {\n  .jody-root .jody-progress {\n    animation: jodyScrollFill linear both;\n    animation-timeline: scroll(root);\n  }\n}\n\n.jody-root .phone {\n  width: 240px; height: 480px;\n  border: 1.5px solid var(--ink); border-radius: 28px;\n  background: var(--paper); position: relative;\n  padding: 14px 16px;\n  box-shadow: 4px 4px 0 var(--ink);\n}\n.jody-root .phone::before {\n  content: ''; position: absolute; top: 8px; left: 50%;\n  transform: translateX(-50%);\n  width: 80px; height: 14px; border-radius: 10px;\n  background: var(--ink);\n}\n.jody-root .phone-screen {\n  width: 100%; height: 100%;\n  border: 1px solid var(--ink-3);\n  border-radius: 18px;\n  padding: 22px 12px 14px;\n  display: flex; flex-direction: column; gap: 8px;\n  overflow: hidden;\n}\n\n.jody-root .footer {\n  padding: 28px clamp(24px, 6vw, 96px);\n  background: var(--ink); color: var(--cream);\n  font-size: 13px;\n}\n.jody-root .footer .cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 22px; }\n@keyframes jodyTitleReveal {\n  from { clip-path: inset(0 100% 0 0); opacity: 0.6; }\n  to   { clip-path: inset(0 0 0 0); opacity: 1; }\n}\n.jody-root .sec-title {\n  clip-path: inset(0 100% 0 0);\n}\n@supports (animation-timeline: view()) {\n  .jody-root .sec-title {\n    animation: jodyTitleReveal cubic-bezier(0.65, 0, 0.35, 1) both;\n    animation-timeline: view();\n    animation-range: entry 5% cover 35%;\n  }\n}\n.title-reveal-fallback {}\n\n@keyframes jodyShineSweep {\n  0%   { transform: translateX(-130%) skewX(-18deg); }\n  100% { transform: translateX(230%) skewX(-18deg); }\n}\n.jody-root .bx.solid {\n  overflow: hidden;\n}\n.jody-root .bx.solid::before {\n  content: '';\n  position: absolute;\n  top: 0; left: 0;\n  width: 40%; height: 100%;\n  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,237,222,0.45) 50%, rgba(255,255,255,0) 100%);\n  transform: translateX(-130%) skewX(-18deg);\n  pointer-events: none;\n}\n@supports (animation-timeline: view()) {\n  .jody-root .bx.solid::before {\n    animation: jodyShineSweep 1.4s cubic-bezier(0.22, 1, 0.36, 1) both;\n    animation-timeline: view();\n    animation-range: entry 10% cover 40%;\n  }\n}\n\n@keyframes jodyReveal {\n  from { opacity: 0; transform: translateY(24px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n@supports (animation-timeline: view()) {\n  .jody-root .sec {\n    animation: jodyReveal linear both;\n    animation-timeline: view();\n    animation-range: entry 0% cover 25%;\n  }\n}\n\n`;/**\n * JODY · TopNav\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1320\n * @framerIntrinsicHeight 70\n */export default function TopNav(props){const{logo=\"JODY\",logoLink=\"/\",logoImage=\"\",logoHeight=28,linkPourVousLabel=\"Solution\",linkPourVous=\"/pulse\",linkEntreprisesLabel=\"Entreprises\",linkEntreprises=\"/entreprises\",linkAthletesLabel=\"Athl\\xe8tes\",linkAthletes=\"/elite\",linkAgendaLabel=\"Agenda\",linkAgenda=\"/agenda\",linkAProposLabel=\"\\xc0 propos\",linkAPropos=\"/a-propos\",linkContactLabel=\"Contact\",linkContact=\"/contact\",ctaPrimary=\"Demander une d\\xe9mo\",ctaPrimaryLink=\"/contact?reason=Demander+une+d%C3%A9mo\",activeLanguage=\"FR\",languages=[\"FR\",\"EN\"],enPathPrefix=\"/en\"}=props;const lang=useLang();const detectedActive=lang===\"en\"?\"EN\":\"FR\";const t=translations[lang];// Une instance posée dans Framer AVANT le 2 octobre 2026 a gardé l'ancien\n// libellé enregistré dans ses propriétés : il masque la nouvelle valeur par\n// défaut du code. On le reconnaît et on le remplace, pour que la correction\n// vaille sur toutes les pages sans repasser sur chaque instance.\nconst LEGACY_LABELS={\"Pour vous\":\"Solution\"};const label=(frProp,enKey)=>lang===\"en\"?translations.en[enKey]:(LEGACY_LABELS[frProp]??frProp)||translations.fr[enKey];const switchLanguage=next=>{if(typeof window===\"undefined\")return;const target=next===\"EN\"?\"en\":\"fr\";window.localStorage.setItem(LANG_STORAGE_KEY,target);const url=new URL(window.location.href);url.searchParams.set(\"lang\",target);window.history.replaceState({},\"\",url.toString());window.dispatchEvent(new Event(\"jody-lang-change\"));};const navItems=[{label:label(linkPourVousLabel,\"pourVous\"),href:linkPourVous},{label:label(linkEntreprisesLabel,\"entreprises\"),href:linkEntreprises},{label:label(linkAthletesLabel,\"athletes\"),href:linkAthletes},{label:label(linkAgendaLabel,\"agenda\"),href:linkAgenda},{label:label(linkAProposLabel,\"aPropos\"),href:linkAPropos},{label:label(linkContactLabel,\"contact\"),href:linkContact}];const ctaLabel=label(ctaPrimary,\"ctaPrimary\");const[scrolled,setScrolled]=useState(false);const isMobile=useIsMobile();const[menuOpen,setMenuOpen]=useState(false);useEffect(()=>{const onScroll=()=>setScrolled(window.scrollY>60);onScroll();window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);},[]);useEffect(()=>{if(!menuOpen)return;const prev=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=prev;};},[menuOpen]);if(isMobile){return /*#__PURE__*/_jsxs(\"div\",{className:\"jody-root\",style:{width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:sharedStyles}}),/*#__PURE__*/_jsx(\"div\",{className:\"jody-progress\",\"aria-hidden\":true}),/*#__PURE__*/_jsxs(\"div\",{className:\"topnav-m\",children:[/*#__PURE__*/_jsx(\"a\",{href:logoLink,className:\"logo\",children:logoImage?/*#__PURE__*/_jsx(\"img\",{src:logoImage,alt:logo||\"Logo\",style:{height:logoHeight,width:\"auto\",display:\"block\"}}):logo}),/*#__PURE__*/_jsx(\"button\",{className:`burger${menuOpen?\" is-open\":\"\"}`,\"aria-label\":menuOpen?t.menuClose:t.menuOpen,\"aria-expanded\":menuOpen,onClick:()=>setMenuOpen(v=>!v),children:/*#__PURE__*/_jsx(\"span\",{})})]}),/*#__PURE__*/_jsxs(\"div\",{className:`mobile-panel${menuOpen?\" is-open\":\"\"}`,children:[navItems.map((l,i)=>/*#__PURE__*/_jsx(\"a\",{href:l.href,className:\"m-link\",onClick:()=>setMenuOpen(false),children:l.label},i)),/*#__PURE__*/_jsxs(\"div\",{className:\"m-bottom\",children:[/*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":t.langSelector,style:{display:\"inline-flex\",alignItems:\"center\",border:\"2px solid var(--ink-3)\",borderRadius:999,padding:4,background:\"white\",fontSize:MOBILE.button,fontFamily:\"'ABC Ginto Nord', sans-serif\",alignSelf:\"flex-start\"},children:languages.map(lang=>{const on=lang===detectedActive;return /*#__PURE__*/_jsx(\"button\",{onClick:()=>switchLanguage(lang),style:{border:\"none\",background:on?\"var(--ink)\":\"transparent\",color:on?\"var(--cream)\":\"var(--ink-2)\",padding:\"12px 20px\",borderRadius:999,fontFamily:\"inherit\",fontSize:MOBILE.button,cursor:\"pointer\",minWidth:56,minHeight:MOBILE.tap,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",boxSizing:\"border-box\"},children:lang},lang);})}),/*#__PURE__*/_jsx(\"a\",{href:ctaPrimaryLink,className:\"m-cta\",onClick:()=>setMenuOpen(false),children:ctaLabel})]})]})]});}return /*#__PURE__*/_jsxs(\"div\",{className:\"jody-root\",style:{width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:sharedStyles}}),/*#__PURE__*/_jsx(\"div\",{className:\"jody-progress\",\"aria-hidden\":true}),/*#__PURE__*/_jsxs(\"div\",{className:`topnav${scrolled?\" is-scrolled\":\"\"}`,children:[/*#__PURE__*/_jsx(\"a\",{href:logoLink,className:\"logo\",style:{textDecoration:\"none\",color:\"inherit\",display:\"inline-flex\",alignItems:\"center\"},children:logoImage?/*#__PURE__*/_jsx(\"img\",{src:logoImage,alt:logo||\"Logo\",style:{height:logoHeight,width:\"auto\",display:\"block\"}}):logo}),/*#__PURE__*/_jsx(\"div\",{className:\"nav-links\",children:navItems.map((l,i)=>/*#__PURE__*/_jsx(NavLink,{href:l.href,label:l.label},i))}),/*#__PURE__*/_jsxs(\"div\",{className:\"nav-cta\",children:[/*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":\"S\\xe9lecteur de langue\",style:{display:\"inline-flex\",alignItems:\"center\",border:\"1px solid var(--ink-3)\",borderRadius:999,padding:2,background:\"white\",fontSize:12,fontFamily:\"'ABC Ginto Nord', sans-serif\"},children:languages.map(lang=>{const on=lang===detectedActive;return /*#__PURE__*/_jsx(\"button\",{onClick:()=>switchLanguage(lang),style:{border:\"none\",background:on?\"var(--ink)\":\"transparent\",color:on?\"var(--cream)\":\"var(--ink-2)\",padding:\"3px 10px\",borderRadius:999,fontFamily:\"inherit\",fontSize:12,cursor:\"pointer\",minWidth:28},children:lang},lang);})}),/*#__PURE__*/_jsx(CtaButton,{href:ctaPrimaryLink,label:ctaLabel})]})]})]});}addPropertyControls(TopNav,{logo:{type:ControlType.String,defaultValue:\"JODY\"},logoLink:{type:ControlType.Link,defaultValue:\"/\"},logoImage:{type:ControlType.Image,description:\"Optionnel — remplace le texte du logo par une image\"},logoHeight:{type:ControlType.Number,defaultValue:28,min:16,max:80,step:2,unit:\"px\"},linkPourVousLabel:{type:ControlType.String,defaultValue:\"Solution\"},linkPourVous:{type:ControlType.Link,defaultValue:\"/pulse\"},linkEntreprisesLabel:{type:ControlType.String,defaultValue:\"Entreprises\"},linkEntreprises:{type:ControlType.Link,defaultValue:\"/entreprises\"},linkAthletesLabel:{type:ControlType.String,defaultValue:\"Athl\\xe8tes\"},linkAthletes:{type:ControlType.Link,defaultValue:\"/elite\"},linkAgendaLabel:{type:ControlType.String,defaultValue:\"Agenda\"},linkAgenda:{type:ControlType.Link,defaultValue:\"/agenda\"},linkAProposLabel:{type:ControlType.String,defaultValue:\"\\xc0 propos\"},linkAPropos:{type:ControlType.Link,defaultValue:\"/a-propos\"},linkContactLabel:{type:ControlType.String,defaultValue:\"Contact\"},linkContact:{type:ControlType.Link,defaultValue:\"/contact\"},ctaPrimary:{type:ControlType.String,defaultValue:\"Demander une d\\xe9mo\"},ctaPrimaryLink:{type:ControlType.Link,defaultValue:\"/contact?reason=Demander+une+d%C3%A9mo\"},languages:{type:ControlType.Array,control:{type:ControlType.String},defaultValue:[\"FR\",\"EN\"]},activeLanguage:{type:ControlType.Enum,options:[\"FR\",\"EN\"],optionTitles:[\"FR\",\"EN\"],defaultValue:\"FR\"},enPathPrefix:{type:ControlType.String,defaultValue:\"/en\",description:\"Pr\\xe9fixe d'URL pour la version anglaise (ex: /en)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TopNav\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1320\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"70\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TopNav.map"],"mappings":"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"}