:root{
  --accent:#1D4ED8;
  --accent-warm:#E8871E;
  --bg-projets:#14181F;
  --bg-page:#FFFFFF;
}

  body{margin:0;background:#FFFFFF;color:#14171C;position:relative;overflow-x:hidden;}
  .engage-band{background-color:var(--accent, #1D4ED8);padding:90px 0 88px;}
  .card-on-accent{border:none;box-shadow:0 10px 24px rgba(20,23,28,0.16);}
  :root{--gold:#B8911F;--solidaire:#F7A742;--decathlon:#3643BA;--seconde-main:#2F7D4A;}
  *{box-sizing:border-box;}
  body::before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.035;mix-blend-mode:overlay;pointer-events:none;z-index:1;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
  a{color:inherit;text-decoration:none;}
  .section-num{font:800 44px/1 'Big Shoulders Display',sans-serif;flex-shrink:0;color:transparent;}
  .section-title{font:700 42px/1.12 'Big Shoulders Display',sans-serif;margin:0;letter-spacing:-0.005em;color:#14171C;text-align:left;}
  .lead{font:400 18px/1.6 'IBM Plex Sans',sans-serif;color:#3A3F46;max-width:720px;margin:0;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font:600 15px/1 'IBM Plex Sans',sans-serif;border:1.5px solid transparent;cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease,opacity 0.15s ease;}
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:#14171C;color:#FFFFFF;}
  .btn-primary:hover{box-shadow:0 10px 24px rgba(20,23,28,0.28);}
  .btn-outline{border-color:#14171C;color:#14171C;}
  .btn-outline:hover{background:#14171C;color:#FFFFFF;}
  .btn-linkedin{background:#0A66C2;color:#FFFFFF;}
  .btn-linkedin:hover{background:#004182;}
  .btn-youtube{background:#FF0000;color:#FFFFFF;}
  .btn-youtube:hover{background:#CC0000;}
  .btn-instagram{background:linear-gradient(45deg,#F58529 0%,#DD2A7B 38%,#8134AF 70%,#515BD4 100%);color:#FFFFFF;}
  .btn-instagram:hover{opacity:0.88;}
  .badge{display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;border:1px solid #E4E0D8;background:#FAFAF9;font:500 13px/1 'IBM Plex Sans',sans-serif;color:#3A3F46;}
  .snap-widget{display:flex;flex-direction:column;align-items:center;gap:36px;}
  .snap-stack{position:relative;width:416px;height:416px;background:none;border:none;padding:0;cursor:pointer;}
  @media (max-width:1024px){.snap-stack{width:320px;height:320px;}}
  @media (max-width:760px){.snap-stack{width:286px;height:286px;}}
  .snap-stack img{position:absolute;inset:0;width:100%;height:100%;}
  .snap-stack-placeholder{background:#FAFAF9;border:1px dashed #C7CBD1;clip-path:inset(0 round 32%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:default;}
  .snap-placeholder-icon{font-size:28px;color:#B9BFC6;line-height:1;}
  .snap-placeholder-label{font:500 14px/1.3 'IBM Plex Sans',sans-serif;color:#6B7078;text-align:center;padding:0 16px;}
  .snap-caption-title{font:700 20px/1.2 'IBM Plex Sans',sans-serif;color:#14171C;text-align:center;}
  .badge-link{cursor:pointer;transition:border-color 0.15s ease,color 0.15s ease;}
  .badge-link:hover{}
  .card{position:relative;overflow:hidden;background:#FFFFFF;border:1px solid #E4E0D8;border-radius:20px;padding:36px;transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease;}
  .card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,23,28,0.10);border-color:#D9D4C9;}
  .engage-polaroid-outer{position:relative;padding:200px 180px;}
  .engage-polaroid-card{position:relative;z-index:5;}
  .engage-polaroid{position:absolute;left:50%;top:50%;background:none;border:none;padding:0;cursor:pointer;z-index:2;will-change:transform;transform:translate(-50%,-50%) scale(0.8);}
  .engage-polaroid:hover,.engage-polaroid:focus-visible,.engage-polaroid.is-pressed{z-index:4;transition:z-index 0s linear 0.15s;}
  .engage-polaroid-inner{position:relative;background:#FFFFFF;border-radius:3px;box-shadow:0 8px 20px rgba(20,23,28,0.22);transform:translate(0,0) scale(1) rotate(var(--rest-rotate, 0deg));transition:transform 0.35s ease-out,box-shadow 0.35s ease-out;}
  .engage-polaroid:hover .engage-polaroid-inner,
  .engage-polaroid:focus-visible .engage-polaroid-inner,
  .engage-polaroid.is-pressed .engage-polaroid-inner{
    transform:translate(var(--hover-tx, 0px),var(--hover-ty, 0px)) scale(1.05) rotate(var(--hover-rotate, 0deg));
    box-shadow:0 22px 36px rgba(20,23,28,0.36);
  }
  .engage-polaroid-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:1px;}
  @media (prefers-reduced-motion: reduce){
    .engage-polaroid-inner{transition:box-shadow 0.15s ease;}
    .engage-polaroid:hover .engage-polaroid-inner,
    .engage-polaroid:focus-visible .engage-polaroid-inner,
    .engage-polaroid.is-pressed .engage-polaroid-inner{
      transform:rotate(var(--rest-rotate, 0deg));
      box-shadow:0 16px 28px rgba(20,23,28,0.3);
    }
  }
  @media (max-width:760px){
    .engage-polaroid-outer{padding:140px 40px;}
    .engage-polaroid:nth-child(2),.engage-polaroid:nth-child(4),.engage-polaroid:nth-child(6),
    .engage-polaroid:nth-child(7),.engage-polaroid:nth-child(8),.engage-polaroid:nth-child(10),
    .engage-polaroid:nth-child(11),.engage-polaroid:nth-child(13),.engage-polaroid:nth-child(14),
    .engage-polaroid:nth-child(16),.engage-polaroid:nth-child(17),.engage-polaroid:nth-child(18){display:none;}
  }
  .polaroid-viewer-backdrop{position:fixed;inset:0;background:rgba(15,17,20,0.86);z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;}
  .polaroid-viewer-frame{position:relative;background:#FFFFFF;padding:14px 14px 34px;border-radius:4px;max-width:min(84vw,560px);max-height:86vh;display:flex;flex-direction:column;box-shadow:0 30px 70px rgba(0,0,0,0.4);}
  .polaroid-viewer-img{width:100%;max-height:70vh;object-fit:contain;display:block;background:#F3F1EC;}
  .polaroid-viewer-caption{margin-top:14px;font:500 14px/1.4 'IBM Plex Sans',sans-serif;color:#3A3F46;text-align:center;}
  .polaroid-viewer-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:999px;border:none;background:#14171C;color:#FFFFFF;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .polaroid-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:none;background:rgba(255,255,255,0.92);color:#14171C;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;}
  .polaroid-viewer-nav.is-prev{left:-56px;}
  .polaroid-viewer-nav.is-next{right:-56px;}
  @media (max-width:760px){
    .polaroid-viewer-nav.is-prev{left:8px;}
    .polaroid-viewer-nav.is-next{right:8px;}
    .polaroid-viewer-frame{max-width:94vw;}
  }
  .ghost-num{position:absolute;top:-18px;right:8px;font:800 168px/1 'Big Shoulders Display',sans-serif;z-index:0;pointer-events:none;}
  .card-body{position:relative;z-index:1;}
  .tag{display:inline-flex;padding:7px 16px;border-radius:999px;font:600 13px/1.3 'IBM Plex Sans',sans-serif;}
  .step-num{font:800 16px/1 'Big Shoulders Display',sans-serif;}
  .step-title{font:600 17px/1.3 'IBM Plex Sans',sans-serif;margin:10px 0 8px;color:#14171C;}
  .step-text{font:400 15px/1.55 'IBM Plex Sans',sans-serif;color:#5B6169;margin:0;}
  .job-role{font:600 20px/1.35 'IBM Plex Sans',sans-serif;margin:0;color:#14171C;}
  .job-meta{font:500 13px/1.5 'IBM Plex Sans',sans-serif;color:#5B6169;}
  .job-text{font:400 15px/1.6 'IBM Plex Sans',sans-serif;color:#3A3F46;margin:10px 0 0;}
  .exp-pin-outer{position:relative;}
  .exp-sticky-block{display:block;}
  .exp-title-sticky{margin:0;padding:96px 0 16px;}
  .exp-stage{position:relative;}
  .xp-card{background:#FAFAF9;border-radius:20px 20px 0 0;box-shadow:0 -6px 16px rgba(20,23,28,0.07);padding:32px;display:grid;grid-template-columns:40% 60%;gap:32px;opacity:1;margin-bottom:24px;}
  .xp-stack:nth-of-type(1){z-index:1;}
  .xp-stack:nth-of-type(2){z-index:2;}
  .xp-stack:nth-of-type(3){z-index:3;}
  .xp-stack:nth-of-type(4){z-index:4;margin-bottom:0;}
  .exp-title{font:800 26px/1.2 'Big Shoulders Display',sans-serif;color:#14171C;margin:0;}
  .exp-logo{height:40px;width:auto;display:block;margin-top:18px;}
  .exp-logo-link{display:inline-block;cursor:pointer;transition:opacity 0.15s ease;}
  .exp-logo-link:hover{opacity:0.8;}
  .exp-link{display:inline-block;margin-top:12px;font:700 13px/1.4 'IBM Plex Sans',sans-serif;color:var(--accent, #1D4ED8);text-decoration:none;}
  .exp-link:hover{text-decoration:underline;}
  .exp-dates{font:700 13px/1.3 'IBM Plex Sans',sans-serif;}
  .exp-text{font:400 15px/1.6 'IBM Plex Sans',sans-serif;color:#3A3F46;margin-top:10px;}
  .exp-text-gap{margin-top:14px;}
  @media (max-width:760px){
    .exp-br-optional{display:none;}
  }
  .exp-enhanced .exp-sticky-block{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:#FFFFFF;}
  .exp-enhanced .exp-title-sticky{flex-shrink:0;padding-top:120px;}
  .exp-enhanced .exp-stage{flex:1 1 auto;position:relative;}
  .exp-enhanced .xp-stack{position:absolute;left:0;right:0;margin-bottom:0;}
  .engage-polaroid-card{position:relative;margin-bottom:0;}
  .xp-card-right{position:relative;}
  .xp-card-right::before{content:'';position:absolute;left:-17px;top:0;bottom:0;width:2px;border-radius:999px;background:#14171C;}
  @media (max-width:760px){
    .xp-card{grid-template-columns:1fr;gap:16px;}
    .xp-card-right::before{left:50%;top:-9px;bottom:auto;width:48px;height:2px;transform:translateX(-50%);}
  }
  .exp-mini{display:none;position:absolute;left:0;top:0;width:56px;height:90px;pointer-events:none;will-change:transform;}
  .exp-mini svg{width:100%;height:100%;overflow:visible;display:block;}
  .exp-mini-bubble{position:absolute;left:50%;top:-24px;transform:translateX(-50%) scale(0);transform-origin:50% 100%;white-space:nowrap;font:700 11px/1 'IBM Plex Sans',sans-serif;color:#5B6169;background:#FFFFFF;border:1.5px solid #C7CBD1;border-radius:9px;padding:3px 6px;transition:transform 0.2s ease-out;}
  .exp-mini-bubble.on{transform:translateX(-50%) scale(1);}
  .exp-rope{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;display:none;}
  .exp-rope .r1{fill:none;stroke:#b88a4a;stroke-width:2.6;stroke-linecap:round;}
  .exp-rope .r2{fill:none;stroke:#d9b07a;stroke-width:1;stroke-linecap:round;stroke-dasharray:2 4;}
  #exp-rope-back{z-index:0;}
  #exp-rope-front{z-index:11;}
  .exp-mini{z-index:10;}
  .exp-card-ring{display:none;position:absolute;top:-9px;left:50%;width:18px;height:18px;margin-left:-9px;border:3px solid #8a8f98;border-radius:50%;background:transparent;transition:opacity 0.3s ease;pointer-events:none;}
  .exp-enhanced .exp-mini,.exp-enhanced .exp-rope,.exp-enhanced .exp-card-ring{display:block;}
  @media (max-width:760px){
    .exp-mini{width:42px;height:68px;}
  }
  @media (prefers-reduced-motion: reduce){
    .exp-rope,.exp-card-ring{display:none !important;}
  }
  .nav-menu-btn{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1.5px solid #14171C;background:#FFFFFF;color:#14171C;cursor:pointer;padding:0;transition:background 0.15s ease;z-index:1;}
  .nav-menu-btn:hover{background:#F3F1EC;}
  .back-to-top-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 0;}
  .back-to-top-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;border:1.5px solid #14171C;background:#FFFFFF;color:#14171C;cursor:pointer;padding:0;transition:background 0.25s ease,color 0.25s ease,border-color 0.25s ease;}
  .back-to-top-btn svg{transition:transform 0.25s ease;}
  .back-to-top-btn:hover{background:var(--accent, #1D4ED8);color:#FFFFFF;border-color:var(--accent, #1D4ED8);}
  .back-to-top-btn:hover svg{transform:translateY(-3px);}
  .back-to-top-btn:focus-visible{outline:2px solid var(--accent, #1D4ED8);outline-offset:3px;}
  .back-to-top-label{font:400 12px/1.3 'IBM Plex Sans',sans-serif;color:#9BA0A8;}
  @media (prefers-reduced-motion: reduce){
    .back-to-top-btn,.back-to-top-btn svg{transition:none;}
  }
  .nav-bar{transition:transform 0.5s ease,opacity 0.3s ease;transform-box:fill-box;transform-origin:center;}
  .nav-menu-btn.is-open .nav-bar-1{transform:translateY(6px) rotate(45deg);}
  .nav-menu-btn.is-open .nav-bar-2{opacity:0;}
  .nav-menu-btn.is-open .nav-bar-3{transform:translateY(-6px) rotate(-45deg);}
  #nav-menu-wrap{display:flex;align-items:center;justify-content:flex-end;min-width:0;}
  .nav-menu-links{display:flex;align-items:center;gap:28px;margin-right:0;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width 0.5s ease,margin-right 0.5s ease;}
  .nav-menu-links.is-open{max-width:800px;margin-right:28px;transition:max-width 0.9s cubic-bezier(0.22,1,0.36,1),margin-right 0.9s cubic-bezier(0.22,1,0.36,1);}
  .nav-menu-links:not(.is-open) a{pointer-events:none;}
  .nav-menu-link{display:inline-block;padding:4px 0;font:500 14px/1 'IBM Plex Sans',sans-serif;color:#14171C;text-decoration:none;border-bottom:1.5px solid transparent;opacity:0;transform:translateX(16px);transition:opacity 0.3s cubic-bezier(0.4,0,1,1),transform 0.3s cubic-bezier(0.4,0,1,1),border-color 0.15s ease;}
  .nav-menu-links.is-open .nav-menu-link{opacity:1;transform:translateX(0);transition:opacity 0.5s cubic-bezier(0.22,1,0.36,1),transform 0.5s cubic-bezier(0.22,1,0.36,1),border-color 0.15s ease;}
  .nav-menu-link:hover{border-bottom-color:var(--accent, #1D4ED8);}
  .nav-menu-link:nth-child(1){transition-delay:0s;}
  .nav-menu-link:nth-child(2){transition-delay:0.04s;}
  .nav-menu-link:nth-child(3){transition-delay:0.08s;}
  .nav-menu-link:nth-child(4){transition-delay:0.12s;}
  .nav-menu-link:nth-child(5){transition-delay:0.16s;}
  .nav-menu-link:nth-child(6){transition-delay:0.2s;}
  .nav-menu-link:nth-child(7){transition-delay:0.24s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(7){transition-delay:0s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(6){transition-delay:0.07s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(5){transition-delay:0.14s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(4){transition-delay:0.21s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(3){transition-delay:0.28s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(2){transition-delay:0.35s;}
  .nav-menu-links.is-open .nav-menu-link:nth-child(1){transition-delay:0.42s;}
  @media (max-width:900px){
    .nav-menu-links{gap:16px;}
    .nav-menu-link{font-size:13px;}
  }
  @media (max-width:640px){
    #nav-menu-wrap{flex:1;min-width:0;}
    .nav-mecrire{transition:opacity 0.2s ease;}
    .nav-row.is-open .nav-mecrire{opacity:0;pointer-events:none;}
    .nav-menu-links{gap:20px;}
    .nav-menu-links.is-open{max-width:none;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
    .nav-menu-links.is-open::-webkit-scrollbar{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .nav-bar,.nav-menu-links,.nav-menu-links.is-open,.nav-menu-link,.nav-menu-links.is-open .nav-menu-link,.nav-mecrire{transition:none;}
  }
  .hero-grid{display:grid;grid-template-columns:1fr auto auto;column-gap:56px;}
  .hero-name{grid-column:1;grid-row:1;}
  .hero-tagline{grid-column:1;grid-row:2;}
  .reveal-slider{position:relative;display:grid;padding-left:20px;}
  .reveal-slider__front,.reveal-slider__back{grid-area:1/1;margin:0;}
  .reveal-slider__front{clip-path:inset(0 0 0 var(--p));}
  .reveal-slider__back{clip-path:inset(0 calc(100% - var(--p)) 0 0);}
  .reveal-slider__bar{position:absolute;top:0;bottom:0;left:var(--p);width:6px;transform:translateX(-100%);background:var(--accent, #1D4ED8);border-radius:3px;z-index:2;cursor:grab;touch-action:pan-y;}
  .reveal-slider__bar:active{cursor:grabbing;}
  .reveal-slider__bar::after{content:'';position:absolute;top:50%;left:50%;width:22px;height:22px;border-radius:999px;background:var(--accent, #1D4ED8);transform:translate(-50%,-50%);}
  .reveal-slider__bar.reveal-hint{animation:reveal-hint-nudge 0.9s ease;}
  @keyframes reveal-hint-nudge{0%{transform:translateX(-100%);}30%{transform:translateX(calc(-100% + 14px));}100%{transform:translateX(-100%);}}
  @media (prefers-reduced-motion: reduce){.reveal-slider__bar.reveal-hint{animation:none;}}
  .hero-badges{grid-column:1;grid-row:3;}
  .hero-photo{grid-column:2;grid-row:1 / span 3;align-self:start;position:relative;width:300px;height:340px;z-index:2;}
  .hero-photo-card{position:absolute;top:0;left:0;width:300px;height:340px;cursor:pointer;}
  .hero-photo-card.is-flipped{width:300px;height:560px;}
  .hero-photo-card:focus-visible{outline:2px solid var(--accent, #1D4ED8);outline-offset:4px;border-radius:28px;}
  .hero-drawer{position:absolute;top:18px;left:18px;width:300px;height:340px;border-radius:28px;background:var(--accent, #1D4ED8);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;box-sizing:border-box;z-index:1;transition:height 0.6s cubic-bezier(0.4,0,1,1);}
  .hero-photo-card.is-flipped .hero-drawer{height:560px;transition:height 0.9s cubic-bezier(0.22,1,0.36,1);}
  .hero-drawer-handle{position:absolute;left:50%;bottom:14px;width:36px;height:4px;border-radius:999px;background:rgba(255,255,255,0.55);transform:translateX(-50%);transition:opacity 0.2s ease;}
  .hero-photo-card.is-flipped .hero-drawer-handle{opacity:0;}
  .hero-drawer-content{opacity:0;transform:translateY(8px);transition:opacity 0.2s ease,transform 0.2s ease;}
  .hero-photo-card.is-flipped .hero-drawer-content{opacity:1;transform:translateY(0);transition:opacity 0.4s ease,transform 0.4s ease;transition-delay:0.63s;}
  .hero-drawer-title{font:700 24px/1.25 'IBM Plex Sans',sans-serif;color:#FFFFFF;margin:0 0 12px;}
  .hero-drawer-text{font:400 14px/1.5 'IBM Plex Sans',sans-serif;color:#FFFFFF;margin:0 0 8px;}
  .hero-drawer-text:last-child{margin-bottom:0;}
  .hero-photo-frame{position:absolute;top:0;left:0;width:300px;height:340px;border-radius:28px;overflow:hidden;border:1px solid #E4E0D8;background:#FAFAF9;z-index:2;}
  .hero-flip-hint{display:none;}
  @media (min-width:761px){
    .hero-photo-card.is-flipped{width:660px;height:360px;}
    .hero-drawer{transition:width 0.6s cubic-bezier(0.4,0,1,1);flex-direction:row;justify-content:flex-end;align-items:center;padding:0;max-width:calc(100vw - 48px);}
    .hero-photo-card.is-flipped .hero-drawer{width:640px;height:340px;transition:width 0.9s cubic-bezier(0.22,1,0.36,1);}
    .hero-drawer-handle{left:auto;right:14px;top:50%;bottom:auto;width:4px;height:36px;transform:translateY(-50%);}
    .hero-drawer-content{width:358px;flex-shrink:0;padding:0 26px;box-sizing:border-box;transform:translateX(8px);}
    .hero-photo-card.is-flipped .hero-drawer-content{transform:translateX(0);}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-photo-card{transition:none;}
    .hero-drawer{transition:none;}
    .hero-photo-card.is-flipped .hero-drawer{transition:none;}
    .hero-drawer-content{transition:opacity 0.3s ease;transform:none;}
    .hero-photo-card.is-flipped .hero-drawer-content{transition:opacity 0.3s ease;transform:none;}
    .hero-buttons{transition:opacity 0.3s ease;}
    .hero-grid.is-drawer-open .hero-buttons{transform:none;transition:opacity 0.3s ease;}
  }
  .hero-buttons{grid-column:3;grid-row:1 / span 3;align-self:start;display:flex;flex-direction:column;gap:14px;width:180px;margin-bottom:28px;transition:opacity 0.3s ease 0.6s,transform 0.3s ease 0.6s,pointer-events 0s linear 0.6s;}
  .hero-buttons .btn{width:100%;justify-content:center;}
  @media (min-width:761px){
    .hero-grid.is-drawer-open .hero-buttons{opacity:0;transform:translateX(12px);pointer-events:none;transition:opacity 0.25s ease,transform 0.25s ease,pointer-events 0s linear 0s;}
  }
  @media (max-width:760px){
    .hero-grid{grid-template-columns:1fr;row-gap:0;}
    .hero-grid>*{grid-column:1;grid-row:auto;}
    .hero-name{order:1;}
    .hero-tagline{order:2;}
    .hero-photo{order:3;}
    .hero-buttons{order:4;flex-direction:row;flex-wrap:wrap;width:auto;}
    .hero-buttons .btn{width:auto;flex:1 1 140px;}
    .hero-badges{order:5;}
  }
  .kpi-outer{position:relative;}
  .kpi-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#14171C;}
  .kpi-sticky .wrap{height:100%;display:flex;flex-direction:column;padding-top:120px;padding-bottom:48px;}
  .kpi-grid-wrap{flex:1 1 auto;display:flex;align-items:center;min-height:0;}
  .kpi-grid{width:100%;display:grid;grid-template-columns:repeat(5, minmax(0,1fr));grid-auto-rows:1fr;gap:20px;}
  /* 37 : toutes les cartes ont la même taille ; contenu en 4 zones fixes (logo / chiffre / libellé / ligne secondaire) alignées d'une carte à l'autre */
  .kpi-tile{--kpi-logo-h:36px;height:100%;box-sizing:border-box;background:#FAFAF9;border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--kpi-logo-h) auto minmax(2.6em,auto) minmax(2.6em,auto);row-gap:8px;align-content:center;justify-items:center;text-align:center;padding:18px 12px;opacity:1;}
  .kpi-org{height:26px;width:auto;display:block;margin:0 auto;align-self:center;}
  .kpi-num-big{font:800 clamp(22px,3vw,44px)/1.05 'Big Shoulders Display',sans-serif;color:#1D4ED8;margin-top:0;white-space:nowrap;}
  .kpi-label-big{font:500 14px/1.3 'IBM Plex Sans',sans-serif;color:#14171C;margin-top:0;align-self:start;}
  .kpi-secondary{font:400 13px/1.3 'IBM Plex Sans',sans-serif;color:#6B7078;margin-top:0;align-self:start;opacity:1;transition:opacity 0.4s ease;}
  @media (max-width:760px){.kpi-grid{grid-template-columns:repeat(2, minmax(0,1fr));}.kpi-tile{--kpi-logo-h:32px;}}
  .skills-cats{display:flex;flex-direction:column;gap:140px;margin-top:56px;}
  .skills-cat{display:grid;grid-template-columns:45% 55%;column-gap:48px;align-items:start;grid-template-areas:"header list";}
  .skills-cat-header{grid-area:header;text-align:left;opacity:0;transform:translateX(-60px);transition:opacity 0.6s ease,transform 0.6s ease;}
  .skills-cat-header.is-revealed{opacity:1;transform:translateX(0);}
  .skills-cat-list-wrap{grid-area:list;display:flex;flex-direction:column;}
  .skills-cat.skills-cat-title-right{grid-template-columns:55% 45%;grid-template-areas:"list header";}
  .skills-cat.skills-cat-title-right .skills-cat-header{text-align:right;transform:translateX(60px);}
  .skills-cat.skills-cat-title-right .skills-cat-header.is-revealed{transform:translateX(0);}
  .skills-cat-title{font:800 clamp(30px,4.8vw,72px)/0.95 'Big Shoulders Display',sans-serif;color:var(--accent, #1D4ED8);margin:0;}
  .skills-cat-item{font:400 19px/1.5 'IBM Plex Sans',sans-serif;color:#14171C;padding:16px 0;border-bottom:1px solid #E4E0D8;opacity:0;transform:translateX(-60px);will-change:transform,opacity;}
  .skills-cat-item:last-child{border-bottom:none;}
  .skills-cat.skills-cat-title-right .skills-cat-item{transform:translateX(60px);}
  .skills-cat-item-detail{color:#6B7078;font-size:0.85em;}
  .skills-see-more.skills-cat-item{color:var(--accent, #1D4ED8);text-decoration:underline;font-weight:700;border-bottom:none;display:block;}
  .skills-see-more.skills-cat-item:hover{opacity:0.75;}
  @media (prefers-reduced-motion: reduce){
    .skills-cat-header,.skills-cat-item{transition:none;opacity:1;transform:none;}
  }
  @media (max-width:760px){
    .skills-cat,.skills-cat.skills-cat-title-right{grid-template-columns:1fr;grid-template-areas:"header" "list";row-gap:20px;}
    .skills-cat-header,.skills-cat.skills-cat-title-right .skills-cat-header{text-align:left;transform:translateX(-60px);}
    .skills-cat-header.is-revealed,.skills-cat.skills-cat-title-right .skills-cat-header.is-revealed{transform:translateX(0);}
    .skills-cat-item,.skills-cat.skills-cat-title-right .skills-cat-item{transform:translateX(-60px);}
    .skills-cats{gap:96px;}
  }
  .edu-pin-outer{position:relative;}
  .edu-sticky-block{display:block;}
  .edu-title-sticky{margin:0;position:relative;z-index:20;}
  .edu-enhanced .edu-sticky-block{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:#FFFFFF;}
  .edu-enhanced .edu-title-sticky{flex-shrink:0;}
  .timeline{position:relative;margin-top:64px;}
  .timeline-line-track{position:absolute;left:0;right:0;top:50%;height:3px;background:#E4E0D8;transform:translateY(-50%);}
  .timeline-line{width:100%;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(1);}
  .timeline-items{position:relative;display:grid;grid-template-columns:repeat(5, minmax(0,1fr));height:380px;}
  .timeline-item{position:relative;}
  .timeline-dot{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:999px;background:var(--gold);transform:translate(-50%,-50%) scale(1);z-index:2;}
  .timeline-connector{position:absolute;left:50%;width:2px;height:28px;background:var(--gold);transform:translateX(-50%) scaleY(1);}
  .timeline-item.above .timeline-connector{bottom:50%;transform-origin:bottom;}
  .timeline-item.below .timeline-connector{top:50%;transform-origin:top;}
  .timeline-card{position:absolute;left:50%;width:calc(100% - 16px);max-width:200px;background:#FAFAF9;border-radius:16px;padding:16px;opacity:1;transform:translateX(-50%);}
  .timeline-item.above .timeline-card{bottom:calc(50% + 28px);}
  .timeline-item.below .timeline-card{top:calc(50% + 28px);}
  .timeline-logo{height:32px;width:auto;display:block;margin-bottom:10px;}
  .timeline-degree{font:600 15px/1.35 'IBM Plex Sans',sans-serif;color:#14171C;margin:0;}
  .timeline-school{font:500 13px/1.4 'IBM Plex Sans',sans-serif;color:#6B7078;margin-top:4px;}
  .timeline-date-tag{position:absolute;left:50%;transform:translateX(-50%);font:italic 700 15px/1 'IBM Plex Sans',sans-serif;white-space:nowrap;text-align:center;z-index:2;}
  .timeline-item.above .timeline-date-tag{top:calc(50% + 12px);}
  .timeline-item.below .timeline-date-tag{bottom:calc(50% + 12px);}
  .edu-road{height:560px;}
  .edu-road .timeline-line-track{display:none;}
  .edu-road .timeline-items{display:block;position:static;height:auto;}
  .edu-road .timeline-item{position:absolute;left:0;top:0;width:0;height:0;}
  .edu-road .timeline-item.below .timeline-date-tag{background:#FFFFFF;padding:2px 6px;border-radius:6px;}
  .edu-scene{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
  .edu-road-ghost{stroke:var(--gold);stroke-opacity:.22;}
  .edu-road-path{stroke:var(--gold);}
  .edu-road .edu-scene{display:block;}
  .edu-bike{display:none;position:absolute;left:0;top:0;width:100px;height:84px;z-index:5;transform-origin:50% 94%;pointer-events:none;will-change:transform;}
  .edu-bike svg{width:100%;height:100%;overflow:visible;display:block;}
  .edu-bike.off .eb-rider{display:none;}
  .edu-champ{display:none;position:absolute;left:0;top:0;width:56px;height:90px;z-index:6;pointer-events:none;will-change:transform;}
  .edu-champ svg{width:100%;height:100%;overflow:visible;display:block;}
  .edu-road .edu-bike,.edu-road .edu-champ{display:block;}
  @media (max-width:760px){
    .timeline-line-track{left:56px;right:auto;top:0;bottom:0;width:3px;height:auto;transform:none;}
    .timeline-line{width:100%;height:100%;transform-origin:top;transform:scaleY(1);}
    .timeline-items{display:flex;flex-direction:column;height:auto;}
    .timeline-item{padding:28px 0 28px 80px;}
    .timeline-dot{left:56px;}
    .timeline-item.above .timeline-connector,.timeline-item.below .timeline-connector{left:56px;top:50%;bottom:auto;width:24px;height:2px;transform:translateY(-50%) scaleX(1);transform-origin:left;}
    .timeline-item.above .timeline-card,.timeline-item.below .timeline-card{position:static;left:auto;bottom:auto;top:auto;width:100%;max-width:none;transform:none;}
    .timeline-item.above .timeline-date-tag,.timeline-item.below .timeline-date-tag{left:0;top:50%;bottom:auto;transform:translateY(-50%);width:44px;text-align:right;white-space:normal;font-size:12px;line-height:1.25;}
  }
  .projects-outer{position:relative;padding-top:52px;padding-bottom:70px;background:var(--bg-projets, #14181F);}
  .projects-track{display:flex;flex-direction:column;gap:64px;max-width:1180px;margin:0 auto;padding:96px 40px 96px;background:var(--bg-projets, #14181F);}
  .project-card-h{width:100%;}
  .project-slot{display:flex;flex-direction:column;align-items:flex-start;}
  .project-visual{position:relative;width:100%;isolation:isolate;}
  .project-img,.project-img-box{position:relative;z-index:1;width:100%;aspect-ratio:4/3;border-radius:28px;border:1px solid #E4E0D8;}
  .project-img{object-fit:cover;display:block;}
  .project-img-box{background:#FAFAF9;display:flex;align-items:center;justify-content:center;}
  .project-visual-title,.section-title-huge{margin:0;letter-spacing:-0.01em;}
  .project-visual-title{font:800 clamp(28px,4.2vw,60px)/1.02 'Big Shoulders Display',sans-serif;}
  .section-title-huge{font:800 clamp(40px,6.4vw,96px)/0.95 'Big Shoulders Display',sans-serif;text-align:left;}
  .title-solidaire{color:var(--solidaire);}
  .title-decathlon{color:#6B77E0;}
  .title-seconde-main{color:#5FB87A;}
  .title-shadow-dark{text-shadow:0 2px 12px rgba(0, 0, 0, 0.55);}
  .title-on-bottom-edge{position:absolute;left:0;bottom:0;transform:translateY(50%);z-index:2;}
  .title-on-top-edge{position:absolute;left:0;top:0;transform:translateY(-50%);z-index:2;}
  .title-visual-fade{opacity:0;transition:opacity 0.7s ease;}
  .title-visual-fade.title-visual-fade-in{opacity:1;}
  @media (prefers-reduced-motion:reduce){.title-visual-fade{opacity:1;}}
  @media (max-width:1023px){.project-slot:nth-of-type(even){align-items:flex-end;text-align:right;}
    .project-slot:nth-of-type(even) .title-on-bottom-edge,
    .project-slot:nth-of-type(even) .title-on-top-edge{left:auto;right:0;}}
  .projects-enhanced .projects-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-projets, #14181F);}
  .projects-enhanced .projects-track{flex-direction:row;flex:1 1 auto;align-items:stretch;max-width:none;margin:0;padding:120px 40px 0;gap:16px;will-change:transform;}
  .projects-enhanced .project-card-h{flex:0 0 40vw;width:40vw;}
  .projects-enhanced .project-slot{height:100%;justify-content:flex-start;}
  .projects-enhanced .project-slot.slot-bottom{justify-content:flex-end;}
  .wide-ticker{display:flex;align-items:center;overflow:hidden;flex:1 1 auto;min-height:140px;}
  @keyframes wide-ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .wide-ticker-track{display:flex;align-items:center;width:max-content;animation:wide-ticker 24s linear infinite;}
  @media (prefers-reduced-motion: reduce){.wide-ticker-track{animation:none;}}
  .mini-maxence{position:absolute;left:0;top:0;width:56px;height:90px;pointer-events:none;z-index:6;will-change:transform;}
  .mini-maxence svg{width:100%;height:100%;overflow:visible;display:block;}
  .mini-maxence-bubble{position:absolute;left:50%;top:-26px;transform:translateX(-50%) scale(0);transform-origin:50% 100%;font:800 13px/1 'IBM Plex Sans',sans-serif;color:var(--accent, #1D4ED8);background:#FFFFFF;border:2px solid var(--accent, #1D4ED8);border-radius:10px;padding:3px 7px;transition:transform 0.15s ease-out;}
  .mini-maxence-bubble.on{transform:translateX(-50%) scale(1);}
  @media (max-width:760px){
    .mini-maxence{width:40px;height:64px;}
  }
  @media (prefers-reduced-motion: reduce){
    .mini-maxence-bubble{transition:none;}
  }
  html.lenis,html.lenis body{height:auto;}
  .lenis.lenis-smooth{scroll-behavior:auto;}
  .lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
  .lenis.lenis-stopped{overflow:hidden;}
  .reveal{transition:opacity 0.8s cubic-bezier(.16,.8,.24,1),transform 0.8s cubic-bezier(.16,.8,.24,1);}
  .reveal.reveal-pending{opacity:0;transform:translateY(32px);}
  .hero-in{opacity:0;transform:translateY(20px);transition:opacity 0.8s cubic-bezier(.16,.8,.24,1),transform 0.8s cubic-bezier(.16,.8,.24,1);}
  .hero-loaded .hero-in{opacity:1;transform:translateY(0);}
  .hero-in-1{transition-delay:0.05s;}
  .hero-in-2{transition-delay:0.16s;}
  .hero-in-3{transition-delay:0.27s;}
  .hero-in-4{transition-delay:0.38s;}
  @media (prefers-reduced-motion: reduce){
    .reveal.reveal-pending{opacity:1;transform:none;}
    .hero-in{opacity:1;transform:none;}
  }
  .cursor-dot{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:999px;pointer-events:none;z-index:200;transform:translate(-50%,-50%) scale(1);transition:transform 0.25s ease,background 0.25s ease,opacity 0.25s ease;opacity:0;}
  .cursor-dot.is-active{opacity:1;}
  .cursor-dot.is-hover{transform:translate(-50%,-50%) scale(3.8);}
  @media (pointer: coarse){.cursor-dot{display:none;}}
  .reco-list{display:flex;flex-direction:column;gap:40px;margin-top:48px;}
  .reco-item{display:flex;flex-direction:column;max-width:60%;opacity:0;transition:opacity 0.2s ease;}
  .reco-item.is-typing,.reco-item.is-revealed{opacity:1;}
  .reco-item.reco-align-left{align-self:flex-start;align-items:flex-start;}
  .reco-item.reco-align-right{align-self:flex-end;align-items:flex-end;}
  .reco-typing-indicator{display:none;align-items:center;gap:5px;background:#FAFAF9;border:1px solid #E4E0D8;border-radius:20px;padding:14px 18px;}
  .reco-item.is-typing .reco-typing-indicator{display:inline-flex;}
  .reco-typing-indicator span{width:7px;height:7px;border-radius:999px;background:#9AA0A8;animation:reco-dot 1.1s ease-in-out infinite;}
  .reco-typing-indicator span:nth-child(2){animation-delay:0.15s;}
  .reco-typing-indicator span:nth-child(3){animation-delay:0.3s;}
  @keyframes reco-dot{0%,60%,100%{transform:translateY(0);opacity:0.5;}30%{transform:translateY(-4px);opacity:1;}}
  .reco-bubble{display:none;position:relative;background:#FAFAF9;border-radius:20px;padding:20px 24px;}
  .reco-item.is-revealed .reco-bubble{display:block;animation:reco-pop 0.4s cubic-bezier(.34,1.56,.64,1);}
  .reco-align-left .reco-bubble{border-bottom-left-radius:4px;}
  .reco-align-right .reco-bubble{border-bottom-right-radius:4px;}
  .reco-align-left .reco-bubble::after{content:'';position:absolute;left:0;bottom:0;width:14px;height:14px;background:#FAFAF9;clip-path:polygon(0 0,100% 100%,0 100%);}
  .reco-align-right .reco-bubble::after{content:'';position:absolute;right:0;bottom:0;width:14px;height:14px;background:#FAFAF9;clip-path:polygon(100% 0,100% 100%,0 100%);}
  @keyframes reco-pop{0%{transform:scale(0.9);opacity:0;}100%{transform:scale(1);opacity:1;}}
  .reco-text{margin:0;font:400 17px/1.55 'IBM Plex Sans',sans-serif;color:#14171C;}
  .reco-meta{display:flex;align-items:center;gap:10px;margin-top:12px;}
  .reco-align-right .reco-meta{flex-direction:row-reverse;}
  .reco-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;flex-shrink:0;}
  .reco-avatar-initials{width:34px;height:34px;border-radius:999px;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font:700 13px/1 'IBM Plex Sans',sans-serif;flex-shrink:0;}
  .reco-name{font:600 13px/1.3 'IBM Plex Sans',sans-serif;color:#14171C;}
  .reco-role{font:400 12px/1.3 'IBM Plex Sans',sans-serif;color:#6B7078;}
  .reco-logo{height:18px;width:auto;display:block;margin-left:4px;}
  .reco-align-right .reco-logo{margin-left:0;margin-right:4px;}
  .reco-item.reco-preview-empty .reco-bubble{display:block;border:1px dashed #C7CBD1;background:none;box-shadow:none;animation:none;}
  .reco-item.reco-preview-empty{opacity:1;}
  @media (prefers-reduced-motion: reduce){
    .reco-item{transition:none;}
    .reco-item.is-revealed .reco-bubble{animation:none;}
  }
  @media (max-width:760px){
    .reco-item{max-width:85%;}
  }
  .skills-see-more{display:inline-block;font:700 16px/1.5 'IBM Plex Sans',sans-serif;text-decoration:underline;}
  .creations-wall-section{position:relative;width:100%;margin-top:64px;border:none;box-shadow:none;outline:none;overflow:clip;}
  .creations-title-sticky{position:absolute;top:0;left:0;right:0;z-index:5;border:none;box-shadow:none;outline:none;margin:0;will-change:transform;}
  .creations-subtitle{position:relative;font:800 clamp(40px,6.4vw,96px)/0.95 'Big Shoulders Display',sans-serif;text-align:left;color:#FFFFFF;margin:0;text-shadow:0 2px 16px rgba(0,0,0,0.6),0 0 2px rgba(0,0,0,0.4);}
  .creations-wall-inner{position:relative;height:130vh;overflow:clip;display:flex;gap:16px;padding:80px 16px;background:var(--bg-projets, #14181F);border:none;box-shadow:none;outline:none;}
  .creations-col{position:relative;flex:1 1 0;display:flex;flex-direction:column;gap:16px;will-change:transform;}
  .creations-item{position:relative;display:block;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(20,23,28,0.12);border:none;padding:0;cursor:pointer;background:#E4E0D8;opacity:0;transition:opacity 0.5s ease,transform 0.2s ease;}
  .creations-item.is-visible{opacity:1;}
  .creations-item:hover,.creations-item:focus-visible{transform:scale(1.03);}
  .creations-video,.creations-thumb{width:100%;height:100%;object-fit:cover;display:block;}
  .creations-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:999px;background:rgba(20,23,28,0.55);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:16px;}
  .creations-item-placeholder{background:#D9D4C9;display:flex;align-items:center;justify-content:center;cursor:default;opacity:1;}
  .creations-item-placeholder:hover{transform:none;}
  .creations-placeholder-label{font:500 12px/1.3 'IBM Plex Sans',sans-serif;color:#6B7078;text-align:center;padding:8px;}
  .creations-fade{position:absolute;left:0;right:0;height:140px;pointer-events:none;z-index:2;}
  .creations-fade-top{top:0;background:linear-gradient(var(--bg-projets, #14181F),rgba(20,24,31,0));}
  .creations-fade-bottom{bottom:0;background:linear-gradient(rgba(20,24,31,0),var(--bg-projets, #14181F));}
  .video-viewer-frame{position:relative;background:#000000;border-radius:4px;max-width:min(90vw,900px);max-height:88vh;display:flex;box-shadow:0 30px 70px rgba(0,0,0,0.4);}
  .video-viewer-player{max-width:90vw;max-height:88vh;display:block;background:#000000;}
  .video-viewer-iframe{width:min(90vw,900px);height:min(50.6vw,506px);border:none;display:block;}
  @media (prefers-reduced-motion: reduce){
    .creations-item{transition:opacity 0.2s ease;}
    .creations-item:hover,.creations-item:focus-visible{transform:none;}
  }
  @media (max-width:1024px){
    .creations-col{flex:1 1 33.33%;}
    .creations-col:nth-child(4){display:none;}
  }
  @media (max-width:760px){
    .creations-wall-inner{height:110vh;padding:64px 10px;gap:10px;}
    .creations-col{flex:1 1 50%;gap:10px;}
    .creations-col:nth-child(3){display:none;}
  }
  #contact{position:relative;background:#14171C;}
  .contact-sticky{display:block;padding:96px 0 48px;}
  .contact-enhanced .contact-sticky{position:sticky;top:0;height:100vh;overflow:hidden;padding:0;}
  .contact-scene{position:relative;}
  .contact-enhanced .contact-scene{height:100%;}
  .contact-enhanced .contact-content{position:absolute;left:0;right:0;top:16%;}
  .contact-enhanced .contact-legal-row{position:absolute;left:0;right:0;bottom:24px;}
  .contact-glow{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;display:none;background:radial-gradient(60% 70% at 50% 0%,rgba(255,226,150,0.22),rgba(255,226,150,0) 70%);}
  .contact-enhanced .contact-glow{display:block;}
  .contact-floor{position:absolute;left:-20px;right:-20px;height:2px;background:rgba(255,255,255,0.08);z-index:2;display:none;}
  .contact-enhanced .contact-floor{display:block;}
  .contact-dark{position:absolute;inset:0;pointer-events:none;z-index:3;display:none;background:rgba(6,8,12,0.96);-webkit-mask-image:radial-gradient(circle var(--r, 80px) at var(--bx, 50%) var(--by, 50%),transparent 0,transparent 35%,#000 100%);mask-image:radial-gradient(circle var(--r, 80px) at var(--bx, 50%) var(--by, 50%),transparent 0,transparent 35%,#000 100%);}
  .contact-enhanced .contact-dark{display:block;}
  .contact-bulb{position:absolute;left:50%;top:0;width:60px;height:120px;margin-left:-30px;z-index:4;pointer-events:none;display:none;}
  .contact-enhanced .contact-bulb{display:block;}
  .contact-bulb-glass{fill:#2c3139;transition:fill 0.15s ease;}
  .contact-bulb-glass.is-lit{fill:#fff4c2;}
  .contact-button{position:absolute;width:46px;height:40px;z-index:5;pointer-events:none;display:none;}
  .contact-enhanced .contact-button{display:block;}
  .contact-button svg,.contact-mini svg{width:100%;height:100%;overflow:visible;display:block;}
  .contact-cap-top{fill:var(--accent, #1D4ED8);transition:fill 0.15s ease;}
  .contact-cap-top.is-lit{fill:#ffe27a;}
  .contact-cap-mid{fill:var(--accent, #1D4ED8);}
  .contact-mini{position:absolute;left:0;top:0;width:56px;height:90px;z-index:6;pointer-events:none;will-change:transform;display:none;}
  .contact-enhanced .contact-mini{display:block;}
  .contact-hint{position:absolute;left:50%;transform:translateX(-50%);font:400 13px/1.4 'IBM Plex Sans',sans-serif;color:#9BA0A8;z-index:5;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.3s ease;display:none;}
  .contact-enhanced .contact-hint{display:block;}
  @media (max-width:640px){
    .contact-mini{width:44px;height:71px;}
  }
  @media (max-width:480px){
    .contact-hint{white-space:normal;padding:0 32px;}
  }
  .contact-email-wrap{position:relative;}
  .contact-email-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:220px;background:#FFFFFF;border-radius:14px;box-shadow:0 16px 32px rgba(20,23,28,0.18);padding:8px;display:flex;flex-direction:column;gap:2px;z-index:20;}
  .contact-email-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font:500 14px/1.3 'IBM Plex Sans',sans-serif;color:#14171C;text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;width:100%;box-sizing:border-box;transition:background 0.15s ease,color 0.15s ease;}
  .contact-email-menu-item:hover,.contact-email-menu-item:focus-visible{background:#F3F1EC;color:var(--accent, #1D4ED8);}

  /* 33bis — corrections mobile uniquement (<768px), sans effet sur ordinateur */
  @media (max-width:767px){
    #hero-viewport{height:auto !important;min-height:100svh;}

    .kpi-sticky{position:static;height:auto;overflow:visible;}
    .kpi-sticky .wrap{height:auto;}
    .kpi-org{max-width:80%;}

    .engage-band .wrap{padding-left:16px;padding-right:16px;}
    .engage-polaroid-outer{padding:110px 8px;}
  }

  /* 34/35 — mobile : la photo se retourne en 3D ; les deux faces partagent la même cellule de grille */
  @media (max-width:767px){
    .hero-photo{height:auto;margin-bottom:32px !important;}
    .hero-flip-stage{position:relative;width:300px;perspective:1200px;-webkit-perspective:1200px;}
    .hero-flip-stage::after{content:'';position:absolute;top:18px;left:18px;right:-18px;bottom:-18px;border-radius:28px;background:var(--accent, #1D4ED8);z-index:0;}
    .hero-photo-card{position:relative;z-index:1;display:grid;grid-template-columns:100%;grid-template-rows:minmax(340px,auto);width:300px;height:auto;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);}
    .hero-photo-card.is-flipped{width:300px;height:auto;transform:rotateY(180deg);}
    .hero-photo-frame{position:relative;top:auto;left:auto;grid-area:1 / 1;width:100%;height:auto;box-sizing:border-box;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
    .hero-photo-frame img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
    .hero-drawer{position:relative;top:auto;left:auto;grid-area:1 / 1;width:100%;height:auto;justify-content:center;padding:20px;box-sizing:border-box;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none;}
    .hero-photo-card.is-flipped .hero-drawer{height:auto;transition:none;}
    .hero-drawer-handle{display:none;}
    .hero-drawer-content{opacity:1;transform:none;transition:none;}
    .hero-drawer-title{font-size:18px;line-height:1.3;margin-bottom:10px;}
    .hero-drawer-text{font-size:14px;line-height:1.4;margin-bottom:8px;}
    .hero-grid.is-drawer-open .hero-buttons{opacity:1;transform:none;pointer-events:auto;}
    .hero-flip-hint{display:block;margin-top:30px;font:500 12px/1.2 'IBM Plex Sans',sans-serif;color:#8A8578;text-align:center;}
    .hero-flip-hint.is-hidden{display:none;}
  }
  @media (prefers-reduced-motion: reduce) and (max-width:767px){
    .hero-photo-card{transition:none;}
  }

  /* 34.3 — mobile : « Mes projets » en défilement horizontal, une carte à la fois */
  @media (max-width:767px){
    .projects-enhanced .projects-sticky{height:100svh;}
    .projects-enhanced .project-card-h{flex:0 0 80vw;width:80vw;}
    .projects-enhanced .projects-track{padding:96px 24px 0;}
  }

  /* 36.1 — mobile : « paquet de cartes » — section bloquée, personnage fixe dans le bloc, cartes hissées depuis le bas */
  @media (max-width:767px){
    #exp-pin-outer{padding-left:16px !important;padding-right:16px !important;}
    .exp-mobile-enhanced .exp-sticky-block{position:sticky;top:var(--exp-hdr,85px);height:calc(100svh - var(--exp-hdr,85px));overflow:hidden;display:flex;flex-direction:column;background:#FFFFFF;}
    .exp-mobile-enhanced .exp-title-sticky{flex-shrink:0;padding:14px 0 6px 24px;font-size:30px;line-height:1;}
    .exp-mobile-enhanced .exp-stage{flex:1 1 auto;min-height:0;position:relative;}
    .exp-mobile-enhanced .xp-stack{position:absolute;left:0;right:0;margin-bottom:0;padding:16px 44px 16px 18px;gap:8px;border-radius:20px;border:1px solid #E4E0D8;box-sizing:border-box;align-content:start;}
    .exp-mobile-enhanced .exp-title{font-size:22px;}
    .exp-mobile-enhanced .exp-logo{height:30px;margin-top:8px;}
    .exp-mobile-enhanced .exp-text{font-size:14px;line-height:1.45;margin-top:6px;}
    .exp-mobile-enhanced .exp-text-gap{margin-top:8px;}
    .exp-mobile-enhanced .exp-mini{display:block;position:absolute;top:0;right:12px;left:auto;z-index:10;}
    .exp-mobile-enhanced .exp-card-ring{display:block;top:-7px;left:auto;right:16px;margin-left:0;width:14px;height:14px;}
    .exp-mobile-enhanced #exp-rope-front{display:block;z-index:11;}
    .exp-mobile-enhanced #exp-rope-back{display:none;}
  }

  /* 34.5 — mobile : la côte du cycliste remplace la frise verticale, caméra qui suit le vélo */
  @media (max-width:767px){
    .edu-road{height:auto;flex:1 1 auto;min-height:0;align-self:flex-start;}
    .edu-enhanced .edu-sticky-block{height:100svh;}
    .edu-road .timeline-item{padding:0;}
    .edu-road .timeline-dot{left:50%;}
    .edu-road .timeline-item.above .timeline-connector{left:50%;bottom:50%;top:auto;width:2px;height:28px;transform-origin:bottom;}
    .edu-road .timeline-item.below .timeline-connector{left:50%;top:50%;bottom:auto;width:2px;height:28px;transform-origin:top;}
    .edu-road .timeline-item.above .timeline-card,
    .edu-road .timeline-item.below .timeline-card{position:absolute;max-width:none;}
    .edu-road .timeline-item.above .timeline-date-tag,
    .edu-road .timeline-item.below .timeline-date-tag{width:auto;text-align:center;white-space:nowrap;font-size:15px;line-height:1;}
  }

  /* 35.3 — mobile : la scène de formation occupe toute la largeur de l'écran (plus de retrait de 40px qui coupe les cartes) */
  @media (max-width:767px){
    #education{padding-left:0 !important;padding-right:0 !important;}
    .edu-title-sticky{padding-left:40px;padding-right:40px;}
    .timeline:not(.edu-road){padding-left:40px;padding-right:40px;}
  }

  /* 37bis — mobile : cartes de chiffres clés toutes de même hauteur (sans height:100 %, que Safari résout en auto dans une grille) + air sous le titre */
  @media (max-width:767px){
    .kpi-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;}
    .kpi-tile{height:auto;align-self:stretch;}
    .kpi-sticky .section-title-huge{margin-bottom:32px;}
  }

  /* 35.4 — mobile : les piles de photos ne doivent jamais faire déborder ni sauter la page */
  @media (max-width:767px){
    .snap-widget{padding-left:30px;padding-right:30px;margin-left:-30px;margin-right:-30px;overflow-x:clip;}
    .snap-stack{aspect-ratio:1 / 1;touch-action:pan-y;-webkit-tap-highlight-color:transparent;}
  }

  /* 39 — sélecteur de langue FR | EN dans le header */
  .lang-switch{display:flex;align-items:center;gap:2px;margin-right:12px;flex-shrink:0;font:600 13px/1 'IBM Plex Sans',sans-serif;letter-spacing:0.04em;}
  .lang-btn{background:none;border:none;padding:8px 5px;margin:0;font:inherit;letter-spacing:inherit;color:#8A8F98;cursor:pointer;transition:color 0.15s ease;}
  .lang-btn:hover{color:#14171C;}
  .lang-btn.is-active{color:var(--accent, #1D4ED8);font-weight:800;cursor:default;}
  .lang-btn:focus-visible{outline:2px solid var(--accent, #1D4ED8);outline-offset:2px;border-radius:4px;}
  .lang-sep{color:#C7CBD1;font-weight:400;}
  @media (max-width:640px){
    .lang-switch{margin-right:6px;}
    .nav-mecrire{max-width:220px;white-space:nowrap;overflow:hidden;transition:opacity 0.2s ease,max-width 0.5s ease,padding 0.5s ease;}
    .nav-row.is-open .nav-mecrire{max-width:0;padding-left:0 !important;padding-right:0 !important;}
  }

  /* 40 — Instagram : section « La Gazette du Barat Sport » */
  .gazette-sub{margin:20px 0 32px;font:400 18px/1.5 'IBM Plex Sans',sans-serif;color:#3A3F46;}
  .gazette-handle{font-weight:700;color:var(--accent, #1D4ED8);text-decoration:none;}
  .gazette-handle:hover{text-decoration:underline;}
  .gazette-feed behold-widget{display:block;width:100%;}
  .gazette-fallback{display:flex;flex-direction:column;align-items:center;gap:18px;padding:48px 24px;background:#FAFAF9;border:1px solid #E4E0D8;border-radius:24px;text-align:center;}
  .gazette-fallback[hidden]{display:none;}
  .gazette-fallback-handle{font:800 clamp(28px,5vw,44px)/1 'Big Shoulders Display',sans-serif;color:#14171C;}
  .gazette-cta{display:flex;justify-content:center;margin-top:32px;}
  .gazette-cta[hidden]{display:none;}
  @media (max-width:900px){
    #nav-menu-wrap{flex:1;min-width:0;}
    .nav-mecrire{max-width:220px;white-space:nowrap;overflow:hidden;transition:opacity 0.2s ease,max-width 0.5s ease,padding 0.5s ease;}
    .nav-row.is-open .nav-mecrire{opacity:0;pointer-events:none;max-width:0;padding-left:0 !important;padding-right:0 !important;}
    .nav-menu-links.is-open{max-width:none;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
    .nav-menu-links.is-open::-webkit-scrollbar{display:none;}
  }
  @media (max-width:640px){
    .gazette-sub{font-size:16px;}
    .gazette-cta .btn{width:100%;justify-content:center;text-align:center;}
  }

  /* 40 — boutons d'accueil : 4 boutons, 2 par ligne sur mobile */
  @media (max-width:767px){
    .hero-buttons .btn{padding-left:16px;padding-right:16px;}
  }
