.header{color:#fff;width:100vw;min-height:80px;display:flex;align-items:center;padding:15px 0;position:fixed;top:0;left:0;right:0;z-index:100;transition:background-color .3s ease,color .3s ease}.theme-light .header{color:#1f2937}.theme-dark .header{color:#fff}.header-container{position:relative;width:100%;padding:0 2rem}.header-logo{width:50px;height:auto;transition:transform .3s ease}.header-logo:hover{transform:scale(1.05);transform-origin:center center}.header-nav{display:flex;gap:2rem;align-items:center}.nav-link{color:inherit;text-decoration:none;font-family:Geist Sans;font-size:1rem;font-weight:500;transition:all .3s ease;position:relative;z-index:1;display:flex;align-items:center}.nav-link:before{content:"";position:absolute;inset:-10px -15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;transition:backdrop-filter .3s ease;z-index:-1}.nav-link:hover{color:var(--text-color);transform:scale(1.1)}.nav-link:hover:before{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.language-switch{background:transparent;border:2px solid currentColor;color:inherit;padding:6px 12px;border-radius:6px;cursor:pointer;font-family:Geist Sans;font-size:1rem;font-weight:500;transition:all .3s ease;margin-left:.2rem;display:flex;align-items:center;gap:4px;height:fit-content}.theme-light .language-switch{border-color:#1f2937;color:#1f2937}.language-switch:hover{border-color:#64ccc5;color:#64ccc5;transform:scale(1.05)}.theme-light .language-switch:hover{border-color:#a0c878;color:#a0c878}.theme-switch{background:transparent;border:2px solid currentColor;color:inherit;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;margin-left:1rem;display:flex;align-items:center;justify-content:center;height:fit-content;min-width:36px}.theme-light .theme-switch{border-color:#1f2937;color:#1f2937}.theme-switch:hover{border-color:#64ccc5;color:#64ccc5;transform:scale(1.05)}.theme-light .theme-switch:hover{border-color:#a0c878;color:#a0c878}.theme-icon{transition:transform .3s ease}.theme-switch:hover .theme-icon{transform:scale(1.1)}.burger-menu{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:5px;gap:4px}.burger-line{width:25px;height:3px;background-color:#fff;transition:all .3s ease;transform-origin:center}.burger-line.open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.burger-line.open:nth-child(2){opacity:0}.burger-line.open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.material-menu-wrapper{position:fixed;top:0;right:0;height:100vh;width:40vw;overflow:hidden;display:none}.material-menu{position:relative;z-index:1;width:100%;height:100%;background:transparent}.material-btn{will-change:transform;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;position:absolute;z-index:2;top:20px;right:20px;width:55px;height:55px;background:transparent;cursor:pointer;border:none;pointer-events:auto}.material-btn:before{content:"";position:absolute;top:0;left:0;z-index:-1;width:55px;height:55px;background:#fff;border-radius:50%;box-shadow:0 5px 10px #00000080;cursor:pointer;transform-origin:center 30%;transform:scale(1);transition:all .35s ease-out;pointer-events:none}.material-btn.active:before{transform:scale(18)}@media (min-height: 800px){.material-btn.active:before{transform:scale(25)}}.material-btn:active:before{opacity:.75}.material-content{padding:35% 15% 10%;position:absolute;top:0;right:0;z-index:3;pointer-events:none}.material-content.active{z-index:3;pointer-events:auto}.material-content nav ul{list-style-type:none;padding:0;text-align:right}.material-content nav li{will-change:transform,opacity;margin:25px 0;transform:translateY(100px);opacity:0;transition:all .4s ease-out}.material-content nav li.active{transform:translateY(0);opacity:1}.material-content nav li:nth-child(1){transition-delay:.1s}.material-content nav li:nth-child(2){transition-delay:.2s}.material-content nav li:nth-child(3){transition-delay:.3s}.material-content nav a{text-decoration:none;font-size:5vw;color:var(--primary-color);font-weight:300}.material-hamburger{transition:all .3s ease-out;width:24px;position:relative}.material-hamburger .material-patty{display:block;width:100%;box-shadow:0 2px 5px #0003;border-radius:3px;height:3px;background:#333;transition:all .7s ease;position:relative}.material-hamburger .material-patty+.material-patty{margin-top:6px}.material-hamburger.material-close .material-patty:nth-child(1){animation:ease .7s top forwards}.material-hamburger:not(.material-close) .material-patty:nth-child(1){animation:ease .7s top-2 forwards}.material-hamburger.material-close .material-patty:nth-child(2){animation:ease .7s scaled forwards}.material-hamburger:not(.material-close) .material-patty:nth-child(2){animation:ease .7s scaled-2 forwards}.material-hamburger.material-close .material-patty:nth-child(3){animation:ease .7s bottom forwards}.material-hamburger:not(.material-close) .material-patty:nth-child(3){animation:ease .7s bottom-2 forwards}@keyframes top{0%{top:0;transform:rotate(0)}50%{top:9px;transform:rotate(0)}to{top:9px;transform:rotate(45deg)}}@keyframes top-2{0%{top:9px;transform:rotate(45deg)}50%{top:9px;transform:rotate(0)}to{top:0;transform:rotate(0)}}@keyframes bottom{0%{bottom:0;transform:rotate(0)}50%{bottom:9px;transform:rotate(0)}to{bottom:9px;transform:rotate(135deg)}}@keyframes bottom-2{0%{bottom:9px;transform:rotate(135deg)}50%{bottom:9px;transform:rotate(0)}to{bottom:0;transform:rotate(0)}}@keyframes scaled{50%{transform:scale(0)}to{transform:scale(0)}}@keyframes scaled-2{0%{transform:scale(0)}50%{transform:scale(0)}to{transform:scale(1)}}.simple-burger{display:none;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;background:none;border:none;cursor:pointer;position:absolute;top:50%;right:2rem;transform:translateY(-50%)}.simple-burger span{display:block;width:30px;box-shadow:0 2px 10px #0000004d;border-radius:3px;height:4px;background:#fff;transition:all .3s;position:relative}.simple-burger span+span{margin-top:8px}.simple-burger span.open:nth-child(1){animation:ease .7s burger-top forwards}.simple-burger span:not(.open):nth-child(1){animation:ease .7s burger-top-2 forwards}.simple-burger span.open:nth-child(2){animation:ease .7s burger-scaled forwards}.simple-burger span:not(.open):nth-child(2){animation:ease .7s burger-scaled-2 forwards}.simple-burger span.open:nth-child(3){animation:ease .7s burger-bottom forwards}.simple-burger span:not(.open):nth-child(3){animation:ease .7s burger-bottom-2 forwards}@keyframes burger-top{0%{top:0;transform:rotate(0)}50%{top:12px;transform:rotate(0)}to{top:12px;transform:rotate(45deg)}}@keyframes burger-top-2{0%{top:12px;transform:rotate(45deg)}50%{top:12px;transform:rotate(0)}to{top:0;transform:rotate(0)}}@keyframes burger-bottom{0%{bottom:0;transform:rotate(0)}50%{bottom:12px;transform:rotate(0)}to{bottom:12px;transform:rotate(135deg)}}@keyframes burger-bottom-2{0%{bottom:12px;transform:rotate(135deg)}50%{bottom:12px;transform:rotate(0)}to{bottom:0;transform:rotate(0)}}@keyframes burger-scaled{50%{transform:scale(0)}to{transform:scale(0)}}@keyframes burger-scaled-2{0%{transform:scale(0)}50%{transform:scale(0)}to{transform:scale(1)}}.overlay{position:fixed;inset:0;background:#00000080;z-index:98}.simple-menu{position:fixed;top:80px;right:-300px;width:300px;height:calc(100vh - 80px);background:#0b1a3d;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:right .3s ease,background-color .3s ease;z-index:99;border-radius:20px 0 0;box-shadow:-10px 0 30px #0000004d}.theme-light .simple-menu{background:#faf6e9;color:#1f2937}.simple-menu.open{right:0}.simple-menu a{color:#fff;text-decoration:none;font-size:1.1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease}.theme-light .simple-menu a{color:#1f2937;border-bottom:1px solid rgba(31,41,55,.1)}.simple-menu a:hover{color:var(--secondary-color);padding-left:1rem}.theme-light .simple-menu a:hover{color:#ddeb9d}.simple-menu .language-switch.mobile{background:transparent;border:2px solid white;color:#fff;padding:12px 20px;border-radius:8px;cursor:pointer;font-family:Geist Sans;font-size:1rem;font-weight:600;transition:all .3s ease;margin:0;flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.theme-light .simple-menu .language-switch.mobile{border-color:#1f2937;color:#1f2937}.simple-menu .language-switch.mobile:hover{border-color:#64ccc5;color:#64ccc5;transform:scale(1.05)}.theme-light .simple-menu .language-switch.mobile:hover{border-color:#a0c878;color:#a0c878}.mobile-switches{display:flex;gap:1rem;margin-top:1.5rem;align-items:center;justify-content:center;width:100%}.simple-menu .theme-switch.mobile{background:transparent;border:2px solid white;color:#fff;padding:12px 16px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex:1;min-width:48px}.theme-light .simple-menu .theme-switch.mobile{border-color:#1f2937;color:#1f2937}.simple-menu .theme-switch.mobile:hover{border-color:#64ccc5;color:#64ccc5;transform:scale(1.05)}.theme-light .simple-menu .theme-switch.mobile:hover{border-color:#a0c878;color:#a0c878}.simple-menu .theme-switch.mobile:hover .theme-icon{transform:scale(1.1)}@media (max-width: 768px){.header-logo{width:35px}.header-nav{display:none}.simple-burger{display:flex}}@media (min-width: 769px){.header-nav{display:flex}.simple-burger,.simple-menu{display:none}}.language-reload-icon{transition:transform .3s ease;opacity:.8;filter:brightness(0) saturate(100%) invert(100%)}.language-switch:hover .language-reload-icon{transform:rotate(180deg);opacity:1;filter:brightness(0) saturate(100%) invert(79%) sepia(20%) saturate(1687%) hue-rotate(140deg) brightness(98%) contrast(91%)}.theme-light .language-reload-icon{filter:brightness(0) saturate(100%) invert(12%) sepia(7%) saturate(1204%) hue-rotate(182deg) brightness(99%) contrast(95%)}.theme-light .language-switch:hover .language-reload-icon{filter:brightness(0) saturate(100%) invert(66%) sepia(31%) saturate(346%) hue-rotate(57deg) brightness(91%) contrast(86%)}.main-content{width:100%;min-height:calc(100vh - 80px);margin:0;padding:0}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--background-color);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:10px;border:2px solid var(--background-color)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}html{scrollbar-width:thin;scrollbar-color:var(--secondary-color) var(--background-color);scroll-behavior:smooth}body.theme-light ::-webkit-scrollbar-track{background:#fffdf6!important;border-radius:10px}body.theme-light ::-webkit-scrollbar-thumb{background:#a0c878!important;border-radius:10px!important;border:2px solid #FFFDF6!important}body.theme-light ::-webkit-scrollbar-thumb:hover{background:#8db764!important}body.theme-light{scrollbar-color:#A0C878 #FFFDF6!important}.hero-section{height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 10%;overflow:visible;position:relative}.hero-content{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;margin-top:50vh;transform:translateY(-50%)}.text-content{flex:1;padding-left:4rem;display:flex;flex-direction:column;align-items:flex-start}.text-content .description{text-align:left}.me-container{display:flex;justify-content:center;align-items:center;position:relative;width:600px;height:700px;overflow:visible}.me-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;height:520px;background:radial-gradient(ellipse 40% 60% at 50% 50%,var(--primary-color) 10%,rgba(4,54,74,0) 80%);z-index:-1;transition:all .3s ease}.me{width:400px;height:auto;max-width:100%;position:relative;top:-50px;left:-30px;transition:all .3s ease}.me-container:hover:before{width:520px;height:620px;opacity:.8}.theme-light .me-container:before{background:radial-gradient(ellipse 40% 60% at 50% 50%,#a0c878 10%,#a0c87800 80%)}.description{max-width:600px}.intro-name{font-size:2.5rem;font-weight:700;color:var(--text-color);margin:0 0 1rem}.theme-light .intro-name{color:#a0c878}.intro-studies{font-size:1.3rem;color:var(--text-color);line-height:1.6;margin:0 0 1.5rem}.theme-light .intro-studies{color:#1f2937}.intro-passion{font-size:1.1rem;color:var(--text-color);line-height:1.6;margin:0}.theme-light .intro-passion{color:#1f2937}.highlight-base{font-weight:600;position:relative;display:inline-block;cursor:pointer;transition:all .3s ease}.highlight-web{color:#06b6d4}.theme-light .highlight-web{color:#0e7490!important}.highlight-logiciel{color:#0891b2}.highlight-ia{color:#22d3ee}.theme-light .highlight-logiciel{color:#155e75!important}.theme-light .highlight-ia{color:#0891b2!important}.highlight-web.animate-web{animation:highlightAnimation .6s ease-out;--move-y: 0;--move-x: 20px;--rotate-x: 0;--letter-spacing-mid: 8px}.highlight-logiciel.animate-logiciel{animation:highlightAnimation .6s ease-out;--move-y: -20px;--move-x: 0;--rotate-x: 0;--letter-spacing-mid: normal}.highlight-ia.animate-ia{animation:highlightAnimation .6s ease-out;--move-y: 20px;--move-x: 0;--rotate-x: 180deg;--letter-spacing-mid: normal}@keyframes highlightAnimation{0%{transform:translateY(0) translate(0) rotateX(0) scale(1);letter-spacing:normal}50%{transform:translateY(var(--move-y)) translate(var(--move-x)) rotateX(var(--rotate-x)) scale(1.2);letter-spacing:var(--letter-spacing-mid)}to{transform:translateY(0) translate(0) rotateX(0) scale(1);letter-spacing:normal}}.cv-button{padding:17px 40px;border-radius:50px;cursor:pointer;border:none;background-color:#fff;box-shadow:#0000000d 0 0 8px;letter-spacing:1.5px;text-transform:uppercase;font-size:15px;transition:all .5s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;color:#000;font-weight:500;margin-top:2rem;outline:none;-webkit-tap-highlight-color:transparent}.cv-button:hover{letter-spacing:3px;background-color:var(--secondary-color);color:#000;box-shadow:#64ccc599 0 7px 29px}.cv-button:active{letter-spacing:3px;background-color:var(--secondary-color);color:#000;box-shadow:#64ccc599 0 0;transform:translateY(10px);transition:.1s}.theme-light .cv-button{background-color:#ddeb9d}.theme-light .cv-button:hover{background-color:#a0c878;box-shadow:#a0c87899 0 7px 29px}.theme-light .cv-button:active{background-color:#a0c878;box-shadow:#a0c87899 0 0}.scroll-down{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);cursor:pointer;animation:bounce 2s infinite;z-index:10}.arrow-down{width:30px;height:30px;border:3px solid var(--secondary-color);border-radius:50%;position:relative;transition:all .3s ease}.theme-light .arrow-down{border-color:#a0c878}.arrow-down:after{content:"";position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:10px;height:10px;border-bottom:3px solid var(--secondary-color);border-right:3px solid var(--secondary-color)}.theme-light .arrow-down:after{border-bottom-color:#a0c878;border-right-color:#a0c878}.scroll-down:hover .arrow-down{border-color:var(--text-color);transform:scale(1.1)}.scroll-down:hover .arrow-down:after{border-bottom-color:var(--text-color);border-right-color:var(--text-color)}.theme-light .scroll-down:hover .arrow-down{border-color:#a0c878}.theme-light .scroll-down:hover .arrow-down:after{border-bottom-color:#a0c878;border-right-color:#a0c878}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.theme-light strong,.theme-light b,.theme-light .font-bold,.theme-light .font-weight-bold,.theme-light [style*="font-weight: bold"],.theme-light [style*="font-weight: 700"],.theme-light [style*="font-weight: 600"]{color:#a0c878!important}.about-me{max-width:1200px;margin:0 auto;margin-top:-35vh;padding:0 10%;width:100%}@media (max-height: 800px){.about-me{margin-top:-40vh}}@media (max-height: 600px){.about-me{margin-top:-10vh}}@media (min-height: 1200px){.about-me{margin-top:-45vh}}@media (max-width: 768px){.hero-content{flex-direction:column;text-align:center;margin-top:5vh;transform:none;padding:0 1rem;align-items:center}.text-content{padding-left:0;order:2;align-items:center}.text-content .description{display:flex;flex-direction:column;align-items:center}.me-container{width:250px;height:300px;order:1;margin:0 auto;display:flex;justify-content:center;align-items:center}.me-container:before{width:180px;height:220px;top:50%;left:50%;transform:translate(-50%,-50%)}.me-container:hover:before{width:180px;height:220px;opacity:1}.me{width:200px;position:relative;top:0;left:0}.intro-name{font-size:1.5rem}.intro-studies{font-size:.9rem}.about-me{margin-top:2vh;padding:0 5%;padding-top:8rem;max-width:100%}.parcours-title{font-size:2rem;margin-top:2rem}.competences-title{font-size:2rem;margin-top:6rem}.competences-section{flex-direction:column;gap:2rem;text-align:center}.minime-container{width:200px;height:250px;margin:0 auto;order:2}.minime-container:before{width:160px;height:210px}.minime{width:150px}.carousel-container{order:1;height:180px;gap:1rem}.card-3d-vertical{width:50px;height:160px}.icon-3d-wrapper{width:40px;height:40px}.dev-icon{width:28px;height:28px}.competences-button-container{display:flex;justify-content:center;margin-left:0;margin-top:-2rem}.card{padding-left:.25rem;margin-bottom:2rem}.card:before{left:.25rem}.card:after{left:.25rem}.card .content{padding:.75rem}.card .parcours-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.card .parcours-institution{font-size:1rem;line-height:1.2}.card .parcours-period{font-size:.8rem;padding:.3rem .7rem}.card .parcours-description{font-size:.85rem;line-height:1.4}.cv-button{padding:12px 25px;font-size:12px;margin-top:1rem}.scroll-down{bottom:2rem}}@media (max-width: 480px){.hero-section{padding:0 5%}.about-me{padding:0 3%;padding-top:6rem;max-width:100%;margin-top:2vh}.parcours-title{font-size:1.8rem;margin-top:2rem;margin-bottom:2.5rem}.card{padding-left:.1rem;margin-bottom:1.5rem}.card:before{left:.1rem;width:1.5px}.card:after{left:.1rem;width:10px;height:10px;transform:translate(-5px)}.card .content{padding:.5rem}.card .parcours-institution{font-size:.9rem}.card .parcours-period{font-size:.7rem;padding:.25rem .5rem}.card .parcours-description{font-size:.8rem;line-height:1.3}.intro-name{font-size:1.3rem}.intro-studies,.intro-passion{font-size:.8rem}.competences-title{font-size:1.5rem;margin-top:4rem}.competences-section{flex-direction:column;gap:1rem;text-align:center}.minime-container{display:none!important}.carousel-container{order:1;height:130px;gap:.8rem}.card-3d-vertical{width:45px;height:110px}.icon-3d-wrapper{width:35px;height:35px}.dev-icon{width:24px;height:24px}.competences-button-container{display:flex;justify-content:center;margin-left:0;margin-top:-1rem;gap:1rem}.competences-button{padding:8px 16px;font-size:9px}.competences-button-container{display:flex;margin-top:2rem;margin-bottom:1rem}}.parcours-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:4rem;margin-top:6rem;text-align:center;scroll-margin-top:120px}.theme-light .parcours-title{color:#a0c878;font-weight:700}.competences-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:.5rem;margin-top:10rem;text-align:center;scroll-margin-top:120px}.theme-light .competences-title{color:#a0c878;font-weight:700}.minime-container{display:flex;justify-content:center;align-items:center;position:relative;width:400px;height:500px;overflow:visible;margin:0 -100px 0 auto}.minime-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;height:420px;background:radial-gradient(ellipse 40% 60% at 50% 50%,var(--primary-color) 10%,rgba(4,54,74,0) 80%);z-index:-1;transition:all .3s ease}.minime{width:300px;height:auto;max-width:100%;position:relative;transition:all .3s ease}.minime-container:hover:before{width:420px;height:520px;opacity:.8}.theme-light .minime-container:before{background:radial-gradient(ellipse 40% 60% at 50% 50%,#a0c878 10%,#a0c87800 80%)}.theme-light .minime-container:hover:before{background:radial-gradient(ellipse 40% 60% at 50% 50%,#a0c878 10%,#a0c87800 80%)}.competences-section{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;gap:4rem}.carousel-container{display:flex;gap:3rem;height:350px;overflow:visible;position:relative;justify-content:center;align-items:center}@keyframes autoRunVertical3D{0%{transform:perspective(600px) rotateX(-360deg)}to{transform:perspective(600px) rotateX(0)}}@keyframes autoRunVertical3DReverse{0%{transform:perspective(600px) rotateX(0)}to{transform:perspective(600px) rotateX(-360deg)}}@keyframes animateBrightness{10%{filter:brightness(1.1);opacity:1}50%{filter:brightness(.6);opacity:.7}90%{filter:brightness(1.1);opacity:1}}.card-3d-vertical{position:relative;width:100px;height:300px;transform-style:preserve-3d;transform:perspective(600px);animation:autoRunVertical3D linear infinite;will-change:transform}.band-1{animation-duration:16s}.band-2{animation-name:autoRunVertical3DReverse;animation-duration:20s}.band-3{animation-duration:14s}.icon-3d-wrapper{position:absolute;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#64ccc51a;border-radius:16px;border:1px solid rgba(100,204,197,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;top:50%;left:50%;transform-origin:center center;animation:animateBrightness linear infinite;will-change:transform,filter}.theme-light .icon-3d-wrapper{background:#a0c8781a;border:1px solid rgba(160,200,120,.3)}.band-1 .icon-3d-wrapper:nth-child(1){transform:translate(-50%,-50%) rotateX(0) translateZ(120px);animation-delay:0s;animation-duration:16s}.band-1 .icon-3d-wrapper:nth-child(2){transform:translate(-50%,-50%) rotateX(90deg) translateZ(120px);animation-delay:-4s;animation-duration:16s}.band-1 .icon-3d-wrapper:nth-child(3){transform:translate(-50%,-50%) rotateX(180deg) translateZ(120px);animation-delay:-8s;animation-duration:16s}.band-1 .icon-3d-wrapper:nth-child(4){transform:translate(-50%,-50%) rotateX(270deg) translateZ(120px);animation-delay:-12s;animation-duration:16s}.band-2 .icon-3d-wrapper:nth-child(1){transform:translate(-50%,-50%) rotateX(0) translateZ(120px);animation-delay:-0s;animation-duration:20s}.band-2 .icon-3d-wrapper:nth-child(2){transform:translate(-50%,-50%) rotateX(72deg) translateZ(120px);animation-delay:-4s;animation-duration:20s}.band-2 .icon-3d-wrapper:nth-child(3){transform:translate(-50%,-50%) rotateX(144deg) translateZ(120px);animation-delay:-8s;animation-duration:20s}.band-2 .icon-3d-wrapper:nth-child(4){transform:translate(-50%,-50%) rotateX(216deg) translateZ(120px);animation-delay:-12s;animation-duration:20s}.band-2 .icon-3d-wrapper:nth-child(5){transform:translate(-50%,-50%) rotateX(288deg) translateZ(120px);animation-delay:-16s;animation-duration:20s}.band-3 .icon-3d-wrapper:nth-child(1){transform:translate(-50%,-50%) rotateX(0) translateZ(120px);animation-delay:-0s;animation-duration:14s}.band-3 .icon-3d-wrapper:nth-child(2){transform:translate(-50%,-50%) rotateX(90deg) translateZ(120px);animation-delay:-3.5s;animation-duration:14s}.band-3 .icon-3d-wrapper:nth-child(3){transform:translate(-50%,-50%) rotateX(180deg) translateZ(120px);animation-delay:-7s;animation-duration:14s}.band-3 .icon-3d-wrapper:nth-child(4){transform:translate(-50%,-50%) rotateX(270deg) translateZ(120px);animation-delay:-10.5s;animation-duration:14s}.dev-icon{width:56px;height:56px;filter:brightness(1.1)}.competences-button-container{display:none;justify-content:flex-start;align-items:center;gap:2rem;margin-top:-4rem;margin-bottom:2rem;margin-left:3rem}.language-en .competences-button-container{justify-content:center;margin-left:0}.competences-button{padding:17px 40px;border-radius:50px;cursor:pointer;border:none;background-color:#fff;box-shadow:#0000000d 0 0 8px;letter-spacing:1.5px;text-transform:uppercase;font-size:15px;transition:all .5s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;color:#000;font-weight:500;outline:none;-webkit-tap-highlight-color:transparent}.theme-light .competences-button{background-color:#fffdf6;color:#a0c878}.competences-button:hover{background-color:var(--secondary-color);color:#000;box-shadow:#64ccc599 0 7px 29px}.theme-light .competences-button:hover{background-color:#a0c878;color:#fffdf6;box-shadow:#a0c87899 0 7px 29px}.competences-button:active{letter-spacing:3px;background-color:var(--secondary-color);color:#000;box-shadow:#64ccc599 0 0;transform:translateY(10px);transition:.1s}.theme-light .competences-button:active{background-color:#a0c878;color:#fffdf6;box-shadow:#a0c87899 0 0}.projets-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:4rem;margin-top:8rem;text-align:center}.theme-light .projets-title{color:#a0c878;font-weight:700}.projects-section{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-bottom:4rem;padding:0 2rem}.project-card{width:350px;height:250px;perspective:1000px}.project-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .999s}.project-card:hover .project-card-inner{transform:rotateY(180deg)}.project-card-front,.project-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.project-card-front{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;transform:rotateY(0);text-align:center;background-color:#070f2b;background-image:radial-gradient(at 80% 20%,rgba(100,204,197,.2) 0px,transparent 60%),radial-gradient(at 20% 80%,rgba(100,204,197,.15) 0px,transparent 70%);border-radius:1rem;box-shadow:inset 0 -12px 24px #ffffff14,0 0 20px #64ccc54d;color:var(--theme-text)}.theme-light .project-card-front{background-color:#faf6e9;background-image:radial-gradient(at 80% 20%,rgba(160,200,120,.35) 0px,transparent 60%),radial-gradient(at 20% 80%,rgba(221,235,157,.3) 0px,transparent 70%);box-shadow:inset 0 -12px 24px #ffffff40,0 0 18px #a0c87866,0 0 25px #ddeb9d80;color:var(--theme-text)}.project-card-front:before{content:"";position:absolute;inset:0;border-radius:1rem;padding:2px;background:linear-gradient(135deg,#64ccc5,#070f2b);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.theme-light .project-card-front:before{background:linear-gradient(135deg,#a0c878,#ddeb9d)}.project-highlight{color:#64ccc5}.theme-light .project-highlight{color:#ddeb9d}.project-card-front h3{margin:0 0 1rem;font-size:1.4rem;font-weight:700;z-index:1;position:relative}.project-card-front p{margin:0;font-size:.9rem;line-height:1.3;text-align:left;z-index:1;position:relative}.project-card-back{display:flex;align-items:stretch;justify-content:center;padding:0;transform:rotateY(180deg);overflow:hidden;gap:.5rem;background-color:#070f2b;background-image:radial-gradient(at 80% 20%,rgba(100,204,197,.2) 0px,transparent 60%),radial-gradient(at 20% 80%,rgba(100,204,197,.15) 0px,transparent 70%);border-radius:1rem;box-shadow:inset 0 -12px 24px #ffffff14,0 0 20px #64ccc54d}.project-card-back:before{content:"";position:absolute;inset:0;border-radius:1rem;padding:2px;background:linear-gradient(135deg,#64ccc5,#070f2b);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.project-image{width:100%;height:100%;object-fit:cover;border-radius:5px}.arch-image{width:55%;height:100%;object-fit:cover;border-radius:5px}.logo-image{width:45%;height:100%;object-fit:cover;border-radius:5px}@media (max-width: 768px){.projects-section{flex-direction:column;align-items:center;gap:2rem;padding:0 1rem}.project-card{width:100%;max-width:320px;height:220px}.project-card-front{padding:1.5rem}.project-card-front h3{font-size:1.2rem}.project-card-front p{font-size:.8rem}}.card{width:100%;min-height:fit-content;color:#fff;margin-bottom:3rem;position:relative;padding-left:2rem}.theme-light .card{color:#1f2937}.card:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:2px;background-color:#64ccc5;z-index:1}.theme-light .card:before{background-color:#a0c878}.card:after{content:"";position:absolute;left:1rem;bottom:-2rem;width:12px;height:12px;background-color:#64ccc5;border-radius:50%;z-index:2;transform:translate(-6px)}.theme-light .card:after{background-color:#a0c878}.card .content{padding:2rem;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.card .parcours-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:nowrap;gap:1rem}.card .parcours-institution{font-size:1.4rem;font-weight:600;color:#fff;margin:0}.theme-light .card .parcours-institution{color:#1f2937}.card .parcours-period{font-size:1rem;color:#64ccc5;font-weight:500;background:#64ccc533;padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(100,204,197,.3);white-space:nowrap;flex-shrink:0}.theme-light .card .parcours-period{color:#a0c878;background:#a0c87833;border:1px solid rgba(160,200,120,.3);font-weight:600}.card .parcours-description{font-size:1rem;color:#ffffffe6;line-height:1.6;margin:0}.theme-light .card .parcours-description{color:#1f2937}.highlight-text{color:#64ccc5;font-weight:600}.theme-light .highlight-text{color:#a0c878}.location-text{color:#fff9;font-size:.9em;font-weight:400}.theme-light .location-text{color:#1f293799}.parcours-institution-link{text-decoration:none;color:inherit;transition:transform .3s ease;display:inline-block}.parcours-institution-link:hover{transform:scale(1.1);text-shadow:0 4px 8px rgba(100,204,197,.3)}.theme-light .parcours-institution-link:hover{text-shadow:0 4px 8px rgba(160,200,120,.4)}.skills-grid-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.skills-grid-content{background-color:var(--theme-surface);border-radius:20px;padding:2rem;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.skills-grid-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--theme-text);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.skills-grid-close:hover{background-color:#ffffff1a;transform:scale(1.1)}.skills-grid-title{font-size:2rem;font-weight:700;color:var(--theme-text);text-align:center;margin-bottom:2rem;margin-top:0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem;max-width:800px;margin:0 auto}.skill-grid-item{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background-color:var(--theme-background);border-radius:15px;transition:all .3s ease;cursor:pointer;border:2px solid transparent;position:relative}.skill-grid-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0003;border-color:var(--theme-secondary);background-color:var(--theme-surface)}.theme-light .skill-grid-item:hover{border-color:#a0c878;background-color:#faf6e9;box-shadow:0 10px 25px #a0c8784d}.skill-grid-icon{width:60px;height:60px;object-fit:contain;margin-bottom:1rem;transition:transform .3s ease}.skill-grid-item:hover .skill-grid-icon{transform:scale(1.1)}.skill-grid-name{font-size:.9rem;font-weight:600;color:var(--theme-text);text-align:center}.mobile-skills-grid{display:none}@media (max-width: 768px){.carousel-container,.competences-button-container{display:none!important}.mobile-skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0;padding:0 1rem}.mobile-skill-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background-color:var(--theme-surface);border-radius:12px;transition:all .3s ease;cursor:pointer;border:2px solid transparent;aspect-ratio:1;min-height:100px}.mobile-skill-item:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0003;border-color:var(--theme-secondary)}.theme-light .mobile-skill-item{background-color:#fffdf6;border-color:#a0c87833}.theme-light .mobile-skill-item:hover{border-color:#a0c878;box-shadow:0 5px 15px #a0c8784d}.mobile-skill-icon{width:40px;height:40px;object-fit:contain;margin-bottom:.5rem;transition:transform .3s ease}.mobile-skill-item:hover .mobile-skill-icon{transform:scale(1.1)}.mobile-skill-name{font-size:.8rem;font-weight:600;color:var(--theme-text);text-align:center}}.contact-footer{width:100vw;background:#1e293b;padding:2rem 0 1.5rem;margin-top:6rem;margin-left:calc(-50vw + 50%);scroll-margin-top:120px}.theme-light .contact-footer{background:#f8f9fa}.contact-title{font-size:2.5rem;font-weight:700;color:#fff;margin:0 0 3rem;text-align:center}.theme-light .contact-title{color:#a0c878;font-weight:700}.contact-card{width:100%;margin:0 auto;background:transparent;padding:2rem 20%;display:flex;justify-content:space-between;align-items:center}.contact-left{display:flex;flex-direction:column;gap:1.2rem}.contact-item{display:flex;flex-direction:column;gap:.3rem}.contact-label{font-size:.85rem;color:#fff9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.theme-light .contact-label{color:#1f293799}.contact-link{color:var(--theme-text);text-decoration:none;font-size:1rem;font-weight:500;transition:color .3s ease}.contact-link:hover{color:#64ccc5}.theme-light .contact-link:hover{color:#a0c878}.contact-right{display:flex;gap:1.5rem;align-items:center}.social-link{width:50px;height:50px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:all .3s ease;text-decoration:none}.theme-light .social-link{background:#1f29370d;border:1px solid rgba(31,41,55,.1);color:#1f2937b3}.social-link:hover{transform:translateY(-2px);background:#64ccc51a;border-color:#64ccc5;color:#64ccc5;box-shadow:0 5px 15px #64ccc533}.theme-light .social-link:hover{background:#a0c8781a;border-color:#a0c878;color:#a0c878;box-shadow:0 5px 15px #a0c87833}@media (max-width: 768px){.contact-footer{padding:3rem 0 2rem;margin-top:4rem}.contact-title{font-size:2rem;margin-bottom:2rem}.contact-card{flex-direction:column;gap:2rem;padding:1rem 2rem;align-items:flex-start}.contact-left{width:100%}.contact-right{width:100%;justify-content:center}}@media (max-width: 480px){.contact-footer{padding:2rem 0}.contact-title{font-size:1.5rem;margin-bottom:1.5rem}.contact-card{padding:1rem}.contact-left{gap:1rem}.contact-label{font-size:.8rem}.contact-link{font-size:.9rem}.social-link{width:45px;height:45px}.contact-right{gap:1rem}}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.skill-grid-item{padding:1rem}.skill-grid-icon{width:50px;height:50px}.skills-grid-content{padding:1.5rem;margin:1rem}}:root{--theme-primary: #176B87;--theme-secondary: #64CCC5;--theme-accent: #DAFFFB;--theme-background: #070F2B;--theme-surface: #1E293B;--theme-text: #E6E6E6;--theme-text-secondary: #CBD5E1;--theme-border: #334155;--primary-color: var(--theme-primary);--secondary-color: var(--theme-secondary);--tertiary-color: #4A90E2;--text-color: var(--theme-text);--background-color: var(--theme-background);--surface-color: var(--theme-surface);--border-color: var(--theme-border)}.theme-light{--theme-primary: #A0C878;--theme-secondary: #DDEB9D;--theme-accent: #A0C878;--theme-background: #FFFDF6;--theme-surface: #FAF6E9;--theme-text: #1F2937;--theme-text-secondary: #1F2937;--theme-border: #DDEB9D}.theme-dark{--theme-primary: #176B87;--theme-secondary: #64CCC5;--theme-accent: #DAFFFB;--theme-background: #070F2B;--theme-surface: #1E293B;--theme-text: #E6E6E6;--theme-text-secondary: #CBD5E1;--theme-border: #334155}body{background-color:var(--theme-background);color:var(--theme-text);transition:background-color .3s ease,color .3s ease}.theme-light,.theme-dark,body,.nav-link,.btn-primary,.button-primary,.link-primary,.card,.surface,.background{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.theme-light strong,.theme-light b,.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6,.theme-light em,.theme-light .font-bold,.theme-light .font-semibold,.theme-light .font-medium,.theme-light [style*="font-weight: 500"],.theme-light [style*="font-weight: 600"],.theme-light [style*="font-weight: 700"],.theme-light [style*="font-weight: 800"],.theme-light [style*="font-weight: 900"],.theme-light [style*="font-weight: bold"],.theme-light [style*="font-weight: bolder"]{color:var(--theme-primary)}.theme-light .highlight,.theme-light .accent,.theme-light .primary,.theme-light .important,.theme-light .emphasis,.theme-light .italic,.theme-light mark,.theme-light .mark,.theme-light .featured,.theme-light .standout,.theme-light .key-point,.theme-light .highlight-text,.theme-light .project-highlight,.theme-light .highlight-base{color:var(--theme-primary)}.theme-light .nav-link:hover,.theme-light .btn-primary,.theme-light .button-primary,.theme-light .link-primary,.theme-light .text-primary,.theme-light .title,.theme-light .subtitle,.theme-light .caption,.theme-light .label,.theme-light .badge,.theme-light .tag,.theme-light .chip{color:var(--theme-primary)}@font-face{font-family:Geist Sans;src:url(/assets/Geist-Variable-C_ya05Eu.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-Variable-BJ0bRpLQ.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}html,body{margin:0;padding:0;overflow-x:hidden;overflow-y:auto;height:100%}:root{--primary-color: var(--theme-primary, #176B87);--secondary-color: var(--theme-secondary, #64CCC5);--tertiary-color: var(--theme-accent, #DAFFFB);--text-color: var(--theme-text, #E6E6E6);--background-color: var(--theme-background, #070F2B);--accent-bg: rgba(23, 107, 135, .1);--accent-bg-hover: rgba(100, 204, 197, .2)}body{font-family:Geist Sans,Roboto,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--theme-text);background-color:var(--theme-background)}#root{width:100%;min-height:100vh}.absolute-center-y{position:absolute;top:50%;transform:translateY(-50%)}.absolute-left{left:5%}.absolute-right{right:5%}
