@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box;cursor:none}html,body{height:100%;width:100%;overflow:hidden}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.custom-cursor,.custom-cursor-dot,.custom-cursor-ring{pointer-events:none;position:fixed;top:0;left:0;z-index:2147483647}.custom-cursor-dot{width:6px;height:6px;background:radial-gradient(circle at 30% 30%,#fff,#ccc,#999);border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%);will-change:transform,width,height,border-radius,opacity;box-shadow:0 2px 4px #0000004d,0 0 8px #ffffff80,inset 0 -1px 2px #0003;mix-blend-mode:difference;transition:width .2s cubic-bezier(.25,1,.5,1),height .2s cubic-bezier(.25,1,.5,1),border-radius .2s cubic-bezier(.25,1,.5,1),background .2s ease,box-shadow .2s ease,transform .2s ease,opacity .15s ease}.custom-cursor-ring{width:30px;height:30px;background:transparent;border:1.5px solid rgba(255,255,255,.7);border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%) perspective(100px) rotateX(0) rotateY(0);mix-blend-mode:difference;will-change:transform,width,height,border-radius,background,border,opacity;box-shadow:0 4px 8px #0003,0 0 12px #ffffff4d,inset 0 0 8px #ffffff1a;transition:all .25s cubic-bezier(.25,1,.5,1);animation:ring3DFloat 4s ease-in-out infinite}@keyframes ring3DFloat{0%,to{transform:translate(-50%,-50%) perspective(100px) rotateX(0) rotateY(0)}25%{transform:translate(-50%,-50%) perspective(100px) rotateX(3deg) rotateY(3deg)}50%{transform:translate(-50%,-50%) perspective(100px) rotateX(0) rotateY(0)}75%{transform:translate(-50%,-50%) perspective(100px) rotateX(-3deg) rotateY(-3deg)}}.custom-cursor{width:0;height:0;opacity:0}.custom-cursor-ring.hover-mode{width:40px;height:40px;border:2px solid rgba(255,255,255,.95);background:transparent;box-shadow:0 6px 12px #0000004d,0 0 20px #fff6,inset 0 0 10px #ffffff26;transform:translate(-50%,-50%) perspective(80px) rotateX(5deg);animation:none}.custom-cursor-dot.hover-mode{width:5px;height:5px;background:radial-gradient(circle at 30% 30%,#fff,#eee);box-shadow:0 3px 6px #0006,0 0 15px #fff}.custom-cursor-ring.card-mode{width:38px;height:38px;border-radius:10px;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 16px #00000059,0 0 15px #ffffff4d,inset 0 2px 4px #fff3;transform:translate(-50%,-50%) perspective(60px) rotateX(8deg) rotateY(-3deg);animation:none}.custom-cursor-dot.card-mode{width:6px;height:6px;background:radial-gradient(circle at 30% 30%,#fff,#ccc);box-shadow:0 2px 5px #0000004d,0 0 10px #ffffffe6}.custom-cursor-ring.preview-mode{width:34px;height:34px}.custom-cursor-ring.input-mode{opacity:0}.custom-cursor-dot.input-mode{width:2px;height:20px;border-radius:1px;background:#fff;box-shadow:0 0 8px #ffffffe6;mix-blend-mode:difference;animation:textBlink .8s ease-in-out infinite}.custom-cursor-ring.link-mode{width:34px;height:34px;border:1px solid rgba(255,255,255,.7)}.custom-cursor-dot.link-mode{width:8px;height:8px;background:transparent;border-right:1.5px solid #ffffff;border-top:1.5px solid #ffffff;border-radius:0;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:none}.custom-cursor-ring.clicking{transform:translate(-50%,-50%) scale(.85)!important;transition:transform .08s ease-out!important}.custom-cursor-dot.clicking{transform:translate(-50%,-50%) scale(.8);transition:transform .08s ease-out}.app{position:relative;width:100vw;height:100vh;overflow:hidden;opacity:0;animation:appFadeIn .8s ease-out .3s forwards}.app.loaded{opacity:1}@keyframes appFadeIn{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}.silk-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}.gradient-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.02) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(100,100,100,.1) 0%,transparent 70%),#0000004d;pointer-events:none;z-index:1}.header-contact{position:fixed;top:1.5rem;left:1.5rem;z-index:10;display:flex;flex-direction:column;gap:.15rem;animation:slideInBounce .7s cubic-bezier(.68,-.55,.265,1.55) .3s backwards;opacity:.7;transition:opacity .3s ease}.header-contact:hover{opacity:1}.contact-button{background:transparent;border:none;color:#fff9;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif;cursor:none;transition:all .3s ease;text-align:left;padding:0}.contact-button:first-child{font-size:.9rem;font-weight:700;color:#fffc}.contact-button:last-child{font-size:.75rem;font-weight:500;color:#ffffff80;margin-bottom:.5rem}.contact-button:hover{color:#fff;transform:translate(2px)}.visit-counter{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.1)}.visit-count{color:#ffffffe6;font-size:1rem;font-weight:700;letter-spacing:.5px}.visit-label{color:#ffffff80;font-size:.75rem;font-weight:500}.header-buttons-group{position:fixed;left:2rem;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:2rem;opacity:1}@keyframes slideInLeft{0%{opacity:0;transform:translateY(-50%) translate(-50px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.header-btn-top{position:relative;display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;color:#fff9;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;cursor:none}.header-btn-top:hover{color:#fff;transform:scale(1.15)}.header-btn-top:active{transform:scale(1.05)}.header-btn-top:hover .btn-preview{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.header-btn-top svg{transition:all .3s cubic-bezier(.16,1,.3,1)}.btn-preview{position:fixed;opacity:0;visibility:hidden;pointer-events:auto;z-index:1001;transform:translateY(-50%) scale(.92);transition:opacity .3s ease,transform .3s cubic-bezier(.16,1,.3,1),visibility .3s;background:#0c0c0cfa;-webkit-backdrop-filter:blur(35px);backdrop-filter:blur(35px);border:2px solid rgba(255,255,255,.3);border-radius:24px;padding:2.5rem;box-shadow:0 35px 100px #000000fa,0 0 0 1px #ffffff26 inset,0 0 50px #ffffff0d}.cv-preview{min-width:380px;max-width:380px}.cv-preview-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.cv-document-preview{background:#fffffff2;border-radius:12px;padding:1.5rem;box-shadow:0 20px 60px #0006;border:1px solid rgba(255,255,255,.3)}.cv-page{display:flex;flex-direction:column;gap:.8rem}.cv-page-header{display:flex;align-items:center;gap:1rem;padding-bottom:.8rem;border-bottom:2px solid rgba(0,0,0,.1)}.cv-page-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:#fff;flex-shrink:0}.cv-page-title{flex:1}.cv-page-name{font-size:1.1rem;font-weight:700;color:#000000e6;margin-bottom:.2rem}.cv-page-subtitle{font-size:.85rem;color:#0009}.cv-page-line{height:8px;background:#00000026;border-radius:4px;animation:shimmer 2s infinite}.cv-page-line.short{width:60%}.cv-page-line.medium{width:75%}.cv-page-line.long{width:90%}.cv-page-section{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.6}}.cv-preview-label{text-align:center;font-size:.8rem;color:#fff9;font-weight:500;text-transform:uppercase;letter-spacing:1px}.cv-download{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.85rem;font-weight:600;color:#ffffffe6;text-align:center;justify-content:center;margin-top:1rem;cursor:none;transition:all .3s ease;text-decoration:none}.cv-download:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.preview-action-btn{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.2rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:.9rem;font-weight:600;color:#fffffff2;text-align:center;justify-content:center;margin-top:1.5rem;cursor:none;transition:all .3s ease;text-decoration:none;font-family:Poppins,sans-serif}.preview-action-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-3px);box-shadow:0 8px 25px #0006}.preview-action-btn svg{transition:transform .3s ease}.preview-action-btn:hover svg{transform:translate(3px)}.thm-action-btn{background:#00d9ff26;border-color:#00d9ff66;color:#00d9ff}.thm-action-btn:hover{background:#00d9ff40;border-color:#00d9ff99;color:#fff}.github-preview{min-width:380px;max-width:380px}.github-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.github-username{font-size:1.1rem;font-weight:600;color:#ffffffe6}.github-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:1.2rem}.github-stat{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem}.github-stat .stat-number{font-size:1.5rem;font-weight:800;color:#fffffff2}.github-stat .stat-label{font-size:.75rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.github-languages{display:flex;gap:.6rem;flex-wrap:wrap}.lang-tag{padding:.4rem .9rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;box-shadow:0 2px 8px #0000004d}.linkedin-preview{min-width:380px;max-width:380px}.linkedin-banner{height:80px;background:linear-gradient(135deg,#0077b5,#00a0dc);border-radius:20px 20px 0 0;margin:-2.5rem -2.5rem 0;display:flex;align-items:flex-start;justify-content:flex-start;padding:1rem}.linkedin-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.linkedin-profile{text-align:center;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.linkedin-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;margin:-40px auto 1rem;border:4px solid rgba(12,12,12,.98)}.linkedin-name{margin:0;font-size:1.3rem;font-weight:700;color:#fffffff2}.linkedin-title,.linkedin-company,.linkedin-location{margin:.3rem 0;font-size:.85rem;color:#ffffffb3}.linkedin-stats{display:flex;gap:1rem;padding:1rem;justify-content:center;border-bottom:1px solid rgba(255,255,255,.1)}.linkedin-stat{display:flex;flex-direction:column;align-items:center;gap:.3rem}.linkedin-stat .stat-number{font-size:1.3rem;font-weight:700;color:#fffffff2}.linkedin-stat .stat-label{font-size:.7rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.linkedin-skills{display:flex;gap:.5rem;padding:1rem 0 .5rem;justify-content:center;flex-wrap:wrap}.skill-badge{padding:.4rem .8rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:.75rem;font-weight:500;color:#fffc}.thm-preview{min-width:380px;max-width:380px}.thm-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.thm-user{display:flex;flex-direction:column;gap:.3rem}.thm-username{font-size:1.1rem;font-weight:600;color:#ffffffe6}.thm-rank{font-size:.85rem;color:#00d9ff;font-weight:600}.thm-stats-container{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.2rem}.thm-stat{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem}.thm-stat .stat-number{font-size:1.4rem;font-weight:800;color:#00d9ff}.thm-stat .stat-label{font-size:.7rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.thm-badges{display:flex;flex-direction:column;gap:.5rem}.thm-badge{padding:.6rem 1rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:6px;font-size:.8rem;font-weight:500;color:#ffffffe6}.header{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:10;animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55) .2s backwards;display:flex;align-items:center;gap:2rem}.logo{display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn-back-header{padding:.5rem 0;border:none;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;cursor:none;transition:all .3s cubic-bezier(.16,1,.3,1);background:transparent;color:#ffffffe6;animation:fadeIn .6s ease-out .3s backwards;position:fixed;top:1.5rem;left:1.5rem;z-index:11;display:flex;align-items:center;gap:.5rem;line-height:1;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}.btn-back-text{font-size:.9rem;letter-spacing:.3px}@keyframes buttonPulse{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 8px #fff0}}.btn-back-header:hover{color:#fff;transform:translate(-4px);text-decoration-thickness:2px}.btn-back-header:hover svg{transform:translate(-2px)}.btn-back-header svg{transition:transform .3s ease}.btn-back-header:active{transform:translate(-2px) scale(.98)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.logo-icon-img{width:80px;height:80px;border-radius:50%;transition:all .3s ease;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;opacity:.95;box-shadow:0 10px 40px #0000004d}.logo:hover .logo-icon-img{transform:scale(1.08);opacity:1;box-shadow:0 15px 50px #00000080}.personal-info{position:fixed;top:1.5rem;right:1.5rem;z-index:10;text-align:right;animation:slideInBounce .7s cubic-bezier(.68,-.55,.265,1.55) .4s backwards;transform:translate(0);opacity:.7;transition:opacity .3s ease}.personal-info:hover{opacity:1}.info-name{font-size:.95rem;font-weight:700;color:#ffffffe6;margin-bottom:.15rem}.info-school{font-size:.75rem;font-weight:500;color:#fff9;margin-bottom:.4rem}.info-availability{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;font-size:.7rem;color:#ffffffb3}.status-dot{width:8px;height:8px;background:#43e97b;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeInOverlay .3s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.popup-content{background:#141414f2;border:2px solid rgba(255,255,255,.2);border-radius:20px;padding:3rem 3rem 2.5rem;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:0 0 60px #ffffff1a,0 20px 40px #00000080,inset 0 1px 1px #ffffff1a;max-width:500px;width:90%;text-align:center;animation:popupSlideIn .4s cubic-bezier(.68,-.55,.265,1.55);display:flex;flex-direction:column;align-items:center;gap:1.5rem}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-icon{font-size:4rem;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;border:3px solid rgba(255,255,255,.2);animation:iconPulse 2s ease-in-out infinite}.popup-icon.waving-hand{animation:wavingHand 1s ease-in-out infinite,iconPulse 2s ease-in-out infinite}.popup-icon img{width:60px;height:60px;object-fit:contain}@keyframes iconPulse{0%,to{box-shadow:0 0 #ffffff4d}50%{box-shadow:0 0 0 20px #fff0}}@keyframes wavingHand{0%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%,40%{transform:rotate(-8deg)}50%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}70%{transform:rotate(10deg)}80%{transform:rotate(0)}}.popup-title{font-size:2rem;font-weight:700;color:#fff;margin:0;text-transform:uppercase;letter-spacing:-.5px;text-shadow:0 4px 15px rgba(0,0,0,.5)}.popup-message{font-size:1.1rem;line-height:1.7;color:#fffc;margin:0;max-width:400px}.popup-button{padding:1rem 2.5rem;background:#fff;color:#000;border:2px solid #ffffff;border-radius:12px;font-size:1rem;font-weight:700;font-family:Poppins,sans-serif;cursor:none;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;margin-top:1rem}.popup-button:hover{transform:translate(-3px,-3px);box-shadow:5px 5px #ffffff4d;background:#fffffff2}.popup-button:active{transform:translate(-1px,-1px);box-shadow:2px 2px #ffffff4d}.language-selector{display:flex;gap:.8rem;margin-bottom:1.5rem;justify-content:center}.lang-btn{padding:.6rem 1.2rem;background:#ffffff1a;color:#fff9;border:1px solid rgba(255,255,255,.2);border-radius:10px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;cursor:none;transition:all .3s ease;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.lang-btn:hover{background:#ffffff26;color:#fffc;border-color:#ffffff4d;transform:translateY(-2px)}.lang-btn.active{background:#fffffff2;color:#000;border-color:#fffffff2;font-weight:700}.flag-icon{width:24px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 2px 4px #0003}.popup-text-content{transition:opacity .3s ease,transform .3s ease}.popup-text-content.language-fade-out{opacity:0;transform:translateY(-10px)}.popup-text-content.language-fade-in{opacity:1;transform:translateY(0);animation:fadeInText .3s ease}@keyframes fadeInText{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.footer{position:fixed;bottom:0;left:0;width:100%;padding:1rem 2rem;z-index:10;animation:fadeInUp .7s cubic-bezier(.68,-.55,.265,1.55) .5s backwards;opacity:.5;transition:opacity .3s ease}.footer:hover{opacity:.8}.footer-text{font-size:.7rem;color:#fff6;text-align:center;font-weight:500;letter-spacing:.5px}.content{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem}.cards-container{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2rem;max-width:1200px;width:100%;height:750px}.card:nth-child(1){grid-column:1 / 2;grid-row:1 / 2}.card:nth-child(2){grid-column:2 / 4;grid-row:1 / 2}.card:nth-child(3){grid-column:1 / 3;grid-row:2 / 3}.card:nth-child(4){grid-column:3 / 4;grid-row:2 / 3}.card{background:#1e1e1e99;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:3.5rem 2.5rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);cursor:none;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:4px 4px #ffffff1a;opacity:0;will-change:transform,opacity;animation:slideInCard .6s cubic-bezier(.175,.885,.32,1) forwards}@keyframes slideInCard{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.card-exit{animation:smoothFadeOut .5s ease-out forwards!important}@keyframes slideOutCard{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #fff3,0 0 30px #fff3,0 0 60px #ffffff1a;border-color:#ffffff4d}.card:active{transform:translate(0);box-shadow:4px 4px #ffffff1a}.card-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:100%;height:100%;padding:1rem}.card-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:grayscale(100%) brightness(.4);opacity:.4;transition:all .4s ease;pointer-events:none}.card:hover .card-video{filter:grayscale(50%) brightness(.5);opacity:.5}.card-glow{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .3s ease;pointer-events:none;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.15),transparent 40%)}.card:hover .card-glow{opacity:1}.card-gradient{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;filter:grayscale(100%) brightness(.4);opacity:.15;transition:all .4s ease;pointer-events:none;border-radius:16px;mask-image:radial-gradient(circle at center,transparent 30%,black 80%);-webkit-mask-image:radial-gradient(circle at center,transparent 30%,black 80%)}.card:hover .card-gradient{filter:grayscale(30%) brightness(.6);opacity:.25;mask-image:radial-gradient(circle at center,transparent 20%,black 70%);-webkit-mask-image:radial-gradient(circle at center,transparent 20%,black 70%)}.card-text-container{position:absolute;bottom:.25rem;right:.25rem;text-align:right;z-index:3}.card-title{font-size:2rem;font-weight:700;color:#ffffffe6;margin-bottom:.5rem;letter-spacing:-1px;transition:all .3s ease;text-transform:uppercase;transform:translateY(0)}.card:hover .card-title{color:#fff;transform:translateY(-5px);text-shadow:0 4px 12px rgba(255,255,255,.3)}.card-description{font-size:.9rem;line-height:1.4;color:#ffffff80;transition:all .3s ease .1s;font-weight:400;transform:translateY(0);opacity:.7}.card:hover .card-description{color:#ffffffb3;transform:translateY(-3px);opacity:.8}.card-label{display:block;font-size:.75rem;color:#fff9;margin-top:.5rem;opacity:0;transform:translateY(-10px);transition:all .3s ease .15s;font-weight:500;text-transform:uppercase;letter-spacing:1px}.card:hover .card-label{opacity:1;transform:translateY(0)}.parcours-section{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:4rem;animation:fadeIn .6s ease-out;overflow:hidden}.parcours-section.section-exit{animation:fadeOut .6s ease-in forwards}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.timeline{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10rem;max-width:1800px;width:100%;position:relative;padding:0 3rem}.timeline:before{content:"";position:absolute;left:5%;top:50%;transform:translateY(-50%);height:2px;width:90%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 5%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.2) 95%,transparent 100%);z-index:1;clip-path:inset(0 100% 0 0);animation:drawLine 2.5s ease-out forwards}.timeline:after{content:"";position:absolute;left:5%;top:50%;transform:translateY(-50%);width:0;height:0;border-left:10px solid rgba(255,255,255,.7);border-top:6px solid transparent;border-bottom:6px solid transparent;animation:arrowDraw 2.5s ease-out forwards;z-index:2;filter:drop-shadow(0 0 6px rgba(255,255,255,.5));opacity:0}@keyframes drawLine{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes arrowDraw{0%{left:5%;opacity:0}2%{left:5%;opacity:1}to{left:calc(95% - 10px);opacity:1}}.timeline-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;z-index:2;animation:bounceIn .9s cubic-bezier(.68,-.55,.265,1.55) backwards;min-height:250px}.timeline-item.item-exit{animation:fadeOutDown .5s ease-out forwards!important}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.85) translateY(-20px)}}.timeline-item:nth-child(1){animation-delay:.5s}.timeline-item:nth-child(2){animation-delay:.7s}.timeline-item:nth-child(3){animation-delay:1.5s;margin-right:3rem}.timeline-item:nth-child(4){animation-delay:2s;margin-right:4rem}.timeline-item:nth-child(5){animation-delay:1.3s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInText{0%{opacity:0}to{opacity:1}}.timeline-item:nth-child(odd) .timeline-content{position:absolute;bottom:50%;margin-bottom:50px}.timeline-item:nth-child(2n) .timeline-content{position:absolute;top:50%;margin-top:50px}.timeline-dot{width:12px;height:12px;min-width:12px;background:#ffffff4d;border-radius:50%;border:2px solid rgba(255,255,255,.5);box-shadow:0 0 8px #fff3;z-index:3;transition:all .4s ease;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-item:nth-child(odd) .timeline-dot:after{content:"";position:absolute;top:-50px;left:50%;transform:translate(-50%);width:2px;height:50px;background:linear-gradient(0deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.1) 50%,transparent 100%);opacity:.8}.timeline-item:nth-child(2n) .timeline-dot:after{content:"";position:absolute;bottom:-50px;left:50%;transform:translate(-50%);width:2px;height:50px;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.1) 50%,transparent 100%);opacity:.8}.timeline-item:nth-child(1) .timeline-dot{animation-delay:0s}.timeline-item:nth-child(2) .timeline-dot{animation-delay:.2s}.timeline-item:nth-child(3) .timeline-dot{animation-delay:1s}.timeline-item:nth-child(4) .timeline-dot{animation-delay:1.5s}.timeline-item:nth-child(5) .timeline-dot{animation-delay:.8s}.timeline-item:hover .timeline-dot{transform:translate(-50%,-50%) scale(1.3);background:#fff9;border-color:#fffc;box-shadow:0 0 12px #fff6}.timeline-content{width:100%;display:flex;justify-content:center}.timeline-card{background:#141414cc;border:2px solid rgba(255,255,255,.15);border-radius:16px;padding:1.5rem;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:5px 5px #ffffff1a;transition:all .4s ease;width:280px;height:280px;aspect-ratio:1;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem}.timeline-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:.15;filter:grayscale(100%) brightness(.4);transition:all .5s ease;z-index:0}.timeline-item:nth-child(1) .timeline-card:before{background-image:url(https://images.unsplash.com/photo-1562774053-701939374585?w=800)}.timeline-item:nth-child(2) .timeline-card:before{background-image:url(https://images.unsplash.com/photo-1541339907198-e08756dedf3f?w=800)}.timeline-item:nth-child(3) .timeline-card:before{background-image:url(https://images.unsplash.com/photo-1498243691581-b145c3f54a5a?w=800)}.timeline-item:nth-child(4) .timeline-card:before{background-image:url(https://images.unsplash.com/photo-1523240795612-9a054b0db644?w=800)}.timeline-item:nth-child(5) .timeline-card:before{background-image:url(https://images.unsplash.com/photo-1434030216411-0b793f4b4173?w=800)}.timeline-card:hover:before{opacity:.4;filter:grayscale(0%) brightness(.7);transform:scale(1.05)}.timeline-card:hover{transform:translate(-5px,-5px);box-shadow:10px 10px #ffffff2e,0 0 30px #fff3,0 0 60px #ffffff26;border-color:#ffffff59;background:#1e1e1ee6}.timeline-item:last-child .timeline-card{min-height:100px}.timeline-title{font-size:1.2rem;font-weight:800;color:#fff;margin:0;padding:0;text-transform:uppercase;letter-spacing:-.5px;text-align:center;position:relative;z-index:1;text-shadow:0 3px 15px rgba(0,0,0,.6);animation:slideUpFadeIn .6s ease-out backwards;transition:all .3s ease;width:100%;word-wrap:break-word;overflow-wrap:break-word}.timeline-period{font-size:.75rem;font-weight:600;color:#ffffffbf;margin:0;padding:0;text-transform:uppercase;letter-spacing:.5px;text-align:center;position:relative;z-index:1;animation:fadeInText .6s ease-out backwards;transition:all .3s ease;width:100%;word-wrap:break-word;overflow-wrap:break-word}.timeline-description{font-size:.8rem;line-height:1.5;color:#ffffffe0;text-align:center;position:relative;z-index:1;animation:fadeInText .6s ease-out backwards;transition:all .3s ease;margin:0;padding:0;width:100%;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.timeline-item.item-exit .timeline-title,.timeline-item.item-exit .timeline-period,.timeline-item.item-exit .timeline-description{animation:fadeOutText .4s ease-in forwards!important}@keyframes fadeOutText{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.timeline-item:nth-child(1) .timeline-title{animation-delay:.6s}.timeline-item:nth-child(1) .timeline-period{animation-delay:.7s}.timeline-item:nth-child(1) .timeline-description{animation-delay:.8s}.timeline-item:nth-child(2) .timeline-title{animation-delay:.8s}.timeline-item:nth-child(2) .timeline-period{animation-delay:.9s}.timeline-item:nth-child(2) .timeline-description{animation-delay:1s}.timeline-item:nth-child(3) .timeline-title{animation-delay:1.6s}.timeline-item:nth-child(3) .timeline-period{animation-delay:1.7s}.timeline-item:nth-child(3) .timeline-description{animation-delay:1.8s}.timeline-item:nth-child(4) .timeline-title{animation-delay:2.1s}.timeline-item:nth-child(4) .timeline-period{animation-delay:2.2s}.timeline-item:nth-child(4) .timeline-description{animation-delay:2.3s}.timeline-item:nth-child(5) .timeline-title{animation-delay:1.4s}.timeline-item:nth-child(5) .timeline-period{animation-delay:1.5s}.timeline-item:nth-child(5) .timeline-description{animation-delay:1.6s}.competences-section{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6rem 4rem 4rem;animation:fadeIn .6s ease-out;overflow-y:auto}.competences-section.section-exit{animation:fadeOut .6s ease-in forwards}.competences-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1600px;width:100%;perspective:1500px;transform-style:preserve-3d}.competence-category{background:#1e1e1e99;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 1.8rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:4px 4px #ffffff1a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55) backwards;display:flex;flex-direction:column;gap:1.5rem;perspective:1000px;transform-style:preserve-3d}.competence-category:nth-child(1){animation-delay:.1s}.competence-category:nth-child(2){animation-delay:.2s}.competence-category.category-exit{animation:smoothFadeOut .5s ease-out forwards!important}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40px)}}.competence-category:hover{transform:translateY(-5px);box-shadow:6px 6px #ffffff26,0 15px 30px #0006,0 0 40px #fff3,0 0 80px #ffffff1a;border-color:#fff6}.competence-title{font-size:1.8rem;font-weight:800;color:#fff;margin-bottom:.5rem;text-align:center;text-transform:uppercase;letter-spacing:-.5px;animation:fadeInUp .6s ease-out backwards;animation-delay:.2s;transition:all .3s ease}.competence-category.category-exit .competence-title{animation:fadeOutDown .4s ease-in forwards!important}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.competence-list{display:flex;flex-direction:column;gap:1rem;max-height:450px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.competence-list::-webkit-scrollbar{width:6px}.competence-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.competence-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px;transition:background .3s ease}.competence-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.competence-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem 1.5rem;font-size:1rem;color:#ffffffe6;transition:all .3s ease;display:flex;align-items:center;gap:1rem;animation:slideInBounce .6s cubic-bezier(.68,-.55,.265,1.55) backwards;position:relative}.competence-item.item-exit{animation:fadeOutRight .4s ease-out forwards!important}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}.competence-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:8px;opacity:0;transition:opacity .4s ease;z-index:-1}.competence-item:hover{background:#ffffff1a;border-color:#fff6;transform:translate(8px) scale(1.02);box-shadow:-3px 3px 10px #0003,0 5px 20px #ffffff1a,0 0 30px #ffffff26}.competence-item:hover:before{opacity:1}.competence-icon{width:40px;height:40px;min-width:40px;transition:all .3s ease;filter:grayscale(100%) brightness(.8);opacity:.7;object-fit:contain}.competence-item:hover .competence-icon{filter:grayscale(0%) brightness(1) drop-shadow(0 0 8px rgba(255,255,255,.4));opacity:1;transform:scale(1.15)}.about-section{position:relative;z-index:2;width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:6rem 3rem 3rem;animation:fadeIn .6s ease-out;max-width:1400px;margin:0 auto;align-items:center}.about-section.section-exit{animation:fadeOut .6s ease-in forwards}.about-content{background:#1e1e1e99;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:4rem 3rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:4px 4px #ffffff1a;animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55) forwards;transition:all .3s ease;cursor:none;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:600px;height:calc(100vh - 14rem);max-height:800px;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}.about-content.content-exit{animation:fadeOutLeft .5s ease-out forwards!important}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-50px)}}.about-content:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #ffffff26,0 0 30px #fff3,0 0 60px #ffffff1a;border-color:#ffffff4d}.about-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 1.5rem;padding:0;text-transform:uppercase;letter-spacing:-1px;text-align:center;transition:all .3s ease;animation:fadeInUp .6s ease-out backwards;animation-delay:.1s;width:100%;word-wrap:break-word;overflow-wrap:break-word}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.about-text{font-size:1rem;line-height:1.7;color:#ffffffb3;margin:0 0 1rem;padding:0;transition:all .3s ease;cursor:none;text-align:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;animation:fadeInUp .6s ease-out backwards;width:100%}.about-text:nth-of-type(1){animation-delay:.2s}.about-text:nth-of-type(2){animation-delay:.3s}.about-text:nth-of-type(3){animation-delay:.4s}.about-text:last-child{margin-bottom:0}.about-content:hover .about-text{color:#fffffff2;transform:translate(3px);text-shadow:0 2px 8px rgba(255,255,255,.2)}.about-content:hover .about-title{color:#fff;text-shadow:0 4px 12px rgba(255,255,255,.3);transform:translate(3px)}.about-contact{margin:2rem 0 0;padding:2rem 0 0;border-top:2px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeInUp .6s ease-out backwards;animation-delay:.5s;width:100%}.contact-info-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;animation:slideInContact .6s ease-out backwards;transition:all .3s ease}.contact-info-item:nth-child(1){animation-delay:.6s}.contact-info-item:nth-child(2){animation-delay:.7s}.contact-info-item:nth-child(3){animation-delay:.8s}.contact-info-item:hover{transform:translateY(-2px)}@keyframes slideInContact{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.about-content.content-exit .contact-info-item{animation:slideOutContact .4s ease-in forwards}@keyframes slideOutContact{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.contact-label{font-size:.95rem;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px;text-align:center;transition:all .3s ease;width:100%;word-wrap:break-word;overflow-wrap:break-word}.contact-value{font-size:1.15rem;font-weight:500;color:#ffffffe6;text-align:center;transition:all .3s ease;width:100%;word-wrap:break-word;overflow-wrap:break-word}.contact-info-item:hover .contact-label{color:#ffffffe6}.contact-info-item:hover .contact-value{color:#fff;text-shadow:0 2px 8px rgba(255,255,255,.3)}.contact-stepper{background:#1e1e1e99;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:4rem 3rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:4px 4px #ffffff1a;animation:bounceIn .9s cubic-bezier(.68,-.55,.265,1.55) .2s backwards;transition:all .3s ease;cursor:none;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:600px;height:calc(100vh - 14rem);max-height:800px;overflow:hidden;width:100%}.contact-stepper.content-exit{animation:fadeOutRight .5s ease-out .1s forwards!important}.contact-stepper:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #ffffff26,0 0 30px #fff3,0 0 60px #ffffff1a;border-color:#ffffff4d}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.stepper-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;animation:fadeInUp .6s ease-out .3s backwards;width:100%}.step{display:flex;flex-direction:column;align-items:center;gap:.75rem;opacity:.4;transition:all .3s ease}.step.active{opacity:1}.step-number{width:60px;height:60px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:#fff9;transition:all .3s ease}.step.active .step-number{background:#fff;border-color:#fff;color:#000;box-shadow:0 0 20px #fff6;animation:stepPulse .6s ease-out}.step.completed .step-number{background:#fff;border-color:#fff;color:#000}@keyframes stepPulse{0%{transform:scale(1);box-shadow:0 0 #fff6}50%{transform:scale(1.1);box-shadow:0 0 30px #fff9}to{transform:scale(1);box-shadow:0 0 20px #fff6}}.step-label{font-size:.95rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px;text-align:center}.step.active .step-label{color:#ffffffe6}.step-line{flex:1;height:3px;background:#fff3;margin:0 1rem;border-radius:2px;position:relative;overflow:hidden}.step-line-progress{position:absolute;top:0;left:0;height:100%;width:0;background:linear-gradient(90deg,#fff,#fffc);transition:width .6s ease;box-shadow:0 0 10px #ffffff80}.step-line.active .step-line-progress{width:100%;animation:lineProgress .6s ease-out}@keyframes lineProgress{0%{width:0;opacity:.5}to{width:100%;opacity:1}}.stepper-form{animation:fadeIn .3s ease-out;width:100%}.form-step{display:flex;flex-direction:column;gap:1rem;animation:slideInForm .4s ease-out}@keyframes slideInForm{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-step label{font-size:1.1rem;font-weight:600;color:#fffc;margin-bottom:.5rem}.form-step input,.form-step textarea{padding:1.25rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:1.1rem;font-family:Poppins,sans-serif;transition:all .3s ease;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;width:100%}.form-step input:focus,.form-step textarea:focus{outline:none;border-color:#fff;background:#ffffff14;box-shadow:0 0 20px #ffffff4d}.form-step textarea{resize:vertical;min-height:120px}.stepper-buttons{display:flex;gap:1.25rem;margin-top:2rem;justify-content:flex-end;width:100%}.btn-prev,.btn-next,.btn-submit,.btn-back{padding:1rem 2rem;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:none;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-prev{background:transparent;color:#ffffffb3}.btn-prev:hover{background:#ffffff0d;border-color:#ffffff4d;color:#fff}.btn-next,.btn-submit{background:#fff;color:#000;border-color:#fff}.btn-next:hover,.btn-submit:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #ffffff4d}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.92) translateY(15px)}60%{opacity:1;transform:scale(1.01) translateY(-3px)}80%{transform:scale(.99) translateY(1px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes elasticIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.15) rotate(10deg)}75%{transform:scale(.95) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes fadeInBlur{0%{opacity:0;filter:blur(20px);transform:scale(.9)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes slideInBounce{0%{opacity:0;transform:translate(-100px) scale(.8)}60%{opacity:1;transform:translate(10px) scale(1.05)}80%{transform:translate(-5px) scale(.98)}to{transform:translate(0) scale(1)}}@keyframes scaleRotateIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes smoothFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.96)}}@keyframes gentleFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #ffffff4d,0 0 40px #fff3,inset 0 0 20px #ffffff1a}50%{box-shadow:0 0 40px #ffffff80,0 0 80px #ffffff4d,inset 0 0 30px #fff3}}@media (max-width: 1024px){.cards-container{gap:1.5rem;max-width:900px;height:600px}.card{padding:2.5rem 2rem}.card-icon{width:70px;height:70px}.card-title{font-size:1.5rem}.about-section{grid-template-columns:1fr;padding:6rem 3rem 3rem;gap:1.5rem;overflow:hidden}.about-content,.contact-stepper{padding:2.5rem 2rem;max-height:calc(100vh - 12rem);overflow:hidden}.personal-info{top:1.5rem;right:1.5rem}.btn-back-header{font-size:.85rem;padding:.75rem 1.5rem;top:1.5rem;left:1.5rem}.logo-icon-img{width:70px;height:70px}.header-contact{top:1.5rem;left:1.5rem;gap:.5rem}.contact-button{font-size:.8rem}}@media (max-width: 768px){.content{padding:1.5rem}.cards-container{grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);gap:1.5rem;max-width:400px;height:auto}.card:nth-child(1),.card:nth-child(2),.card:nth-child(3),.card:nth-child(4){grid-column:1 / 2}.card:nth-child(1){grid-row:1 / 2}.card:nth-child(2){grid-row:2 / 3}.card:nth-child(3){grid-row:3 / 4}.card:nth-child(4){grid-row:4 / 5}.card{padding:2rem 1.5rem}.card-icon{width:70px;height:70px}.card-icon svg{width:40px;height:40px}.card-title{font-size:1.5rem}.card-description{font-size:.9rem}.about-section{grid-template-columns:1fr;padding:5rem 2rem 2rem;gap:1.5rem;overflow:hidden}.about-content,.contact-stepper{padding:2rem 1.5rem;max-height:calc(100vh - 10rem);overflow:hidden}.about-title{font-size:1.6rem;margin:0 0 1.5rem}.about-text{font-size:.95rem;line-height:1.7;margin:0 0 1rem}.contact-label{font-size:.85rem}.contact-value{font-size:1rem}.personal-info{top:1rem;right:1rem}.info-name{font-size:1rem}.info-school{font-size:.8rem}.header{top:1.5rem}.btn-back-header{font-size:.8rem;padding:.7rem 1.3rem;top:1rem;left:1rem}.logo-icon-img{width:60px;height:60px}.header-contact{top:1rem;left:1rem;gap:.5rem}.contact-button{font-size:.75rem}}@media (max-width: 480px){.cards-container{gap:1.25rem}.card{padding:1.75rem 1.25rem}.card-icon{width:65px;height:65px}.card-icon svg{width:36px;height:36px}.card-title{font-size:1.35rem}.card-description{font-size:.85rem}.about-section{padding:4rem 1rem 1rem;overflow:hidden}.about-content,.contact-stepper{padding:1.5rem 1.25rem;max-height:calc(100vh - 8rem);overflow:hidden}.about-title{font-size:1.4rem;margin:0 0 1rem}.about-text{font-size:.9rem;line-height:1.6;margin:0 0 1rem}.contact-label{font-size:.8rem}.contact-value{font-size:.95rem}}@media (min-width: 1440px){.cards-container{gap:2.5rem;max-width:1400px;height:700px}.card{padding:3rem 2.5rem}.card-icon{width:90px;height:90px}.card-icon svg{width:52px;height:52px}.card-title{font-size:2rem}.card-description{font-size:1rem}}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;animation:fadeOut .8s ease-out 0s forwards;animation-play-state:paused}.loading-screen.fade-out{animation-play-state:running}.loading-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;opacity:.5}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.loading-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6rem}.loading-cards{display:grid;grid-template-areas:"cards";list-style:none;margin:0;padding:0}.loading-card{grid-area:cards;width:15vmin;aspect-ratio:2.5/3.5;border-radius:2vmin;border:.15vmin solid rgba(255,255,255,.2);background-color:#1a1a1a;background-image:url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M81.28 88H68.413l19.298 19.298L81.28 88zm2.107 0h13.226L90 107.838 83.387 88zm15.334 0h12.866l-19.298 19.298L98.72 88zm-32.927-2.207L73.586 78h32.827l.5.5 7.294 7.293L115.414 87l-24.707 24.707-.707.707L64.586 87l1.207-1.207zm2.62.207L74 80.414 79.586 86H68.414zm16 0L90 80.414 95.586 86H84.414zm16 0L106 80.414 111.586 86h-11.172zm-8-6h11.173L98 85.586 92.414 80zM82 85.586L87.586 80H76.414L82 85.586z' fill='%23ffffff' fill-opacity='0.08' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:50%;will-change:transform,opacity;opacity:0;transform:translateY(0) rotate(45deg) scale(1);animation:cardShuffle 2.4s cubic-bezier(.68,-.55,.265,1.55) infinite;animation-fill-mode:forwards;transform-origin:center}@keyframes cardShuffle{0%,to{transform:translateY(0) rotate(45deg) scale(1);opacity:.7}25%{transform:translateY(-30px) rotate(55deg) scale(.95);opacity:.9}50%{transform:translateY(0) rotate(65deg) scale(1);opacity:.8}75%{transform:translateY(30px) rotate(55deg) scale(.95);opacity:.9}}.loading-progress-container{width:450px;height:8px;background:#ffffff1a;border-radius:10px;overflow:hidden;position:relative}.loading-progress-bar{height:100%;background:linear-gradient(90deg,#ffffff4d,#fffc,#ffffff4d);border-radius:10px;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px #ffffff4d}.loading-percentage{color:#fffc;font-size:1.5rem;font-weight:700;font-family:Poppins,sans-serif;text-align:center;letter-spacing:2px}.projets-section{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6rem 2rem 2rem;animation:fadeIn .8s ease-out;overflow:hidden;background:radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.03) 0%,transparent 60%),radial-gradient(ellipse at 80% 70%,rgba(255,255,255,.02) 0%,transparent 60%),radial-gradient(circle at 50% 50%,rgba(100,100,100,.05) 0%,transparent 70%)}.projets-section:before{content:"";position:absolute;top:50%;left:50%;width:800px;height:800px;background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);animation:pulseGlow 8s ease-in-out infinite;pointer-events:none}.projets-section:after{content:"";position:absolute;top:20%;right:10%;width:400px;height:400px;background:radial-gradient(circle,rgba(200,200,200,.03) 0%,transparent 70%);border-radius:50%;animation:floatSlow 10s ease-in-out infinite;pointer-events:none}@keyframes pulseGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.5}}@keyframes floatSlow{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-30px) translate(20px)}}.projets-section.section-exit{animation:fadeOut .6s ease-in forwards}.projets-container{position:relative;width:100%;height:100%;max-width:1900px;display:flex;gap:2.5rem;animation:floatIn 1.4s cubic-bezier(.34,1.56,.64,1) .2s backwards;filter:drop-shadow(0 20px 60px rgba(0,0,0,.6))}@keyframes floatIn{0%{opacity:0;transform:translateY(60px) scale(.95);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.featured-project{flex:1;position:relative;height:100%;border-radius:20px;overflow:hidden;background:#141414f2;border:2px solid rgba(255,255,255,.15);box-shadow:8px 8px #ffffff14,0 25px 80px #000000e6,inset 0 1px #ffffff1a;transition:all .5s cubic-bezier(.175,.885,.32,1.275);animation:bounceIn 1s cubic-bezier(.68,-.55,.265,1.55) .4s backwards;will-change:transform}.featured-project.item-exit{animation:fadeOutLeft .5s ease-out forwards!important}.featured-project:hover{transform:translate(-4px,-4px);box-shadow:12px 12px #ffffff26,0 40px 100px #000000f2,0 0 60px #ffffff14,inset 0 1px #fff3;border-color:#ffffff4d}.featured-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) brightness(.5) contrast(1.2);transition:all .6s cubic-bezier(.175,.885,.32,1.275);transform:scale(1)}.featured-project:hover .featured-video{filter:grayscale(100%) brightness(.65) contrast(1.25);transform:scale(1.03)}.featured-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at top right,rgba(255,255,255,.05) 0%,transparent 40%),radial-gradient(ellipse at bottom left,rgba(0,0,0,.6) 0%,transparent 50%),linear-gradient(to bottom,#0003,#00000080 40%,#000c,#000000f2);pointer-events:none;z-index:1;transition:all .6s ease}.featured-project:hover .featured-overlay{background:radial-gradient(ellipse at top right,rgba(255,255,255,.08) 0%,transparent 45%),radial-gradient(ellipse at bottom left,rgba(0,0,0,.5) 0%,transparent 50%),linear-gradient(to bottom,#0000001a,#0006 40%,#000000b3,#000000e6)}.project-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:50px;height:50px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fffc;font-size:1.5rem;font-weight:700;cursor:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .5s ease-out 1s forwards}.project-nav-prev{left:2rem}.project-nav-next{right:2rem}.project-nav-btn:hover{background:#ffffff26;border-color:#fff6;color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 8px 20px #0009}.project-nav-btn:active{transform:translateY(-50%) scale(.95)}.featured-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:3rem}.featured-content:before{content:"";position:absolute;top:2rem;right:2rem;width:120px;height:120px;background:#ffffff08;border:2px solid rgba(255,255,255,.1);border-radius:20px;transform:rotate(45deg);filter:blur(1px);opacity:.3;transition:all .6s cubic-bezier(.175,.885,.32,1.275);animation:floatRotate 15s ease-in-out infinite}.featured-project:hover .featured-content:before{transform:rotate(55deg) scale(1.1);opacity:.5;border-color:#fff3}@keyframes floatRotate{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(55deg) translateY(-10px)}}.featured-content:after{content:"";position:absolute;bottom:3rem;left:2rem;width:80px;height:80px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%;filter:blur(20px);opacity:.4;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.6}}.featured-header{display:flex;flex-direction:column;gap:1.5rem}.project-category{display:inline-block;align-self:flex-start;padding:.6rem 1.4rem;background:#ffffff14;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:2px solid rgba(255,255,255,.25);border-radius:50px;color:#fffffff2;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:2px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:slideInBounce .8s cubic-bezier(.68,-.55,.265,1.55) .6s backwards;box-shadow:0 4px 15px #0000004d,inset 0 1px #fff3}.featured-project:hover .project-category{background:#ffffff26;border-color:#fff6;transform:translate(8px) scale(1.05);box-shadow:0 8px 25px #00000080,inset 0 1px #ffffff4d}.featured-title{font-size:3.8rem;font-weight:900;color:#fff;margin:0;line-height:1.05;text-transform:uppercase;letter-spacing:-2.5px;text-shadow:3px 3px 25px rgba(0,0,0,.9),0 0 40px rgba(0,0,0,.5);animation:bounceIn 1s cubic-bezier(.68,-.55,.265,1.55) .7s backwards;transition:all .5s cubic-bezier(.175,.885,.32,1.275);transform:translateZ(15px)}.featured-project:hover .featured-title{transform:translate(8px);text-shadow:3px 3px 25px rgba(0,0,0,.9),0 0 50px rgba(255,255,255,.2);letter-spacing:-2px}.featured-description{font-size:1.2rem;line-height:1.75;color:#ffffffe6;max-width:700px;margin:0;text-shadow:2px 2px 15px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.5);animation:slideInBounce .9s cubic-bezier(.68,-.55,.265,1.55) .8s backwards;transition:all .5s ease;transform:translateZ(10px)}.featured-project:hover .featured-description{color:#fffffff2;transform:translate(5px) translateZ(12px)}.featured-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;animation:fadeInBlur .8s ease-out .8s backwards}.project-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.meta-date{font-size:.85rem;font-weight:600;color:#ffffffb3;letter-spacing:1px;text-shadow:1px 1px 5px rgba(0,0,0,.8)}.meta-separator{color:#fff6;font-weight:300}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{padding:.6rem 1.1rem;background:#ffffff0f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.15);border-radius:10px;color:#ffffffe6;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);text-shadow:1px 1px 5px rgba(0,0,0,.8);box-shadow:0 2px 8px #0006,inset 0 1px #ffffff1a}.tech-tag:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #0009,inset 0 1px #fff3}.project-link{display:inline-flex;align-items:center;gap:.6rem;padding:1.1rem 2.2rem;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.3);border-radius:14px;color:#fff;font-size:.85rem;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:2px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-shadow:2px 2px 8px rgba(0,0,0,.8);box-shadow:4px 4px #ffffff1a,0 8px 30px #00000080,inset 0 1px #ffffff26;position:relative;overflow:hidden}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.project-link:hover:before{left:100%}.project-link:hover{background:#ffffff2e;border-color:#ffffff80;transform:translate(-3px,-3px) scale(1.03);box-shadow:7px 7px #fff3,0 12px 40px #0009,0 0 60px #ffffff1a,inset 0 1px #ffffff4d}.projects-previews{position:relative;display:flex;flex-direction:column;gap:1.5rem;width:380px;height:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;transform-style:preserve-3d}.projects-previews::-webkit-scrollbar{width:6px}.projects-previews::-webkit-scrollbar-track{background:transparent}.projects-previews::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.projects-previews::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.project-preview{position:relative;height:240px;border-radius:18px;overflow:hidden;background:#0f0f0fe6;border:2.5px solid rgba(255,255,255,.15);cursor:none;transition:all .6s cubic-bezier(.175,.885,.32,1.275);animation:slideInBounce .8s cubic-bezier(.68,-.55,.265,1.55) backwards;box-shadow:5px 5px #ffffff1a,0 12px 35px #0009,0 0 50px #0006,0 0 80px #6366f10d,inset 0 1px #ffffff14;transform:translateZ(10px) rotateY(2deg);transform-style:preserve-3d;will-change:transform}.project-preview.item-exit{animation:fadeOutRight .4s ease-out forwards!important}.project-preview:hover{transform:translate(-4px,-4px) scale(1.03);border-color:#ffffff4d;box-shadow:8px 8px #ffffff26,0 20px 50px #000c,0 0 80px #ffffff0d,inset 0 1px #ffffff26}.project-preview.active{border-color:#fff6;background:#191919f2;box-shadow:7px 7px #fff3,0 0 50px #ffffff1a,0 20px 60px #000000e6,inset 0 1px #fff3;transform:scale(1.04)}.project-preview.active:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:#ffffff0d;border-radius:18px;z-index:-1;filter:blur(10px);opacity:.6}.preview-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) brightness(.45) contrast(1.15);transition:all .5s cubic-bezier(.175,.885,.32,1.275);transform:scale(1)}.project-preview:hover .preview-video{filter:grayscale(100%) brightness(.6) contrast(1.2);transform:scale(1.05)}.project-preview.active .preview-video{filter:grayscale(100%) brightness(.7) contrast(1.25);transform:scale(1.03)}.preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at top right,rgba(255,255,255,.05) 0%,transparent 40%),radial-gradient(ellipse at bottom left,rgba(0,0,0,.6) 0%,transparent 50%),linear-gradient(to bottom,#0003,#000000b3 70%,#000000f2);pointer-events:none;z-index:1;transition:all .5s ease}.project-preview:hover .preview-overlay{background:radial-gradient(ellipse at top right,rgba(255,255,255,.08) 0%,transparent 45%),radial-gradient(ellipse at bottom left,rgba(0,0,0,.5) 0%,transparent 50%),linear-gradient(to bottom,#0000001a,#0009 70%,#000000e6)}.project-preview.active .preview-overlay{background:radial-gradient(ellipse at top right,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(to bottom,#0000001a,#00000080 70%,#000000d9)}.preview-info{position:absolute;bottom:0;right:0;padding:1.3rem 1.4rem;z-index:2;text-align:right;transition:all .4s ease;transform:translateZ(5px)}.preview-title{font-size:1rem;font-weight:900;color:#fff;margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.8px;text-shadow:2px 2px 10px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.5);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.project-preview:hover .preview-title{transform:translate(-5px) scale(1.02);text-shadow:2px 2px 10px rgba(0,0,0,.9),0 0 25px rgba(255,255,255,.3)}.project-preview.active .preview-title{color:#fff;text-shadow:2px 2px 10px rgba(0,0,0,.9),0 0 30px rgba(255,255,255,.4)}.preview-date{display:inline-block;font-size:.7rem;font-weight:700;color:#ffffffb3;letter-spacing:1.2px;padding:.3rem .8rem;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;border:1px solid rgba(255,255,255,.15);text-shadow:1px 1px 6px rgba(0,0,0,.8);transition:all .4s ease}.project-preview:hover .preview-date{background:#ffffff1a;border-color:#ffffff40;color:#ffffffe6;transform:translate(-3px)}.project-preview.active .preview-date{background:#ffffff26;border-color:#ffffff59;color:#fff;box-shadow:0 0 20px #ffffff1a}@keyframes projectSlideOut{0%{opacity:1;transform:translateZ(60px) rotateY(-1deg) scale(1)}to{opacity:0;transform:translateZ(-50px) rotateY(-5deg) scale(.95);filter:blur(5px)}}@keyframes projectSlideIn{0%{opacity:0;transform:translateZ(-50px) rotateY(5deg) scale(.95);filter:blur(5px)}to{opacity:1;transform:translateZ(60px) rotateY(-1deg) scale(1);filter:blur(0)}}.featured-project.changing-out{animation:projectSlideOut .4s cubic-bezier(.68,-.55,.265,1.55) forwards}.featured-project.changing-in{animation:projectSlideIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.projects-previews:before{content:"";position:absolute;top:-50px;left:50%;width:200px;height:200px;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);border-radius:50%;transform:translate(-50%);filter:blur(30px);opacity:.5;animation:floatUpDown 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes floatUpDown{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-20px)}}.no-projects{text-align:center;padding:4rem 2rem;animation:fadeIn .6s ease-out}.no-projects h2{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:1rem;text-transform:uppercase}.no-projects p{font-size:1.2rem;color:#fff9}.projets-section-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;overflow:hidden;background:transparent;animation:fadeIn .6s ease-out}.projets-section-fullscreen.section-exit{animation:fadeOut .6s ease-in forwards}.fullscreen-project-container{width:100%;height:100%;position:relative;background:transparent}.project-progress-indicator{position:fixed;bottom:3rem;right:3rem;z-index:100;display:flex;align-items:center;gap:.3rem;padding:.6rem 1rem;background:#14141466;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:1rem;font-weight:500;color:#ffffff80;box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.progress-current{font-size:1.1rem;color:#fffc;text-shadow:0 0 20px rgba(255,255,255,.4)}.progress-separator{color:#fff6;margin:0 .2rem}.progress-total{font-size:.9rem;color:#fff6}@keyframes slideInBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateY(-50%) translate(50px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.fullscreen-project{width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;background:transparent;animation:fadeInProject .6s ease-out forwards;z-index:2}@keyframes fadeInProject{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutProject{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}.project-exiting{animation:fadeOutProject .6s ease-out forwards!important;z-index:1!important}.project-video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;background:#000}.fullscreen-project-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35) contrast(1.15) blur(1px);transform:scale(1.05)}.fullscreen-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(100,100,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(255,100,100,.08) 0%,transparent 50%),linear-gradient(135deg,#000000d9,#000000e6,#000000f2);pointer-events:none;z-index:1}.project-main-layout{position:relative;z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:0 4rem;height:100vh;align-items:center;max-width:1800px;margin:0 auto}.project-left-panel{display:flex;flex-direction:column;gap:2rem;padding-right:2rem;animation:slideInFromLeft 1s cubic-bezier(.16,1,.3,1)}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.project-compact-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:.5rem;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-number-compact{font-size:7rem;font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.25);text-stroke:1.5px rgba(255,255,255,.25);line-height:1;font-family:Inter,sans-serif;letter-spacing:-.05em;transform:skew(-5deg)}.project-category-compact{font-size:.85rem;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:3px;padding:.4rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-title-compact{font-size:3.5rem;font-weight:900;color:#fff;margin:0;line-height:1.1;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#ffffffd9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards;margin-bottom:1.5rem}.project-description-compact{font-size:1.1rem;font-weight:400;color:#ffffffbf;line-height:1.7;margin:0 0 1.5rem;max-width:90%;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-result-compact{font-size:.95rem;font-weight:500;color:#fff9;line-height:1.6;margin:0 0 2rem;max-width:90%;font-style:italic;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-info-compact{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.info-row{display:flex;align-items:center;gap:1rem;padding:.8rem 1.2rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.info-row:hover{background:#ffffff0f;border-color:#ffffff26;transform:translate(5px)}.info-label{font-size:.75rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:1.5px;min-width:80px}.info-text{font-size:.95rem;font-weight:500;color:#ffffffd9;line-height:1.4;flex:1}.project-link-compact{display:inline-flex;align-items:center;gap:.5rem;padding:0;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);border-radius:0;font-size:.8rem;font-weight:500;color:#fff9;text-decoration:none;text-transform:none;letter-spacing:.5px;transition:all .3s ease;width:fit-content;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards;margin-top:1rem}.project-link-compact:hover{color:#ffffffe6;border-bottom-color:#ffffff80}.project-link-compact svg{width:14px;height:14px;transition:transform .3s ease;opacity:.6}.project-link-compact:hover svg{transform:translate(3px);opacity:1}.project-number-display{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.project-number-large{font-size:8rem;font-weight:900;color:#ffffff14;line-height:1;font-family:Inter,sans-serif;letter-spacing:-.05em}.project-number-line{flex:1;height:3px;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,transparent 100%)}.project-header-section{display:flex;flex-direction:column;gap:1rem;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-category-badge{display:inline-block;width:fit-content;padding:.5rem 1.2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:.75rem;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:2px}.project-number-display{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-bottom-left{position:fixed;bottom:3rem;left:3rem;z-index:100;display:flex;flex-direction:column;gap:1rem;max-width:500px;animation:slideInLeft .8s cubic-bezier(.175,.885,.32,1.275) .4s backwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.project-tech-label{font-size:.7rem;font-weight:600;color:#ffffff80;letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem}.fullscreen-project-title{font-size:4rem;font-weight:900;color:#fff;margin:0;line-height:1;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-title-underline{width:80px;height:4px;background:linear-gradient(90deg,rgba(255,255,255,.8) 0%,transparent 100%);margin-top:1rem;animation:expandLine .8s cubic-bezier(.16,1,.3,1) .5s backwards}@keyframes expandLine{0%{width:0;opacity:0}to{width:80px;opacity:1}}.fullscreen-project-description{font-size:1.15rem;font-weight:400;color:#ffffffb3;line-height:1.8;margin:0;max-width:90%;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-meta-item{display:flex;flex-direction:column;gap:.3rem}.meta-label{font-size:.7rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:1px}.meta-value{font-size:.95rem;font-weight:500;color:#ffffffd9;line-height:1.4}.project-challenge-section,.project-result-section{display:flex;flex-direction:column;gap:.8rem;padding:1.2rem;background:#ffffff05;border-left:3px solid rgba(255,255,255,.15);border-radius:8px;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-result-section{border-left-color:#43e97b66;background:#43e97b08}.section-label{font-size:.75rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:1.5px;margin:0}.section-content{font-size:.95rem;font-weight:400;color:#ffffffbf;line-height:1.6;margin:0}.project-result-section .section-content{color:#43e97be6;font-weight:500}.project-cta-button{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;background:#ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:.75rem;font-weight:500;color:#ffffffb3;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;cursor:none;width:fit-content;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) backwards}.project-cta-button:hover{background:#ffffff14;border-color:#fff3;color:#ffffffe6;transform:translate(3px)}.project-cta-button svg{width:16px;height:16px;transition:transform .3s ease}.project-cta-button:hover svg{transform:translate(3px)}.project-right-panel{display:flex;align-items:center;justify-content:center;padding-left:2rem;animation:slideInFromRight 1s cubic-bezier(.16,1,.3,1) .2s backwards}@keyframes slideInFromRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.project-preview-card{position:relative;width:100%;max-width:750px;aspect-ratio:16 / 10;perspective:1500px;cursor:none}.preview-card-inner{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;background:#141414b3;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border:2px solid rgba(255,255,255,.2);box-shadow:0 35px 80px #0009,0 0 0 1px #ffffff14 inset;transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .3s ease}.preview-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:2}.project-preview-card:hover .preview-glow{opacity:1}.preview-video,.preview-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.fullscreen-project-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35) contrast(1.15) blur(1px);transform:scale(1.05)}.project-technologies-grid{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag-fullscreen{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:.75rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tech-icon{width:14px;height:14px;opacity:.6;transition:opacity .3s ease}.tech-tag-fullscreen:hover{background:#ffffff0f;border-color:#ffffff26;color:#ffffffd9;transform:translateY(-1px);box-shadow:0 5px 20px #0000004d}.tech-tag-fullscreen:hover .tech-icon{opacity:1}@media (max-width: 1024px){.carousel-container{max-width:900px;height:600px;border-width:3px}.project-title{font-size:2.5rem}.project-description{font-size:1.05rem}}@media (max-width: 768px){.projets-section{padding:7rem 2rem 2rem}.carousel-container{max-width:100%;height:500px;border-width:3px;border-radius:16px}.project-title{font-size:2rem;letter-spacing:-1px}.project-description{font-size:1rem}.carousel-nav{width:45px;height:45px;font-size:2rem}.carousel-prev{left:1rem}.carousel-next{right:1rem}.carousel-indicators{bottom:1.5rem}.project-overlay{padding:2rem 1.5rem}.tech-tag{font-size:.8rem;padding:.5rem 1rem}.project-link{padding:.9rem 1.8rem;font-size:.95rem}.about-section,.competences-container{gap:2rem}.header-buttons-group{display:none}.timeline-card{width:340px;height:340px;padding:2rem;overflow:hidden;gap:1rem}.timeline-title{font-size:1.5rem;line-height:1.2}.timeline-period{font-size:.8rem}.timeline-description{font-size:.85rem;line-height:1.5}.timeline-dot{width:10px;height:10px;min-width:10px}.project-number-compact{font-size:4rem;-webkit-text-stroke:1.2px rgba(255,255,255,.25)}.project-category-compact{font-size:.7rem;padding:.3rem .8rem;letter-spacing:2px}.project-title-compact{font-size:2.2rem;margin-bottom:1rem}.project-description-compact{font-size:.95rem;margin-bottom:1.5rem;max-width:100%}.info-row{padding:.7rem 1rem;gap:.8rem}.info-label{font-size:.7rem;min-width:70px}.info-text{font-size:.85rem}.project-link-compact{font-size:.75rem}.competence-category{padding:1.5rem}.competence-title{font-size:1.3rem}.competence-item{padding:.8rem 1rem;font-size:.85rem}.competence-icon{width:20px;height:20px}.fullscreen-project-title{font-size:2.5rem}.fullscreen-project-description{font-size:.95rem}.project-main-layout{flex-direction:column;padding:2rem 1.5rem}.project-left-panel,.project-right-panel{width:100%}.project-preview-card{max-width:100%;margin-top:2rem}.project-bottom-left{bottom:6rem;left:1.5rem;right:1.5rem}.project-technologies-grid{gap:.5rem}.tech-tag-fullscreen{font-size:.75rem;padding:.4rem .8rem}.tech-icon{width:14px;height:14px}.project-progress-indicator{bottom:2rem;right:1.5rem}.loading-content{gap:4rem}.loading-card{width:12vmin}.loading-progress-container{width:250px}.loading-percentage{font-size:1.2rem}.btn-preview{display:none!important}}@media (max-width: 480px){.timeline-card{width:300px;height:300px;padding:1.5rem;overflow:hidden;gap:.75rem}.timeline-title{font-size:1.3rem;line-height:1.2}.timeline-period{font-size:.7rem}.timeline-description{font-size:.8rem;line-height:1.4}.timeline-dot{width:8px;height:8px;min-width:8px}.project-number-compact{font-size:3.5rem;-webkit-text-stroke:1px rgba(255,255,255,.25)}.project-category-compact{font-size:.65rem;padding:.25rem .7rem;letter-spacing:1.5px}.project-compact-header{gap:1rem;flex-wrap:wrap}.project-title-compact{font-size:1.8rem;margin-bottom:.8rem}.project-description-compact{font-size:.85rem;margin-bottom:1.2rem;line-height:1.6}.info-row{padding:.6rem .9rem;gap:.7rem}.info-label{font-size:.65rem;min-width:60px}.info-text{font-size:.8rem}.project-link-compact{font-size:.7rem}.competence-category{padding:1.25rem}.competence-title{font-size:1.1rem}.competence-item{padding:.7rem .9rem;font-size:.8rem}.competence-icon{width:18px;height:18px}.fullscreen-project-title{font-size:2rem}.fullscreen-project-description{font-size:.9rem}.project-main-layout{padding:1.5rem 1rem}.project-number-large{font-size:4rem}.project-category-badge{font-size:.7rem;padding:.3rem .8rem}.project-cta-button{padding:.8rem 1.5rem;font-size:.85rem}.project-bottom-left{bottom:5rem;left:1rem;right:1rem}.project-date-text{font-size:.75rem}.tech-tag-fullscreen{font-size:.7rem;padding:.35rem .7rem}.tech-icon{width:12px;height:12px}.project-progress-indicator{bottom:1.5rem;right:1rem;padding:.5rem .8rem;font-size:.9rem}.loading-content{gap:3rem}.loading-card{width:14vmin}.loading-progress-container{width:200px;height:3px}.loading-percentage{font-size:1rem}.logo-icon-img{width:50px;height:50px}.personal-info{top:.75rem;right:.75rem}.info-name{font-size:.85rem}.info-school{font-size:.7rem}.info-availability{font-size:.65rem}.header-contact{top:.75rem;left:.75rem}.contact-button{font-size:.7rem}.visit-count{font-size:.85rem}.visit-label{font-size:.7rem}}@media (max-width: 1024px) and (min-width: 769px){.header-buttons-group{gap:1.5rem;left:1.5rem;top:auto;bottom:2rem;transform:none}.header-btn-top{padding:.4rem}.timeline-card{width:350px;height:350px;padding:2rem;overflow:hidden;gap:1rem}.timeline-title{font-size:1.5rem;line-height:1.2}.timeline-description{font-size:.9rem;line-height:1.5}.timeline-dot{width:10px;height:10px;min-width:10px}.project-number-compact{font-size:5rem;-webkit-text-stroke:1.3px rgba(255,255,255,.25)}.project-category-compact{font-size:.8rem;padding:.35rem .9rem}.project-title-compact{font-size:3rem;margin-bottom:1.2rem}.project-description-compact{font-size:1rem;margin-bottom:1.8rem}.info-row{padding:.75rem 1.1rem}.info-label{font-size:.7rem;min-width:75px}.info-text{font-size:.9rem}.project-link-compact{font-size:.75rem}.competence-category{padding:1.75rem}.competence-title{font-size:1.4rem}.competence-item{padding:.9rem 1.1rem;font-size:.9rem}.competence-icon{width:22px;height:22px}.fullscreen-project-title{font-size:3rem}.fullscreen-project-description{font-size:1rem}.project-main-layout{padding:2.5rem 2rem}.project-preview-card{max-width:450px}.tech-tag-fullscreen{font-size:.8rem;padding:.45rem .9rem}.tech-icon{width:16px;height:16px}.btn-preview{padding:2rem}.cv-preview img{width:320px;height:440px}.github-preview,.linkedin-preview,.thm-preview{min-width:320px}}@media (max-width: 768px){.stepper-header{gap:1rem}.step-number{width:35px;height:35px;font-size:.9rem}.step-label{font-size:.75rem}.step-line{width:40px}.form-step label{font-size:.9rem}.form-step input,.form-step textarea{font-size:.9rem;padding:.8rem}.stepper-buttons{gap:.75rem}.btn-prev,.btn-next,.btn-submit{padding:.8rem 1.5rem;font-size:.85rem}}@media (max-width: 480px){.stepper-header{gap:.5rem}.step-number{width:30px;height:30px;font-size:.8rem}.step-label{font-size:.7rem}.step-line{width:30px}.form-step label{font-size:.85rem}.form-step input,.form-step textarea{font-size:.85rem;padding:.7rem}.btn-prev,.btn-next,.btn-submit{padding:.7rem 1.2rem;font-size:.8rem}}
