:root{font-family:Poppins,sans-serif;line-height:1.2;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1d1d1d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;color:#fff;min-width:320px;min-height:100vh}.button{background:transparent;color:#3b82f6;border:clamp(1px,.3vw,2px) solid #3b82f6;padding:clamp(.6rem,1vw,.9rem) clamp(1.5rem,3vw,2.2rem);font-size:clamp(.9rem,1.4vw,1.1rem);border-radius:clamp(4px,1vw,8px);cursor:pointer;font-weight:500;letter-spacing:clamp(.2px,.3vw,.8px);transition:background .3s ease,color .3s ease,transform .2s ease,box-shadow .3s ease}.button:hover{background:#3b82f6;color:#000;transform:translateY(clamp(-1px,-.3vw,-3px));box-shadow:0 clamp(4px,1vw,8px) clamp(10px,2vw,20px) #3b82f64d}.button.filled{background:#3b82f6;color:#000;border:clamp(1px,.3vw,2px) solid #3b82f6}.button.filled:hover{background:#2563eb;border-color:#2563eb}.navbar{position:fixed;top:0;left:0;width:100%;background:#0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;padding:1rem 1.5rem;z-index:1000;box-sizing:border-box}.navbar a.active{color:#fff}.navbar a:hover{color:#fff;transition:.25s ease}.nav-links{display:flex;justify-content:center;align-items:center;gap:2rem}.navbar a{color:#c2c2c2;text-decoration:none;transition:color .3s,border-bottom .3s;font-weight:500;padding-bottom:2px;border-bottom:2px solid transparent}.fade-section{opacity:0;transform:translateY(20px);transition:opacity .7s ease-out,transform .7s ease-out;will-change:opacity,transform}.fade-section.is-visible{opacity:1;transform:translateY(0)}.fade-section.no-anim{transition:none!important}@media(max-width:768px){.navbar{padding:1.6rem;justify-content:center}.burger{display:flex;position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);flex-direction:column;justify-content:space-between;width:25px;height:20px;cursor:pointer;z-index:1100}.burger div{height:3px;background:#fff;border-radius:5px;transition:all .3s ease}.burger.open div:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.burger.open div:nth-child(2){opacity:0}.burger.open div:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-links{position:fixed;top:0;left:0;height:100vh;width:100%;background:#000000f2;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.5rem;padding:5rem 2rem;opacity:0;pointer-events:none}.nav-links.open{opacity:1;pointer-events:auto;transition:opacity .3s ease}.nav-links a{font-size:1.6rem;text-align:left;width:100%}}.accueil-wrapper{display:flex;width:100%;background:repeating-linear-gradient(0deg,#000 0 2px,#111 2px 4px);color:#fff;min-height:100vh}.accueil-container{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 clamp(1rem,8vw,10%);overflow:hidden}.accueil-code-panel{position:absolute;inset:auto 0 0;z-index:1;padding:clamp(1rem,3vw,2rem);padding-right:clamp(.2rem,1vw,.5rem);pointer-events:none;display:flex;justify-content:flex-end;contain:layout paint}.accueil-code-scroller{display:flex;flex-direction:column;text-align:right;align-items:flex-end;opacity:.6;filter:blur(1px);animation:infiniteScroll2 25s linear infinite}.accueil-code-content{font-size:clamp(.7rem,1.2vw,.9rem);color:#3b82f6;-webkit-user-select:none;user-select:none}.accueil-title{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700;margin-bottom:clamp(.4rem,1vw,.5rem);line-height:1.1;letter-spacing:-.02em;opacity:0;animation:fadeInUp .8s ease-out .2s forwards}.accueil-subtitle{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:400;margin-bottom:clamp(1.5rem,3vw,2rem);color:#e5e5e5;border-left:clamp(2px,.5vw,3px) solid #3b82f6;padding-left:clamp(.7rem,1vw,1rem);opacity:0;animation:fadeInUp .8s ease-out .4s forwards}.accueil-description{font-size:clamp(.95rem,1.5vw,1.125rem);margin-bottom:clamp(2rem,4vw,3rem);color:#a3a3a3;max-width:clamp(300px,60vw,500px);line-height:1.6;opacity:0;animation:fadeInUp .8s ease-out .6s forwards}.button{opacity:0;animation:fadeInUp .8s ease-out .8s forwards}.code-panel{width:clamp(250px,40vw,45%);height:100vh;overflow:hidden;padding:clamp(1rem,3vw,2rem);padding-left:clamp(.2rem,1vw,.5rem);position:relative;opacity:.6;filter:blur(1px)}.code-scroller{display:flex;flex-direction:column;animation:infiniteScroll 40s linear infinite;text-align:left}.code-content{font-size:clamp(.7rem,1.2vw,.9rem);color:#3b82f6;-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes infiniteScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes infiniteScroll2{0%{transform:translateY(50%)}to{transform:translateY(0)}}#apropos{background:#111 radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0);background-size:30px 30px;min-height:100vh}.apropos-container{margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(1rem,2vw,1.5rem)}.intro-section{text-align:center;padding:clamp(2rem,4vw,3rem) clamp(1rem,2vw,1rem);margin-bottom:clamp(2rem,5vw,4rem)}.main-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;color:#fff;margin-bottom:clamp(1rem,2.5vw,1.5rem);letter-spacing:clamp(-.5px,-.1vw,-.3px)}.intro-text{font-size:clamp(.9rem,1.5vw,1.1rem);line-height:1.7;color:#a3a3a3;max-width:clamp(500px,70vw,700px);margin:0 auto clamp(1.5rem,4vw,2.5rem);text-align:center;letter-spacing:clamp(.1px,.3vw,.3px)}.text-bold{color:#fff;font-weight:500}.text-blue{color:#3b82f6;font-weight:500}.cv-button{background:transparent;color:#3b82f6;border:clamp(1px,.4vw,1.5px) solid #3b82f6;padding:clamp(.6rem,2vw,.9rem) clamp(1.2rem,3vw,2rem);font-size:clamp(.9rem,1.5vw,1rem);font-weight:500;border-radius:clamp(6px,1vw,8px);cursor:pointer;transition:all .2s ease}.cv-button:hover{background:#3b82f6;color:#000;transform:translateY(clamp(-3px,-1vw,-1px));box-shadow:0 clamp(4px,1vw,8px) clamp(10px,2vw,20px) #3b82f64d}.section-title{font-size:clamp(1.4rem,3vw,2rem);color:#fff;margin-bottom:clamp(1.5rem,4vw,2.5rem);font-weight:600;text-align:center}.section-subtitle{text-align:center;color:#a3a3a3;font-size:clamp(.85rem,1.3vw,1rem);line-height:1.6;max-width:clamp(500px,70vw,700px);margin:0 auto clamp(2rem,5vw,3rem)}.timeline-section{margin-bottom:clamp(3rem,6vw,5rem)}.timeline{max-width:clamp(500px,70vw,700px);margin:0 auto}.timeline-item{margin-bottom:clamp(1.5rem,4vw,2.5rem);padding-bottom:clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid rgba(255,255,255,.1)}.timeline-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.timeline-content{padding:0 clamp(.3rem,1vw,.5rem)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(.5rem,1.5vw,.8rem)}.timeline-title{font-size:clamp(1rem,2vw,1.2rem);font-weight:500;color:#fff;margin:0}.timeline-year{color:#3b82f6;font-size:clamp(.75rem,1.3vw,.9rem);font-weight:500;background:#3b82f61a;padding:clamp(.2rem,.5vw,.3rem) clamp(.5rem,1vw,.8rem);border-radius:clamp(3px,1vw,4px)}.timeline-description{color:#a3a3a3;line-height:1.6;margin:0;font-size:clamp(.85rem,1.4vw,.95rem)}.skills-section{margin-bottom:clamp(2rem,5vw,3rem)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(100px,20vw,140px),1fr));gap:clamp(1rem,2vw,1.5rem);max-width:clamp(600px,80vw,800px);margin:0 auto}.skill-item{background:#ffffff08;padding:clamp(1rem,3vw,1.5rem) clamp(.7rem,2vw,1rem);border-radius:clamp(8px,2vw,10px);text-align:center;transition:all .2s ease;border:1px solid rgba(255,255,255,.05)}.skill-item:hover{background:#ffffff0d;border-color:#3b82f64d}.skill-logo{width:clamp(30px,8vw,40px);height:clamp(30px,8vw,40px);object-fit:contain;margin-bottom:clamp(.7rem,2vw,1rem);filter:brightness(.9)}.skill-item:hover .skill-logo{filter:brightness(1.1)}.skill-name{display:block;font-weight:500;color:#fff;font-size:clamp(.8rem,1.4vw,.95rem)}.skills-slider{display:none}@media(max-width:768px){.skills-grid{display:none}.skills-slider{display:block;position:relative;overflow:hidden;width:100%;padding:1rem 0}.skills-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px;-webkit-overflow-scrolling:touch}.skills-scroll::-webkit-scrollbar{display:none}.skills-slider:before,.skills-slider:after{content:"";position:absolute;top:0;width:40px;height:100%;z-index:5;pointer-events:none}.skills-slider:before{left:0;background:linear-gradient(to right,#111,transparent)}.skills-slider:after{right:0;background:linear-gradient(to left,#111,transparent)}.skills-scroll .skill-item{min-width:95px;padding:.75rem .5rem;background:#ffffff0d;border-radius:10px;text-align:center;flex-shrink:0;scroll-snap-align:start}.skills-scroll .skill-logo{width:36px;height:36px;margin-bottom:.45rem}.skills-scroll .skill-name{font-size:.75rem}.skills-scroll-indicator{width:60%;height:4px;margin:.6rem auto 0;background:#ffffff14;border-radius:999px;position:relative;overflow:hidden}.skills-scroll-thumb{position:absolute;top:0;left:0;height:100%;border-radius:inherit;background:#3b82f6;transition:transform .12s linear,width .12s linear}}#projets{background-color:#121212;color:#e5e5e5;min-height:100vh}.projets-section{padding:clamp(3rem,6vw,5rem) 0}.container{width:100%;margin:0}.section-title{font-size:clamp(1.4rem,4vw,2.8rem);color:#fff;padding:clamp(.7rem,2.8vw,1.6rem);text-align:center}.carousel-wrapper{position:relative;width:100%;height:70vh;overflow:hidden}.carousel-float{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);will-change:transform}.project-card{position:absolute;top:50%;left:50%;width:clamp(260px,28vw,400px);height:clamp(420px,60vh,600px);border-radius:clamp(18px,2vw,24px);overflow:hidden;cursor:pointer;background:#1a1a1a;border:clamp(1px,.15vw,1.5px) solid rgba(255,255,255,.06);box-shadow:0 clamp(8px,2vw,12px) clamp(20px,4vw,30px) #00000040;transform-origin:center;transition:transform .5s ease,opacity .5s ease,filter .5s ease,box-shadow .5s ease;isolation:isolate}.project-card[data-pos="0"]{transform:translate(-50%,-50%) scale(1.08);z-index:15;background:#ffffff12;border-color:#3b82f659}.project-card[data-pos="-1"]{transform:translate(-120%,-50%) scale(.85);z-index:10;opacity:.85}.project-card[data-pos="-2"]{transform:translate(-190%,-50%) scale(.75);z-index:8;opacity:.65}.project-card[data-pos="-3"]{transform:translate(-250%,-50%) scale(.65);z-index:6;opacity:.45}.project-card[data-pos="-4"]{transform:translate(-310%,-50%) scale(.55);z-index:4;opacity:.3}.project-card[data-pos="-5"]{transform:translate(-370%,-50%) scale(.45);z-index:2;opacity:.18}.project-card[data-pos="1"]{transform:translate(20%,-50%) scale(.85);z-index:10;opacity:.85}.project-card[data-pos="2"]{transform:translate(90%,-50%) scale(.75);z-index:8;opacity:.65}.project-card[data-pos="3"]{transform:translate(150%,-50%) scale(.65);z-index:6;opacity:.45}.project-card[data-pos="4"]{transform:translate(210%,-50%) scale(.55);z-index:4;opacity:.3}.project-card[data-pos="5"]{transform:translate(270%,-50%) scale(.45);z-index:2;opacity:.18}.project-card[data-pos="-6"],.project-card[data-pos="6"]{opacity:0;pointer-events:none}.project-card:not([data-pos="0"]){filter:grayscale(20%)}.project-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.project-dim{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,#000000d9,#0000001a 60%)}.project-bottom{position:absolute;left:0;right:0;bottom:0;padding:clamp(14px,2.2vw,22px);display:flex;flex-direction:column;gap:clamp(8px,1.4vw,12px);background:#0f0f0feb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10;transform:translateZ(0);border-top:1px solid rgba(255,255,255,.12)}.project-title{font-size:clamp(1.05rem,1.2vw,1.3rem);font-weight:650;color:#fff;margin:0}.project-description{margin:0;color:#ffffffd9;font-size:clamp(.86rem,1.05vw,.98rem);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.project-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:5px 12px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#fffffff2;font-size:.8rem}.project-button{background:transparent;color:#3b82f6;border:clamp(1px,.4vw,1.5px) solid #3b82f6;padding:clamp(.6rem,2vw,.9rem) clamp(1.2rem,3vw,2rem);font-size:clamp(.9rem,1.5vw,1rem);font-weight:500;border-radius:clamp(6px,1vw,8px);cursor:pointer;transition:all .2s ease;border-radius:18px}.project-button:hover{background:#3b82f6;color:#000;transform:translateY(clamp(-3px,-1vw,-1px));box-shadow:0 clamp(4px,1vw,8px) clamp(10px,2vw,20px) #3b82f64d}@media(max-width:768px){.carousel-wrapper{height:auto;overflow:hidden}.carousel-float{position:relative;top:0;left:0;transform:none;display:flex;gap:16px;padding:24px 16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.carousel-float::-webkit-scrollbar{display:none}.project-card{position:relative;top:0;left:0;transform:none!important;flex:0 0 85%;opacity:1!important;scroll-snap-align:center;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease!important;filter:none!important}.project-card.is-active{transform:scale(1.04)!important;border-color:#3b82f680!important;box-shadow:0 12px 30px #0006;z-index:2}.carousel-scroll-indicator{width:60%;height:4px;margin:1rem auto;background:#ffffff1a;border-radius:999px;position:relative;overflow:hidden}.carousel-scroll-thumb{position:absolute;top:0;left:0;height:100%;background:#3b82f6;border-radius:inherit}}.stages-page{min-height:100vh;background:#111 radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0);background-size:30px 30px;padding:clamp(1rem,3vw,2rem) clamp(.5rem,2vw,1rem);position:relative;overflow-x:hidden}.stages-header{text-align:center;margin:0 auto clamp(2rem,5vw,3rem);max-width:clamp(500px,70vw,900px);padding:0 clamp(.5rem,2vw,1rem)}.stages-title{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:600;color:#fff;margin-top:3rem;padding:clamp(1rem,5vw,3rem);position:relative;word-wrap:break-word}.stages-timeline{position:relative;max-width:clamp(800px,90vw,1200px);margin:0 auto;padding:1.5rem 0}.stages-timeline:before{content:"";position:absolute;width:2px;background:#ffffff1a;top:0;bottom:0;left:50%;transform:translate(-50%);border-radius:1px}.stages-timeline-item{position:relative;width:calc(50% - 40px);margin-bottom:clamp(1.5rem,4vw,3rem);box-sizing:border-box}.stages-timeline-item.is-left{margin-right:auto;margin-left:0}.stages-timeline-item.is-right{margin-left:auto;margin-right:0}.stages-timeline-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;transition:all .3s ease;max-width:100%;box-sizing:border-box}.stages-timeline-card:hover{transform:translateY(-4px);border-color:#3b82f64d;background:#ffffff08}.stages-card-header{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;padding:clamp(1rem,2vw,1.5rem);border-bottom:1px solid rgba(255,255,255,.08);background:#0003;width:100%;box-sizing:border-box}.stages-company-info{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.8rem;row-gap:.2rem;align-items:center;width:100%}.stages-company-logo{grid-column:1;grid-row:1 / span 2;width:clamp(40px,8vw,60px);height:clamp(40px,8vw,60px);object-fit:contain;background:#ffffff0d;padding:clamp(6px,1vw,10px);border-radius:10px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.stages-timeline-card:hover .stages-company-logo{border-color:#3b82f64d}.stages-company-details{grid-column:2;grid-row:1 / span 2;overflow:hidden;width:100%}.stages-stage-title{font-size:clamp(.95rem,3vw,1.3rem);margin:0 0 .2rem;font-weight:600;color:#fff;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.stages-company-name{font-size:clamp(.8rem,2.5vw,1rem);margin:0;font-weight:500;color:#a3a3a3;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.stages-stage-date{color:#3b82f6;font-size:clamp(.75rem,2vw,.9rem);font-weight:500;background:#3b82f61a;padding:clamp(.3rem,.5vw,.4rem) clamp(.6rem,1vw,.8rem);border-radius:6px;align-self:flex-start;margin-top:.2rem;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.stages-card-body{padding:clamp(1rem,2vw,1.5rem);width:100%;box-sizing:border-box}.stages-stage-description{margin:0;color:#a3a3a3;line-height:1.7;font-size:clamp(.8rem,2.5vw,.98rem);word-wrap:break-word;overflow-wrap:break-word}.stages-card-footer{padding:.8rem clamp(1rem,2vw,1.5rem);border-top:1px solid rgba(255,255,255,.08);background:#0003;width:100%;box-sizing:border-box}.stages-report-link{display:inline-flex;align-items:center;gap:.5rem;color:#3b82f6;text-decoration:none;font-weight:500;font-size:clamp(.8rem,2.5vw,1rem);padding:.4rem .8rem;border-radius:6px;transition:all .2s ease;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);max-width:100%;box-sizing:border-box}.stages-report-link:hover{background:#3b82f626;color:#3b82f6}.stages-pdf-icon{width:18px;height:18px;stroke-width:2}.stages-timeline-marker{position:absolute;top:1.5rem;width:20px;height:20px;z-index:2}.stages-timeline-item.is-left .stages-timeline-marker{right:-30px}.stages-timeline-item.is-right .stages-timeline-marker{left:-30px}.stages-marker-circle{width:16px;height:16px;background:#3b82f6;border:3px solid #111;border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%);z-index:2;transition:all .2s ease}.stages-timeline-item:hover .stages-marker-circle{transform:translate(-50%) scale(1.1);background:#60a5fa}.stages-timeline-end{position:relative;height:40px;margin-top:2rem}.stages-end-circle{position:absolute;top:0;left:50%;transform:translate(-50%);width:12px;height:12px;background:#3b82f6;border-radius:50%}@media(max-width:992px){.stages-timeline{max-width:100%;padding:1rem 0}.stages-timeline:before{left:40px;transform:none;width:1px}.stages-timeline-item{width:100%;margin-left:0!important;margin-right:0!important;padding-left:70px!important;padding-right:clamp(.5rem,2vw,1rem)!important}.stages-timeline-item.is-left .stages-timeline-marker,.stages-timeline-item.is-right .stages-timeline-marker{left:40px;right:auto}.stages-end-circle{left:40px;transform:translate(-50%)}.stages-marker-circle{width:14px;height:14px;border-width:2px}.stages-timeline-end{height:30px;margin-top:1.5rem}.stages-end-circle{width:10px;height:10px}}@media(max-width:768px){.stages-page{padding:.8rem .5rem}.stages-header{margin-bottom:2rem}.stages-timeline{padding:1rem 0}.stages-timeline-item{padding-left:60px!important;margin-bottom:2rem}.stages-timeline:before{left:30px}.stages-timeline-item.is-left .stages-timeline-marker,.stages-timeline-item.is-right .stages-timeline-marker,.stages-end-circle{left:30px}.stages-company-info{column-gap:.6rem}.stages-company-logo{width:40px;height:40px;padding:6px;border-radius:8px}.stages-stage-description{line-height:1.6}}@media(max-width:480px){.stages-timeline-item{padding-left:50px!important;margin-bottom:1.5rem}.stages-timeline:before{left:25px}.stages-timeline-item.is-left .stages-timeline-marker,.stages-timeline-item.is-right .stages-timeline-marker,.stages-end-circle{left:25px}.stages-company-logo{width:35px;height:35px;padding:5px}.stages-card-header{padding:1rem;gap:.8rem}.stages-card-body{padding:1rem}.stages-card-footer{padding:.8rem 1rem}}@media(max-width:360px){.stages-timeline-item{padding-left:45px!important}.stages-timeline:before{left:22px}.stages-timeline-item.is-left .stages-timeline-marker,.stages-timeline-item.is-right .stages-timeline-marker,.stages-end-circle{left:22px}.stages-company-logo{width:32px;height:32px}}#formations{background-color:#121212}.formations-container{margin:0 auto;padding:clamp(1rem,3vw,2rem) 0;color:#fff;min-height:100vh}.formations-header{text-align:center;padding:clamp(.8rem,1.6vw,1.2rem) clamp(.75rem,1.5vw,1rem)}.formations-title{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:600;color:#fff;padding:clamp(.8rem,1vw,.6rem);position:relative;margin-top:2rem}.formations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(260px,40vw,360px),1fr));gap:clamp(1rem,2vw,1.5rem);max-width:clamp(900px,92vw,1100px);margin:0 auto clamp(2rem,5vw,3rem)}.formation-card{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:clamp(10px,2vw,14px);overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.formation-card:hover{background:#ffffff0d;border-color:#3b82f64d;transform:translateY(-2px)}.certificate-preview{padding:clamp(1rem,2.5vw,1.2rem)}.certificate-badge{display:none}.formation-image-wrap{position:relative;height:clamp(160px,22vw,220px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:clamp(10px,2vw,12px);overflow:hidden;border:1px solid rgba(255,255,255,.06)}.formation-image-wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translate(-120%);pointer-events:none;z-index:2;animation:none}.formation-card:hover .formation-image-wrap:before{animation:shine 1.8s ease-out}@keyframes shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.formation-image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:clamp(.8rem,2vw,1.2rem);filter:brightness(.95);transition:transform .2s ease,filter .2s ease}.formation-card:hover .formation-image{transform:scale(1.02)}.card-content{padding:clamp(1rem,2.5vw,1.4rem);display:flex;flex-direction:column;gap:clamp(.6rem,1.6vw,.9rem);flex:1}.formation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.formation-date{display:inline-block;color:#3b82f6;font-size:clamp(.75rem,1.3vw,.9rem);font-weight:500;background:#3b82f61a;padding:clamp(.2rem,.5vw,.3rem) clamp(.5rem,1vw,.8rem);border-radius:clamp(3px,1vw,4px);margin-bottom:.6rem}.formation-card-title{font-size:clamp(1rem,2vw,1.2rem);font-weight:500;color:#fff;margin:0;line-height:1.3}.formation-type{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#a3a3a3;padding:.35rem .7rem;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.formation-type.auto-formation,.formation-type.formation-pratique,.formation-type.sensibilisation,.formation-type.evaluation-formation{color:#a3a3a3;border-color:#ffffff14}.formation-description{color:#a3a3a3;line-height:1.6;margin:0;font-size:clamp(.85rem,1.4vw,.95rem)}.formation-details{margin-top:auto;padding:.9rem;border-radius:12px;background:#0000002e;border:1px solid rgba(255,255,255,.06)}.detail-row{display:flex;gap:1rem}.detail-item{display:flex;align-items:center;gap:.6rem;flex:1}.detail-icon{font-size:1.2rem;opacity:.9;min-width:28px}.detail-label{font-size:.75rem;color:#a3a3a3;font-weight:500}.detail-value{font-size:.9rem;color:#fff;font-weight:500}.formations-footer{max-width:clamp(900px,92vw,1100px);margin:0 auto;text-align:center;padding:clamp(1.5rem,4vw,2rem);border-top:1px solid rgba(255,255,255,.08)}.stats-container{display:flex;justify-content:center;gap:clamp(1.2rem,4vw,3rem);flex-wrap:wrap;margin-bottom:1.2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.35rem}.stat-number{font-size:clamp(1.4rem,4vw,2rem);font-weight:600;color:#fff}.stat-label{font-size:.85rem;color:#a3a3a3;font-weight:500}.footer-note{max-width:clamp(500px,70vw,700px);margin:0 auto;color:#a3a3a3;line-height:1.6;font-size:clamp(.85rem,1.4vw,.95rem)}.formations-scroll-indicator{display:none}@media(max-width:768px){.formations-grid{display:flex;gap:16px;max-width:100%;margin:0 auto .6rem;padding:24px 16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.formations-grid::-webkit-scrollbar{display:none}.formation-card{flex:0 0 auto;width:min(82vw,420px);scroll-snap-align:center;transition:transform .4s ease,border-color .4s ease,background .4s ease!important}.formation-card.is-active{background:#ffffff0d;border-color:#3b82f666;transform:scale(1.04);box-shadow:0 10px 25px #0000004d}.formation-card.is-active .formation-image-wrap:before{animation:shine 1.8s ease-out}.formation-card.is-active .formation-image{transform:scale(1.02)}.formation-header{flex-direction:column;align-items:flex-start}.detail-row{flex-direction:column;gap:.5rem}.formations-scroll-indicator{display:block;width:60%;height:4px;margin:.6rem auto 1.5rem;background:#ffffff14;border-radius:999px;position:relative;overflow:hidden}.formations-scroll-thumb{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:#3b82f6;transition:transform .1s linear,width .1s linear}}.veille-section{min-height:100vh;background:#111 radial-gradient(circle at 1px 1px,rgba(255,255,255,.09) 1px,transparent 0);background-size:28px 28px;color:#fff;margin:0 auto;padding:clamp(1rem,3vw,2.2rem) clamp(1rem,2vw,1.6rem);position:relative}.veille-section>*{max-width:clamp(760px,82vw,980px);margin-left:auto;margin-right:auto}.text-accent{color:#3b82f6}.veille-heroHeader{margin-bottom:2rem}.veille-heroHeader h1{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:600;margin-top:4rem}.veille-subtitle{color:#a3a3a3;max-width:70ch;line-height:1.6;font-size:clamp(.85rem,1.4vw,.95rem)}.veille-heroGrid{margin-top:1.2rem}.veille-heroCard{border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;overflow:hidden}.veille-heroImg img{display:block;width:100%;height:auto;object-fit:contain}.veille-heroMeta{padding:1rem}.veille-chip{font-size:.75rem;font-weight:500;padding:.25rem .55rem;border-radius:999px;background:#3b82f61f;border:1px solid rgba(59,130,246,.24);display:inline-block;margin-bottom:.5rem}.veille-card{padding:1.4rem;margin-bottom:1.6rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff08}.veille-card h2{font-size:clamp(1rem,2vw,1.2rem);font-weight:500;margin-bottom:.9rem}.veille-card p{color:#a3a3a3;line-height:1.6;font-size:clamp(.85rem,1.4vw,.95rem)}.mt{margin-top:.9rem}.veille-highlight{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.kpi{padding:.9rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.kpiLabel{font-size:.75rem;font-weight:500;color:#fff9}.kpiValue{font-weight:500;font-size:.9rem}.veille-callout{margin-top:1.1rem;padding:.9rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.veille-badge{font-size:.85rem;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:inline-block;margin-bottom:.7rem}.calloutTitle{font-size:.75rem;font-weight:600;color:#fff9;margin-bottom:.3rem}.calloutText{font-size:clamp(.85rem,1.4vw,.95rem);line-height:1.6}.reveal{animation:fadeUp .55s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.veille-highlight{grid-template-columns:1fr}}.contact-wrapper{background:linear-gradient(135deg,#0a0a0a,#111 40%,#000);width:100%}.contact{display:grid;grid-template-columns:1.2fr 1fr;padding:clamp(48px,8vw,80px) clamp(6%,10vw,12%);gap:clamp(40px,6vw,80px)}.contact-left h1{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:600}.contact-left p{margin-top:clamp(12px,3vw,20px);max-width:clamp(280px,50vw,500px);color:#a3a3a3;line-height:clamp(1.4,1.6vw,1.6);font-size:clamp(.85rem,1.4vw,.95rem)}.contact-links{margin-top:clamp(24px,5vw,40px);display:flex;gap:clamp(16px,3vw,24px)}.contact-links a{display:flex;align-items:center;gap:clamp(6px,2vw,10px);text-decoration:none;color:#3b82f6;font-weight:500;font-size:clamp(.9rem,1.2vw,1rem);transition:color .2s ease,transform .2s ease}.contact-links a svg{font-size:clamp(1.1rem,2vw,1.4rem)}.contact-links a:hover{color:#60a5fa;transform:translateY(-2px)}.contact-right{display:flex;flex-direction:column;gap:clamp(14px,3vw,20px)}.contact-right input,.contact-right textarea{font-family:inherit;background:transparent;border:none;border-bottom:1px solid #30363d;padding:clamp(8px,2vw,12px) 0;color:#e6edf3;font-size:clamp(.9rem,1.2vw,1rem);outline:none}.contact-right input::placeholder,.contact-right textarea::placeholder{font-family:inherit;color:#6b7280}.contact-right input:focus,.contact-right textarea:focus{border-bottom-color:#3b82f6}.contact-right button{margin-top:clamp(12px,3vw,20px);align-self:flex-start;background:none;border:none;color:#3b82f6;font-size:clamp(1rem,1.5vw,1.1rem);font-weight:500;cursor:pointer;padding:0;transition:color .2s ease,transform .2s ease}.contact-right button:hover{color:#60a5fa;transform:translate(4px)}.form-status{margin-top:10px;font-size:.9rem}.form-status.success{color:#10b981}.form-status.error{color:#ef4444}.form-rgpd{margin-top:clamp(10px,2vw,16px);font-size:clamp(.7rem,1vw,.75rem);color:#6b7280;line-height:clamp(1.4,1.6vw,1.5);max-width:clamp(300px,60vw,420px)}.legal-footer{position:relative;padding:clamp(24px,6vw,40px) clamp(6%,10vw,12%);font-size:clamp(.8rem,1.2vw,.85rem);color:#9ca3af;line-height:clamp(1.4,1.6vw,1.6);background:transparent}.legal-footer p{margin-bottom:clamp(8px,2vw,12px);max-width:clamp(320px,80vw,900px)}.legal-footer a{color:#3b82f6;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.legal-footer .rgpd{font-size:clamp(.75rem,1vw,.8rem);color:#6b7280}.back-to-top{position:absolute;right:clamp(6%,10vw,12%);top:clamp(24px,6vw,40px);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500;color:#3b82f6;text-decoration:none;transition:transform .2s ease,color .2s ease}.back-to-top:hover{color:#60a5fa;transform:translateY(-4px)}@media(max-width:900px){.contact{grid-template-columns:1fr;gap:clamp(40px,8vw,60px);padding:clamp(40px,8vw,60px) clamp(6%,8vw,8%)}.contact-left p{max-width:100%}.contact-links{gap:clamp(12px,3vw,16px)}.legal-footer{padding:clamp(32px,6vw,40px) clamp(6%,8vw,8%)}.back-to-top{right:clamp(6%,8vw,8%);top:auto;bottom:clamp(16px,4vw,24px)}}.details-section{min-height:100vh;background:#111 radial-gradient(circle at 1px 1px,rgba(255,255,255,.103) 1px,transparent 0);background-size:30px 30px;color:#fff;margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(1rem,2vw,1.5rem)}.details-section>*{max-width:clamp(700px,80vw,900px);margin-left:auto;margin-right:auto}.back-btn{background:transparent;color:#3b82f6;border:clamp(1px,.4vw,1.5px) solid #3b82f6;padding:clamp(.55rem,1.6vw,.8rem) clamp(1rem,2.5vw,1.4rem);font-size:clamp(.9rem,1.3vw,1rem);font-weight:500;border-radius:clamp(6px,1vw,8px);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:10px;margin-bottom:clamp(1rem,2vw,1.5rem)}.back-btn:hover{background:#3b82f6;color:#000;transform:translateY(clamp(-3px,-1vw,-1px));box-shadow:0 clamp(4px,1vw,8px) clamp(10px,2vw,20px) #3b82f64d}.back-btn:focus-visible{outline:2px solid rgba(59,130,246,.7);outline-offset:3px}.details-header{text-align:center;padding:clamp(1.2rem,3vw,1.8rem) clamp(1rem,2vw,1rem);margin-bottom:clamp(1.2rem,3vw,2rem)}.details-header h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;color:#fff;margin:0;letter-spacing:clamp(-.5px,-.1vw,-.3px)}.details-gallery{margin-bottom:clamp(1.5rem,4vw,2.5rem);padding:clamp(.8rem,2vw,1.2rem);background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:clamp(10px,2vw,12px)}.details-hero{overflow:hidden;border:1px solid rgba(255,255,255,.07);background:#ffffff05}.details-hero img{display:block;width:100%;height:clamp(220px,42vw,420px);object-fit:cover;filter:saturate(.95)}.details-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;margin-top:12px}.thumb{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:clamp(8px,2vw,10px);overflow:hidden;padding:0;cursor:pointer;transition:all .2s ease}.thumb img{display:block;width:100%;height:72px;object-fit:cover;filter:brightness(.92)}.thumb:hover{background:#ffffff0d;border-color:#3b82f64d;transform:translateY(-2px)}.thumb.is-active{border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f629}.thumb:focus-visible{outline:2px solid rgba(59,130,246,.7);outline-offset:3px}.details-section section{padding:clamp(1.2rem,3vw,1.6rem) clamp(1rem,2vw,1.2rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid rgba(255,255,255,.1)}.details-section section:last-of-type{border-bottom:none;margin-bottom:0}.details-section h2{font-size:clamp(1.4rem,3vw,1.9rem);color:#fff;margin:0 0 clamp(.8rem,2vw,1.2rem);font-weight:600;text-align:left}.details-section h3{margin:clamp(1rem,2vw,1.2rem) 0 clamp(.5rem,1.2vw,.7rem);font-size:clamp(.95rem,1.6vw,1.05rem);color:#3b82f6;font-weight:600;text-align:left}.details-section li::marker{color:#3b82f6}.details-section p{font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.7;color:#a3a3a3;margin:0;letter-spacing:clamp(.1px,.3vw,.3px);text-align:left}.details-section p strong{color:#fff;font-weight:500}.details-section ul{margin:.75rem 0 0;padding-left:1.2rem}.details-section li{color:#a3a3a3;line-height:1.6;margin:.55rem 0;font-size:clamp(.85rem,1.4vw,.98rem)}.details-section li strong{color:#fff;font-weight:500}.details-section a{color:#3b82f6;font-weight:500;text-decoration:none;transition:all .2s ease;border-bottom:1px solid rgba(59,130,246,.35)}.details-section a:hover{color:#fff;border-bottom-color:#3b82f6cc}@media(max-width:768px){.details-header{padding:1rem .5rem}.details-gallery{padding:.9rem}.details-thumbs{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.thumb img{height:64px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
