.about{padding:3rem 0;background-color:var(--bg-primary);margin-bottom:3rem}.about-container{max-width:1200px;margin:0 auto;padding:0 2rem}.about-content{width:100%}.about-grid{gap:3rem}.about-grid,.about-text{display:flex;flex-direction:column}.about-text{gap:1.5rem}.about-text p{color:var(--text-secondary);line-height:1.8;font-size:1rem}.about-skills{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-top:1.5rem}.skill-category{display:flex;flex-direction:column;gap:.75rem}.skill-category h4{color:var(--text-primary);font-size:1.125rem;margin-bottom:.5rem}.skill-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background-color:var(--bg-secondary);color:var(--text-primary);padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:500;transition:all .3s ease}.skill-tag:hover{background-color:var(--accent-color);color:#fff;transform:translateY(-2px)}@media (min-width:768px){.about{padding:4rem 0}.about-container{padding:0 3rem}.about-grid{flex-direction:row;align-items:flex-start;gap:4rem}.about-text{flex:1 1}.about-text p{font-size:1.125rem}.about-skills{flex:1 1;grid-template-columns:repeat(2,1fr);margin-top:0}.skill-category h4{font-size:1.25rem}.skill-tag{font-size:1rem}}@media (min-width:1200px){.about-container{padding:0}}@media (hover:none){.skill-tag:hover{transform:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--bg-primary);transition:all .3s cubic-bezier(.4,0,.2,1);padding:.75rem 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 16px rgba(0,0,0,.07)}.navbar.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.12);background-color:rgba(var(--bg-primary-rgb),.92)}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem;gap:2.5rem;max-width:1400px;margin:0 auto;min-height:64px}.nav-logo{font-size:1.4rem;font-weight:800;color:var(--text-primary);text-decoration:none;padding:.5rem;letter-spacing:-.02em;cursor:pointer}.nav-logo-accent{color:var(--accent-color)}.nav-links{display:flex;gap:1.5rem;flex:1 1;justify-content:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s,border-color .2s;padding:.35rem .6rem;position:relative;font-size:1rem;border-bottom:2px solid transparent}.nav-link.active,.nav-link:hover{color:var(--accent-color);border-bottom:2px solid var(--accent-color)}.nav-actions{display:flex;align-items:center;gap:1.2rem}.theme-toggle{background:none;border:none;color:var(--text-secondary);font-size:1.3rem;cursor:pointer;transition:color .2s,transform .2s;padding:.5rem}.theme-toggle:hover{color:var(--accent-color);transform:scale(1.1)}.resume-button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:40px;background:linear-gradient(90deg,var(--accent-color) 60%,#74b9ff 100%);color:#fff;text-decoration:none;font-weight:600;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1);border:none;transition:background .3s,box-shadow .3s,transform .2s}.resume-button svg{font-size:1.2em}.resume-button:hover{background:linear-gradient(90deg,#74b9ff 0,var(--accent-color) 100%);color:#fff;transform:translateY(-2px) scale(1.04);box-shadow:0 8px 24px rgba(0,0,0,.18)}.nav-toggle{background:none;border:none;color:var(--accent-color);font-size:1.7rem;cursor:pointer;padding:.5rem;display:none;align-items:center;justify-content:center;transition:color .2s,transform .2s}.nav-toggle:hover{color:var(--text-primary);transform:scale(1.1)}@media (max-width:900px){.nav-links,.resume-button{display:none}.nav-toggle{display:flex}.nav-container{padding:0 1rem;gap:1rem;min-height:56px}.nav-logo{font-size:1.15rem;padding:.3rem 0}}.mobile-menu-overlay{background:rgba(0,0,0,.45);z-index:2000;transition:opacity .3s;pointer-events:auto}.mobile-menu-full,.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0}.mobile-menu-full{z-index:2100;background:rgba(var(--bg-primary-rgb),.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:0;animation:slideInMenu .35s cubic-bezier(.4,0,.2,1)}@keyframes slideInMenu{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem .5rem;border-bottom:1px solid var(--border-color)}.mobile-menu-actions{display:flex;align-items:center;gap:.7rem}.mobile-menu-links{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-top:2.5rem;width:100%}.mobile-menu-link{color:var(--text-primary);text-decoration:none;font-size:1.3rem;font-weight:600;padding:.7rem 0;border-radius:8px;width:80%;text-align:center;transition:background .2s,color .2s;position:relative}.mobile-menu-link.active,.mobile-menu-link:hover{background:var(--accent-color);color:#fff}.mobile-resume{display:flex;align-items:center;justify-content:center;margin:2.5rem auto 2rem;width:80%;font-size:1.1rem;padding:.9rem 0;border-radius:40px;background:linear-gradient(90deg,var(--accent-color) 60%,#74b9ff 100%);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.1);border:none;transition:background .3s,box-shadow .3s,transform .2s}.mobile-resume svg{font-size:1.3em}.mobile-resume:hover{background:linear-gradient(90deg,#74b9ff 0,var(--accent-color) 100%);color:#fff;transform:translateY(-2px) scale(1.04);box-shadow:0 8px 24px rgba(0,0,0,.18)}@media (max-width:500px){.mobile-menu-header{padding:1rem .7rem .5rem}.mobile-menu-link,.mobile-resume{width:95%;font-size:1rem}}[data-theme=dark] .navbar{background-color:rgba(24,26,27,.92)}[data-theme=dark] .mobile-menu-full{background:rgba(24,26,27,.98)}.theme-toggle-floating{position:fixed;top:.75rem;right:.75rem;z-index:2000;width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text-primary);border:1px solid rgba(60,60,60,.12);box-shadow:0 2px 8px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;transition:border-color .18s,box-shadow .18s,background .18s,color .18s,transform .12s;font-size:1rem;cursor:pointer;outline:none;padding:0}.theme-toggle-floating svg{width:20px;height:20px;display:block}.theme-toggle-floating:focus,.theme-toggle-floating:hover{border-color:var(--accent-color);box-shadow:0 4px 16px rgba(0,0,0,.13);background:hsla(0,0%,100%,.85);color:var(--accent-color);transform:scale(1.06)}[data-theme=dark] .theme-toggle-floating{background:rgba(30,32,34,.7);border:1px solid hsla(0,0%,100%,.08);color:#fff}[data-theme=dark] .theme-toggle-floating:focus,[data-theme=dark] .theme-toggle-floating:hover{border-color:var(--accent-color);box-shadow:0 4px 16px rgba(0,0,0,.18);background:rgba(30,32,34,.85);color:var(--accent-color)}.theme-toggle-inline{width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text-primary);border:1px solid rgba(60,60,60,.12);box-shadow:0 2px 8px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;transition:border-color .18s,box-shadow .18s,background .18s,color .18s,transform .12s;font-size:1rem;cursor:pointer;outline:none;padding:0}.theme-toggle-inline svg{width:20px;height:20px;display:block}.theme-toggle-inline:focus,.theme-toggle-inline:hover{border-color:var(--accent-color);box-shadow:0 4px 16px rgba(0,0,0,.13);background:hsla(0,0%,100%,.85);color:var(--accent-color);transform:scale(1.06)}[data-theme=dark] .theme-toggle-inline{background:rgba(30,32,34,.7);border:1px solid hsla(0,0%,100%,.08);color:#fff}[data-theme=dark] .theme-toggle-inline:focus,[data-theme=dark] .theme-toggle-inline:hover{border-color:var(--accent-color);box-shadow:0 4px 16px rgba(0,0,0,.18);background:rgba(30,32,34,.85);color:var(--accent-color)}@media (max-width:600px){.theme-toggle-floating{top:.5rem;right:.5rem;width:32px;height:32px;font-size:.9rem}.theme-toggle-floating svg{width:16px;height:16px}.theme-toggle-inline{width:32px;height:32px;font-size:.9rem}.theme-toggle-inline svg{width:16px;height:16px}}.hero{min-height:100vh;position:relative;padding:1rem 0;background-color:var(--bg-primary);overflow:hidden}.hero,.hero-content-wrapper{display:flex;align-items:center}.hero-content-wrapper{justify-content:center;width:100%}.hero-content{text-align:center;width:100%;padding:1rem}.hero-avatar{width:140px;height:140px;margin:0 auto 1.5rem;border-radius:50%;overflow:hidden;border:4px solid var(--accent-color);box-shadow:0 0 30px rgba(0,0,0,.15);animation:avatarBounce 1.2s cubic-bezier(.68,-.55,.27,1.55);background:#222;display:flex;align-items:center;justify-content:center}.hero-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;animation:fadeIn 1.2s}@keyframes avatarBounce{0%{transform:scale(.7)}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{transform:scale(1)}}.hero-title{font-size:2rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary);display:flex;flex-direction:column;align-items:center;gap:.25rem}.hero-subtitle{font-size:1.25rem;color:var(--accent-color);font-weight:500}.hero-description{font-size:1rem;color:var(--text-secondary);max-width:100%;margin-left:auto;margin-right:auto}.hero-buttons,.hero-description{margin-bottom:1.5rem;padding:0 1rem}.hero-buttons{display:flex;flex-direction:column;gap:1rem;justify-content:center}.btn{padding:.8rem 2rem;border-radius:50px;font-weight:600;transition:all .3s cubic-bezier(.68,-.55,.27,1.55);text-decoration:none;font-size:1.1rem;box-shadow:0 2px 8px rgba(0,0,0,.08);animation:fadeIn 1.2s}.btn-primary{background:var(--accent-color);color:#fff}.btn-outline:hover,.btn-primary:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 8px 24px rgba(0,0,0,.18)}.btn-outline{border:2px solid var(--accent-color);color:var(--accent-color)}.hero-socials{gap:1.5rem;margin-top:2.5rem;width:100%}.hero-socials,.hero-socials a{display:flex;justify-content:center;align-items:center}.hero-socials a{margin:0;color:var(--accent-color);font-size:1.7rem;opacity:.85;background:hsla(0,0%,100%,.07);border-radius:50%;width:48px;height:48px;flex:0 0 48px;transition:all .3s cubic-bezier(.68,-.55,.27,1.55);box-shadow:0 2px 8px rgba(0,0,0,.08)}.hero-socials a:hover{color:#fff;background:var(--accent-color);opacity:1;transform:translateY(-4px) scale(1.08);box-shadow:0 8px 24px rgba(0,0,0,.18)}.scroll-indicator{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (min-width:768px){.hero{padding:2rem 0}.hero-content{padding:2rem}.hero-avatar{width:200px;height:200px;margin-bottom:2rem;border-width:5px}.hero-title{font-size:3rem;margin-bottom:1rem;gap:.5rem}.hero-subtitle{font-size:1.5rem}.hero-description{font-size:1.2rem;max-width:600px;margin-bottom:2rem}.hero-buttons{flex-direction:row;padding:0}.hero-buttons .btn{min-width:180px}.hero-socials{margin-top:2rem}.hero-socials a{font-size:1.5rem}.scroll-indicator{bottom:2rem;font-size:1.5rem}}@media (hover:none){.hero-socials a:hover{transform:none}}@media (max-width:767px){.hero{padding:.5rem 0}.container{padding:0 .5rem}.hero-content{padding:.2rem}.hero-avatar{width:90px;height:90px;margin-bottom:.7rem;border-width:3px}.hero-title{font-size:1.3rem;margin-bottom:.3rem;gap:.15rem}.hero-subtitle{font-size:.95rem}.hero-description{font-size:.95rem}.hero-buttons,.hero-description{margin-bottom:.7rem;padding:0 .2rem}.hero-buttons{gap:.3rem;flex-direction:column}.btn{font-size:.95rem;padding:.6rem 1.2rem}.hero-socials{gap:1.2rem;margin-top:1.2rem}.hero-socials a{font-size:1.1rem;width:36px;height:36px}.scroll-indicator{bottom:.5rem;font-size:1rem;padding:.2rem}}@media (max-width:400px){.hero-title{font-size:1.05rem}.hero-avatar{width:64px;height:64px}.btn{font-size:.85rem;padding:.5rem .7rem}.hero-socials{gap:.7rem}.hero-socials a{width:28px;height:28px;font-size:.9rem}}[data-theme=dark] .hero,[data-theme=light] .hero{background-color:var(--bg-primary)}[data-theme=dark] .hero-description,[data-theme=dark] .hero-title{color:var(--text-primary)}[data-theme=dark] .hero-subtitle{color:var(--accent-color)}.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 20s ease-in-out infinite alternate;z-index:0}.orb-1{width:400px;height:400px;background-color:var(--accent-color);top:-100px;left:-100px}.orb-2{width:300px;height:300px;background-color:#74b9ff;bottom:-50px;right:-50px;animation-delay:-10s}@keyframes float{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}[data-theme=dark] .hero-orb{opacity:.15}.contact{padding:3rem 0;background-color:var(--bg-primary)}.contact-content{display:flex;flex-direction:column;gap:2rem}.contact-info{text-align:center}.contact-info h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.contact-info p{color:var(--text-secondary);margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-details{gap:1rem;margin-bottom:1.5rem}.contact-details,.contact-item{display:flex;flex-direction:column}.contact-item{gap:.25rem}.contact-label{font-weight:500;color:var(--text-primary)}.contact-item a{color:var(--accent-color);text-decoration:none}.social-links{justify-content:center;gap:1rem}.social-links a{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:50px;border:1px solid var(--border-color);transition:all .3s ease}.social-links a:hover{color:var(--accent-color);border-color:var(--accent-color);transform:translateY(-2px)}.contact-form{gap:1.5rem;max-width:600px;margin:0 auto;width:100%}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{font-weight:500}.form-input,.form-label{color:var(--text-primary)}.form-input{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--bg-primary);font-size:1rem;transition:all .3s ease}.form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(0,102,204,.2)}textarea.form-input{min-height:150px;resize:vertical}.success-message{color:#4caf50;background-color:rgba(76,175,80,.1)}.error-message,.success-message{margin-top:1rem;padding:.5rem;border-radius:4px}.error-message{color:#f44336;background-color:rgba(244,67,54,.1)}@media (min-width:768px){.contact{padding:4rem 0}.contact-content{flex-direction:row;align-items:center;justify-content:center;gap:4rem;min-height:80vh}.contact-info{text-align:left;flex:1 1;display:flex;flex-direction:column;justify-content:center;height:100%}.contact-info p{margin-left:0;margin-right:0}.contact-details{align-items:flex-start}.contact-item{flex-direction:row;align-items:center;gap:.5rem}.social-links{justify-content:flex-start}.contact-form{flex:1 1;margin:0}}@media (hover:none){.social-links a:hover{transform:none}}.experience{padding:3rem 0;background-color:var(--bg-primary);margin-bottom:3rem}.experience-container{max-width:1200px;margin:0 auto;padding:0 2rem}.experience-content{width:100%}.experience-grid{display:flex;flex-direction:column;gap:3rem}.experience-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;padding:2rem;transition:all .3s ease}.experience-card:hover{transform:translateY(-2px);border-color:var(--accent-color)}.experience-header{margin-bottom:1rem}.experience-title{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.experience-company{color:var(--accent-color);font-size:1rem;margin-bottom:.5rem}.experience-meta{display:flex;flex-direction:column;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.experience-meta span{display:flex;align-items:center;gap:.5rem}.experience-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.6}.experience-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.technology-tag{background-color:var(--bg-secondary);color:var(--text-primary);padding:.25rem .75rem;font-weight:500}.experience-achievements{background-color:var(--bg-secondary);padding:1rem;border-radius:.5rem}.experience-achievements h4{color:var(--text-primary);font-size:1rem;margin-bottom:.75rem}.experience-achievements ul{list-style:none;padding:0;margin:0}.experience-achievements li{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.experience-achievements li:before{content:"•";position:absolute;left:0;color:var(--accent-color)}@media (min-width:768px){.experience{padding:4rem 0}.experience-container{padding:0 3rem}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:3rem;gap:3rem}.experience-title{font-size:1.5rem}.experience-company{font-size:1.125rem}.experience-meta{flex-direction:row;flex-wrap:wrap;font-size:1rem}.experience-description{font-size:1rem}.technology-tag{font-size:.875rem;padding:.375rem 1rem}.experience-achievements h4{font-size:1.125rem}.experience-achievements li{font-size:1rem}}@media (min-width:1200px){.experience-container{padding:0}}@media (hover:none){.experience-card:hover{transform:none}}.experience-controls{display:flex;justify-content:space-between;align-items:center;margin:40px 0;flex-wrap:wrap;gap:20px}.view-toggle{display:flex;gap:10px}.view-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.view-btn:hover{background:var(--bg-secondary)}.view-btn.active{background:var(--accent-color);color:var(--bg-primary);border-color:var(--accent-color)}.tech-filter{gap:10px}.tech-btn{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:.9rem}.tech-btn:hover{background:var(--bg-secondary)}.tech-btn.active{background:var(--accent-color);color:var(--bg-primary);border-color:var(--accent-color)}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:30px;gap:30px;padding:20px 0}.grid-item{perspective:1000px}.grid-content{background:var(--bg-primary);border-radius:8px;padding:25px;transition:all .3s ease;cursor:pointer;border:1px solid var(--border-color)}.grid-content:hover{transform:translateY(-5px) rotateX(5deg);border-color:var(--accent-color)}.grid-title{font-size:1.3rem;color:var(--text-primary);margin-bottom:10px}.grid-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:15px;font-size:.9rem;color:var(--text-secondary)}.grid-description{color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.grid-technologies{display:flex;flex-wrap:wrap;gap:8px}.grid-content.expanded,.timeline-content.expanded{transform:scale(1.02);z-index:1}.timeline-details{overflow:hidden}@media (max-width:768px){.experience-controls{flex-direction:column;align-items:stretch}.tech-filter,.view-toggle{width:100%;justify-content:center}.grid-container{grid-template-columns:1fr}}@media (max-width:480px){.tech-btn,.view-btn{padding:6px 12px;font-size:.8rem}.grid-content{padding:20px}}.projects{padding:5rem 0;background:var(--bg-primary)}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--accent-color);border-radius:50px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease}.filter-toggle:hover{background:var(--accent-color);color:#fff}.tech-filter{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:2rem;padding:1rem;background:var(--bg-secondary);border-radius:15px;overflow:hidden}.tech-filter-btn{padding:.4rem 1.2rem;border:2px solid var(--accent-color);border-radius:50px;background:transparent;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.tech-filter-btn.active{background:var(--accent-color);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;padding:.5rem}.project-card{background:var(--bg-secondary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);transition:all .3s ease;cursor:pointer;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);border-color:var(--accent-color)}.project-icon-container{position:relative;width:100%;height:180px;display:flex;justify-content:center;align-items:center;background:var(--bg-primary);font-size:5rem;color:var(--accent-color);transition:all .3s ease;border-bottom:1px solid var(--border-color)}.project-card:hover .project-icon-container{background:var(--accent-color);color:#fff}.project-icon-container svg{transition:transform .3s ease}.project-card:hover .project-icon-container svg{transform:scale(1.1)}.project-status{position:absolute;top:.8rem;right:.8rem;padding:.3rem .8rem;background:var(--accent-color);color:#fff;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:capitalize}.project-content{padding:1.2rem;display:flex;flex-direction:column;flex-grow:1}.project-content h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--text-primary)}.project-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.5;font-size:.95rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;align-items:center}.technology-tag{padding:.2rem .6rem;background:var(--bg-primary);color:var(--accent-color);border-radius:50px;font-size:.75rem;font-weight:600}.project-links{display:flex;gap:.8rem;margin-top:auto}.project-links .btn{flex:1 1;gap:.4rem;padding:.5rem;font-size:.9rem}.project-links .btn,.project-modal{display:flex;align-items:center;justify-content:center}.project-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:var(--bg-secondary);border-radius:15px;border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:1.5rem}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-primary);font-size:1.8rem;cursor:pointer;z-index:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-modal:hover,.modal-icon-container{background:var(--bg-primary)}.modal-icon-container{width:100%;height:180px;display:flex;justify-content:center;align-items:center;border-radius:10px;margin-bottom:1.5rem;font-size:6rem;color:var(--accent-color);border:1px solid var(--border-color)}.modal-content h2{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary)}.modal-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:10px}.modal-stats .stat{text-align:center}.modal-stats .stat svg{font-size:1.2rem;color:var(--accent-color);margin-bottom:.5rem}.modal-stats .stat span{display:block;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.3rem}.modal-stats .stat label{font-size:.8rem;color:var(--text-secondary)}.modal-features{margin-bottom:1.5rem}.modal-features h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--text-primary)}.modal-features ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.8rem;gap:.8rem}.modal-features li{color:var(--text-secondary);padding-left:1.2rem;position:relative;font-size:.95rem}.modal-features li:before{content:"•";color:var(--accent-color);position:absolute;left:0}.modal-technologies{margin-bottom:1.5rem}.modal-technologies h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--text-primary)}.technology-tags{display:flex;flex-wrap:wrap;gap:.5rem}.modal-links{display:flex;gap:1rem}.modal-links .btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem}@media (max-width:768px){.modal-stats,.projects-grid{grid-template-columns:1fr}.modal-content{padding:1rem}.modal-icon-container{height:150px;font-size:4rem}.modal-links,.project-links{flex-direction:column}.modal-features ul{grid-template-columns:1fr}}.footer{background-color:var(--bg-secondary);padding:80px 0 20px;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px}.footer-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(60px,10vw,150px);max-width:1000px;margin:0 auto 60px}.footer-section{display:flex;flex-direction:column;max-width:400px}.footer-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:20px;position:relative;display:inline-block}.footer-section h3:after{content:"";position:absolute;left:0;bottom:-8px;width:40px;height:2px;background:var(--accent-color)}.footer-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:20px;max-width:350px}.social-links{display:flex;flex-wrap:wrap;gap:15px}.social-link{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-primary);border-radius:20px;color:var(--text-primary);text-decoration:none;transition:all .3s ease;border:1px solid var(--border-color)}.social-link:hover{background:var(--hover-color);color:#fff;border-color:var(--hover-color);transform:translateY(-5px)}.social-name{font-size:.9rem}.quick-links{list-style:none;padding:0;margin:0}.quick-links li{margin-bottom:12px}.quick-links a{color:var(--text-secondary);text-decoration:none;transition:all .3s ease;display:inline-block}.quick-links a:hover{color:var(--accent-color);transform:translateX(5px)}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid var(--border-color)}.footer-bottom p{color:var(--text-secondary);font-size:.9rem;justify-content:center;gap:10px}.footer-bottom p,.made-with{display:flex;align-items:center}.made-with{gap:5px}.heart-icon{color:#e25555;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.elegovate-branding{margin-top:10px;font-size:.85rem}.elegovate-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:color .3s ease}.elegovate-link:hover{color:var(--text-primary)}@media (max-width:768px){.footer{padding:60px 0 20px}.footer-grid{flex-direction:column;align-items:center;text-align:center;gap:40px}.footer-section h3:after{left:50%;transform:translateX(-50%)}}@media (max-width:480px){.footer-section h3{font-size:1.3rem}.social-links{justify-content:center}.quick-links{text-align:center}.footer-bottom p{flex-direction:column;gap:5px}}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;border-radius:50%;background-color:var(--primary-color);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .3s ease;z-index:1000}.scroll-to-top:hover{background-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.scroll-to-top:active{transform:translateY(0)}@media (max-width:768px){.scroll-to-top{bottom:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem}}