:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-accent:#e2e8f0;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#718096;--accent-primary:#3182ce;--accent-secondary:#2b6cb0;--accent-hover:#2c5282;--border-color:#e2e8f0;--shadow-light:#0000001a;--shadow-medium:#00000026;--shadow-heavy:#00000040;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-mono:"Fira Code","Monaco","Cascadia Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--transition-fast:0.15s ease-in-out;--transition-normal:0.3s ease-in-out;--transition-slow:0.5s ease-in-out;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem}[data-theme=dark]{--bg-primary:#1a202c;--bg-secondary:#2d3748;--bg-accent:#4a5568;--text-primary:#f7fafc;--text-secondary:#e2e8f0;--text-muted:#a0aec0;--accent-primary:#63b3ed;--accent-secondary:#4299e1;--accent-hover:#3182ce;--border-color:#4a5568;--shadow-light:#0000004d;--shadow-medium:#0006;--shadow-heavy:#0009}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#fff;background-color:var(--bg-primary);color:#1a202c;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-primary);line-height:1.6;transition:background-color .3s ease-in-out,color .3s ease-in-out;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--space-4)}h1{font-size:2.25rem;font-size:var(--text-4xl)}h2{font-size:1.875rem;font-size:var(--text-3xl)}h3{font-size:1.5rem;font-size:var(--text-2xl)}h4{font-size:1.25rem;font-size:var(--text-xl)}h5{font-size:1.125rem;font-size:var(--text-lg)}h6{font-size:1rem;font-size:var(--text-base)}p{color:#4a5568;color:var(--text-secondary);margin-bottom:1rem;margin-bottom:var(--space-4)}a{color:#3182ce;color:var(--accent-primary);text-decoration:none;transition:color .15s ease-in-out;transition:color var(--transition-fast)}a:hover{color:#2c5282;color:var(--accent-hover)}.container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--space-4)}.section{padding:5rem 0;padding:var(--space-20) 0}.section-header{margin-bottom:4rem;margin-bottom:var(--space-16);text-align:center}.section-header h2{display:inline-block;font-size:2.25rem;font-size:var(--text-4xl);margin-bottom:1rem;margin-bottom:var(--space-4);position:relative}.section-header h2:after{background:linear-gradient(90deg,#3182ce,#2b6cb0);background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.section-header p{color:#718096;color:var(--text-muted);font-size:1.125rem;font-size:var(--text-lg);margin:0 auto;max-width:600px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-4{gap:1rem;gap:var(--space-4)}.gap-6{gap:1.5rem;gap:var(--space-6)}.gap-8{gap:2rem;gap:var(--space-8)}.btn{align-items:center;background-color:#3182ce;background-color:var(--accent-primary);border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;gap:var(--space-2);padding:.75rem 1.5rem;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all .15s ease-in-out;transition:all var(--transition-fast)}.btn:hover{background-color:#2c5282;background-color:var(--accent-hover);box-shadow:0 4px 12px #00000026;box-shadow:0 4px 12px var(--shadow-medium);transform:translateY(-2px)}.btn-outline{background-color:initial;border:2px solid #3182ce;border:2px solid var(--accent-primary);color:#3182ce;color:var(--accent-primary)}.btn-outline:hover{background-color:#3182ce;background-color:var(--accent-primary);color:#fff}.card{background-color:#f8fafc;background-color:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);padding:1.5rem;padding:var(--space-6);transition:all .3s ease-in-out;transition:all var(--transition-normal)}.card:hover{box-shadow:0 8px 24px #00000026;box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-4px)}@media (max-width:768px){.container{padding:0 1rem;padding:0 var(--space-4)}.section{padding:4rem 0;padding:var(--space-16) 0}h1{font-size:1.875rem;font-size:var(--text-3xl)}h2{font-size:1.5rem;font-size:var(--text-2xl)}h3{font-size:1.25rem;font-size:var(--text-xl)}.section-header h2{font-size:1.875rem;font-size:var(--text-3xl)}.section-header p{font-size:1rem;font-size:var(--text-base)}}@media (max-width:480px){.container{padding:0 .75rem;padding:0 var(--space-3)}.section{padding:3rem 0;padding:var(--space-12) 0}.section-header{margin-bottom:3rem;margin-bottom:var(--space-12)}.btn{font-size:.875rem;font-size:var(--text-sm);padding:.5rem 1rem;padding:var(--space-2) var(--space-4)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-fadeIn{animation:fadeIn .6s ease-out}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);left:0;position:fixed;right:0;top:0;transition:all var(--transition-normal);z-index:1000}.header.scrolled{background-color:#fffffff2;box-shadow:0 2px 20px var(--shadow-light)}[data-theme=dark] .header.scrolled{background-color:#1a202cf2}.header-content{align-items:center;display:flex;justify-content:space-between;padding:var(--space-4) 0}.logo{color:var(--accent-primary);font-size:var(--text-xl);font-weight:700}.nav{align-items:center;display:flex;gap:var(--space-8)}.nav-link{color:var(--text-secondary);font-weight:500;position:relative;transition:color var(--transition-fast)}.nav-link:hover{color:var(--accent-primary)}.nav-link:after{background-color:var(--accent-primary);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-fast);width:0}.nav-link:hover:after{width:100%}.menu-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;display:none;font-size:var(--text-xl);padding:var(--space-2)}@media (max-width:768px){.menu-toggle{display:block}.nav{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-direction:column;gap:var(--space-4);left:0;opacity:0;padding:var(--space-6);position:fixed;right:0;top:100%;transform:translateY(-100%);transition:all var(--transition-normal);visibility:hidden}.nav-open{opacity:1;transform:translateY(0);visibility:visible}.nav-link{font-size:var(--text-lg);padding:var(--space-2) 0}}.hero{align-items:center;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;min-height:100vh;overflow:hidden;padding-top:80px;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='10' height='10' patternUnits='userSpaceOnUse'%3E%3Cpath d='M10 0H0v10' fill='none' stroke='%23e2e8f0' stroke-width='.5' opacity='.3'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0}.hero-content{grid-gap:var(--space-16);align-items:center;display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr;position:relative;z-index:1}.hero-text{animation-delay:.2s}.hero-title{font-size:var(--text-5xl);font-weight:700;line-height:1.1;margin-bottom:var(--space-4)}.highlight{color:var(--accent-primary);position:relative}.highlight:after{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:100%}.hero-subtitle{color:var(--text-secondary);font-size:var(--text-2xl);font-weight:500;margin-bottom:var(--space-6)}.hero-description{color:var(--text-muted);font-size:var(--text-lg);margin-bottom:var(--space-8);max-width:500px}.hero-actions{display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}.social-links a{height:48px;width:48px}.social-links a:hover{box-shadow:0 4px 12px var(--shadow-medium);transform:translateY(-2px)}.hero-image{animation-delay:.4s;display:flex;justify-content:center}.image-container{border:4px solid var(--accent-primary);border-radius:50%;box-shadow:0 20px 40px var(--shadow-medium);height:400px;overflow:hidden;position:relative;width:400px}.image-container img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.image-container:hover img{transform:scale(1.1)}.image-overlay{background:linear-gradient(45deg,var(--accent-primary) 0,#0000 50%);bottom:0;left:0;opacity:.1;position:absolute;right:0;top:0;transition:opacity var(--transition-normal)}.image-container:hover .image-overlay{opacity:.2}.scroll-indicator{animation:bounce 2s infinite;bottom:var(--space-8);left:50%;position:absolute;transform:translateX(-50%)}.scroll-arrow{border-bottom:2px solid var(--accent-primary);border-right:2px solid var(--accent-primary);height:24px;transform:rotate(45deg);width:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(-50%) translateY(0)}40%{transform:translateX(-50%) translateY(-10px)}60%{transform:translateX(-50%) translateY(-5px)}}@media (max-width:768px){.hero{padding-top:100px}.hero-content{gap:var(--space-8);grid-template-columns:1fr;text-align:center}.hero-title{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-xl)}.hero-actions{align-items:center;flex-direction:column}.hero-actions .btn{justify-content:center;width:200px}.image-container{height:300px;width:300px}.social-links{justify-content:center}}@media (max-width:480px){.hero{padding-top:120px}.hero-title{font-size:var(--text-3xl)}.image-container{height:250px;width:250px}}.about{background-color:var(--bg-secondary)}.about-content{grid-gap:var(--space-16);align-items:start;display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr}.about-description{font-size:var(--text-lg);line-height:1.8;margin-bottom:var(--space-8)}.highlights h3{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-6)}.highlights-list{list-style:none;padding:0}.highlight-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-base);gap:var(--space-3);margin-bottom:var(--space-4)}.check-icon{color:var(--accent-primary);flex-shrink:0;font-size:var(--text-lg)}.hobbies{margin-top:var(--space-8)}.hobbies h3{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-6)}.hobbies-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4)}.hobby-item{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-4);transition:all var(--transition-normal)}.hobby-item:hover{box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.hobby-icon{flex-shrink:0;font-size:var(--text-2xl)}.hobby-content h4{color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-1)}.hobby-content p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.about-stats{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr}.stat-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-light);padding:var(--space-8);text-align:center;transition:all var(--transition-normal)}.stat-card:hover{box-shadow:0 8px 24px var(--shadow-medium);transform:translateY(-4px)}.stat-number{color:var(--accent-primary);font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-2)}.stat-label{color:var(--text-muted);font-size:var(--text-sm);font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.about-content{gap:var(--space-12);grid-template-columns:1fr}.about-stats{gap:var(--space-4);grid-template-columns:1fr}.stat-card{padding:var(--space-6)}.stat-number{font-size:var(--text-2xl)}.hobbies-grid{gap:var(--space-3)}.hobby-item{padding:var(--space-3)}.hobby-icon{font-size:var(--text-xl)}}@media (max-width:480px){.about-stats{grid-template-columns:1fr 1fr}.stat-card{padding:var(--space-4)}.stat-number{font-size:var(--text-xl)}.hobby-item{flex-direction:column;gap:var(--space-2);text-align:center}.hobby-content h4{margin-bottom:var(--space-1)}}.experience{background-color:var(--bg-primary)}.timeline-container{grid-gap:var(--space-16);display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr}.timeline-title{color:var(--accent-primary);font-size:var(--text-2xl);margin-bottom:var(--space-8);text-align:center}.timeline{padding-left:var(--space-8);position:relative}.timeline:before{background:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:var(--space-12);position:relative}.timeline-marker{background-color:var(--accent-primary);border:3px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 3px var(--accent-primary);height:16px;left:-28px;position:absolute;top:var(--space-6);width:16px}.education-marker{background-color:var(--accent-secondary);box-shadow:0 0 0 3px var(--accent-secondary)}.timeline-content{margin-left:var(--space-4)}.education-card,.experience-card{margin-bottom:0;padding:var(--space-6)}.card-header{margin-bottom:var(--space-4)}.degree,.position{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-3)}.company-info,.institution-info{display:flex;flex-direction:column;gap:var(--space-2)}.company,.duration,.institution,.location{align-items:center;color:var(--text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-2)}.company svg,.duration svg,.institution svg,.location svg{color:var(--accent-primary);font-size:var(--text-xs)}.description{color:var(--text-secondary);line-height:1.6;margin:var(--space-4) 0}.gpa{color:var(--accent-primary);font-weight:600;margin:var(--space-2) 0}.achievements h5,.relevant-courses h5{color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3)}.achievements ul{list-style:none;margin-bottom:var(--space-4);padding:0}.achievements li{color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.achievements li:before{color:var(--accent-primary);content:"▸";font-weight:700;left:0;position:absolute}.courses,.technologies{display:flex;flex-wrap:wrap;gap:var(--space-2)}.course-tag,.tech-tag{background-color:var(--accent-primary);border-radius:var(--radius-md);color:#fff;font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3)}.course-tag{background-color:var(--accent-secondary)}@media (max-width:768px){.timeline-container{gap:var(--space-12);grid-template-columns:1fr}.timeline{padding-left:var(--space-6)}.timeline:before{left:16px}.timeline-marker{height:12px;left:-24px;width:12px}.timeline-content{margin-left:var(--space-3)}.education-card,.experience-card{padding:var(--space-4)}.degree,.position{font-size:var(--text-lg)}.company-info,.institution-info{gap:var(--space-1)}}@media (max-width:480px){.courses,.technologies{gap:var(--space-1)}.course-tag,.tech-tag{font-size:10px;padding:2px var(--space-2)}}.skills{background-color:var(--bg-secondary)}.skills-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:var(--space-16)}.skill-category{padding:var(--space-6)}.category-header{align-items:center;display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.category-icon{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow-light);font-size:var(--text-2xl);padding:var(--space-3)}.category-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin:0}.skills-list{display:flex;flex-direction:column;gap:var(--space-4)}.skill-item{position:relative}.skill-name{color:var(--text-secondary);display:block;font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-2)}.skill-bar{background-color:var(--bg-accent);height:6px;overflow:hidden}.skill-bar,.skill-progress{border-radius:3px;position:relative}.skill-progress{animation:fillProgress 1.5s ease-out forwards;height:100%;transform:scaleX(0);transform-origin:left;width:85%}.skill-progress:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d);bottom:0;content:"";position:absolute;right:0;top:0;width:20px}@keyframes fillProgress{to{transform:scaleX(1)}}@keyframes shimmer{0%{transform:translateX(-20px)}to{transform:translateX(100px)}}.skills-summary{display:flex;justify-content:center}.summary-card{max-width:800px;padding:var(--space-8);text-align:center}.summary-card h3{color:var(--accent-primary);font-size:var(--text-2xl);margin-bottom:var(--space-4)}.summary-card p{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--space-6)}.expertise-highlights{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--space-6)}.highlight{background-color:var(--bg-primary);border-left:4px solid var(--accent-primary);border-radius:var(--radius-md);padding:var(--space-4);text-align:left}.highlight strong{color:var(--accent-primary);display:block;margin-bottom:var(--space-1)}.skill-category:hover{transform:translateY(-4px)}.skill-category:hover .category-icon{transform:scale(1.1);transition:transform var(--transition-normal)}.skill-item:hover .skill-name{color:var(--accent-primary);transition:color var(--transition-fast)}.skill-item:hover .skill-progress{box-shadow:0 0 10px var(--accent-color);transition:box-shadow var(--transition-normal)}@media (max-width:768px){.skills-grid{gap:var(--space-6);grid-template-columns:1fr}.skill-category{padding:var(--space-4)}.category-header{gap:var(--space-3)}.category-icon{font-size:var(--text-xl);padding:var(--space-2)}.category-title{font-size:var(--text-lg)}.summary-card{padding:var(--space-6)}.expertise-highlights{gap:var(--space-3);grid-template-columns:1fr}}@media (max-width:480px){.skills-grid{grid-template-columns:1fr}.skill-category{padding:var(--space-3)}.summary-card p{font-size:var(--text-base)}}.ai{background-color:var(--bg-primary)}.ai-content{display:flex;flex-direction:column;gap:var(--space-16)}.ai-intro{margin:0 auto;max-width:800px;text-align:center}.ai-intro h3{color:var(--accent-primary);font-size:var(--text-2xl);margin-bottom:var(--space-6)}.ai-intro p{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--space-4)}.ai-tools{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tool-card{padding:var(--space-8);text-align:center;transition:all var(--transition-normal)}.tool-card:hover{transform:translateY(-6px)}.tool-icon{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;box-shadow:0 8px 24px var(--shadow-medium);color:#fff;display:flex;font-size:var(--text-2xl);height:80px;justify-content:center;margin:0 auto var(--space-6);width:80px}.tool-card h4{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-4)}.tool-card p{color:var(--text-secondary);line-height:1.6}.ai-philosophy{display:flex;justify-content:center}.philosophy-card{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-accent));border:2px solid var(--accent-primary);max-width:700px;padding:var(--space-10);text-align:center}.philosophy-card h3{color:var(--accent-primary);font-size:var(--text-2xl);margin-bottom:var(--space-6)}.philosophy-card p{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--space-4)}@media (max-width:768px){.ai-intro{padding:0 var(--space-2);text-align:left}.ai-intro h3{font-size:var(--text-xl)}.ai-intro p{font-size:var(--text-base)}.ai-tools{gap:var(--space-6);grid-template-columns:1fr}.tool-card{padding:var(--space-6);text-align:left}.tool-icon{font-size:var(--text-xl);height:60px;margin:0 0 var(--space-4) 0;width:60px}.philosophy-card{padding:var(--space-6);text-align:left}.philosophy-card h3{font-size:var(--text-xl)}.philosophy-card p{font-size:var(--text-base)}}@media (max-width:480px){.ai-intro{padding:0}.philosophy-card,.tool-card{padding:var(--space-4)}}.projects{background-color:var(--bg-primary)}.projects-grid{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{overflow:hidden;padding:0;transition:all var(--transition-normal)}.project-card:hover{box-shadow:0 12px 32px var(--shadow-medium);transform:translateY(-8px)}.project-image{height:250px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.project-card:hover .project-image img{transform:scale(1.1)}.project-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-normal)}.project-card:hover .project-overlay{opacity:1}.view-details-btn{align-items:center;background-color:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-weight:500;gap:var(--space-2);padding:var(--space-3) var(--space-6);transition:all var(--transition-fast)}.view-details-btn:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.project-content{padding:var(--space-6)}.project-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-3)}.project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-4)}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.tech-tag{background-color:var(--accent-primary);border-radius:var(--radius-md);color:#fff;font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3)}.project-actions{display:flex;gap:var(--space-3)}.project-actions .btn{flex:1 1;justify-content:center}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-4);position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:slideUp .3s ease-out;background-color:var(--bg-primary);border-radius:var(--radius-xl);max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--text-2xl);height:40px;justify-content:center;position:absolute;right:var(--space-4);top:var(--space-4);transition:all var(--transition-fast);width:40px;z-index:1}.modal-close:hover{background-color:var(--bg-accent);color:var(--text-primary)}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-6)}.modal-header h3{color:var(--text-primary);font-size:var(--text-2xl);margin:0}.modal-actions{display:flex;gap:var(--space-3)}.modal-body{padding:var(--space-6)}.modal-image{border-radius:var(--radius-lg);height:300px;margin-bottom:var(--space-6);object-fit:cover;width:100%}.modal-description{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.7}.modal-description,.modal-features,.modal-technologies{margin-bottom:var(--space-6)}.modal-features h4,.modal-technologies h4{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-3)}.modal-features ul{list-style:none;padding:0}.modal-features li{color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.modal-features li:before{color:var(--accent-primary);content:"✓";font-weight:700;left:0;position:absolute}.tech-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width:768px){.projects-grid{gap:var(--space-6);grid-template-columns:1fr}.project-content{padding:var(--space-4)}.project-actions{flex-direction:column}.modal-content{margin:var(--space-2);max-height:95vh}.modal-header{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.modal-actions{width:100%}.modal-actions .btn{flex:1 1}.modal-body{padding:var(--space-4)}.modal-image{height:200px}}@media (max-width:480px){.projects-grid{grid-template-columns:1fr}.modal-overlay{padding:var(--space-2)}.modal-body,.modal-header{padding:var(--space-3)}.tech-tag{font-size:10px;padding:2px var(--space-2)}}.contact{background-color:var(--bg-primary)}.contact-content{grid-gap:var(--space-16);align-items:start;display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr}.contact-info{display:flex;flex-direction:column;gap:var(--space-8)}.contact-intro h3{color:var(--accent-primary);font-size:var(--text-2xl);margin-bottom:var(--space-4)}.contact-intro p{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.7}.contact-details{display:flex;flex-direction:column;gap:var(--space-6)}.contact-item{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);padding:var(--space-4);transition:all var(--transition-normal)}.contact-item:hover{box-shadow:0 4px 12px var(--shadow-light);transform:translateX(8px)}.contact-icon{align-items:center;background-color:var(--accent-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--text-lg);height:50px;justify-content:center;width:50px}.contact-text h4{color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-1)}.contact-text a,.contact-text span{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.contact-text a:hover{color:var(--accent-primary)}.social-connect h4{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--space-4)}.social-links{display:flex;gap:var(--space-4)}.social-links a{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:var(--text-xl);height:50px;justify-content:center;transition:all var(--transition-normal);width:50px}.social-links a:hover{background-color:var(--accent-primary);box-shadow:0 6px 16px var(--shadow-medium);color:#fff;transform:translateY(-4px)}.contact-form-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:0 8px 24px var(--shadow-light);padding:var(--space-8)}.contact-form{gap:var(--space-6)}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-group label{color:var(--text-primary);font-size:var(--text-base);font-weight:600}.form-group input,.form-group textarea{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);padding:var(--space-4);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3182ce1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{min-height:120px;resize:vertical}.submit-btn{font-size:var(--text-lg);font-weight:600;justify-content:center;overflow:hidden;padding:var(--space-4) var(--space-6);position:relative;width:100%}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.submit-btn:disabled:hover{box-shadow:0 4px 12px var(--shadow-medium);transform:none}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.contact-content{gap:var(--space-12);grid-template-columns:1fr}.contact-info{gap:var(--space-6)}.contact-item{padding:var(--space-3)}.contact-icon{font-size:var(--text-base);height:40px;width:40px}.social-links a{font-size:var(--text-lg);height:45px;width:45px}.contact-form-container{padding:var(--space-6)}.contact-form{gap:var(--space-4)}.form-group input,.form-group textarea{padding:var(--space-3)}}@media (max-width:480px){.contact-item{flex-direction:column;gap:var(--space-3);text-align:center}.contact-item:hover{transform:translateY(-4px)}.social-links{justify-content:center}.contact-form-container{padding:var(--space-4)}}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:var(--space-20);padding:var(--space-16) 0 var(--space-8)}.footer-content{grid-gap:var(--space-12);display:grid;gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-12)}.footer-section h3,.footer-section h4{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.footer-section h3{color:var(--accent-primary);font-size:var(--text-xl)}.footer-brand p{color:var(--text-secondary);margin-bottom:var(--space-2)}.footer-tagline{color:var(--text-muted);font-style:italic;margin-bottom:var(--space-6)}.footer-social{display:flex;gap:var(--space-4)}.footer-social a{align-items:center;background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:var(--text-lg);height:40px;justify-content:center;transition:all var(--transition-normal);width:40px}.footer-social a:hover{background-color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow-medium);color:#fff;transform:translateY(-2px)}.footer-nav{display:flex;flex-direction:column;gap:var(--space-3)}.footer-nav a{color:var(--text-secondary);padding:var(--space-1) 0;transition:color var(--transition-fast)}.footer-nav a:hover{color:var(--accent-primary);padding-left:var(--space-2)}.footer-contact{gap:var(--space-3)}.footer-contact,.footer-contact p{display:flex;flex-direction:column}.footer-contact p{gap:var(--space-1);margin:0}.footer-contact strong{color:var(--text-primary);font-size:var(--text-sm)}.footer-contact a,.footer-contact span{color:var(--text-secondary);font-size:var(--text-sm);transition:color var(--transition-fast)}.footer-contact a:hover{color:var(--accent-primary)}.footer-tech{display:flex;flex-wrap:wrap;gap:var(--space-2)}.footer-tech span{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3);transition:all var(--transition-fast)}.footer-tech span:hover{background-color:var(--accent-primary);color:#fff;transform:translateY(-1px)}.footer-bottom{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:var(--space-8);position:relative}.footer-copyright{flex:1 1}.footer-copyright p{align-items:center;color:var(--text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin-bottom:var(--space-2)}.footer-copyright .heart{animation:heartbeat 2s infinite;color:#e53e3e}@keyframes heartbeat{0%,50%,to{transform:scale(1)}25%,75%{transform:scale(1.1)}}.footer-note{color:var(--text-muted);font-size:var(--text-xs);margin:0}.scroll-to-top{align-items:center;background-color:var(--accent-primary);border:none;border-radius:50%;box-shadow:0 4px 12px var(--shadow-medium);color:#fff;cursor:pointer;display:flex;font-size:var(--text-lg);height:50px;justify-content:center;transition:all var(--transition-normal);width:50px}.scroll-to-top:hover{background-color:var(--accent-hover);box-shadow:0 6px 16px var(--shadow-heavy);transform:translateY(-2px)}@media (max-width:768px){.footer{padding:var(--space-12) 0 var(--space-6)}.footer-content{gap:var(--space-8);grid-template-columns:1fr}.footer-section{text-align:center}.footer-contact,.footer-nav{align-items:center}.footer-tech{justify-content:center}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}.footer-social{justify-content:center}}@media (max-width:480px){.footer-content{gap:var(--space-6)}.footer-social a{font-size:var(--text-base);height:35px;width:35px}.scroll-to-top{font-size:var(--text-base);height:45px;width:45px}.footer-copyright p{flex-direction:column;gap:var(--space-1)}}.theme-toggle{align-items:center;background-color:var(--accent-primary);border:none;border-radius:50%;box-shadow:0 4px 12px var(--shadow-medium);color:#fff;cursor:pointer;display:flex;font-size:var(--text-lg);height:50px;justify-content:center;position:fixed;right:var(--space-6);top:50%;transform:translateY(-50%);transition:all var(--transition-normal);width:50px;z-index:999}.theme-toggle:hover{background-color:var(--accent-hover);box-shadow:0 6px 16px var(--shadow-heavy);transform:translateY(-50%) scale(1.1)}.theme-toggle:active{transform:translateY(-50%) scale(.95)}@media (max-width:768px){.theme-toggle{font-size:var(--text-base);height:45px;right:var(--space-4);width:45px}}
/*# sourceMappingURL=main.827190ae.css.map*/