:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:2.5em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{margin:0 auto;text-align:center;width:100%}.language-toggle{display:flex;align-items:center;background:transparent;border:1px solid rgba(100,255,218,.3);border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .3s ease;font-family:inherit;font-size:.9rem}.language-toggle:hover{border-color:#64ffda;background:#64ffda1a}.language-toggle .lang-option{color:#ccd6f6;font-weight:500;transition:color .3s ease}.language-toggle .lang-option.active{color:#64ffda}.language-toggle .separator{color:#8892b0;margin:0 8px}@media (max-width: 768px){.language-toggle{padding:6px 10px;font-size:.8rem}.language-toggle .separator{margin:0 6px}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a192fd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(100,255,218,.1);transition:all .3s ease}.navigation.hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.navigation.visible{opacity:1;transform:translateY(0);animation:slideDown .8s ease-out}.navigation.scrolled{background:#0a192ff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(100,255,218,.2);box-shadow:0 10px 30px -10px #020c1bb3}.navigation .nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:70px}.navigation .nav-logo .logo-text{font-size:1.3rem;font-weight:600;color:#64ffda;text-decoration:none;transition:all .3s ease}.navigation .nav-logo .logo-text:hover{color:#e6f1ff}.navigation .nav-menu{display:flex;align-items:center;list-style:none;gap:2rem;margin:0;padding:0}.navigation .nav-menu .nav-item{display:flex;align-items:center}.navigation .nav-menu .nav-item .nav-link,.navigation .nav-menu .nav-item .nav-button{color:#ccd6f6;text-decoration:none;font-weight:400;font-size:.9rem;padding:.5rem 0;position:relative;transition:all .3s ease;background:none;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;height:40px}.navigation .nav-menu .nav-item .nav-link:after,.navigation .nav-menu .nav-item .nav-button:after{content:"";position:absolute;bottom:8px;left:0;width:0;height:2px;background:#64ffda;transition:width .3s ease}.navigation .nav-menu .nav-item .nav-link:hover,.navigation .nav-menu .nav-item .nav-button:hover{color:#64ffda}.navigation .nav-menu .nav-item .nav-link:hover:after,.navigation .nav-menu .nav-item .nav-button:hover:after{width:100%}.navigation .nav-menu .nav-item .nav-link.active,.navigation .nav-menu .nav-item .nav-button.active{color:#64ffda}.navigation .nav-menu .nav-item .nav-link.active:after,.navigation .nav-menu .nav-item .nav-button.active:after{width:100%}.navigation .nav-menu .nav-item .nav-cta{background:transparent;border:1px solid #64FFDA;border-radius:4px;padding:.4rem .8rem;color:#64ffda;font-weight:500;font-size:.85rem;transition:all .3s ease;height:32px;display:flex;align-items:center;justify-content:center}.navigation .nav-menu .nav-item .nav-cta:after{display:none}.navigation .nav-menu .nav-item .nav-cta:hover{background:#64ffda1a;transform:translateY(-2px);box-shadow:0 4px 12px #64ffda4d}.navigation .nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.navigation .nav-toggle span{width:25px;height:3px;background:#ccd6f6;transition:all .3s ease;transform-origin:center}.navigation .nav-toggle span:nth-child(1){transform:translateY(0) rotate(0)}.navigation .nav-toggle span:nth-child(2){opacity:1}.navigation .nav-toggle span:nth-child(3){transform:translateY(0) rotate(0)}.navigation .nav-toggle.active span{background:#64ffda}.navigation .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navigation .nav-toggle.active span:nth-child(2){opacity:0}.navigation .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navigation .nav-mobile{position:absolute;top:100%;left:0;right:0;background:#0a192ffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(100,255,218,.2);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.navigation .nav-mobile.active{transform:translateY(0);opacity:1;visibility:visible}.navigation .nav-mobile .nav-mobile-menu{list-style:none;padding:1rem .8rem;margin:0;display:flex;flex-direction:column;gap:.5rem}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-link,.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-button{display:block;color:#ccd6f6;text-decoration:none;font-size:.95rem;padding:.6rem 0 .6rem 1rem;transition:all .3s ease;background:none;border:none;border-bottom:1px solid rgba(100,255,218,.1);cursor:pointer;font-family:inherit;width:100%;text-align:left}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-link:hover,.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-button:hover{color:#64ffda;padding-left:1.4rem}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-link.active,.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-button.active{color:#64ffda;border-bottom-color:#64ffda}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-cta{background:transparent;border:1px solid #64FFDA;border-radius:6px;padding:.5rem .2rem;color:#64ffda;font-weight:500;text-align:center;margin-top:.4rem;font-size:.9rem}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-cta:hover{background:#64ffda1a;padding-left:1.5rem}.navigation .nav-mobile .nav-mobile-menu .nav-mobile-item .nav-mobile-language{display:flex;justify-content:center;padding:.6rem 0;margin-top:.3rem;border-top:1px solid rgba(100,255,218,.1)}@media (max-width: 768px){.navigation .nav-container{padding:0 15px}.navigation .nav-menu{display:none}.navigation .nav-toggle{display:flex}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}50%{opacity:.5;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero-section{position:relative;min-height:95vh;display:flex;align-items:center;justify-content:center;padding:0 20px;overflow:hidden;background:#112240}.hero-section .hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-section .hero-background .floating-shapes{position:absolute;width:100%;height:100%}.hero-section .hero-background .floating-shapes .shape{position:absolute;border-radius:50%;background:linear-gradient(135deg,#64ffda,#5eead4);opacity:.1;animation:float 6s ease-in-out infinite}.hero-section .hero-background .floating-shapes .shape.shape-1{width:100px;height:100px;top:20%;left:10%;animation-delay:0s}.hero-section .hero-background .floating-shapes .shape.shape-2{width:150px;height:150px;top:60%;right:15%;animation-delay:2s}.hero-section .hero-background .floating-shapes .shape.shape-3{width:80px;height:80px;bottom:20%;left:20%;animation-delay:4s}.hero-section .hero-content{position:relative;z-index:2;text-align:center;max-width:800px}.hero-section .hero-content .name-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:#e6f1ff;margin-bottom:1rem;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-section .hero-content .tagline-title{font-size:clamp(1.2rem,3vw,1.8rem);color:#64ffda;margin-bottom:2rem;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.3)}.hero-section .hero-content .description{font-size:1.1rem;color:#ccd6f6;line-height:1.6;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.hero-section .hero-content .cta-button{position:relative;display:inline-block;padding:15px 40px;background:linear-gradient(135deg,#64ffda,#5eead4);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:1.1rem;transition:all .3s ease;overflow:hidden;box-shadow:0 8px 25px #64ffda4d}.hero-section .hero-content .cta-button span{position:relative;z-index:2}.hero-section .hero-content .cta-button .button-glow{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.hero-section .hero-content .cta-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 35px #64ffda66;animation:glow 2s ease-in-out infinite alternate}.hero-section .hero-content .cta-button:hover .button-glow{left:100%}.hero-section .scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#ccd6f6;cursor:pointer;transition:all .3s ease}.hero-section .scroll-indicator .scroll-text{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;opacity:.8}.hero-section .scroll-indicator .scroll-arrow{display:flex;flex-direction:column;align-items:center}.hero-section .scroll-indicator .scroll-arrow .chevron{width:8px;height:8px;border-right:2px solid #64FFDA;border-bottom:2px solid #64FFDA;transform:rotate(45deg);margin:-2px 0;opacity:.7;transition:all .3s ease}.hero-section .scroll-indicator .scroll-arrow .chevron:nth-child(2){opacity:.5}.hero-section .scroll-indicator .scroll-arrow .chevron:nth-child(3){opacity:.3}.hero-section .scroll-indicator:hover .scroll-text{color:#64ffda}.hero-section .scroll-indicator:hover .chevron{opacity:1;transform:rotate(45deg) translateY(-2px)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(120deg)}66%{transform:translateY(10px) rotate(240deg)}}@keyframes glow{0%{box-shadow:0 12px 35px #64ffda66}to{box-shadow:0 16px 40px #64ffda99}}.about-section{padding:100px 0;background:#112240;position:relative}.about-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(100,255,218,.3),transparent)}.about-section .container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;flex-direction:row;gap:60px;align-items:center}.about-section .about-content .section-title{font-size:2.5rem;color:#e6f1ff;margin-bottom:2rem;position:relative}.about-section .about-content .section-title:after{content:"";position:absolute;bottom:-10px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#64ffda,#5eead4);border-radius:2px}.about-section .about-content .about-text{font-size:1.1rem;color:#ccd6f6;line-height:1.7;margin-bottom:3rem}.about-section .about-content .tech-showcase h3{color:#e6f1ff;margin-bottom:1.5rem;font-size:1.2rem}.about-section .about-content .tech-showcase .tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.about-section .about-content .tech-showcase .tech-grid .tech-item{display:flex;align-items:center;gap:.8rem;padding:1rem;background:#64ffda0d;border:1px solid rgba(100,255,218,.2);border-radius:12px;transition:all .3s ease;color:#ccd6f6}.about-section .about-content .tech-showcase .tech-grid .tech-item .tech-icon{font-size:1.5rem}.about-section .about-content .tech-showcase .tech-grid .tech-item:hover{background:#64ffda1a;border-color:#64ffda66;transform:translateY(-2px);box-shadow:0 8px 25px #64ffda33}@media (max-width: 768px){.about-section{padding:60px 0}.about-section .about-content .section-title{font-size:2rem}.about-section .about-content .about-text{font-size:1rem}.about-section .about-content .tech-showcase .tech-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}.about-section .about-content .tech-showcase .tech-grid .tech-item{padding:.8rem;font-size:.9rem}.about-section .about-content .tech-showcase .tech-grid .tech-item .tech-icon{font-size:1.2rem}}.education-section{min-height:300px}.education-section h2{font-size:1.5rem;color:#233554;margin-bottom:1.5rem}.education-list{display:flex;flex-direction:column;gap:1.5rem}.education-card{padding:1.2rem 1rem;border-left:4px solid #4f8cff;background:#f7f9fc;border-radius:8px;box-shadow:0 1px 4px #64ffda12;transition:box-shadow .2s,border-left-color .2s}.education-card:hover{box-shadow:0 4px 16px #64ffda21;border-left-color:#38b2ac}.education-card h3{font-size:1.2rem;color:#233554;margin-bottom:.5rem}.education-card p{color:#8892b0;margin-bottom:.3rem}.education-card span{font-size:.95rem;color:#38b2ac}.education-card.skeleton .skeleton-title,.education-card.skeleton .skeleton-text,.education-card.skeleton .skeleton-date{background:linear-gradient(90deg,#e2e8f0 25%,#f7fafc,#e2e8f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.education-card.skeleton .skeleton-title{height:1.4rem;width:70%;margin-bottom:.5rem}.education-card.skeleton .skeleton-text{height:1rem;width:90%;margin-bottom:.3rem}.education-card.skeleton .skeleton-date{height:.95rem;width:30%;margin-top:.2rem}.jobs-section{min-height:400px}.jobs-section h2{font-size:1.5rem;color:#233554;margin-bottom:1.5rem}.jobs-list{display:flex;flex-direction:column;gap:1.5rem}.job-card{padding:1.2rem 1rem;border-left:4px solid #38b2ac;background:#f7f9fc;border-radius:8px;box-shadow:0 1px 4px #64ffda12;transition:box-shadow .2s,border-left-color .2s}.job-card:hover{box-shadow:0 4px 16px #64ffda21;border-left-color:#4f8cff}.job-card h3{font-size:1.2rem;color:#233554;margin-bottom:.5rem}.job-card h3 .company-link{color:#38b2ac;text-decoration:none;transition:color .2s}.job-card h3 .company-link:hover{color:#4f8cff;text-decoration:underline}.job-card p{color:#8892b0;margin-bottom:.3rem}.job-card span{font-size:.95rem;color:#38b2ac}.job-card.skeleton .skeleton-title,.job-card.skeleton .skeleton-text,.job-card.skeleton .skeleton-date{background:linear-gradient(90deg,#e2e8f0 25%,#f7fafc,#e2e8f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.job-card.skeleton .skeleton-title{height:1.4rem;width:70%;margin-bottom:.5rem}.job-card.skeleton .skeleton-text{height:1rem;width:100%;margin-bottom:.3rem}.job-card.skeleton .skeleton-text.short{width:60%}.job-card.skeleton .skeleton-date{height:.95rem;width:40%;margin-top:.2rem}.parcours-section{padding:80px 0 20px;background:#112240;position:relative}.parcours-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(100,255,218,.3),transparent)}.parcours-section .container{max-width:900px;margin:0 auto;padding:0 20px}.parcours-section .section-title{text-align:center;font-size:2.5rem;color:#e6f1ff;margin-bottom:3rem;position:relative}.parcours-section .section-title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(90deg,#64ffda,#5eead4);border-radius:2px}.parcours-section .education-section,.parcours-section .jobs-section{margin-bottom:3rem;background:#64ffda0d;border:1px solid rgba(100,255,218,.2);border-radius:12px;padding:2rem;transition:all .4s ease}.parcours-section .education-section:hover,.parcours-section .jobs-section:hover{background:#64ffda14;border-color:#64ffda4d;transform:translateY(-5px) rotateX(2deg);box-shadow:0 12px 30px #64ffda26}.parcours-section .education-section h2,.parcours-section .jobs-section h2{font-size:1.8rem;color:#e6f1ff;margin-bottom:1.5rem;text-align:left;display:flex;align-items:center;gap:.5rem}.parcours-section .education-section h2:before,.parcours-section .jobs-section h2:before{content:"";width:4px;height:1.8rem;background:linear-gradient(135deg,#64ffda,#5eead4);border-radius:2px}.parcours-section .education-list,.parcours-section .jobs-list{display:flex;flex-direction:column;gap:1.5rem}.parcours-section .education-card,.parcours-section .job-card{padding:1.5rem;background:#0f172a99;border:1px solid rgba(100,255,218,.1);border-radius:8px;transition:all .3s ease}.parcours-section .education-card:hover,.parcours-section .job-card:hover{background:#0f172acc;border-color:#64ffda4d;transform:translate(10px) scale(1.02);box-shadow:0 4px 16px #64ffda1a}.parcours-section .education-card h3,.parcours-section .job-card h3{font-size:1.3rem;color:#e6f1ff;margin-bottom:.8rem;line-height:1.3}.parcours-section .education-card p,.parcours-section .job-card p{color:#ccd6f6;margin-bottom:.8rem;line-height:1.5}.parcours-section .education-card span,.parcours-section .job-card span{font-size:.9rem;color:#64ffda;font-weight:500;letter-spacing:.5px}@media (max-width: 768px){.parcours-section{padding:60px 0}.parcours-section .section-title{font-size:2rem}.parcours-section .education-section,.parcours-section .jobs-section{padding:1.5rem;margin-bottom:2rem}.parcours-section .education-section h2,.parcours-section .jobs-section h2{font-size:1.5rem}.parcours-section .education-card,.parcours-section .job-card{padding:1rem}.parcours-section .education-card h3,.parcours-section .job-card h3{font-size:1.1rem}.parcours-section .education-card p,.parcours-section .job-card p{font-size:.9rem}.parcours-section .education-card span,.parcours-section .job-card span{font-size:.8rem}}@media (max-width: 480px){.parcours-section{padding:40px 0}.parcours-section .container{padding:0 15px}.parcours-section .section-title{font-size:1.8rem}.parcours-section .education-section,.parcours-section .jobs-section{padding:1rem}}.home-page{min-height:100vh;background:#112240;padding-top:50px}@media (max-width: 768px){.hero-section .hero-content .name-title{font-size:2.5rem}.hero-section .hero-content .tagline-title{font-size:1.3rem}.hero-section .hero-content .description{font-size:1rem}}@media (max-width: 480px){.hero-section{padding:0 15px}}.project-partners{margin-top:18px;text-align:center}.project-partners h4{color:#ff69b4;font-size:1.2em;margin-bottom:10px;font-weight:600;letter-spacing:.5px}.project-partners ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}.project-partners li{font-size:1.08em;color:#ccd6f6;background:#64ffda0f;border-radius:8px;padding:7px 18px;box-shadow:0 2px 8px #64ffda14;display:flex;align-items:center;gap:8px;transition:background .2s}.project-partners li:hover{background:#64ffda21}.project-partners a{color:#64ffda;font-weight:500;text-decoration:none;background:#64ffda17;border-radius:6px;padding:2px 8px;margin-left:6px;transition:background .2s,color .2s}.project-partners a:hover{background:#64ffda;color:#112240}.project-detail-page{max-width:1200px;margin:0 auto;padding:90px 20px 40px}.project-header{text-align:center;margin-bottom:40px}.project-header .project-title{font-size:2.5em;color:#64ffda;margin-bottom:10px}.project-header .project-tagline{color:#ccd6f6;max-width:700px;margin:0 auto}.divider{border:0;height:1px;background:#8892b0;margin:15px 0}.project-summary{display:grid;grid-template-columns:2fr 1fr;gap:60px;margin-top:50px}@media (max-width: 768px){.project-summary{grid-template-columns:1fr;gap:40px}}.project-summary .summary-text .info-block{margin-bottom:50px;padding:25px;background:transparent;border-radius:12px;border-left:none;position:relative;transition:all .3s ease;cursor:default}.project-summary .summary-text .info-block:hover{background:#64ffda05;transform:translate(5px)}.project-summary .summary-text .info-block:hover h3:after{width:70px;opacity:1}.project-summary .summary-text .info-block:hover p{color:#ccd6f6}.project-summary .summary-text .info-block h3{font-size:1.5em;color:#64ffda;margin-bottom:20px;font-weight:600;position:relative;transition:all .3s ease}.project-summary .summary-text .info-block h3:after{content:"";position:absolute;bottom:-8px;left:0;width:50px;height:2px;background:#64ffda;opacity:.7;transition:all .3s ease}.project-summary .summary-text .info-block p{line-height:1.8;text-align:left;margin-top:25px;transition:color .3s ease}.project-summary .summary-sidebar .sidebar-block{background:linear-gradient(135deg,#0f172acc,#1e293b99);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px;border-radius:16px;margin-bottom:30px;border:1px solid rgba(100,255,218,.1);box-shadow:0 20px 25px -5px #0000004d;transition:transform .2s ease,box-shadow .2s ease}.project-summary .summary-sidebar .sidebar-block:hover{transform:translateY(-2px);box-shadow:0 25px 50px -12px #64ffda40}.project-summary .summary-sidebar .sidebar-block h3{color:#64ffda;margin-bottom:20px;font-size:1.3em;font-weight:600;text-align:center;position:relative}.project-summary .summary-sidebar .sidebar-block h3:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:30px;height:2px;background:#64ffda;opacity:.6}.tech-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.tech-list .tech-badge{background:linear-gradient(135deg,#64ffda1a,#64ffda0d);color:#64ffda;padding:10px 16px;border-radius:25px;font-size:.9em;font-weight:500;border:1px solid rgba(100,255,218,.2);transition:all .3s ease}.tech-list .tech-badge:hover{transform:translateY(-2px);background:linear-gradient(135deg,#64ffda26,#64ffda14);border-color:#64ffda66;box-shadow:0 8px 25px #64ffda26}.project-links{display:flex;flex-direction:column;gap:16px;margin-top:25px}.link-button{padding:16px 24px;border:2px solid #64FFDA;border-radius:8px;color:#64ffda;text-decoration:none;font-size:1em;font-weight:600;text-align:center;transition:all .3s ease;position:relative;overflow:hidden;background:transparent}.link-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#64ffda,#64ffdacc);transition:left .3s ease;z-index:-1}.link-button:hover{color:#112240;border-color:#64ffda;transform:translateY(-2px);box-shadow:0 10px 25px #64ffda4d}.link-button:hover:before{left:0}.link-button:active{transform:translateY(0)}.image-gallery-container{margin:30px 0}.gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#64ffda0d;border-radius:12px;border:1px dashed rgba(100,255,218,.3)}.gallery-loading .spinner{width:32px;height:32px;border:3px solid rgba(100,255,218,.2);border-top:3px solid #64FFDA;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.gallery-loading p{color:#8892b0;font-size:1.1em;margin:0}.gallery-placeholder{display:flex;align-items:center;justify-content:center;padding:40px;background:#64ffda08;border-radius:12px;border:1px dashed rgba(100,255,218,.2)}.gallery-placeholder p{color:#8892b0;font-size:1.1em;margin:0;opacity:.7}.screenshots-gallery{margin-top:20px}.screenshots-gallery h3{font-size:1.5em;color:#ccd6f6;margin-bottom:20px}.screenshots-gallery .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.screenshots-gallery .screenshot-image{width:100%;height:auto;border-radius:8px;box-shadow:0 10px 30px -15px #020c1bb3}.carousel-container{position:relative;width:100%;max-width:800px;margin:20px auto 40px}.carousel-wrapper .carousel:hover{transform:translateY(-2px)}.carousel{overflow:hidden;border-radius:12px;box-shadow:0 10px 30px -15px #020c1bb3;max-height:350px;transition:all .3s ease}.carousel:hover{box-shadow:0 10px 30px -15px #020c1bb3,0 0 0 1px #64ffda1a,0 0 30px #64ffda26}.carousel-images{display:flex;width:100%}.carousel-image{flex:0 0 100%;width:100%;max-height:350px;height:auto;object-fit:contain;transition:transform .4s ease,filter .3s ease}.carousel-image:hover{filter:contrast(1.05)}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#0f172acc,#1e293be6);color:#64ffda;border:2px solid rgba(100,255,218,.3);padding:0;width:50px;height:50px;cursor:pointer;z-index:10;font-size:1.6em;border-radius:50%;transition:all .3s ease;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 20px #0000004d}.carousel-button:before{content:"";position:absolute;inset:-10px;border-radius:50%}.carousel-button:hover{background:linear-gradient(135deg,#64ffda,#64ffdacc);color:#112240;border-color:#64ffda;transform:translateY(-50%) scale(1.1);box-shadow:0 12px 30px #64ffda66}.carousel-button:active{transform:translateY(-50%) scale(.95)}.carousel-button.prev{left:-70px}.carousel-button.next{right:-70px}.carousel-indicators{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;gap:12px}.carousel-indicators .indicator-dot{width:12px;height:12px;background-color:#ccd6f666;border-radius:50%;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative}.carousel-indicators .indicator-dot:before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid transparent;transition:all .3s ease}.carousel-indicators .indicator-dot:hover{background-color:#64ffdab3;transform:scale(1.2)}.carousel-indicators .indicator-dot.active{background-color:#64ffda;transform:scale(1.3);box-shadow:0 0 15px #64ffda80}.carousel-indicators .indicator-dot.active:before{transform:scale(1.5)}.image-gallery{margin:20px 0}.image-gallery h3{font-size:1.5em;color:#ccd6f6;margin-bottom:20px}.thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin:20px 0}@media (max-width: 480px){.thumbnails-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.thumbnail-item{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.thumbnail-item:hover{transform:scale(1.05);box-shadow:0 8px 25px #0000004d}.thumbnail-item:hover .thumbnail-overlay{opacity:1}.thumbnail-item img{width:100%;height:100%;object-fit:cover;border-radius:8px}.thumbnail-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:8px}.thumbnail-overlay .zoom-icon{font-size:1.5em;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.image-modal{position:fixed;inset:0;background:#000000e6;z-index:1050;display:flex;align-items:center;justify-content:center;padding:20px}.image-modal .modal-close{position:fixed;top:20px;right:20px;background:#000c;border:2px solid rgba(255,255,255,.5);border-radius:50%;width:35px;height:35px;color:#fff;font-size:1.3em;cursor:pointer;z-index:1200;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.8em}.image-modal .modal-close:hover{background:#fff3;border-color:#fffc;transform:scale(1.1)}.modal-content{position:relative;width:100%;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.modal-content .modal-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 30px #00000080}.project-badges{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;padding:20px 0}.project-badges .meta-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:15px;font-size:.85rem;font-weight:500;transition:all .3s ease;cursor:default;transform-style:preserve-3d;box-shadow:0 4px 8px #00000026}.project-badges .meta-badge .badge-category{font-size:.75rem;font-weight:600;opacity:.8;text-transform:uppercase;letter-spacing:.5px;margin-right:.2rem}.project-badges .meta-badge .badge-icon{font-size:.95rem;filter:drop-shadow(0 0 2px rgba(0,0,0,.3))}.project-badges .meta-badge.status-in-progress{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;box-shadow:0 4px 12px #ffd70066}.project-badges .meta-badge.status-completed{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 4px 12px #10b98166}.project-badges .meta-badge.status-paused{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 4px 12px #f59e0b66}.project-badges .meta-badge.status-cancelled{background:linear-gradient(135deg,#6b7280,#374151);color:#fff;box-shadow:0 4px 14px #37415190}.project-badges .meta-badge.status-waiting-maj{background:linear-gradient(135deg,#fbbf24,#fef08a);color:#000;box-shadow:0 4px 12px #f5bf2466}.project-badges .meta-badge.type-personal{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 4px 12px #8b5cf666}.project-badges .meta-badge.type-school{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;box-shadow:0 4px 12px #3b82f666}.project-badges .meta-badge.type-collaborative{background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;box-shadow:0 4px 12px #ec489966}.project-badges .meta-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}@media (max-width: 768px){.project-badges .meta-badge{font-size:.75rem;padding:.25rem .5rem}.project-badges .meta-badge .badge-icon{font-size:.8rem}}.lazy-project-image{width:100%;height:100%;position:relative;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.project-image.loading{opacity:.7}.project-image.loaded{opacity:1}.image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.image-placeholder.awaiting{background:#64ffda08}.image-placeholder.awaiting .placeholder-content{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.6}.image-placeholder.awaiting .placeholder-icon{font-size:2em}.image-placeholder.awaiting .placeholder-text{color:#8892b0;font-size:.9em;text-align:center}.image-placeholder.loading{background:linear-gradient(90deg,#64ffda0d 25%,#64ffda1a,#64ffda0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.image-placeholder.loading .loading-text{color:#64ffda;font-size:.9em;margin-top:8px;font-weight:500}.image-placeholder.error{background:#ff64641a}.image-placeholder.error .error-icon{font-size:2em;color:#ff6b6b}.image-placeholder.error .error-text{color:#ff6b6b;font-size:.9em;text-align:center}.image-placeholder.no-image{background:#64ffda05}.image-placeholder.no-image .no-image-icon{font-size:2em;opacity:.5}.image-placeholder.no-image .no-image-text{color:#8892b0;font-size:.9em;opacity:.5;text-align:center}.spinner{width:24px;height:24px;border:2px solid rgba(100,255,218,.2);border-top:2px solid #64FFDA;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-card{background:#64ffda0d;border:1px solid rgba(100,255,218,.2);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000004d;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;width:fit-content;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-card:hover{transform:translateY(-8px) scale(1.02) rotate(1deg);background:#64ffda14;border-color:#64ffda66;box-shadow:0 8px 30px #64ffda26}.project-link{text-decoration:none;color:inherit}.project-image-container{width:100%;height:200px;background-color:#64ffda0d;position:relative;overflow:hidden}.project-card-image{width:100%;height:100%}.project-content{padding:20px;display:flex;flex-direction:column;flex-grow:1}.project-title{color:#e6f1ff;font-size:1.3em;font-weight:600;margin-bottom:12px}.project-description{color:#8892b0;font-size:1em;line-height:1.4;flex-grow:1}.project-technologies{margin-top:15px;display:flex;flex-wrap:wrap;gap:5px}.tech-badge{background:#64ffda1a;color:#64ffda;border:1px solid rgba(100,255,218,.3);padding:6px 12px;border-radius:20px;font-size:.8em;font-weight:500;white-space:nowrap;transition:all .2s ease}.tech-badge:hover{background:#64ffda33;border-color:#64ffda80;animation:pulse .6s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.projects-page{padding:150px 20px 40px;max-width:1200px;margin:0 auto}.page-title{text-align:center;font-size:3em;color:#64ffda;margin-bottom:40px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;min-height:600px}.project-card.skeleton{background:#64ffda08;border:1px solid rgba(100,255,218,.1)}.project-card.skeleton .skeleton-image,.project-card.skeleton .skeleton-title,.project-card.skeleton .skeleton-description,.project-card.skeleton .skeleton-tech{background:linear-gradient(90deg,#64ffda0d 25%,#64ffda1a,#64ffda0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.project-card.skeleton .skeleton-image{width:100%;height:200px;margin-bottom:0}.project-card.skeleton .skeleton-title{height:1.6rem;width:70%;margin-bottom:12px}.project-card.skeleton .skeleton-description{height:1rem;width:100%;margin-bottom:.5rem}.project-card.skeleton .skeleton-description.short{width:60%;margin-bottom:15px}.project-card.skeleton .skeleton-technologies{display:flex;gap:5px;margin-top:15px}.project-card.skeleton .skeleton-tech{height:1.2rem;width:60px;border-radius:20px}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-message{text-align:center;font-size:1.2em;color:#ccd6f6;padding:50px 0}.contact-page{padding:100px 0;background:#112240;color:#ccd6f6}.contact-page h1{text-align:center;font-size:2.5rem;color:#e6f1ff;margin-bottom:2rem}.contact-page .social-links{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem}.contact-page .social-links a{color:#64ffda;font-weight:600;font-size:1.1rem;text-decoration:none;padding:.5rem 1.5rem;border:2px solid #64FFDA;border-radius:8px;background:transparent;transition:all .3s ease}.contact-page .social-links a:hover{color:#112240;background:#64ffda;transform:translateY(-3px);box-shadow:0 10px 25px #64ffda66}.contact-page .contact-form{max-width:600px;margin:0 auto;padding:2rem;background:#64ffda0d;border-radius:12px;box-shadow:0 10px 30px -15px #020c1bb3}.contact-page .contact-form label{font-weight:700;color:#e6f1ff}.contact-page .contact-form input,.contact-page .contact-form textarea{width:100%;padding:.5rem;border:1px solid rgba(100,255,218,.2);border-radius:4px;background:transparent;color:#ccd6f6;transition:border-color .3s ease}.contact-page .contact-form input:focus,.contact-page .contact-form textarea:focus{border-color:#64ffda;outline:none}.contact-page .contact-form button{padding:1rem 2rem;background:transparent;color:#64ffda;border:2px solid #64FFDA;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .3s ease}.contact-page .contact-form button:hover{background:#64ffda;color:#112240;transform:translateY(-3px);box-shadow:0 10px 30px #64ffda80}.contact-page .contact-form button:active{background:#64ffda;color:#112240;transform:translateY(-1px);box-shadow:0 5px 15px #64ffda4d}.contact-page .contact-form .success{color:#64ffda;text-align:center}.contact-page .contact-form .error{color:#ff69b4;text-align:center}.contact-form{display:flex;flex-direction:column;gap:1.5rem;position:relative}.contact-form .form-field{display:flex;flex-direction:column;align-items:center;text-align:center}.contact-form .form-field label{font-weight:600;color:#e6f1ff;margin-bottom:.5rem;font-size:1.1rem}.contact-form .form-field input,.contact-form .form-field textarea{width:100%;padding:.75rem;border:2px solid rgba(100,255,218,.2);border-radius:8px;background:#64ffda08;color:#ccd6f6;font-size:1rem;transition:all .3s ease}.contact-form .form-field input:focus,.contact-form .form-field textarea:focus{border-color:#64ffda;outline:none;background:#64ffda14;box-shadow:0 0 15px #64ffda33}.contact-form .form-field input::placeholder,.contact-form .form-field textarea::placeholder{color:#8892b0;opacity:.6}.contact-form .form-field textarea{min-height:120px;resize:vertical}.contact-form .button-wrapper{display:flex;justify-content:center;margin-top:1rem}.contact-form .button-wrapper button{padding:1rem 3rem;background:transparent;color:#64ffda;border:2px solid #64FFDA;border-radius:50px;cursor:pointer;font-size:1.1rem;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden}.contact-form .button-wrapper button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#64ffda;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;z-index:-1}.contact-form .button-wrapper button:hover:before{width:300px;height:300px}.contact-form .button-wrapper button:hover{color:#112240;transform:translateY(-3px);box-shadow:0 10px 30px #64ffda80}.contact-form .button-wrapper button:active{transform:translateY(-1px);box-shadow:0 5px 15px #64ffda4d}.contact-form .success,.contact-form .error{text-align:center;font-weight:600;padding:1rem;border-radius:8px;animation:fadeIn .5s ease}.contact-form .success{color:#64ffda;background:#64ffda1a;border:1px solid rgba(100,255,218,.3)}.contact-form .error{color:#ff69b4;background:#ff69b41a;border:1px solid rgba(255,105,180,.3)}.plane-animation{position:fixed;width:60px;height:60px;pointer-events:none;z-index:9999;filter:drop-shadow(0 0 10px rgba(100,255,218,.5))}.plane-animation svg{width:100%;height:100%;fill:#64ffda}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}body{margin:0;padding:0;font-family:Inter,sans-serif;background-color:#0a192f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#ccd6f6}h1,h2,h3,h4,h5,h6{margin:0 0 10px;color:#ccd6f6;font-family:Montserrat,sans-serif}a{text-decoration:none;color:#64ffda;transition:all .2s ease-in-out}a:hover{color:#97ffe6}section{padding:40px 0}
