:root{--primary-color:#1a1a2e;--secondary-color:#16213e;--accent-color:#4d7c8a;--accent-color-light:#6998a6;--text-color:#e0e0e0;--text-secondary:#a0a0a0;--bg-color:#0f172a;--card-bg:#1e293b;--card-bg-hover:#2a3c53;--gradient-1:linear-gradient(45deg,var(--primary-color),var(--secondary-color));--gradient-2:linear-gradient(135deg,var(--accent-color),#2d545e);--gradient-3:linear-gradient(to right,#1a1a2e,#16213e);--shadow:0 5px 15px rgba(0,0,0,0.3);--shadow-lg:0 10px 25px rgba(0,0,0,0.5);--transition:all .3s ease;--border-radius:10px;--border-color:rgba(255,255,255,0.1);--error-color:#e15f5f;--success-color:#5fe15f;--highlight:#fc0}.light-theme{--primary-color:#fff;--secondary-color:#f0f4f8;--accent-color:#3d6b78;--accent-color-light:#6998a6;--text-color:#333;--text-secondary:#666;--bg-color:#f5f8fa;--card-bg:#fff;--card-bg-hover:#f0f0f0;--gradient-1:linear-gradient(45deg,#f0f4f8,#e0e8f0);--gradient-2:linear-gradient(135deg,var(--accent-color),#6998a6);--gradient-3:linear-gradient(to right,#f5f8fa,#e0e8f0);--shadow:0 5px 15px rgba(0,0,0,0.1);--shadow-lg:0 10px 25px rgba(0,0,0,0.15);--border-color:rgba(0,0,0,0.1)}*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif}html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:80px}body{background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}section{padding:6rem 0;position:relative}.section{padding:6rem 0;position:relative}.section-title{font-size:2.5rem;text-align:center;margin-bottom:1rem;position:relative;color:var(--accent-color)}.section-subtitle{text-align:center;font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem}img{max-width:100%;height:auto}a{text-decoration:none;color:var(--accent-color);transition:var(--transition)}a:hover{color:var(--accent-color-light)}ul{list-style:none}.highlight{color:var(--highlight);font-weight:500}.btn,.submit-btn,.hero-btn,.social-btn,.view-project-btn,.filter-btn{display:inline-block;padding:.8rem 1.5rem;background:var(--accent-color);color:var(--text-color);border:0;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);font-weight:500;text-align:center;font-size:1rem}.btn:hover,.submit-btn:hover,.hero-btn:hover,.social-btn:hover,.view-project-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.btn:active,.submit-btn:active,.hero-btn:active,.social-btn:active,.view-project-btn:active{transform:translateY(-1px)}.hero-btn{margin:1rem .5rem 1rem 0;min-width:160px;position:relative;overflow:hidden;z-index:1}.hero-btn::before{content:'';position:absolute;top:0;left:0;width:0%;height:100%;background:rgba(255,255,255,0.1);z-index:-1;transition:var(--transition)}.hero-btn:hover::before{width:100%}.hero-btn.primary{background:var(--accent-color)}.hero-btn.secondary{background:transparent;border:2px solid var(--accent-color)}.hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;margin-top:2rem}.loader-container{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);display:flex;justify-content:center;align-items:center;z-index:2000;transition:opacity .5s ease}.loader-hidden{opacity:0}.loader{display:flex;flex-direction:column;align-items:center}.loader svg{width:80px;height:80px;transform:rotate(-90deg)}#loader-circle{fill:none;stroke:var(--accent-color);stroke-width:4;stroke-dasharray:200;stroke-dashoffset:200;animation:loader-circle 2s ease-in-out infinite}.loader-text{font-size:1.5rem;font-weight:bold;margin-top:1rem;color:var(--accent-color);letter-spacing:2px;animation:pulse 2s ease-in-out infinite}.navbar{background:rgba(15,23,42,0.95);backdrop-filter:blur(10px);padding:1rem 0;position:fixed;width:100%;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,0.3);transition:all .3s ease}.navbar-scrolled{padding:.5rem 0;background:rgba(15,23,42,0.98);box-shadow:0 5px 15px rgba(0,0,0,0.3)}.light-theme .navbar{background:rgba(255,255,255,0.95)}.light-theme .navbar-scrolled{background:rgba(255,255,255,0.98)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;font-size:1.5rem;font-weight:bold;color:var(--accent-color);text-decoration:none;transition:var(--transition)}.logo:hover{text-shadow:0 0 10px var(--accent-color)}.logo-icon{margin-left:.5rem}.fa-spin-hover:hover{animation:spin 2s linear infinite}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-menu a{text-decoration:none;color:var(--text-color);transition:var(--transition);font-weight:500;position:relative;padding:.5rem 0}.nav-menu a::after{content:'';position:absolute;width:0;height:2px;bottom:0;left:50%;background:var(--accent-color);transition:var(--transition);transform:translateX(-50%)}.nav-menu a:hover::after{width:100%}.nav-menu a:hover{color:var(--accent-color)}.mobile-menu-toggle{display:none;font-size:1.5rem;cursor:pointer;color:var(--text-color)}.theme-toggle{cursor:pointer;padding:.5rem;border-radius:50%;background:var(--card-bg);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.theme-toggle:hover{background:var(--card-bg-hover)}.theme-toggle i{font-size:1.2rem;color:var(--text-color)}.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(rgba(15,23,42,0.7),rgba(22,33,62,0.7)),url('../images/background.png');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;overflow:hidden}.light-theme .hero{background:linear-gradient(rgba(245,248,250,0.8),rgba(240,244,248,0.8)),url('../images/background.png');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.hero-content{text-align:center;z-index:5}.hero h1{font-size:4rem;margin-bottom:1rem;color:var(--text-color);text-shadow:2px 2px 4px rgba(0,0,0,0.5);letter-spacing:4px}.light-theme .hero h1{text-shadow:1px 1px 3px rgba(0,0,0,0.3)}.glitch{position:relative;animation:glitch 5s infinite}.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8}.glitch::before{animation:glitch-effect 3s infinite;color:#0ff;clip:rect(44px,450px,56px,0);left:2px}.glitch::after{animation:glitch-effect 2s infinite;color:#f0f;clip:rect(44px,450px,56px,0);left:-2px}.hero .typing-container{background:rgba(0,0,0,0.3);padding:1rem;border-radius:8px;backdrop-filter:blur(5px);max-width:80%;margin:0 auto}.light-theme .hero .typing-container{background:rgba(255,255,255,0.3)}.typing-text{border-right:2px solid var(--accent-color);white-space:nowrap;overflow:hidden;animation:typing 4s steps(60) 1s both,blink 1s infinite;font-size:1.2rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);text-align:center;animation:bounce 2s infinite;color:var(--text-color);font-weight:300}.scroll-indicator i{margin-top:.5rem;font-size:1.2rem}.hero-particles{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1}.about{background:var(--bg-color);position:relative;overflow:hidden}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center}.about-image{position:relative}.about-image-wrapper{position:relative;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-lg);border:5px solid var(--card-bg);transform:rotate(-3deg);transition:transform .3s ease}.about-image-wrapper:hover{transform:rotate(0)}.profile-image{width:100%;height:auto;display:block;transition:transform .5s ease}.about-image-wrapper:hover .profile-image{transform:scale(1.05)}.about-text{color:var(--text-color)}.about-text p{margin-bottom:1.5rem;font-size:1.1rem}.about-info{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.info-card{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--shadow);transition:var(--transition);text-align:center;border:1px solid var(--border-color)}.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.info-icon{font-size:2rem;color:var(--accent-color);margin-bottom:1rem}.info-card h3{margin-bottom:.5rem;color:var(--accent-color)}.bg-shapes{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;overflow:hidden}.shape{position:absolute;border-radius:50%;opacity:.1}.shape-1{width:300px;height:300px;top:-100px;left:-150px;background:var(--accent-color)}.shape-2{width:200px;height:200px;bottom:-50px;right:-100px;background:var(--accent-color-light)}.shape-3{width:400px;height:400px;top:-200px;right:-200px;background:var(--accent-color)}.shape-4{width:250px;height:250px;bottom:50px;left:-120px;background:var(--accent-color-light)}.shape-5{width:350px;height:350px;top:-150px;left:-170px;background:var(--accent-color)}.shape-6{width:280px;height:280px;bottom:-140px;right:-140px;background:var(--accent-color-light)}.projects{background:var(--secondary-color);position:relative}.project-filters{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-btn{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);padding:.5rem 1.2rem;border-radius:50px;cursor:pointer;transition:var(--transition)}.filter-btn:hover,.filter-btn.active{background:var(--accent-color);color:white}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.project-card{background:var(--card-bg);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition);box-shadow:var(--shadow);border:1px solid var(--border-color);height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.project-image-container{position:relative;overflow:hidden;height:200px}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;justify-content:center;align-items:center;opacity:0;transition:var(--transition)}.project-card:hover .project-overlay{opacity:1}.view-project-btn{padding:.7rem 1.2rem;background:var(--accent-color);color:white;border-radius:var(--border-radius);font-weight:500;transform:translateY(20px);transition:all .3s ease}.project-card:hover .view-project-btn{transform:translateY(0)}.project-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-title{font-size:1.2rem;margin-bottom:.8rem;color:var(--accent-color)}.project-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.85rem;color:var(--text-secondary)}.project-date{display:flex;align-items:center}.project-date i{margin-right:.3rem}.project-categories{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.project-category{background:var(--bg-color);padding:.2rem .5rem;border-radius:3px;font-size:.75rem}.project-tech{margin-top:1rem;font-size:.9rem;color:var(--text-secondary);border-top:1px solid var(--border-color);padding-top:.8rem}.no-projects{grid-column:1 / -1;padding:3rem;text-align:center;background:var(--card-bg);border-radius:var(--border-radius)}.no-projects i{font-size:3rem;color:var(--text-secondary);margin-bottom:1rem}.project-counter{display:flex;justify-content:center;gap:4rem;margin-top:4rem}.counter-item{text-align:center}.counter-value{font-size:3rem;font-weight:bold;color:var(--accent-color);display:block}.counter-label{font-size:1.2rem;color:var(--text-secondary)}.skills{background:var(--bg-color);position:relative;overflow:hidden}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem}.skill-card{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);text-align:center;transition:var(--transition);box-shadow:var(--shadow);border:1px solid var(--border-color)}.skill-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.skill-icon{font-size:2.5rem;color:var(--accent-color);margin-bottom:1rem}.skill-card h3{margin-bottom:1.5rem;color:var(--accent-color)}.skill-level{margin:1.5rem 0}.skill-bar{width:100%;height:8px;background:var(--bg-color);border-radius:4px;overflow:hidden;position:relative;margin-bottom:.5rem}.skill-progress{position:absolute;top:0;left:0;height:100%;background:var(--accent-color);width:0;transition:width 1.5s ease}.skill-percentage{color:var(--text-secondary);font-size:.9rem}.software-logos{margin-top:4rem;position:relative;padding:1rem 0;overflow:hidden}.logo-slider{display:flex;animation:slide 30s linear infinite;padding:1rem 0}.logo-slider img{height:40px;margin:0 2rem;filter:grayscale(100%) brightness(0.8);transition:var(--transition)}.logo-slider img:hover{filter:grayscale(0%)}.timeline{background:var(--secondary-color);position:relative;padding:6rem 0}.timeline-container{position:relative;padding:2rem 0}.timeline-container::before{content:'';position:absolute;width:4px;background:var(--accent-color);top:0;bottom:0;left:50%;margin-left:-2px}.timeline-item{position:relative;margin-bottom:4rem;width:50%}.timeline-item{position:relative;margin-bottom:4rem;width:50%}.timeline-item.left{left:0}.timeline-item.right{left:50%}.timeline-content{position:relative;padding:1.5rem;background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow);transition:var(--transition);border:1px solid var(--border-color)}.timeline-item.left .timeline-content{margin-right:40px}.timeline-item.right .timeline-content{margin-left:40px}.timeline-content::after{content:'';position:absolute;top:20px;width:25px;height:25px;background:var(--accent-color);border-radius:50%}.timeline-item.left .timeline-content::after{right:-12.5px}.timeline-item.right .timeline-content::after{left:-12.5px}.timeline-date{color:var(--accent-color);font-weight:600;margin-bottom:.5rem}.timeline-content h3{margin-bottom:.5rem;color:var(--text-color)}.timeline-content:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.contact{background:var(--bg-color);position:relative;overflow:hidden}.contact-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:flex-start}.contact-info{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border-color)}.contact-card{display:flex;align-items:center;margin-bottom:2rem}.contact-icon{font-size:2rem;color:var(--accent-color);margin-right:1rem}.social-links{display:flex;flex-wrap:wrap;gap:1rem}.social-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:var(--card-bg-hover);border-radius:var(--border-radius);text-decoration:none;color:var(--text-color);transition:var(--transition);width:100%}.social-btn:hover{background:var(--accent-color);transform:translateY(-5px)}.social-btn i{font-size:1.2rem}.contact-form{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border-color)}.form-group{position:relative;margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem;font-size:1rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);border-radius:var(--border-radius);transition:var(--transition)}.form-group label{position:absolute;top:1rem;left:1rem;color:var(--text-secondary);transition:var(--transition);pointer-events:none}.form-group input:focus,.form-group textarea:focus,.form-group input:not(:placeholder-shown),.form-group textarea:not(:placeholder-shown){outline:0;border-color:var(--accent-color)}.form-group input:focus+label,.form-group textarea:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:not(:placeholder-shown)+label{top:-.5rem;left:.5rem;font-size:.8rem;background:var(--card-bg);padding:0 .5rem}.form-group input::placeholder,.form-group textarea::placeholder{color:transparent}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;padding:1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;background:var(--accent-color);color:white;border:0;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:500;transition:var(--transition)}.submit-btn i{transition:transform .3s ease}.submit-btn:hover i{transform:translateX(5px)}.form-message{margin-top:1rem;padding:.8rem;border-radius:var(--border-radius);font-size:.9rem;text-align:center;animation:fadeIn .3s ease;transition:opacity .5s ease}.form-message.success{background:rgba(95,225,95,0.1);color:var(--success-color);border:1px solid var(--success-color)}.form-message.error{background:rgba(225,95,95,0.1);color:var(--error-color);border:1px solid var(--error-color)}.form-message-hide{opacity:0}footer{background:var(--primary-color);padding:4rem 0 2rem;color:var(--text-color)}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:2rem}.footer-logo{font-size:1.5rem;font-weight:bold;color:var(--accent-color);margin-bottom:1rem}.footer-logo p{font-size:1rem;font-weight:normal;color:var(--text-secondary);margin-top:.5rem}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.footer-links-column h3{font-size:1.2rem;color:var(--text-color);margin-bottom:1rem}.footer-links-column ul li{margin-bottom:.5rem}.footer-links-column a{color:var(--text-secondary);transition:var(--transition);font-size:.9rem}.footer-links-column a:hover{color:var(--accent-color)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.footer-bottom p{margin-bottom:.5rem}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--accent-color);border-radius:50%;display:flex;justify-content:center;align-items:center;color:white;cursor:pointer;opacity:0;visibility:hidden;z-index:999;transition:var(--transition);box-shadow:var(--shadow)}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-5px);background:var(--accent-color-light)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .5s ease,transform .5s ease}.animate-visible{opacity:1;transform:translateY(0)}.expanded-image-view{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:flex;justify-content:center;align-items:center;z-index:2000}.expanded-image-container{position:relative;max-width:90%;max-height:90%}.expanded-image-view img{max-width:100%;max-height:90vh;display:block}.close-expanded{position:absolute;top:-40px;right:-40px;background:transparent;border:0;color:white;font-size:2rem;cursor:pointer}.zoom-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:flex;justify-content:center;align-items:center;z-index:2000}.zoom-container{position:relative;max-width:90%;max-height:90%}.zoomed-image{max-width:100%;max-height:90vh;display:block}.close-zoom{position:absolute;top:-40px;right:-40px;background:transparent;border:0;color:white;font-size:2rem;cursor:pointer}@media (max-width:1024px){html{font-size:14px}.about-content{grid-template-columns:1fr}.about-image{max-width:400px;margin:0 auto}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-content{grid-template-columns:1fr;gap:2rem}.project-counter{gap:2rem}.timeline-container::before{left:31px}.timeline-item{width:100%;padding-left:70px;padding-right:25px}.timeline-item.left,.timeline-item.right{left:0}.timeline-item.left .timeline-content,.timeline-item.right .timeline-content{margin-right:0;margin-left:0}.timeline-item.left .timeline-content::after,.timeline-item.right .timeline-content::after{left:-58px}}@media (max-width:768px){.navbar .container{position:relative}.mobile-menu-toggle{display:block}.nav-menu{position:absolute;top:100%;right:-100%;width:80%;max-width:300px;background:var(--card-bg);flex-direction:column;gap:0;padding:1rem 0;border-radius:0 0 10px 10px;box-shadow:var(--shadow);transition:right .3s ease}.nav-menu.active{right:0}.nav-menu li{width:100%}.nav-menu a{display:block;padding:1rem 2rem}.hero h1{font-size:3rem}.skills-grid{grid-template-columns:1fr}.project-counter{flex-direction:column;gap:2rem}}@media (max-width:480px){html{font-size:12px}.section-title{font-size:2rem}.project-grid{grid-template-columns:1fr}.hero h1{font-size:2.5rem}.about-info{grid-template-columns:1fr}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color-light)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}100%{opacity:1}}@keyframes glitch{0%{text-shadow:.05em 0 0 rgba(255,0,255,0.4),-.05em -.025em 0 rgba(0,255,255,0.4)}14%{text-shadow:.05em 0 0 rgba(255,0,255,0.4),-.05em -.025em 0 rgba(0,255,255,0.4)}15%{text-shadow:-.05em -.025em 0 rgba(255,0,255,0.4),.025em .025em 0 rgba(0,255,255,0.4)}49%{text-shadow:-.05em -.025em 0 rgba(255,0,255,0.4),.025em .025em 0 rgba(0,255,255,0.4)}50%{text-shadow:.025em .05em 0 rgba(255,0,255,0.4),.05em 0 0 rgba(0,255,255,0.4)}99%{text-shadow:.025em .05em 0 rgba(255,0,255,0.4),.05em 0 0 rgba(0,255,255,0.4)}100%{text-shadow:-.025em 0 0 rgba(255,0,255,0.4),-.025em -.025em 0 rgba(0,255,255,0.4)}}@keyframes glitch-effect{0%{clip:rect(12px,9999px,52px,0)}5%{clip:rect(42px,9999px,12px,0)}10%{clip:rect(64px,9999px,78px,0)}15%{clip:rect(52px,9999px,31px,0)}20%{clip:rect(61px,9999px,13px,0)}25%{clip:rect(31px,9999px,44px,0)}30%{clip:rect(86px,9999px,13px,0)}35%{clip:rect(25px,9999px,56px,0)}40%{clip:rect(92px,9999px,73px,0)}45%{clip:rect(24px,9999px,23px,0)}50%{clip:rect(58px,9999px,71px,0)}55%{clip:rect(79px,9999px,26px,0)}60%{clip:rect(12px,9999px,74px,0)}65%{clip:rect(15px,9999px,75px,0)}70%{clip:rect(40px,9999px,53px,0)}75%{clip:rect(32px,9999px,12px,0)}80%{clip:rect(15px,9999px,87px,0)}85%{clip:rect(29px,9999px,55px,0)}90%{clip:rect(48px,9999px,46px,0)}95%{clip:rect(50px,9999px,53px,0)}100%{clip:rect(18px,9999px,91px,0)}}@keyframes loader-circle{0%{stroke-dashoffset:200}50%{stroke-dashoffset:50;transform:rotate(360deg)}100%{stroke-dashoffset:200}}@keyframes slide{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@keyframes float{0%{transform:translateY(0px)}50%{transform:translateY(-10px)}100%{transform:translateY(0px)}}@keyframes cursor-blink{0%{opacity:0}50%{opacity:1}100%{opacity:0}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scale{0%{transform:scale(0);opacity:0}80%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes wave{0%{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(0)}75%{transform:translateY(5px)}100%{transform:translateY(0)}}.float-animation{animation:float 3s ease-in-out infinite}.heartbeat-animation{animation:heartbeat 1.5s infinite}.shake-animation{animation:shake .5s linear}.rotate-animation{animation:rotate 2s linear infinite}.wave-animation{animation:wave 2s linear infinite}.scale-animation{animation:scale .5s forwards}.blinking-cursor::after{content:'|';animation:cursor-blink 1.1s infinite;color:var(--accent-color);font-weight:bold}.stagger-entrance>*{opacity:0;transform:translateY(20px)}.stagger-entrance>*{opacity:0;transform:translateY(20px)}.stagger-entrance>*:nth-child(1){animation:slideUp .5s .1s forwards}.stagger-entrance>*:nth-child(2){animation:slideUp .5s .2s forwards}.stagger-entrance>*:nth-child(3){animation:slideUp .5s .3s forwards}.stagger-entrance>*:nth-child(4){animation:slideUp .5s .4s forwards}.stagger-entrance>*:nth-child(5){animation:slideUp .5s .5s forwards}.stagger-entrance>*:nth-child(6){animation:slideUp .5s .6s forwards}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:1100;overflow-y:auto;padding:40px 0}.modal-content{position:relative;width:90%;max-width:1000px;margin:0 auto;background:var(--card-bg);border-radius:var(--border-radius);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:scale .3s forwards}.close-modal{position:absolute;right:1.5rem;top:1.5rem;font-size:2rem;color:var(--text-color);cursor:pointer;transition:var(--transition);background:none;border:none;z-index:10}.close-modal:hover{color:var(--accent-color);transform:rotate(90deg)}.modal-body{margin-top:1rem}.modal-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:2.5rem;color:var(--accent-color);margin-bottom:.5rem}.modal-meta{display:flex;justify-content:center;gap:2rem;color:var(--text-secondary);font-size:.9rem}.modal-date{display:flex;align-items:center}.modal-date::before{content:'\f073';font-family:'Font Awesome 6 Free';font-weight:900;margin-right:.5rem;color:var(--accent-color)}.modal-tech{color:var(--text-secondary);font-weight:500}.modal-gallery-container{margin:0 -2.5rem;background:var(--bg-color);padding:2rem;margin-bottom:2.5rem;position:relative}.modal-main-image{position:relative;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow);cursor:zoom-in}.modal-main-image img{width:100%;height:auto;display:block}.gallery-controls{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1rem}.gallery-nav{background:rgba(0,0,0,0.5);color:white;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;border:none;transition:var(--transition)}.gallery-nav:hover{background:var(--accent-color)}.modal-thumbnails{display:flex;gap:.5rem;margin-top:1rem;justify-content:center;flex-wrap:wrap}.thumbnail{width:80px;height:60px;border-radius:5px;overflow:hidden;cursor:pointer;opacity:.6;transition:var(--transition);border:2px solid transparent}.thumbnail:hover{opacity:.9}.thumbnail.active{opacity:1;border-color:var(--accent-color)}.thumbnail img{width:100%;height:100%;object-fit:cover}.modal-description{margin-bottom:2rem}.modal-description ul{list-style-type:disc;margin-left:1.5rem;margin-top:1rem;margin-bottom:1rem}.modal-description li{margin-bottom:.5rem}.modal-process{margin:2rem 0;padding:2rem;background:var(--bg-color);border-radius:var(--border-radius)}.modal-process h3{color:var(--accent-color);margin-bottom:1rem;text-align:center}.process-timeline{margin-top:2rem}.timeline-steps{display:flex;justify-content:space-between;align-items:center;position:relative;flex-wrap:wrap}.timeline-step{text-align:center;position:relative;z-index:2;flex:1;min-width:120px;padding:0 10px;margin-bottom:10px}.timeline-step-point{width:20px;height:20px;background:var(--accent-color);border-radius:50%;margin:0 auto .5rem}.timeline-step-content{font-size:.9rem;color:var(--text-secondary)}.timeline-connector{height:3px;background:var(--accent-color);flex-grow:1;position:relative;top:-22px;z-index:1}.modal-categories{margin-top:2rem}.modal-categories h3{color:var(--accent-color);margin-bottom:1rem}.category-tags{display:flex;flex-wrap:wrap;gap:.5rem}.category-tag{padding:.4rem .8rem;background:var(--bg-color);border-radius:50px;font-size:.9rem;color:var(--text-secondary)}.modal-navigation{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.nav-btn{background:var(--card-bg-hover);color:var(--text-color);border:none;padding:.8rem 1.5rem;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.5rem;font-size:1rem}.nav-btn:hover{background:var(--accent-color)}@media (max-width:768px){.modal-content{width:95%;padding:1.5rem}.modal-title{font-size:1.8rem}.modal-meta{flex-direction:column;gap:.5rem}.modal-gallery-container{margin:0 -1.5rem;padding:1rem}.timeline-steps{flex-direction:column;align-items:flex-start}.timeline-step{width:100%;display:flex;align-items:center;margin-bottom:1rem;text-align:left}.timeline-step-point{margin:0 1rem 0 0}.timeline-connector{display:none}.modal-navigation{flex-direction:column;gap:1rem}.nav-btn{width:100%;justify-content:center}}