*{box-sizing:border-box;scroll-behavior:smooth;min-width:0;margin:0;padding:0}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{vertical-align:baseline;box-sizing:border-box;border:0;margin:0;padding:0;font-size:100%;font-weight:400}body{line-height:1}table{border-collapse:collapse;border-spacing:0}button,input,select,textarea{border:0;margin:0;padding:0}body,input,select,textarea{font-family:Arial,sans-serif}.affichage{position:absolute;top:100px}.main-content{flex:1 0 auto;padding-top:150px}@media (width<=768px){.main-content{padding-top:80px}}h1{font-weight:100}body{background:#f3f5fb}@keyframes slideUnderline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.blobs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(60px);opacity:.6;border-radius:50%;position:absolute}.blob-1{background:radial-gradient(circle,#64b5f6,#90caf9);width:520px;height:520px;top:-120px;right:-100px}.blob-2{background:radial-gradient(circle,#90caf9,#bbdefb);width:400px;height:400px;bottom:60px;left:-120px}.blob-3{background:radial-gradient(circle,#b39ddb,#64b5f6);width:280px;height:280px;top:45%;right:8%}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(28px)}.reveal-visible{opacity:1;transform:translateY(0)}@media (width<=768px){.blob-1{width:300px;height:300px;top:-60px;right:-60px}.blob-2{width:240px;height:240px;bottom:40px;left:-80px}.blob-3{width:160px;height:160px}}.hero{text-align:center;background:linear-gradient(135deg,#1b2430 0%,#2c3e50 60%,#1b2430 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;margin-top:-150px;padding:210px 40px 60px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#64b5f614 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-100px;right:-150px}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#64b5f60f 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;bottom:-80px;left:-100px}.hero-greeting{letter-spacing:4px;text-transform:uppercase;color:#64b5f6;margin-bottom:16px;font-size:1.1rem;font-weight:600;animation:.7s both fadeSlideDown}.hero-name{color:#fff;margin-bottom:24px;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.1;animation:.7s .15s both fadeSlideDown}.hero-name span{color:#64b5f6}.hero-role{color:#ffffffb3;margin-bottom:8px;font-size:clamp(1.1rem,2.5vw,1.5rem);animation:.7s .3s both fadeSlideDown}.hero-typewriter{color:#64b5f6;min-height:2.2rem;margin-bottom:48px;font-size:clamp(1.2rem,2.8vw,1.7rem);font-weight:600;animation:.7s .45s both fadeSlideDown}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;animation:.7s .6s both fadeSlideDown;display:flex}.hero-btn{letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;padding:14px 36px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-block}.hero-btn-primary{color:#1b2430;background-color:#64b5f6}.hero-btn-primary:hover{background-color:#90caf9;transform:translateY(-2px);box-shadow:0 8px 24px #64b5f659}.hero-btn-secondary{color:#fff;background-color:#0000;border:2px solid #fff6}.hero-btn-secondary:hover{color:#64b5f6;border-color:#64b5f6;transform:translateY(-2px)}.hero-divider{transform-origin:0;background:#64b5f6;border-radius:2px;width:60px;height:3px;margin:0 auto 32px;animation:.5s .3s both heroDividerSlide}@keyframes heroDividerSlide{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero{margin-top:-80px;padding:130px 24px 60px}}@media (width<=480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-btn{text-align:center}}.cv-page{color:#222;max-width:900px;margin:40px auto 80px;padding:0 24px;font-family:Arial,sans-serif}.cv-header{color:#fff;text-align:center;background:#3b3b4f;border-radius:4px 4px 0 0;padding:40px 24px 32px}.cv-header h1{letter-spacing:.12em;text-transform:uppercase;font-size:2.4rem;font-weight:700}.cv-header p{letter-spacing:.2em;text-transform:uppercase;opacity:.75;margin-top:8px;font-size:.95rem}.cv-body{border:1px solid #e0e0e0;border-top:none;grid-template-columns:240px 1fr;gap:0;display:grid}.cv-sidebar{background:#ebedf5;border-right:1px solid #e0e0e0;flex-direction:column;gap:32px;padding:28px 20px;display:flex}.cv-main{flex-direction:column;gap:32px;padding:28px;display:flex}.cv-section-title{letter-spacing:.15em;text-transform:uppercase;color:#3b3b4f;border-bottom:2px solid #3b3b4f;margin-bottom:14px;padding-bottom:6px;font-size:.85rem;font-weight:700}.cv-about-item{color:#444;align-items:center;gap:8px;margin-bottom:6px;font-size:.88rem;display:flex}.cv-skills-list{flex-direction:column;gap:10px;list-style:none;display:flex}.cv-skills-list li{color:#333;border-left:3px solid #3b3b4f;padding-left:10px;font-size:.85rem;line-height:1.4}.cv-skills-list li strong{font-weight:700}.cv-lang-list{flex-direction:column;gap:10px;display:flex}.cv-lang-item{flex-direction:column;gap:2px;display:flex}.cv-lang-name{color:#333;font-size:.88rem;font-weight:700}.cv-lang-level{color:#777;font-size:.78rem}.cv-entries{flex-direction:column;gap:18px;display:flex}.cv-entry{border-left:3px solid #3b3b4f;padding-left:14px}.cv-entry-title{color:#222;font-size:.9rem;font-weight:700;line-height:1.4}.cv-entry-period{color:#777;margin-top:2px;font-size:.78rem}.cv-entry-note{color:#3b3b4f;margin-top:2px;font-size:.78rem;font-style:italic}.cv-hobbies{flex-wrap:wrap;gap:0;display:flex}.cv-hobby{color:#555;text-align:center;border-radius:6px;flex-direction:column;flex:1 1 0;align-items:center;gap:8px;padding:20px 12px;font-size:.85rem;transition:background .2s;display:flex}.cv-hobby:hover{background:#f0f0f5}.cv-hobby-icon{font-size:2.2rem}@media (width<=640px){.cv-body{grid-template-columns:1fr}.cv-sidebar{border-bottom:1px solid #e0e0e0;border-right:none}}.pro-page{max-width:960px;margin:0 auto;padding:48px 24px 64px}.pro-page-title{color:#1b2430;letter-spacing:-.5px;margin-bottom:8px;font-size:2rem;font-weight:700}.pro-page-underline{transform-origin:0;background:#64b5f6;border-radius:2px;width:56px;height:4px;margin-bottom:48px;animation:.5s both slideUnderline}.pro-experience{border-left:3px solid #64b5f6;margin-bottom:56px;padding-left:28px}.pro-exp-header{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:6px;display:flex}.pro-exp-company{color:#1b2430;font-size:1.5rem;font-weight:700}.pro-exp-badge{letter-spacing:.8px;text-transform:uppercase;border-radius:20px;padding:3px 12px;font-size:.75rem;font-weight:700;display:inline-block}.badge-alternance{color:#1565c0;background-color:#e3f2fd}.badge-stage{color:#2e7d32;background-color:#e8f5e9}.pro-exp-period{color:#888;margin-bottom:24px;font-size:.85rem}.pro-project{background:#fff;border:1px solid #e8ecf0;border-radius:8px;margin-bottom:24px;padding:28px}.pro-project-title{color:#1b2430;align-items:center;gap:8px;margin-bottom:12px;font-size:1.15rem;font-weight:700;display:flex}.pro-project-title:before{content:"";background:#64b5f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.pro-description{color:#444;font-size:.92rem;line-height:1.7}.pro-skills-label{text-transform:uppercase;letter-spacing:1px;color:#888;margin-top:16px;margin-bottom:10px;font-size:.8rem;font-weight:700}.pro-skills-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pro-skills-list li{color:#1565c0;background:#e3f2fd;border-radius:4px;padding:4px 12px;font-size:.82rem;font-weight:600}.pro-skills-list.secondary li{color:#5b21b6;background:#f3f0ff}.pro-project-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:16px;display:grid}.pro-project-img{object-fit:cover;border-radius:6px;width:100%}.pro-btn{color:#1b2430;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background-color:#64b5f6;border:none;border-radius:4px;margin-top:16px;padding:10px 28px;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-block}.pro-btn:hover{background-color:#90caf9;transform:translateY(-2px)}@media (width<=640px){.pro-page{padding:32px 16px 48px}.pro-experience{padding-left:16px}.pro-project{padding:20px 16px}.pro-project-grid{grid-template-columns:1fr}.pro-exp-company{font-size:1.25rem}}.pro-carousel-track{position:relative;overflow:hidden}.pro-carousel-img{aspect-ratio:16/9;object-fit:contain;width:100%;display:block}.pro-carousel-img.slide-right{animation:.5s ease-out slideFromRight}.pro-carousel-img.slide-left{animation:.5s ease-out slideFromLeft}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.pro-carousel-arrow{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000059;border:none;border-radius:4px;padding:6px 14px;font-size:2rem;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.pro-carousel-arrow:hover{background:#0009}.pro-carousel-arrow.left{left:8px}.pro-carousel-arrow.right{right:8px}.pro-carousel-dots{justify-content:center;gap:6px;margin-top:8px;display:flex}.pro-carousel-dot{cursor:pointer;background:#ccc;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background .2s}.pro-carousel-dot.active{background:#555}.tech-page{max-width:960px;margin:0 auto;padding:48px 24px 64px}.tech-page-title{color:#1b2430;letter-spacing:-.5px;margin-bottom:8px;font-size:2rem;font-weight:700}.tech-page-underline{transform-origin:0;background:#64b5f6;border-radius:2px;width:56px;height:4px;margin-bottom:48px;animation:.5s both slideUnderline}.tech-section{margin-bottom:48px}.tech-section-title{text-transform:uppercase;letter-spacing:2px;color:#64b5f6;align-items:center;gap:10px;margin-bottom:20px;font-size:.9rem;font-weight:700;display:flex}.tech-section-title:after{content:"";background:#e8ecf0;flex:1;height:1px}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;display:grid}.tech-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:20px 12px 16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.tech-card:hover{border-color:#64b5f6;transform:translateY(-2px);box-shadow:0 4px 16px #64b5f626}.tech-card img{object-fit:contain;width:56px;height:56px}.tech-card-placeholder{color:#1565c0;background:#e3f2fd;border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1rem;font-weight:700;display:flex}.tech-card-name{color:#1b2430;text-align:center;font-size:.82rem;font-weight:600;line-height:1.3}.perso-page{max-width:1100px;margin:0 auto;padding:48px 24px 64px}.perso-page-title{color:#1b2430;letter-spacing:-.5px;margin-bottom:8px;font-size:2rem;font-weight:700}.perso-page-underline{transform-origin:0;background:#64b5f6;border-radius:2px;width:56px;height:4px;margin-bottom:48px;animation:.5s both slideUnderline}.perso-section{margin-bottom:56px}.perso-section-title{text-transform:uppercase;letter-spacing:2px;color:#64b5f6;align-items:center;gap:10px;margin-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.perso-section-title:after{content:"";background:#e8ecf0;flex:1;height:1px}.perso-section-desc{color:#555;max-width:720px;margin-bottom:24px;font-size:.95rem;line-height:1.7}.perso-video-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.perso-video-wrap{background:#000;border-radius:8px;padding-bottom:56.25%;position:relative;overflow:hidden}.perso-video-wrap>div{top:0;left:0;width:100%!important;height:100%!important;position:absolute!important}.perso-tools-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:16px;display:grid}.perso-tool-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.perso-tool-card:hover{border-color:#64b5f6;transform:translateY(-2px)}.perso-tool-card img{object-fit:contain;width:100%;max-height:500px}.perso-tool-name{color:#1b2430;text-align:center;font-size:.85rem;font-weight:600}@media (width<=640px){.perso-page{padding:32px 16px 48px}.perso-video-grid,.perso-tools-grid{grid-template-columns:1fr}}nav{z-index:10000;background-color:#1b2430;justify-content:space-between;align-items:center;width:100%;padding:20px 80px;display:flex;position:fixed;top:0;left:0;box-shadow:0 5px 15px #0000000f}.titre{color:#fff}#navbar{justify-content:center;align-items:center;display:flex}#navbar li{padding:0 5px;list-style:none;position:relative}#navbar li a{text-transform:uppercase;color:#fff;opacity:.75;margin:0 20px;padding:20px 0;font-size:14px;font-weight:700;text-decoration:none;display:inline-block;position:relative}#navbar li a:before{content:"";background-color:#fff;width:0%;height:5px;transition:all .3s;position:absolute;bottom:10px}#navbar li a:hover:before,#navbar li a.active:before{width:100%}#navbar li a.button-link{text-align:center;color:#fff;background-color:#4caf50;border-radius:16px;width:140px}#navbar li a.button-link:before{width:0%}#navbar li a.button-link:hover{text-align:center;color:#fff;background-color:green;border-radius:16px;width:140px}.dropdown button{color:#fff;text-transform:uppercase;box-shadow:none;text-shadow:none;opacity:.75;background-color:#1b2430;padding:10px;font-size:14px;font-weight:700;text-decoration:none}.dropdown-content{z-index:1;background-color:#1b2430;border-radius:4px;min-width:160px;margin:0;padding:8px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 16px #0003}.dropdown:hover .dropdown-content{display:block}.dropdown-content li{list-style:none}.dropdown-content a{color:#333;padding:10px;text-decoration:none;display:block}.dropdown-content a:hover{background-color:#2c3949}#mobile{display:none}@media screen and (width<=768px){nav{padding:16px 20px;position:fixed}#navbar{z-index:9999;background-color:#1b2430;flex-direction:column;align-items:flex-start;width:280px;height:100vh;padding:80px 0 40px 24px;transition:right .3s ease-in-out;display:flex;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-4px 0 20px #0000004d}#navbar.active{right:0}#navbar li{width:100%;padding:0}#navbar li a{border-bottom:1px solid #ffffff0f;margin:0;padding:14px 0;font-size:15px;display:block}#navbar li a:before{display:none}.dropdown button{text-align:left;border-bottom:1px solid #ffffff0f;width:100%;padding:14px 0;font-size:15px}.dropdown-content{box-shadow:none;background:0 0;border-radius:0;min-width:0;padding:0 0 0 16px;position:static;display:block!important}.dropdown-content a{color:#ffffffb3;padding:10px 0;font-size:14px}.dropdown-content a:hover{color:#64b5f6;background:0 0}#mobile{cursor:pointer;z-index:10001;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:6px;display:flex}#mobile span{transform-origin:50%;background:#fff;border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}#mobile.open span:first-child{transform:translateY(7px)rotate(45deg)}#mobile.open span:nth-child(2){opacity:0}#mobile.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-overlay{z-index:9998;background:#00000080;position:fixed;inset:0}}.footer{z-index:1;color:#fff9;background-color:#1b2430;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:40px 80px;display:flex;position:relative}.footer-copy{font-size:.85rem;line-height:1.6}.footer-copy strong{color:#fff;font-weight:600}.footer-links{gap:24px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:#fff9;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s;position:relative}.footer-links a:after{content:"";background-color:#64b5f6;width:0;height:2px;transition:width .2s;position:absolute;bottom:-3px;left:0}.footer-links a:hover{color:#64b5f6}.footer-links a:hover:after{width:100%}@media (width<=600px){.footer{text-align:center;flex-direction:column;align-items:center;padding:32px 24px}}
