#app-scroll,html{scroll-behavior:smooth}#app-scroll,body,html{height:100%}.about,header{justify-content:space-between}header,nav{display:flex}.skill .bar,body,html,nav a{overflow:hidden}.skill .bar,.skills,nav a{position:relative}#certificats,.hero{background-color:var(--bg)}:root{--bg:#050b2e;--primary:#4da3ff;--text:#ffffff;--muted:#b8c1ff}*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}.no-scroll{overflow:hidden!important;touch-action:none}body{background:var(--bg);color:var(--text);line-height:1.6}#app-scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}header{padding:30px 80px;align-items:center}.hero,section{padding:80px}.header-content{display:flex;align-items:center}.about-left,.burger{flex-direction:column}.header-logo{margin-right:15px}header h1{font-size:20px;letter-spacing:2px}.cv-button,nav a{font-size:16px;transition:.3s;text-decoration:none}nav{gap:20px}nav a{color:#fff;padding:10px 20px;border-radius:25px;border:2px solid transparent;background-color:transparent}.github-button:hover,nav a:hover{color:#050b2e;background-color:#fff;border-color:#050b2e}.github-button:active,nav a:active{transform:scale(.98)}.burger{display:none;gap:6px;cursor:pointer;z-index:10001}.burger span{width:28px;height:3px;background:#fff;border-radius:3px;transition:.3s}.burger.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.burger.active span:nth-child(2){opacity:0}.burger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.hero-title-full{width:100%;margin-bottom:60px}.hero-title-full h2{font-size:clamp(48px, 6vw, 110px);line-height:1.1}.hero-title-full span{display:block;font-size:clamp(60px, 7vw, 100px);font-weight:700;color:var(--primary)}.hero-content{display:flex;align-items:center;justify-content:space-between;gap:80px;width:100%}.hero-left{flex:1;display:flex-start;flex-direction:column;gap:15px}.hero-profile img{width:100%;max-width:100%;height:auto}.horizontal-logo-container{display:flex;justify-content:flex-start}.hero-right{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:25px;margin-top:-110px}.about-right p,.about-text{text-align:left}.hero-right-row{display:flex;align-items:center;gap:15px}.hero-right-row h2{font-size:28px}.hero-right p{font-size:18px;line-height:1.6;max-width:420px;color:var(--muted)}.about-text span,.cv-button{color:var(--primary);font-weight:600}.cv-button{display:inline-block;margin-top:20px;padding:12px 26px;background:0 0;border:2px solid var(--primary);border-radius:30px;letter-spacing:.5px}.cv-button:hover{background:var(--primary);color:#050b2e;transform:translateY(-3px);box-shadow:0 10px 25px rgba(77,163,255,.3)}.cv-button:active{transform:scale(.97)}.about{padding:80px;display:flex;align-items:center;background-color:#050b2e;color:var(--text)}.about-content{display:flex;justify-content:space-between;gap:50px;width:100%}.horizontal-logo-container{margin-top:-115px;margin-left:35px}.horizontal-logo{max-width:70%;width:150%;height:auto;margin-top:20px}.about-left{display:flex;align-items:flex-start;max-width:70%}.about-right{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:160px;max-width:45%}.vertical-logo-container{max-width:40%;width:100%;margin-top:-600px;margin-left:850px}.vertical-logo{width:40%;height:auto;max-width:100%;margin-top:20px}.about-text h2{font-size:25px;margin-bottom:10px}.about-text span{font-size:60px}.about-image img{width:150%;max-width:200%;height:auto;border-radius:10px;margin-top:20px}.about-right p{font-size:25px;line-height:1.6;margin-bottom:15px;margin-left:120px}.image-below-title{display:flex;justify-content:center;margin-top:20px}.image-below-title img{width:70%;max-width:250%;height:auto;border-radius:10px;margin-left:75px;margin-top:20px;align-self:center}.image img,img{max-width:100%}.skills{padding:100px 10%}#scrollTopBtn,.lightbox{position:fixed;z-index:9999}.skills h3{text-align:center;margin-bottom:50px;font-size:2rem;letter-spacing:1px}.skills-container{max-width:750px;margin:auto}.skill{margin-bottom:30px;padding:15px 20px;border-radius:12px;background:rgba(255,255,255,.03);backdrop-filter:blur(6px);transition:transform .3s,background .3s}.level,.skill .bar{border-radius:20px}.skill:hover{transform:translateY(-3px);background:rgba(255,255,255,.06)}.skill span{font-weight:500;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.95rem;letter-spacing:.5px}.formation h3,.projets h3{margin-bottom:60px;text-align:center}.skill .bar{height:8px;background:rgba(255,255,255,.08)}.level{height:100%;background:linear-gradient(90deg,var(--primary),#6ee7ff);width:0;transition:width 1.2s}.card,.certificat-card{background-color:rgba(255,255,255,.08)}.skill.visible .level.advanced{width:90%}.skill.visible .level.intermediate{width:65%}.level::after{content:"";position:absolute;top:0;right:0;height:100%;width:20px;background:rgba(255,255,255,.3);filter:blur(8px);opacity:.6}.formation h3{font-size:36px}.projets h3{font-size:50px}.card h2,.card h3{font-size:17px;color:var(--primary)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px}.card{border:1px solid rgba(255,255,255,.12);padding:30px;border-radius:16px;text-align:center}.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.25)}.card:hover,.certificat-card:hover{box-shadow:0 25px 50px rgba(0,0,0,.35)}.card h4{margin-bottom:10px;color:var(--primary)}.card h3{margin-top:22px;margin-bottom:-10px}.card h2{margin-top:14px;margin-bottom:10px}#certificats{padding:120px 80px;color:var(--text);text-align:center}#certificats h3{font-size:60px;margin-bottom:70px;letter-spacing:1px}.certificat-card{max-width:700px;margin:0 auto;padding:50px 40px;border:1px solid rgba(255,255,255,.12);border-radius:20px;transition:transform .4s,box-shadow .4s}.certificat-card:hover{transform:translateY(-10px)}.certificat-card h4{font-size:36px;margin-bottom:20px;color:var(--primary)}.desc-certif{font-size:24px;margin-bottom:30px}.opquast-badge{width:100%;max-width:320px;margin:20px auto 0;display:block}.github-button{font-size:16px;color:#fff;background-color:#333;text-decoration:none;padding:12px 20px;border-radius:25px;border:2px solid transparent;transition:.3s;display:inline-block;margin:10px 0}footer{text-align:center;padding:40px;color:var(--muted);font-size:14px}.project-content{display:flex;align-items:flex-start;gap:400px;margin-top:20px;justify-content:flex-end}.project-text{text-align:left;max-width:50%}.project-text ul{text-align:left;list-style-type:disc;margin-left:20px;font-size:20px}.project-text h5{text-align:left;margin-bottom:10px;font-size:25px}.project-text p,.project-text strong{text-align:left;margin-bottom:10px;font-size:20px}.projets-labyrinthes h3{text-align:center;font-size:36px;margin-bottom:40px}.projets-labyrinthes h4{text-align:center;font-size:30px;margin-bottom:40px;color:var(--primary)}.project-content .images-container{display:flex;flex-direction:column;gap:20px;align-items:flex-end;max-width:50%;margin-right:70px}.project-content .images-container img{cursor:pointer;transition:transform .3s,box-shadow .3s}.project-content .images-container img:hover{transform:scale(1.05);box-shadow:0 10px 30px rgba(0,0,0,.4)}.project-content img{max-width:100%;border-radius:8px}.stage-layout{display:grid!important;grid-template-columns:1.9fr 0.9fr!important;gap:4px!important;align-items:start}.stage-layout .images-container{display:grid!important;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto;gap:20px;max-width:820px}.stage-layout .images-container img{width:150%;border-radius:12px}.stage-layout img:first-child{grid-column:1;grid-row:1}.stage-layout img:nth-child(2){grid-column:2;grid-row:1/span 2}.stage-layout img:nth-child(3){grid-column:1;grid-row:2}.work-with-me{display:flex;justify-content:space-between;align-items:center;gap:80px;padding:100px 80px;background-color:var(--bg);color:var(--text)}.work-with-me .content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:40px}.work-with-me h2{font-size:clamp(36px, 4vw, 52px);font-weight:700;color:var(--primary);letter-spacing:1px}.image img{width:100%;height:auto;border-radius:16px}.contact-info{flex:1;max-width:520px;text-align:left;display:flex;flex-direction:column;gap:18px}.contact-info .logo{text-align:left;margin-bottom:20px}.contact-info p{font-size:18px;line-height:1.6;color:var(--text)}.contact-info strong{font-weight:600}.contact-info a{color:var(--primary);text-decoration:none;transition:opacity .3s}.contact-info a:hover{opacity:.8}.social-icons{display:flex;gap:18px;margin-top:10px;align-items:center}.social-logo{width:42px;height:auto;transition:transform .3s,filter .3s;filter:brightness(1.2)}.social-logo:hover{transform:scale(1.15);filter:brightness(1.4)}#scrollTopBtn{bottom:30px;right:30px;width:52px;height:52px;background:linear-gradient(135deg,#6a5cff,#9b8cff);border:none;border-radius:50%;cursor:pointer;opacity:0;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:opacity .3s,transform .25s}#scrollTopBtn.show{opacity:1;pointer-events:auto}#scrollTopBtn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 28px rgba(0,0,0,.45)}#scrollTopBtn .arrow{position:absolute;top:50%;left:50%;width:14px;height:14px;border-left:3px solid #fff;border-top:3px solid #fff;transform:translate(-50%,-40%) rotate(45deg)}#scrollTopBtn:focus{outline:#ffffff solid 3px;outline-offset:4px}.fade-left,.fade-right,.fade-up,.zoom-in{opacity:0;transition:.9s}.fade-up{transform:translateY(40px)}.fade-left{transform:translateX(-60px)}.fade-right{transform:translateX(60px)}.zoom-in{transform:scale(.9)}.show{opacity:1;transform:translate(0,0) scale(1)}h2,h3,h4{transition:transform .6s,opacity .6s}.card{transition:transform .4s,box-shadow .4s}.card:hover{transform:translateY(-10px) scale(1.02)}nav a::after{content:"";position:absolute;width:100%;height:2px;bottom:6px;left:-100%;transition:left .3s}nav a:hover::after{left:0}img{height:auto;display:block}.formation .card img{width:100%;height:auto;object-fit:contain}.header-logo,.hero-logo{width:auto;height:auto;max-height:60px}.contact-info .logo img{max-width:365px;width:100%;height:auto}.card img{aspect-ratio:auto!important}.lightbox{display:none;padding-top:60px;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.9)}.lightbox-img{cursor:zoom-in}.lightbox-content{margin:auto;display:block;max-width:95vw;max-height:95vh;width:90vh;height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 0 40px rgba(0,0,0,.6)}.lightbox .close{position:absolute;top:20px;right:40px;color:#fff;font-size:40px;cursor:pointer}@media (max-width:1600px){header h1{font-size:16px;text-align:center}nav a{font-size:24px;padding:8px 14px}.hero-title-full{text-align:left;margin-left:-20px}.hero-title-full h2{font-size:80px;text-align:left;margin:0 auto}.horizontal-logo-container{display:flex;justify-content:flex-start}.horizontal-logo{width:100%;max-width:100%;margin-left:-60px}.hero-right{margin-top:-110px}.hero-right-row h2{font-size:50px}.formation .card p,.hero-right p,.projets h4{font-size:20px}.about-text{text-align:left;align-items:left}.vertical-logo-container{max-width:40%;width:100%;margin-top:-480px;margin-left:550px}.vertical-logo{width:50%;height:auto;max-width:100%;margin-top:20px}.about-text span{display:block;text-align:center;margin:10px auto 0}.about-right{width:100%;padding:0,20px;text-align:left;margin-top:30px}.about-right p{font-size:25px;line-height:1.6;max-width:100%;margin-left:70px}.hero-profile img{width:125%;max-width:125%;margin-left:-55px}.about-image img{width:120%;max-width:120%;margin:20px auto 0 -55px}.image-below-title img{display:none}.hero-title-full span{font-size:45px;text-align:left;margin:0 auto}.card{padding:20px}#certificats{padding:80px 20px;background-color:var(--bg);color:var(--text);text-align:center}#certificats h3{font-size:50px;margin-bottom:50px}.certificat-card{max-width:600px;margin:0 auto 40px;padding:30px;background-color:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px}.certificat-card h4{font-size:32px}.desc-certif{font-size:22px}.opquast-badge{width:100%;max-width:300px;margin:20px auto 10px;display:block}.formation .card h3,.formation h2,h4{font-size:25px}@media (max-width:1600px){#certificats h3{font-size:46px}.certificat-card h4{font-size:28px}.desc-certif{font-size:20px}.opquast-badge{max-width:250px}}.project-text p,.project-text ul{font-size:24px}.project-content{display:flex;flex-direction:row;gap:30px;justify-content:space-between}.project-content .images-container{flex:1;display:flex;justify-content:center}.project-content .images-container img{width:90%;max-width:90%;height:auto;object-fit:contain;margin-top:40px}.stage-layout .images-container{grid-template-columns:1fr}.stage-layout .images-container img{grid-column:auto!important;grid-row:auto!important}.stage-layout{grid-template-columns:1.9fr 0.7fr!important}.project-text{flex:1;text-align:left;padding-right:20px}.work-with-me h2{font-size:28px}footer{font-size:12px}}@media (max-width:1024px){header h1{font-size:16px;text-align:center}#certificats h3{font-size:42px}.certificat-card h4{font-size:26px}.desc-certif{font-size:18px}.opquast-badge{max-width:220px}nav a{font-size:14px;padding:8px 14px}.hero-title-full{text-align:left;margin-left:-20px}.hero-title-full h2{font-size:62px;text-align:left;margin:0 auto}.horizontal-logo-container{display:flex;justify-content:flex-start}.horizontal-logo{width:100%;max-width:100%;margin-top:60px;margin-left:-60px}.hero-right{margin-top:-60px}.hero-right-row h2{font-size:20px}.hero-right p{font-size:14px}.about-text{text-align:left;align-items:left}.vertical-logo-container{max-width:40%;width:100%;margin-top:-350px;margin-left:415px}.vertical-logo{width:50%;height:auto;max-width:100%;margin-top:20px}.about-text span{display:block;text-align:center;margin:10px auto 0}.about-right{width:100%;padding:0,20px;text-align:left;margin-top:30px}.about-right p{font-size:16px;line-height:1.6;max-width:100%;margin-left:70px}.hero-profile img{width:125%;max-width:125%;margin-left:-55px}.about-image img{width:120%;max-width:120%;margin:20px auto 0 -55px}.image-below-title img{display:none}.hero-title-full span{font-size:45px;text-align:left;margin:0 auto}.card{padding:20px}.formation .card h3,.formation .card p,.formation h2,h4{font-size:15px}.project-text p,.project-text ul{font-size:16px}.project-content{display:flex;flex-direction:row;gap:30px;justify-content:space-between}.project-content .images-container{flex:1;display:flex;justify-content:center}.project-content .images-container img{width:100%;max-width:100%;height:auto;object-fit:contain;margin-top:40px}.stage-layout{grid-template-columns:1.9fr 1.0fr!important}.project-text{flex:1;text-align:left;padding-right:20px}.work-with-me h2{font-size:28px}footer{font-size:12px}}@media (max-width:768px){.hero-content,h2,h3,h4{text-align:center}section{padding:50px 20px}#certificats h3{font-size:36px;margin-bottom:40px}.certificat-card h4{font-size:22px}.desc-certif,.hero-right p,.project-text p,.project-text ul{font-size:16px}.opquast-badge{max-width:180px}header{flex-direction:column;gap:20px;padding:20px}nav{flex-wrap:wrap;justify-content:center}.hero-content{flex-direction:column;gap:40px}.hero-left,.hero-right{margin:0;align-items:center}.hero-right{margin-top:50px}.hero-profile img{width:100%;max-width:100%;height:auto;margin-left:0}.hero-right p{max-width:100%}.horizontal-logo-container{margin:50px 0 10px;justify-content:center}.horizontal-logo{width:150%;max-width:150%;margin:0 auto}.about-content{flex-direction:column;align-items:center;gap:40px}.about-left,.about-right{max-width:100%;padding:0;align-items:center;text-align:center}.about-right{padding-top:0}.about-right p{font-size:18px;margin:0}.about-text span{font-size:42px}.about-image img,.image-below-title img{width:100%;max-width:400px;margin:0 auto}.vertical-logo,.vertical-logo-container{display:none}.project-content{flex-direction:column;gap:30px;align-items:center}.project-content .images-container,.project-text{max-width:100%;margin:0;align-items:center;text-align:left}.stage-layout{grid-template-columns:1fr!important}.stage-layout .images-container{margin-top:30px;justify-self:center;max-width:100%}.work-with-me{flex-direction:column;gap:50px;padding:60px 20px;text-align:center}.work-with-me .content{align-items:center}.image img{width:100%;max-width:420px}.contact-info{align-items:center;text-align:center}.contact-info .logo img{max-width:260px}#scrollTopBtn{bottom:20px;right:20px;width:46px;height:46px}#scrollTopBtn .arrow{width:12px;height:12px;border-width:2.5px}}@media (max-width:426px){header{flex-direction:row}#certificats h3{font-size:32px;margin-bottom:30px}.certificat-card h4,nav a{font-size:20px}.desc-certif{font-size:15px}.opquast-badge{max-width:160px}header h1{font-size:18px}nav{position:fixed;top:0;right:-100%;height:100vh;width:70%;background:#050b2e;flex-direction:column;justify-content:center;align-items:center;gap:40px;transition:right .4s;z-index:10000}nav.active{right:0}.burger{display:flex}.hero-title-full h2{font-size:40px}.hero-title-full span{font-size:48px}.hero-profile img{width:100%;max-width:100%;margin-left:-5px}.horizontal-logo{width:330px;max-width:90vw;height:auto}.about-image img{width:140%;max-width:140%;margin:20px auto 0 -53px}.image-below-title img{width:140%;max-width:140%;margin:20px auto 0}.hero-right-row h2{font-size:24px}.hero-right p,.project-text p,.project-text ul{font-size:16px}.about-text span{font-size:40px;text-align:center}.about-right p{font-size:17px}.work-with-me h2{font-size:32px}#scrollTopBtn{bottom:20px;right:5px;width:49px;height:49px}}@media (max-width:375px){.about-text,.about-text span,.hero-title-full,.hero-title-full h2{text-align:center}header h1{font-size:17px}#certificats h3,.work-with-me h2{font-size:30px}.certificat-card h4{font-size:18px}.desc-certif{font-size:14px}.opquast-badge{max-width:140px}nav a{font-size:15px;padding:8px 16px}.hero-title-full h2{font-size:36px;margin:0 auto}.hero-profile img{width:100%;max-width:100%;margin-left:-5px}.about-image img{width:140%;max-width:140%;margin:20px auto 0 -43px}.image-below-title img{width:140%;max-width:140%;margin:20px auto 0}.hero-title-full span{font-size:32px;text-align:center;margin:0 auto}.hero-right-row h2{font-size:22px}.hero-right p,.project-text p,.project-text ul{font-size:15px}.about-text{align-items:center}.about-text span{display:block;margin:10px auto 0}.about-right p{font-size:16px}#scrollTopBtn{bottom:20px;right:5px;width:49px;height:49px}}@media (max-width:320px){header h1{font-size:16px;text-align:center}#certificats h3,.work-with-me h2{font-size:28px}.certificat-card h4{font-size:16px}.desc-certif{font-size:13px}.opquast-badge{max-width:140px}nav a{font-size:14px;padding:8px 14px}.hero-title-full{text-align:left;margin-left:-20px}.hero-title-full h2{font-size:36px;text-align:left;margin:0 auto}.hero-right-row h2{font-size:20px}.hero-right p,.project-text p,.project-text ul{font-size:14px}.about-text{text-align:center;align-items:center}.about-text span{display:block;text-align:center;margin:10px auto 0}.about-right p{font-size:15px}.hero-profile img{width:100%;max-width:100%;margin-left:0}.about-image img{width:170%;max-width:170%;margin:20px auto 0 -55px}.image-below-title img{width:170%;max-width:170%;margin:20px auto 0}.hero-title-full span{font-size:32px;text-align:center;margin:0 auto}.card{padding:20px}footer{font-size:12px}#scrollTopBtn{bottom:20px;right:5px;width:46px;height:46px}}
