body{margin:0;padding:0}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes softGlow{0%,to{box-shadow:0 0 20px #667eea00}50%{box-shadow:0 0 30px #667eea4d}}@keyframes subtlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.home-page{background-color:#000;background-position:50%;background-size:cover;overflow:hidden;position:relative}.background-fixed{background:#fff;background-size:cover;height:100vh;left:0;position:fixed;top:0;transition:opacity .3s ease-in-out;width:100%;z-index:1}.hero-background{background-position:50%;background-size:cover}.hero-background,.hero-section{display:flex;flex-direction:column;position:relative}.hero-section{align-items:flex-start;color:#000;margin-bottom:10%;z-index:2}.hover-overlay{border-radius:50%;height:0;opacity:0;overflow:hidden;position:fixed;transition:all .8s ease-in-out;width:0;z-index:99990}.hover-overlay.active{border-radius:0;height:100vh;left:0;opacity:1;top:0;width:100vw}.hover-overlay img{height:100%;object-fit:cover;width:100%}.hero-content{width:100%}.hero-content,.hero-title{color:#000;position:relative}.hero-title{animation:fadeInSlideUp .8s ease-out .2s both;font-family:Courier New,Courier,monospace;font-size:5em;font-style:normal;font-weight:700;font-weight:400;margin-bottom:0;margin-left:5%;margin-top:10%;z-index:1}.hero-description{align-items:center;animation:fadeInSlideUp .8s ease-out .4s both;display:flex;margin-left:7%;position:relative;z-index:1}.hero-description p{color:#555;font-family:Courier New,Courier,monospace;font-size:1.5em;font-weight:300;padding-right:1em}.hero-image-list-container{gap:20px;margin-top:5%}.hero-image-container{animation:fadeInSlideUp .8s ease-out .6s both;background-color:inherit;border-radius:8px;display:flex;margin-left:10%;padding:10px;position:relative;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;width:100%;z-index:4}.hero-image-container:hover{box-shadow:0 12px 24px #667eea40;cursor:pointer;transform:scale(1.05) translateY(-4px)}.hero-image-container .hero-image-texte{color:#333;font-family:Courier New,Courier,monospace;list-style:none;margin-left:10%;margin-top:5%;width:100%}.hero-image-container img{border-radius:50%;transition:transform .5s ease-in-out}.hero-image-texte ul{padding:0}.hero-image-texte ul li{list-style:none;padding:.5em}.hero-image-container img:hover{transform:rotate(1turn)}.Hero-list{color:#000;list-style:none;padding:0;position:absolute;right:30px;top:80%;z-index:999999}.Hero-list ul{color:#000;margin:0;padding:0}.Hero-list li{cursor:pointer;font-family:Courier New,Courier,monospace;font-size:1em;list-style:none;margin-bottom:10px;padding:15px;transition:transform .3s}.Hero-list li:hover{transform:translateY(-5px)}@media (max-width:1350px){.hero-title{font-size:4rem}.hero-video-container img{height:350px!important;width:350px!important}}@media (max-width:1050px){.hero-title{margin-top:17%}.hero-content{margin-bottom:7%}.hero-image-container img{height:340px!important;width:340px!important}.hero-image-texte{margin-left:7%!important}}@media (max-width:880px){.hero-title{font-size:2rem}.hero-image-container img{height:300px!important;width:300px!important}.Hero-list{font-size:.6em!important}}@media (max-width:700px){.hero-image-texte{font-size:.9rem}.hero-image-container img{height:250px!important;width:250px!important}.Hero-list li{padding:5px}}@media (max-width:610px){.hero-title{margin-top:20%}.hero-description p{font-size:1em!important}.hero-image-container img{height:200px!important;width:200px!important}.hero-image-texte{font-size:.7em}}@media (max-width:510px){.hero-image-container img{height:150px!important;width:150px!important}.hero-image-texte{font-size:.5em}.hero-title{margin-top:30%}}@media (max-width:475px){.hero-image-container{flex-direction:column}.hero-image-container img{height:120px!important;width:120px!important}.hero-image-texte{font-size:.5em}.hero-title{margin-top:20%}}.about-section{color:#fff;height:400vh;overflow:hidden;position:relative;text-align:center;z-index:2}@media (max-width:820px){.about-section{height:350vh}.bubble{height:400px;max-width:500px;width:60vw!important}}@media (max-width:550px){.about-section{height:450vh}.bubble{height:450px;width:85vw!important}.bubble-video,.bubble1,.bubble2,.bubble3,.bubble4{left:7.5%!important;right:auto!important}.bubble1{top:5%}.bubble2{top:25%}.bubble3{top:45%}.bubble4{top:65%}.bubble-video{top:85%}}.about-title{font-family:Courier New,Courier,monospace;font-size:2em;font-style:normal;margin-bottom:30px}.bubbles-container{height:100%;position:relative;width:100%;z-index:1}.bubble{align-items:center;background:#0000;color:#333;display:flex;font-size:1em;height:400px;justify-content:center;position:absolute;text-align:center;transition:transform .3s ease;width:670px;z-index:10}.bubble.active{transform:scale(1.2)}.bubble1{left:5%;top:2%}.bubble2{right:10%;top:20%}.bubble3{left:10%;top:40%}.bubble4{right:10%;top:60%}.bubble5{left:10%;top:80%}.video-background{border-radius:inherit;height:100%;object-fit:cover;top:50%;z-index:-1}.text-overlay,.video-background{left:50%;position:absolute;transform:translate(-50%,-50%);width:100%}.text-overlay{color:#000;font-family:Caesar Dressing,system-ui;font-size:1em;font-size:2em;text-align:center;top:20%;z-index:1}.bubble:hover{transform:scale(1.1)}@media (max-width:820px){.bubble{height:400px;max-width:500px;width:60vw!important}}@media (max-width:550px){.bubble{height:450px;width:85vw!important}.bubble1,.bubble2,.bubble3,.bubble4,.bubble5{left:7.5%!important;right:auto!important;transform:none!important}.bubble1{top:5%}.bubble2{top:25%}.bubble3{top:45%}.bubble4{top:65%}.bubble5{top:85%}}.skill-section{font-family:Courier New,Courier,monospace;position:relative;z-index:3}.skills-title{color:#000;font-size:5rem;font-weight:700;letter-spacing:-.5px;padding-left:30px}.skill-item-container{align-items:center;border-bottom:1px solid #ddd;border-radius:2%;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:30px;margin-left:100px;margin-right:100px;padding-bottom:30px;position:relative;transition:background-color .3s ease,color .3s ease}.skill-header{align-items:center;color:#000;display:flex}.skill-icon{height:120px;margin-right:100px;width:120px}.skill-title{font-family:Courier New,Courier,monospace;font-size:4em;font-weight:400;margin:0}.skill-details-container{display:flex;flex-direction:row;position:relative;width:200px}.skill-details{display:flex;flex-direction:column;font-family:Courier New,Courier,monospace;font-weight:400;gap:5px;list-style:none;margin:0;padding:0}.skill-detail-item{border-radius:3px;color:#555;font-size:.95rem;padding:5px}.skill-index{bottom:0;color:#555;font-size:1em;font-weight:700;margin:0;position:absolute;right:0}.skill-footer{color:#fff;font-family:Courier New,Courier,monospace;font-size:2em;font-weight:300;margin-left:100px}@media(max-width:1420px){.skill-details-container{font-size:.9em}}@media(max-width:1150px){.skills-title{font-size:4em!important}.skill-title{font-size:4em}.skill-item-container{margin-left:70px;margin-right:70px}}@media(max-width:850px){.skills-title{font-size:3em!important}.skill-title{font-size:3em}.skill-icon{height:80px;margin-right:50px;width:80px}.skill-item-container{margin-left:50px;margin-right:50px}}@media(max-width:600px){.skills-title{font-size:2em!important}.skill-title{font-size:2em}.skill-details-container{font-size:.5em!important;width:150px!important}}@media(max-width:500px){.skill-item-container{align-items:flex-start;flex-direction:column}}.hamburger-button{background:#fff;border:none;border-radius:5px;box-shadow:0 2px 5px #0003;cursor:pointer;display:flex;flex-direction:column;height:40px;justify-content:space-around;padding:8px;position:fixed;right:20px;top:20px;width:40px;z-index:2147483647}.hamburger-button span{background:#333;display:block;height:3px;transition:all .3s ease;width:100%}.hamburger-menu{align-items:center;background:#fffffffa;display:flex;height:100vh;inset:0 0 0 auto;justify-content:center;opacity:0;pointer-events:none;position:fixed;transform:translateX(100%);transition:transform .3s ease,opacity .3s ease;width:100%;z-index:2147483646}.hamburger-menu.open{opacity:1;pointer-events:auto;transform:translateX(0)}.menu-list{list-style:none;margin:0;max-width:800px;padding:0;width:100%}.menu-list li{cursor:pointer;font-family:Courier New,Courier,monospace;font-size:24px;margin:20px 0;text-align:center;transition:transform .3s ease,color .3s ease}.menu-list li:hover{color:#666;transform:translateX(5px)}.menu-container{align-items:center;display:flex;flex-direction:column;position:absolute;right:20px;top:60px;z-index:1000}.menu-label{color:#fff;font-family:Courier New,Courier,monospace;font-size:.8rem;font-weight:700;margin-bottom:5px;text-shadow:0 1px 3px #00000080}.menu-btn{background:#fff;border:none;border-radius:5px;cursor:pointer;display:flex;flex-direction:column;height:30px;justify-content:space-between;padding:5px;width:30px}.menu-btn span{background:#333;display:block;height:2px;transition:.3s;width:100%}.menu-btn.open span:first-child{transform:translateY(9px) rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.menu-nav{background:#fff;border-radius:5px;opacity:0;padding:10px;position:absolute;right:0;top:300px;transform:translateY(-10px);transition:.3s;visibility:hidden}.menu-nav.open{opacity:1;transform:translateY(0);visibility:visible}.menu-nav ul{list-style:none;margin:0;padding:0}.menu-nav li{border-radius:5px;cursor:pointer;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.menu-nav li a{color:#333;display:block;text-decoration:none;transition:all .3s ease}.menu-nav li:hover{background:#e8f5e9;border-left:3px solid #4caf50;padding-left:17px}.menu-nav li:hover a{color:#2e7d32;font-weight:600}@media (max-width:768px){.menu-btn{height:25px;width:25px}.menu-nav{top:200px}.menu-nav li{font-size:12px;margin:15px 0}}@media (max-width:600px){.menu-container{align-items:flex-end;right:10px;top:50px}.menu-label{font-size:.6rem;margin-bottom:2px;text-align:right}.menu-btn{height:25px;padding:4px;width:25px}.menu-nav{padding:5px;top:50px}.menu-nav li{font-size:11px;margin:5px 0;padding:6px 15px}}@media (max-width:480px){.menu-container{right:5px}}@media (orientation:landscape) and (max-height:500px){.menu-nav{overflow-y:auto;padding:60px 20px}.menu-nav li{margin:8px 0}}.bubble-content{background-color:#121212;border-radius:4px;box-shadow:0 10px 30px #00000080;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.25,.46,.45,.94);width:100%}.bubble-content:hover{transform:scale(1.02);z-index:10}.card-media{background-position:50%;background-size:cover;height:60%;overflow:hidden;position:relative;width:100%}.card-media:after{background:linear-gradient(180deg,#0003,#121212);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.card-content{display:flex;flex-direction:column;height:40%;justify-content:flex-start;padding:1.5rem;position:relative;z-index:2}.card-year{color:#ffffffe6;font-weight:300;margin-bottom:.2rem}.card-title,.card-year{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.8rem;line-height:1}.card-title{color:#fff;font-weight:700;margin-bottom:1rem;text-transform:capitalize}.card-description{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:#a0a0a0;display:-webkit-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.9rem;line-height:1.5;overflow:hidden}.theme-blue .card-year{color:#fff}.theme-blue:hover .card-media:after{background:linear-gradient(180deg,#00c3ff1a,#121212)}.theme-purple .card-year{color:#fff}.theme-purple:hover .card-media:after{background:linear-gradient(180deg,#b400ff1a,#121212)}.theme-green .card-year{color:#fff}.theme-green:hover .card-media:after{background:linear-gradient(180deg,#00ff881a,#121212)}.theme-orange .card-year{color:#fff}.theme-orange:hover .card-media:after{background:linear-gradient(180deg,#ff88001a,#121212)}@media (max-width:768px){.card-title,.card-year{font-size:1.4rem}.card-description{font-size:.85rem}.bubble-content{height:100%}}.skills-identity-container *{box-sizing:border-box}.skills-identity-container{align-items:center;display:flex;justify-content:center;min-height:auto;padding:2rem 1rem;position:relative;width:100%;z-index:10}.skills-id-card{background:#111;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 15px 40px #0006;display:flex;margin:0 auto;max-width:min(900px,85vw);overflow:hidden;width:100%}@media (max-width:768px){.skills-identity-container{padding:1rem .5rem}.skills-id-card{border-radius:12px;max-width:100%}}@media (max-width:600px){.skills-identity-container{padding:.5rem}.skills-id-card{border-radius:10px;max-width:100%;width:100%}}.skills-id-left{background:#e0e0e0;border-right:1px solid #0000000d;flex:0.8 1;justify-content:center;padding:3rem;position:relative}.business-card-content,.skills-id-left{align-items:center;display:flex;flex-direction:column}.business-card-content{margin-bottom:2rem;text-align:center}.business-card-logo{filter:grayscale(100%);height:80px;margin-bottom:1.5rem;object-fit:contain;opacity:.8;width:80px}.business-card-divider{background-color:#333;height:3px;margin:1.5rem auto 0;width:40px}.skills-id-title{color:#222;font-family:Helvetica Neue,sans-serif;font-size:2.2rem;font-weight:800;letter-spacing:-.5px;margin:0;text-transform:uppercase}.skills-id-subtitle{color:#666;font-family:Courier New,monospace;font-size:1rem;letter-spacing:2px;margin-top:.5rem;text-transform:uppercase}.business-card-socials{display:flex;gap:1.5rem;margin-top:auto}.skills-id-right{background:#1a1a1a;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:2rem}.skills-section-header{color:#00c3ff;font-family:Courier New,Courier,monospace;font-size:1.2rem;letter-spacing:1px;margin-bottom:2rem;text-transform:uppercase}.skills-intro-text{color:#ccc;font-family:Helvetica Neue,sans-serif;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.skills-id-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr}.skill-card-item{align-items:center;background:#ffffff0d;border:1px solid #0000;border-radius:10px;display:flex;gap:1rem;padding:.8rem;transition:all .3s ease}.skill-card-item:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateX(10px)}.skill-card-text{display:flex;flex-direction:column}.skill-icon-mini{height:36px;object-fit:contain;width:36px}.skill-name{color:#fff;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700}.skill-short-desc{color:#888;font-family:Helvetica Neue,sans-serif;font-size:.9rem;margin-top:.3rem}.skills-flip-container{perspective:1200px;position:relative;width:100%}.skills-flipper{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.skills-flipper.is-flipped{transform:rotateY(180deg)}.skills-back,.skills-front{backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.skills-front{position:relative;z-index:2}.skills-back{left:0;position:absolute;top:0;transform:rotateY(180deg);z-index:1}.fade-in{animation:fadeIn .4s ease-out}.back-btn{background:#0000;border:none;color:#00c3ff;cursor:pointer;font-family:Courier New,monospace;font-size:1rem;margin-bottom:2rem;padding:0;text-transform:uppercase}.back-btn:hover{text-decoration:underline}.detail-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:1.5rem}.detail-icon{height:80px;object-fit:contain;width:80px}.detail-title{color:#fff;font-family:Courier New,monospace;font-size:2rem;margin:0}.detail-desc{color:#ddd;font-size:1.1rem;font-style:italic;line-height:1.6;margin-bottom:2rem}.detail-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);list-style:none;padding:0}.detail-list li{background:#00c3ff1a;border-radius:6px;color:#00c3ff;font-family:Courier New,monospace;font-weight:600;padding:.8rem 1rem;text-align:center}@media (max-width:900px){.skills-id-card{flex-direction:column;max-width:500px;width:95%}.skills-id-left,.skills-id-right{padding:1.5rem}.skills-intro-text{margin-bottom:1rem}}@media (max-width:600px){.skills-identity-container{margin-bottom:30px;min-height:auto;padding:1rem .5rem}.skills-id-card{border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 30px #0006;max-width:100%;width:95%}.skills-id-left,.skills-id-right{padding:1rem .8rem}.business-card-logo{height:45px;margin-bottom:.6rem;width:45px}.skills-id-title{font-size:1.3rem}.skills-id-subtitle{font-size:.75rem;letter-spacing:1px}.business-card-socials{gap:.8rem;margin-top:.8rem}.skills-section-header{font-size:.9rem;margin-bottom:.8rem}.skills-intro-text{font-size:.8rem;margin-bottom:.8rem}.skills-id-grid{gap:.5rem}.skill-card-item{gap:.6rem;padding:.5rem}.skill-icon-mini{height:26px;width:26px}.skill-name{font-size:.9rem}.skill-short-desc{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;font-size:.7rem;overflow:hidden}.detail-header{gap:.8rem;margin-bottom:.8rem}.detail-icon{height:45px;width:45px}.detail-title{font-size:1.3rem}.detail-desc{font-size:.85rem;margin-bottom:.8rem}.detail-list{gap:.5rem;grid-template-columns:1fr}.detail-list li{font-size:.8rem;padding:.5rem .6rem}.back-btn{font-size:.8rem;margin-bottom:.8rem}}.navbar{align-items:center;background:#0000;color:#fff;display:flex;font-family:Courier New,Courier,monospace;justify-content:space-between;left:0;position:absolute;width:100%;z-index:3}.navbar-typed{color:#000}.navbar-left{align-items:center;display:flex}.logo{height:60px;margin-left:10px;width:60px}.navbar-right{align-items:center;display:flex;margin-right:20px}.navbar-menu{display:flex;gap:20px;list-style:none;margin:0;padding:0}.navbar-menu li a{color:#000;font-size:1.2em;text-decoration:none;transition:color .3s ease}.default-style .navbar-menu li a{color:#000}.cv-style .navbar-menu li a{color:#343333}.navbar-menu li a:hover{color:#ff6f61}@media (max-width:768px){.navbar-typed{font-size:.8rem}}@media (max-width:468px){.navbar-typed{font-size:.4rem}}footer{background-color:#333;color:#fff;padding:20px;position:relative;text-align:center;z-index:1}.projet-navigation{background:#000;border-bottom:1px solid #ffffff1a;padding:2rem 0;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.projet-nav-container{display:flex;gap:4rem;justify-content:center;margin:0 auto;max-width:1200px}.projet-nav-link{border-bottom:1px solid #0000;color:#666;font-family:Courier New,Courier,monospace;font-size:1rem;letter-spacing:1px;padding-bottom:5px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.projet-nav-link:hover{color:#fff}.projet-nav-link.active{border-bottom:1px solid #fff;color:#fff}@media (max-width:768px){.projet-nav-container{flex-wrap:wrap;gap:1.5rem}.projet-nav-link{font-size:.9rem}}:root{--bg-page:#000;--text-primary:#fff;--text-secondary:#aaa;--accent-color:#fff;--font-main:"Courier New",Courier,monospace}.projet1-page,.projet2-page,.projet3-page,.projet5-page{background:#000;background:var(--bg-page);color:#fff;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-family:var(--font-main);min-height:100vh;overflow-y:auto;padding-bottom:5rem;position:relative}.projet-content{margin:0 auto;max-width:1000px;padding:2rem}.projet-presentation{animation:fadeIn 1s ease-out;background:#0000;margin-bottom:4rem;padding:2rem 0}.projet-presentation h1{border-bottom:1px solid #fff3;font-size:3.5rem;font-weight:300;letter-spacing:-1px;margin-bottom:2rem;padding-bottom:1rem}.projet-presentation>p{color:#aaa;color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:3rem;max-width:800px}.contexte,.objectifs{margin:4rem 0}.contexte h2,.objectifs h2{border-left:2px solid #fff;border-left:2px solid var(--accent-color);color:#fff;color:var(--text-primary);font-size:1.5rem;font-weight:400;letter-spacing:2px;margin-bottom:1.5rem;padding-left:1rem;text-transform:uppercase}.contexte p{color:#aaa;color:var(--text-secondary);font-size:1rem;line-height:1.8;margin-left:1.5rem}.objectifs ul{list-style:none;margin-left:1.5rem;padding:0}.objectifs li{color:#aaa;color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1rem;padding-left:1.5rem;position:relative}.objectifs li:before{color:#fff;color:var(--accent-color);content:">";font-weight:700;left:0;position:absolute}.projet-images{display:flex;flex-direction:column;gap:2.5rem;margin-top:4rem}.projet-images img{border:1px solid #ffffff1a;border-radius:4px;filter:grayscale(20%);height:auto;transition:all .5s ease;width:100%}.projet-images img:hover{border-color:#ffffff80;filter:grayscale(0);transform:scale(1.02)}@media (max-width:768px){.projet-presentation h1{font-size:2.5rem}.projet-content{padding:1.5rem}.projet-images{grid-template-columns:1fr}.contexte p,.objectifs ul{margin-left:.5rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert-email-container{background:#fff;border:1px solid #dcdcdc;border-radius:8px;box-shadow:0 2px 10px #0000000d;color:#333;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:2rem auto;max-width:700px;overflow:hidden}.email-context-box{background:#f0f7f1;border-left:4px solid #2e7d32;border-radius:4px;color:#444;font-size:.9em;margin:1.5rem 0;padding:1rem}.email-context-box p{margin-bottom:.5rem}.email-context-box p:last-child{margin-bottom:0}.email-context-box strong{color:#1a1a1a;font-weight:600}.email-context-box em{color:#2e7d32;font-style:normal;font-weight:500}.email-meta{background:#f1f3f4;border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:1.2rem}.meta-row{display:flex;margin-bottom:.5rem}.meta-row:last-child{margin-bottom:0}.meta-label{color:#777;font-weight:500;min-width:60px}.meta-value{color:#333}.email-body{background-color:#fff;padding:2rem}.email-body p{color:#333;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.dq-table{border-collapse:collapse;font-size:.9rem;margin:1.5rem 0;width:100%}.dq-table th{background:#f1f3f4;border-bottom:2px solid #e0e0e0;color:#555;font-weight:600;padding:12px;text-align:left}.dq-table td{border-bottom:1px solid #eee;padding:12px;vertical-align:middle}.dq-table tr:last-child td{border-bottom:none}.col-kpi{color:#2c3e50;font-weight:600}.col-val{color:#333;font-family:Consolas,monospace;font-weight:700}.col-threshold{color:#777;font-family:Consolas,monospace;font-size:.85rem}.col-details{color:#777;font-size:.85rem;font-style:italic;max-width:200px}.status-pill{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:4px 8px}.status-pill.success{background:#e6f4ea;color:#1e8e3e}.status-pill.warning{background:#fef7e0;color:#f9ab00}.status-pill.critical{background:#fce8e6;color:#d93025}.email-actions{align-items:flex-start;border-top:1px solid #eee;display:flex;flex-direction:column;gap:1rem;margin-top:2rem;padding-top:1.5rem}.btn-report{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:background .2s}.btn-report:hover{background:#0056b3}@media (max-width:600px){.alert-email-container{margin:1rem}.email-body{padding:1.5rem}.dq-table td,.dq-table th{font-size:.8rem;padding:8px}.col-details,.col-threshold{display:none}}.ecg-results-container{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 10px 30px #00000080;color:#d4d4d4;font-family:SF Mono,Fira Code,Consolas,Courier New,monospace;font-size:13px;line-height:1.5;margin:1.5rem auto;max-width:700px;overflow:hidden}.terminal-header{align-items:center;background-color:#2d2d2d;border-bottom:1px solid #333;display:flex;padding:8px 12px}.terminal-dot{border-radius:50%;height:12px;margin-right:8px;width:12px}.terminal-dot.red{background-color:#ff5f56}.terminal-dot.yellow{background-color:#ffbd2e}.terminal-dot.green{background-color:#27c93f}.terminal-title{color:#9aa0a6;font-size:12px;font-weight:500;margin-left:10px}.terminal-body{padding:16px}.terminal-line{display:flex;margin-bottom:4px}.log-time{color:#6a9955;margin-right:10px;min-width:65px}.log-level{font-weight:700;margin-right:10px;min-width:75px}.log-level.level-info{color:#569cd6}.log-level.level-success{color:#4ec9b0}.log-level.level-debug{color:#9cdcfe}.log-level.level-warning{color:#ce9178}.log-msg{color:#d4d4d4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-divider{background-color:#333;height:1px;margin:12px 0}.terminal-result{display:flex;flex-direction:column;gap:4px}.result-line{align-items:center;display:flex}.result-label{color:#c586c0;margin-right:10px}.result-label,.result-value{font-weight:700}.result-value.success{color:#4ec9b0}.result-value.danger{color:#f44747}.result-value.info{color:#569cd6}.result-value.warning{color:#dcdcaa}.cursor-line{margin-top:8px}.cursor-prompt{color:#569cd6;font-weight:700;margin-right:8px}.cursor{animation:blink 1s step-end infinite;color:#d4d4d4}@keyframes blink{50%{opacity:0}}@media (max-width:600px){.ecg-results-container{font-size:11px;margin:1rem}.terminal-line{flex-wrap:wrap}.log-msg{margin-left:0;padding-left:20px;width:100%}}.ecg-demo-wrapper{margin:2rem auto;max-width:700px}.ecg-demo-wrapper .ecg-results-container{margin:0 0 1.5rem}.model-explanation{background:#ffffff0d;border-left:4px solid #4caf50;border-radius:8px;color:#e0e0e0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:1.5rem}.model-explanation h4{color:#4caf50;font-size:1.1rem;font-weight:600;margin:0 0 .8rem}.model-explanation p{color:#ccc;font-size:.95rem;line-height:1.6;margin:0}.model-explanation strong{color:#fff;font-weight:600}.tech-container{background:#0000;border-top:1px solid #ffffff1a;margin-top:4rem;padding:2rem 0}.tech-container h2{color:#fff;font-family:Courier New,Courier,monospace;font-size:1.5rem;font-weight:400;letter-spacing:2px;margin-bottom:2rem;text-align:left;text-transform:uppercase}.tech-grid{display:flex;flex-wrap:wrap;gap:1.5rem}.tech-bubble{background:#0000;border:1px solid #fff3;border-radius:4px;min-width:150px;padding:1rem 1.5rem;transition:all .3s ease}.tech-bubble:hover{background:#ffffff0d;border-color:#fff;transform:translateY(-2px)}.tech-bubble h3{color:#fff;font-size:1rem;font-weight:700;margin:0 0 .5rem}.tech-bubble h3,.tech-bubble p{font-family:Courier New,Courier,monospace}.tech-bubble p{color:#aaa;font-size:.85rem;line-height:1.4;margin:0}@media (max-width:768px){.tech-grid{flex-direction:column}.tech-bubble{width:100%}}:root{--spacing:clamp(1rem,2vw,2rem);--content-width:min(90vw,1200px);--primary-bg:#f8f9fa;--text-dark:#2c3e50;--text-light:#7f8c8d;--accent:#667eea}.parcours-page{background:#fff;min-height:100vh;overflow-x:hidden;width:100vw}.parcours-container{margin:0 auto;padding:clamp(1rem,2vw,2rem);padding:var(--spacing);width:min(90vw,1200px);width:var(--content-width)}.horizontal-scroll-container{-webkit-overflow-scrolling:touch;display:flex;height:100vh;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;width:100vw}.scroll-slide{display:flex;flex:0 0 100%;flex-direction:column;height:100vh;justify-content:center;overflow:visible;padding:2rem .5rem;position:relative;scroll-snap-align:center;scroll-snap-stop:always;width:100vw}.parcours-section{align-items:center;display:flex;gap:1.5rem;height:100%;max-height:90vh;padding:0 5%}.parcours-section-text{flex:0 0 60%;overflow-y:visible;padding:.8rem .8rem 1rem}.parcours-section-text::-webkit-scrollbar{width:6px}.parcours-section-text::-webkit-scrollbar-track{background:#f1f1f1}.parcours-section-text::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.parcours-text{display:flex;flex-direction:column;font-family:Courier New,Courier,monospace;height:100%;justify-content:center}.parcours-text,.parcours-text h2{color:#2c3e50;color:var(--text-dark)}.parcours-text h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:.8rem}.parcours-text h3{color:#2c3e50;color:var(--text-dark);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;letter-spacing:.5px;margin-bottom:.4rem;text-transform:uppercase}.parcours-text li,.parcours-text p{color:#7f8c8d;color:var(--text-light);font-size:clamp(1.1rem,1.2vw,1.2rem);line-height:1.4;margin-bottom:.5rem;text-align:justify}.skills-list{margin:.5rem 0}.skills-list li{color:#7f8c8d;color:var(--text-light);font-size:clamp(.9rem,1.2vw,1rem);line-height:1.4;margin:0;padding:.3rem 0}.skills-sublist{list-style:none;margin:.2rem 0 0;padding:.3rem 0 .3rem 1.5rem}.skills-sublist li{color:#7f8c8d;color:var(--text-light);font-size:clamp(.85rem,1.1vw,.95rem);line-height:1.3;margin:0;padding:.2rem 0}.list-stage-img{gap:1rem}.list-stage-img img{height:80px;width:80px}.parcours-section-add img{border-radius:0;box-shadow:none;width:180px}.parcours-images{align-items:center;display:flex;flex:0 0 35%;flex-direction:column;gap:1.2rem;gap:2rem;justify-content:center;margin:0 auto}.parcours-image{border-radius:0;box-shadow:none;height:auto;object-fit:contain;width:clamp(250px,80%,400px)}.parcours-image:hover{transform:scale(1.05)}.list-stage-img{align-items:center;display:flex;gap:.8rem;justify-content:center;padding:1rem;width:100%}.list-stage-img img{border-radius:0;box-shadow:none;height:100px;object-fit:contain;width:100px}.parcours-section-add img{height:auto;object-fit:contain;width:140px}.list-stage-img:has(>img:nth-child(3)) img{height:70px;width:70px}.parcours-section-add:has(>img:nth-child(3)) img{width:120px}.parcours-images:has(>.parcours-image:nth-child(3)) .parcours-image{width:calc(clamp(250px, 80%, 400px) - 30px)}@media (max-width:1300px){.scroll-right{display:none}.horizontal-scroll-container{flex-direction:column;height:auto;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none}.scroll-slide{flex:none;height:auto;min-height:auto;overflow-y:visible;padding-top:80px;scroll-snap-align:none;width:100%}.parcours-section{flex-direction:column;height:auto;max-height:none;overflow:visible}.parcours-images,.parcours-section-text{flex:none;overflow:visible;width:100%}.parcours-section-text{max-height:none;overflow-y:visible}.parcours-text h3{font-size:clamp(.95rem,1.5vw,1.2rem);margin-bottom:.3rem}.parcours-text li,.parcours-text p{font-size:clamp(.8rem,1vw,.95rem);line-height:1.3;margin-bottom:.3rem}.parcours-images{flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:1rem;padding:1rem}.parcours-image{max-width:250px;width:80%}.list-stage-img{flex-wrap:wrap}}@media (max-width:768px){.parcours-section-text h3{font-size:1.3rem}.parcours-image{max-width:200px;width:60%}.list-stage-img img{height:80px;width:80px}.parcours-section-add img{height:auto;width:120px}.list-stage-img:has(>img:nth-child(3)) img{height:70px;width:70px}.parcours-section-add:has(>img:nth-child(3)) img{width:100px}}@media (max-width:400px){.parcours-image{max-width:150px;width:40%}.list-stage-img img{height:60px;width:60px}.parcours-section-add img{width:80px}.list-stage-img:has(>img:nth-child(3)) img{height:45px;width:45px}.parcours-section-add:has(>img:nth-child(3)) img{width:70px}.parcours-images{gap:1rem}.list-stage-img{gap:.5rem;padding:.5rem}.parcours-section{padding:0 1rem}.parcours-text h2{font-size:1.5rem}.parcours-text h3{font-size:1.2rem}.parcours-text li,.parcours-text p{font-size:1rem}}.horizontal-scroll-container{scrollbar-color:#888 #f1f1f1;scrollbar-width:thin}.horizontal-scroll-container::-webkit-scrollbar{height:8px}.horizontal-scroll-container::-webkit-scrollbar-track{background:#f1f1f1}.horizontal-scroll-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.cv-content{scrollbar-color:#888 #f1f1f1;scrollbar-width:thin}.cv-content::-webkit-scrollbar{width:6px}.cv-content::-webkit-scrollbar-track{background:#f1f1f1}.cv-content::-webkit-scrollbar-thumb{background:#888;border-radius:3px}@media (max-height:800px){.cv-content{font-size:.9em}}@media (max-height:600px){.cv-content{font-size:.8em}}.skills-list{list-style:none;margin:0;padding:0}.not-found{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;height:100vh;justify-content:center}.not-found-content{padding:2rem;text-align:center}.not-found h1{color:#6b46c1;font-size:8rem;line-height:1;margin:0}.not-found h2{color:#2d3748;font-size:2rem;margin:1rem 0}.not-found p{color:#4a5568;margin-bottom:2rem}.home-button{background:#6b46c1;border-radius:8px;color:#fff;display:inline-block;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.home-button:hover{background:#553c9a;box-shadow:0 4px 12px #6b46c133;transform:translateY(-2px)}
/*# sourceMappingURL=main.58df2adb.css.map*/