.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;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.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;padding:.5rem;letter-spacing:.04em;cursor:pointer}.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.2rem;padding:.3rem .5rem}}.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:linear-gradient(135deg,#232526,#414345);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)}.social-links{align-items:center;gap:2.5rem;margin-top:2.5rem;width:100%;justify-content:center!important;margin-left:auto;margin-right:auto}.social-links 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;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.68,-.55,.27,1.55);box-shadow:0 2px 8px rgba(0,0,0,.08)}.social-links 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}.social-links{margin-top:2rem}.social-links a{font-size:1.5rem}.scroll-indicator{bottom:2rem;font-size:1.5rem}}@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}.social-links{gap:1.2rem;margin-top:1.2rem}.social-links 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}.social-links{gap:.7rem}.social-links a{width:28px;height:28px;font-size:.9rem}}[data-theme=dark] .hero{background:linear-gradient(135deg,#181a1b,#232526)}[data-theme=light] .hero{background:linear-gradient(135deg,#f8fafc,#e9ecef)}[data-theme=dark] .hero-description,[data-theme=dark] .hero-title{color:#fff}[data-theme=dark] .hero-subtitle{color:var(--accent-color)}.blog{padding:5rem 0;background:var(--bg-secondary);width:100%;min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center}.blog .container{position:relative;z-index:1}.section-subtitle{font-size:1.2rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:3rem}.blog-card{background:var(--bg-primary);border-radius:15px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.1);transition:all .3s ease;height:100%}.blog-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.2)}.blog-content{padding:1.5rem;height:100%;display:flex;flex-direction:column}.blog-meta{display:flex;justify-content:space-between;margin-bottom:1rem;color:var(--text-secondary);font-size:.9rem}.blog-meta span{display:flex;align-items:center;gap:.5rem}.blog-title{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary);line-height:1.4}.blog-excerpt{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6;flex-grow:1}.blog-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.read-time{color:var(--text-secondary);font-size:.9rem}.read-more{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-color);font-weight:600;text-decoration:none;transition:all .3s ease}.read-more:hover{transform:translateX(5px)}.blog-cta{text-align:center}.blog-cta .btn{padding:1rem 2rem;font-size:1.1rem}@media (max-width:768px){.blog-grid{grid-template-columns:1fr}.blog-meta{flex-direction:column;gap:.5rem}}.certifications{padding:5rem 0;background-color:var(--bg-primary);color:var(--text-primary);width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative}.certifications .container{max-width:1200px;margin:0 auto;padding:0 1rem;width:100%;position:relative;z-index:1}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;padding:1rem;width:100%}.certification-card{background:var(--bg-primary);border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--border-color);height:100%}.certification-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.certification-content{padding:1.5rem;cursor:pointer;height:100%;display:flex;flex-direction:column}.certification-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1rem}.certification-icon{font-size:2rem;color:var(--accent-color);margin-bottom:1rem}.certification-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.certification-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.certification-meta span{display:flex;align-items:center;gap:.5rem}.certification-description{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1rem;flex-grow:1}.certification-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.skill-tag{background:var(--bg-secondary);color:var(--accent-color);padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.certification-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.certification-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-color);text-decoration:none;font-weight:500;transition:color .3s ease}.certification-link:hover{color:var(--text-secondary)}@media (prefers-color-scheme:dark){.certification-card{background:var(--card-background-dark)}.skill-tag{background:var(--tag-background-dark)}}@media (max-width:768px){.certifications{padding:3rem 0}.certifications-grid{grid-template-columns:1fr}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.certification-card{min-height:auto}}.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);box-shadow:0 4px 8px rgba(0,0,0,.1)}.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}.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;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease;cursor:pointer;border:1px solid transparent}.grid-content:hover{transform:translateY(-5px) rotateX(5deg);box-shadow:0 8px 15px rgba(0,0,0,.2);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}}.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:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:40px;gap:40px;margin-bottom:60px}.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}.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)}.newsletter-form{display:flex;gap:10px;margin-top:20px}.newsletter-form input{flex:1 1;padding:10px 15px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.newsletter-form input:focus{outline:none;border-color:var(--accent-color)}.newsletter-form button{padding:10px 20px;background:var(--accent-color);color:var(--bg-primary);border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500}.newsletter-form button:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.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)}}@media (max-width:768px){.footer{padding:60px 0 20px}.footer-grid{gap:30px}.newsletter-form{flex-direction:column}.newsletter-form button{width:100%}}@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}}.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;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:all .3s ease;cursor:pointer;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.project-image{position:relative;width:100%;height:180px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image img{transform:scale(1.05)}.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:.4rem;margin-bottom:1rem}.technology-tag{padding:.2rem .6rem;background:var(--bg-primary);color:var(--accent-color);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;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{background:var(--bg-primary)}.modal-content img{width:100%;height:250px;object-fit:cover;border-radius:10px;margin-bottom:1.5rem}.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-content img{height:200px}.modal-links,.project-links{flex-direction:column}.modal-features ul{grid-template-columns:1fr}}.timeline{padding:3rem 0;background-color:var(--bg-primary);position:relative;margin-bottom:3rem}.timeline-container{max-width:1200px;margin:0 auto;position:relative;padding:2rem}.timeline-container:before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:2px;height:100%;background-color:var(--border-color)}.timeline-item{position:relative;margin-bottom:3rem;width:100%}.timeline-content{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;padding:2rem;position:relative;width:100%;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .3s ease}.timeline-content:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.timeline-content:before{content:"";position:absolute;top:1.5rem;left:-8px;width:16px;height:16px;border-radius:50%;background-color:var(--accent-color);border:2px solid var(--bg-primary)}.timeline-header{margin-bottom:1rem}.timeline-title{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.timeline-meta{display:flex;flex-direction:column;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.timeline-meta span{display:flex;align-items:center;gap:.5rem}.timeline-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.6}.timeline-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;border-radius:50px;font-size:.75rem;font-weight:500}.timeline-achievements{background-color:var(--bg-secondary);padding:1rem;border-radius:.5rem}.timeline-achievements h4{color:var(--text-primary);font-size:1rem;margin-bottom:.75rem}.timeline-achievements ul{list-style:none;padding:0;margin:0}.timeline-achievements li{color:var(--text-secondary);font-size:.875rem;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.timeline-achievements li:before{content:"•";position:absolute;left:0;color:var(--accent-color)}@media (min-width:768px){.timeline{padding:4rem 0}.timeline-container{padding:2rem 3rem}.timeline-item{width:50%;margin-bottom:4rem}.timeline-item:nth-child(odd){padding-right:2rem}.timeline-item:nth-child(2n){margin-left:auto;padding-left:2rem}.timeline-item:nth-child(odd) .timeline-content:before{right:-8px;left:auto}.timeline-title{font-size:1.5rem}.timeline-meta{flex-direction:row;flex-wrap:wrap;font-size:1rem}.timeline-description{font-size:1rem}.technology-tag{font-size:.875rem;padding:.375rem 1rem}.timeline-achievements h4{font-size:1.125rem}.timeline-achievements li{font-size:1rem}}@media (min-width:1200px){.timeline-container{padding:0}}@media (hover:none){.timeline-content:hover{transform:none}}.testimonials{padding:5rem 0;background-color:var(--bg-primary);color:var(--text-primary);width:100%;min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center}.testimonials .container{max-width:1200px;margin:0 auto;padding:0 1rem;position:relative;z-index:1}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--accent-color)}.section-subtitle{font-size:1.1rem;text-align:center;margin-bottom:3rem;color:var(--text-secondary)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;padding:1rem}.testimonial-card{background:var(--bg-primary);border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--border-color);height:100%}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.testimonial-content{padding:1.5rem;position:relative}.quote-icon{font-size:1.5rem;color:var(--accent-color);opacity:.2;position:absolute;top:1rem;right:1rem}.testimonial-text{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1rem}.testimonial-rating{display:flex;gap:.25rem;margin-bottom:1rem}.star-icon{color:var(--accent-color);font-size:1rem}.testimonial-author{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.author-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--accent-color)}.author-info{flex:1 1}.author-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.author-company,.author-position{font-size:.875rem;color:var(--text-secondary);margin:0}@media (max-width:768px){.testimonials-grid{grid-template-columns:1fr}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}}.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}}