:root{--bg-color: #0d0208;--text-color: #e0e0e0;--accent-color: #00ff41;--dim-color: #a0a0a0;--card-bg: rgba(255, 255, 255, .03);--card-border: rgba(255, 255, 255, .1);--nav-bg: rgba(13, 2, 8, .85);--font-heading: "Fira Code", monospace;--font-body: "Inter", sans-serif;--gradient-hero: linear-gradient(135deg, rgba(0, 255, 65, .1) 0%, rgba(0, 0, 0, 0) 100%)}*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@keyframes blink{0%,to{border-color:transparent}50%{border-color:var(--accent-color)}}#matrix-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;opacity:.15}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,transparent 0%,var(--bg-color) 80%);z-index:-1;pointer-events:none}.glass-nav{position:fixed;top:0;width:100%;padding:1rem 5%;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;z-index:1000;border-bottom:1px solid var(--card-border)}.logo{font-family:var(--font-heading);font-weight:700;color:var(--accent-color);font-size:1.2rem}.glass-nav ul{display:flex;gap:1.5rem;list-style:none}.glass-nav a{color:var(--text-color);text-decoration:none;font-size:.95rem;position:relative;transition:color .3s}.glass-nav a:hover,.glass-nav a:active,.glass-nav a.active{color:var(--accent-color)}.glass-nav a:after{content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background-color:var(--accent-color);transition:width .3s}.glass-nav a:hover:after,.glass-nav a.active:after{width:100%}.section-container{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section-title{font-family:var(--font-heading);font-size:2rem;margin-bottom:3rem;position:relative;display:inline-block}.section-title:before{content:"// ";color:var(--accent-color)}.lang-switch{margin-left:20px;font-family:Fira Code,monospace;font-size:.9rem}.lang-switch a{text-decoration:none;color:var(--dim-color);margin:0 5px;transition:color .3s}.lang-switch a:hover,.lang-switch a.active{color:var(--accent-color)}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:4rem;background:var(--gradient-hero)}.full-height{min-height:100vh}.hero-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;width:100%;padding:0 2rem;gap:4rem}.hero-text{flex:1}.greeting{font-family:var(--font-heading);color:var(--accent-color);margin-bottom:1rem}.glitch{font-family:var(--font-heading);font-size:clamp(2rem,8vw,3.5rem);font-weight:800;line-height:1.1;margin-bottom:1rem;color:#fff;text-transform:uppercase;word-break:break-word}.role{font-size:1.5rem;color:var(--dim-color);margin-bottom:2rem;font-weight:400}.bio-short{font-size:1.1rem;margin-bottom:2rem;max-width:500px}.social-icons{display:flex;gap:1.5rem;margin-bottom:2.5rem}.social-icons a{color:var(--dim-color);font-size:1.5rem;transition:all .3s}.social-icons a:hover{color:var(--accent-color);transform:translateY(-3px)}.cta-group{display:flex;gap:1rem}.btn{padding:.8rem 2rem;border-radius:4px;text-decoration:none;font-weight:600;transition:all .3s;font-family:var(--font-heading)}.btn.primary{background:var(--accent-color);color:#000;border:1px solid var(--accent-color)}.btn.primary:hover{background:transparent;color:var(--accent-color)}.btn.secondary{background:transparent;color:var(--text-color);border:1px solid var(--card-border)}.btn.secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}.hero-image-container{flex:1;display:flex;justify-content:center}.image-frame{width:350px;height:350px;border-radius:20px;padding:10px;border:1px solid var(--card-border);position:relative;background:#ffffff05}.image-frame:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:20px;background:linear-gradient(45deg,var(--accent-color),transparent 60%);opacity:.3}.profile-pic{width:100%;height:100%;object-fit:cover;border-radius:12px;filter:grayscale(20%);transition:.5s}.profile-pic:hover{filter:grayscale(0%)}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}.docs-downloads{display:flex;flex-direction:column;gap:1rem}.doc-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;text-decoration:none;color:var(--text-color);transition:all .3s}.doc-card:hover{border-color:var(--accent-color);background:#00ff410d;transform:translate(5px)}.doc-card i{font-size:1.8rem;color:var(--accent-color)}.doc-card span{font-weight:600}.skills-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.expertise-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;transition:all .4s ease}.expertise-card:hover{transform:translateY(-10px);box-shadow:0 10px 30px #00000080;border-color:var(--accent-color)}.expertise-image{height:160px;overflow:hidden;position:relative}.expertise-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:grayscale(80%)}.expertise-card:hover .expertise-image img{transform:scale(1.1);filter:grayscale(0%)}.expertise-content{padding:1.5rem}.expertise-content h3{font-size:1.1rem;margin-bottom:.5rem;color:#fff}.cert-origin{font-size:.8rem;color:var(--accent-color);margin-bottom:1rem;font-family:var(--font-heading)}.competencies li{font-size:.9rem;color:var(--dim-color);margin-bottom:.4rem;padding-left:1rem;position:relative}.competencies li:before{content:"▹";position:absolute;left:0;color:var(--accent-color)}.labs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.lab-card{background:var(--card-bg);border:1px solid var(--card-border);padding:2rem;border-radius:12px;transition:.3s}.lab-card:hover{border-color:var(--accent-color)}.lab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lab-status{font-size:.7rem;padding:4px 8px;border-radius:4px;font-family:var(--font-heading)}.lab-status.in-progress{background:#00ff4133;color:var(--accent-color)}.lab-status.queued{background:#ffffff1a;color:var(--dim-color)}.lab-body p{font-size:.9rem;color:var(--dim-color);margin-bottom:1rem}.progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-bar .fill{height:100%;background:var(--accent-color)}footer{border-top:1px solid var(--extra-dim);background:#0d0208f2;padding:2rem 0;margin-top:4rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.social-icons-footer{display:flex;gap:1.5rem;justify-content:center;align-items:center}.icon-svg{width:24px;height:24px;filter:invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);transition:all .3s}.social-icons-footer a:hover .icon-svg{filter:invert(100%);transform:scale(1.2)}.whatsapp-btn{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-color);text-decoration:none;background:#00ff411a;padding:.5rem 1rem;border-radius:20px;border:1px solid var(--dim-color);transition:all .3s}.whatsapp-btn:hover{background:var(--text-color);color:#000}.icon-svg-small{width:18px;height:18px;filter:invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%)}.whatsapp-btn:hover .icon-svg-small{filter:invert(0%)}.copyright{margin-top:1rem;display:none}.email-contact{margin-top:1rem;font-family:var(--font-heading);color:var(--accent-color);font-size:.9rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:4rem}.service-card{background:#0d020899;border:1px solid var(--card-border);padding:2rem;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer}.service-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 0 20px #00ff411a}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(0,255,65,.03),transparent);transform:translate(-100%);transition:.5s}.service-card:hover:before{transform:translate(100%)}.service-icon{font-size:2.5rem;color:var(--accent-color);margin-bottom:1.5rem}.service-card h3{margin-bottom:1rem;font-size:1.2rem}.service-card p{font-size:.9rem;color:var(--dim-color);line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.project-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:2rem;transition:all .3s;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:250px}.project-card:hover{transform:translateY(-5px);border-color:var(--accent-color);background:#ffffff0d}.project-status{font-family:var(--font-heading);font-size:.8rem;color:var(--accent-color);margin-bottom:1rem;display:inline-block;padding:4px 8px;border:1px solid var(--accent-color);border-radius:4px;background:#00ff411a}.project-info h3{font-size:1.3rem;margin-bottom:.8rem;color:#fff}.project-desc{color:var(--dim-color);font-size:.95rem;margin-bottom:1.5rem}.project-meta{color:#c7d0d9;font-size:.85rem;margin-top:-.6rem;margin-bottom:1rem}.project-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}.project-links a{text-decoration:none;border:1px solid var(--accent-color);color:var(--accent-color);font-size:.85rem;padding:.35rem .6rem;border-radius:999px;transition:all .25s ease}.project-links a:hover{background:var(--accent-color);color:#07110a}.tech-stack{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:auto}.tech-stack span{font-size:.8rem;color:var(--dim-color);background:#ffffff0d;padding:4px 8px;border-radius:4px}.cert-block{margin-bottom:4rem}.cert-block h3{margin-bottom:1.5rem;color:var(--accent-color);border-left:3px solid var(--accent-color);padding-left:1rem}.carousel-card{background:#ffffff0d;border:1px solid var(--card-border);border-radius:8px;height:200px;display:flex;align-items:center;justify-content:center;color:var(--dim-color)}.thm-badge-container{margin-bottom:2rem;background:#ffffff05;padding:1rem;border-radius:10px}.splide__pagination__page.is-active{background:var(--accent-color)!important}@media (max-width: 900px){.hero-content{flex-direction:column-reverse;text-align:center}.hero-text{align-items:center;display:flex;flex-direction:column}.about-grid,.skills-gallery{grid-template-columns:1fr}}@media (max-width: 1100px){.glass-nav{padding:1rem 2%}.glass-nav ul{gap:1rem}.logo{font-size:1rem}}@media (max-width: 600px){.glass-nav{flex-direction:column;padding:.8rem 1rem;gap:.8rem;position:fixed}.hero-section{padding-top:2rem;min-height:auto}.glass-nav ul{gap:.8rem;flex-wrap:wrap;justify-content:center}.glass-nav a{font-size:.85rem}.logo{font-size:.9rem;text-align:center}.lang-switch{margin-left:0;width:100%;text-align:center;border-top:1px solid var(--card-border);padding-top:.5rem}.glitch{font-size:2rem}.role{font-size:1rem;word-break:break-word}.bio-short{font-size:.95rem;max-width:100%}.image-frame{width:220px;height:220px}.section-container{padding:3rem 1.5rem}.section-title{font-size:1.4rem}.cta-buttons{flex-direction:column;width:100%;gap:1rem}.btn{width:100%;text-align:center;padding:1rem}.contact-form{padding:1.5rem}.contact-links{grid-template-columns:1fr}}@media (max-width: 400px){.glitch{font-size:1.8rem}}.contact-container{max-width:800px;margin:0 auto}.contact-form{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:2.5rem;margin-bottom:3rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--font-heading);color:var(--accent-color);font-size:.9rem}.required{color:#f44}.form-group input,.form-group textarea{width:100%;padding:.8rem;background:#ffffff0d;border:1px solid var(--card-border);border-radius:6px;color:var(--text-color);font-family:var(--font-body);font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);background:#00ff410d}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;margin-top:1rem;cursor:pointer}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-status{margin-top:1rem;text-align:center}.success-message{color:var(--accent-color);padding:1rem;background:#00ff411a;border:1px solid var(--accent-color);border-radius:6px}.error-message{color:#f44;padding:1rem;background:#ff44441a;border:1px solid #ff4444;border-radius:6px}.contact-methods{margin-top:3rem}.contact-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.contact-link{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;text-decoration:none;color:var(--text-color);transition:all .3s}.contact-link:hover{border-color:var(--accent-color);transform:translateY(-5px);background:#00ff410d}.contact-link i{font-size:2rem;color:var(--accent-color)}.contact-link span{font-family:var(--font-heading);font-size:.9rem}.timeline{position:relative;margin:0 0 4rem;padding-left:2rem;border-left:2px solid var(--card-border)}.timeline-item{position:relative;margin-bottom:2.5rem}.timeline-item:before{content:"";position:absolute;left:calc(-2rem - 7px);top:.4rem;width:12px;height:12px;border-radius:50%;background:var(--bg-color);border:2px solid var(--accent-color)}.timeline-date{font-family:var(--font-heading);font-size:.85rem;color:var(--accent-color)}.timeline-item h3{font-size:1.15rem;color:#fff;margin:.2rem 0}.timeline-org{color:var(--dim-color);font-size:.95rem;margin-bottom:.6rem}.timeline-item ul{list-style:none;color:var(--text-color);font-size:.95rem}.timeline-item li{position:relative;padding-left:1.2rem;margin-bottom:.3rem}.timeline-item li:before{content:">";position:absolute;left:0;color:var(--accent-color);font-family:var(--font-heading)}.timeline-item .tech-stack{margin-top:.6rem}.subsection-title{font-family:var(--font-heading);color:var(--accent-color);font-size:1.2rem;margin:1rem 0 1.5rem}@media (max-width: 600px){.timeline{padding-left:1.2rem}.timeline-item:before{left:calc(-1.2rem - 7px)}}@media (max-width: 600px){main>section:first-of-type{padding-top:9rem}}.role{-webkit-hyphens:manual;hyphens:manual}.sr-only{user-select:none;-webkit-user-select:none;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:2000;padding:.75rem 1rem;background:var(--accent-color);color:#000;font-weight:600;border-radius:4px;text-decoration:none}.skip-link:focus{top:1rem}#contenu{scroll-margin-top:5rem}#contenu:focus{outline:none}:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.typing{border-right:2px solid var(--accent-color)}.project-card{position:relative}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px}.card-link:focus-visible{outline:none}.project-card:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.project-links a{position:relative;z-index:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000eb;cursor:zoom-out}.lightbox img{max-width:92%;max-height:88%;object-fit:contain;border-radius:8px;box-shadow:0 0 50px #00ff4166;cursor:default}.lightbox-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--accent-color);background:#0d0208e6;color:var(--accent-color);font-size:1.3rem;cursor:pointer}.clickable-cert img{cursor:zoom-in}.timeline-logos{display:flex;gap:.75rem;margin-bottom:.6rem}.timeline-logos img{height:44px;width:auto;padding:6px 10px;background:#fff;border-radius:6px}.expertise-image.logo-banner{display:flex;align-items:center;justify-content:center;gap:1.5rem;background:#fff}.expertise-image.logo-banner img{width:auto;height:auto;max-height:70px;max-width:45%;object-fit:contain;filter:none}.expertise-card:hover .expertise-image.logo-banner img{transform:none}.hero-links{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin-top:1.5rem}.hero-links a{color:var(--dim-color);text-decoration:none;font-size:.95rem;transition:color .2s}.hero-links a:hover{color:var(--accent-color)}.github-card{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;color:var(--text-color);text-decoration:none;transition:border-color .2s}.github-card:hover{border-color:var(--accent-color)}.github-card>i{font-size:2rem;color:var(--accent-color)}.github-card-text{display:flex;flex-direction:column;flex:1;min-width:12rem}.github-card-text span{color:var(--dim-color);font-size:.9rem}.form-note{color:var(--dim-color);font-size:.85rem;margin-top:.75rem}.success-message a{color:inherit}.menu-toggle{display:none}@media (max-width: 600px){.js .glass-nav{flex-direction:row;flex-wrap:wrap;justify-content:space-between}.js .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--card-border);border-radius:8px;color:var(--accent-color);font-size:1.2rem;cursor:pointer}.js .glass-nav ul{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:.5rem}.js .glass-nav.open ul{display:flex}.js .glass-nav ul li a{display:block;padding:.75rem .25rem;font-size:1rem}.js .glass-nav a:after{display:none}.js .lang-switch{display:flex;gap:.5rem;justify-content:flex-start}.js .lang-switch a{display:inline-block}.js main>section:first-of-type{padding-top:6rem}.hero-links{justify-content:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.about-text p+p{margin-top:1rem}#parcours,#journey{padding-top:1rem}.expertise-image.logo-banner img[src*=kya]{max-height:130px}.timeline-logos img[src*=kya]{height:72px;padding:4px}.hero-school{font-family:var(--font-heading);font-size:clamp(1.1rem,3vw,1.5rem);font-weight:600;color:var(--text-color);margin:-.25rem 0 1.5rem}.image-frame,.image-frame:after{border-radius:50%}.profile-pic{border-radius:50%;object-position:50% 22%}.contact-links{grid-template-columns:repeat(4,1fr);gap:1rem}.contact-link{padding:1.25rem .75rem;text-align:center}.contact-link span{white-space:nowrap}@media (max-width: 760px){.contact-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.contact-links{grid-template-columns:1fr}}.type-cursor{display:inline-block;width:.55em;height:1em;margin-left:2px;vertical-align:-.1em;background:var(--accent-color);animation:type-blink .8s steps(1) infinite}@keyframes type-blink{50%{opacity:0}}:root[data-theme=light]{--bg-color: #f4f7f4;--text-color: #13201a;--accent-color: #0b8a3a;--dim-color: #4d5c53;--card-bg: #ffffff;--card-border: rgba(19, 32, 26, .12);--nav-bg: rgba(255, 255, 255, .88);--gradient-hero: linear-gradient(135deg, rgba(11, 138, 58, .08) 0%, rgba(255, 255, 255, 0) 100%)}:root[data-theme=light] .glitch,:root[data-theme=light] .expertise-content h3,:root[data-theme=light] .project-info h3,:root[data-theme=light] .timeline-item h3{color:var(--text-color)}:root[data-theme=light] .project-meta{color:var(--dim-color)}:root[data-theme=light] footer{background:#ffffffeb}:root[data-theme=light] .service-card{background:var(--card-bg)}:root[data-theme=light] .btn.primary{color:#fff}:root[data-theme=light] .btn.primary:hover{color:var(--accent-color)}:root[data-theme=light] .tech-stack span{background:#13201a0f}:root[data-theme=light] .expertise-card,:root[data-theme=light] .project-card,:root[data-theme=light] .lab-card{box-shadow:0 1px 3px #13201a0f}:root[data-theme=light] .expertise-card:hover{box-shadow:0 10px 30px #13201a1f}:root[data-theme=light] .timeline-logos img,:root[data-theme=light] .expertise-image.logo-banner{border:1px solid var(--card-border)}:root[data-theme=light] .icon-svg{filter:invert(36%) sepia(85%) saturate(560%) hue-rotate(102deg) brightness(88%) contrast(95%)}:root[data-theme=light] .social-icons-footer a:hover .icon-svg{filter:brightness(0)}:root[data-theme=light] #matrix-bg{opacity:.12}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--card-border);border-radius:50%;background:transparent;color:var(--accent-color);font-size:.95rem;cursor:pointer;transition:border-color .2s,transform .2s}.theme-toggle:hover{border-color:var(--accent-color);transform:rotate(-15deg)}.glass-nav li.theme-item{display:flex;align-items:center}@media (max-width: 600px){.js .glass-nav li.theme-item{padding:.5rem .25rem}}
