:root{--color-bg: #0a0f0d;--color-bg-secondary: #0d1410;--color-bg-tertiary: #141d18;--color-text: #f0fdf4;--color-text-secondary: #a3b8a8;--color-text-muted: #5c7a64;--color-accent: #10b981;--color-accent-hover: #34d399;--color-border: #1a2f25;--color-card: rgba(20, 30, 25, .6);--color-glass: rgba(20, 30, 25, .4);--gradient-accent: linear-gradient(135deg, #10b981 0%, #059669 100%);--font-primary: "Manrope", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 20px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .3);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .8s cubic-bezier(.68, -.55, .265, 1.55);--container-max: 1100px;--container-padding: 2rem}[data-theme=light]{--color-bg: #f0fdf4;--color-bg-secondary: #ecfdf5;--color-bg-tertiary: #d1fae5;--color-text: #0a0f0d;--color-text-secondary: #1a2f25;--color-text-muted: #5c7a64;--color-accent: #059669;--color-accent-hover: #10b981;--color-border: #a7f3d0;--color-card: rgba(255, 255, 255, .5);--color-glass: rgba(255, 255, 255, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);background:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.03em}h1{font-size:clamp(2.5rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8}.section-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;margin-bottom:var(--space-md);letter-spacing:-.03em}.section-subtitle{font-size:1.125rem;color:var(--color-text-secondary);max-width:500px;margin:0 auto var(--space-2xl)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);position:relative;z-index:1}.section{padding:var(--space-3xl) 0;min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;position:relative;z-index:1}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.color-bends-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;filter:blur(60px);transform:scale(1.2)}.color-bends-bg canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.navbar{position:fixed;top:50%;right:2rem;transform:translateY(-50%);z-index:1000;padding:var(--space-md);background:var(--color-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(16,185,129,.1);border-radius:var(--radius-lg);transition:var(--transition-normal)}.navbar.scrolled{background:#10b9810d}.nav-links{display:flex;flex-direction:column;gap:var(--space-sm)}.nav-link{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:var(--transition-fast);position:relative;background:none;text-align:center;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--color-accent);background:#10b9811a}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:var(--color-accent);transition:var(--transition-normal);margin:var(--space-sm) auto 0}.theme-toggle:hover{background:var(--color-accent);color:var(--color-bg)}.theme-toggle svg{width:18px;height:18px}.sun-icon{display:none}[data-theme=light] .sun-icon{display:block}[data-theme=light] .moon-icon{display:none}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:.75rem;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0003}.mobile-nav-links{display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:500px;margin:0 auto}.mobile-nav-link{display:flex;align-items:center;justify-content:center;padding:.5rem;color:transparent;font-size:0;font-weight:500;border-radius:50%;transition:var(--transition-fast);background:none;width:44px;height:44px}.mobile-nav-link svg{width:24px;height:24px;color:var(--color-text-muted);transition:var(--transition-fast)}.mobile-nav-link.active{color:var(--color-bg);background:var(--color-accent);box-shadow:0 2px 10px #10b98166;transform:scale(1.1)}.mobile-nav-link.active svg{color:var(--color-bg)}.mobile-nav-link:hover{background:#10b9811a}.mobile-nav-link:hover svg{color:var(--color-accent)}.mobile-theme-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-text-muted);transition:var(--transition-fast);background:none}.mobile-theme-toggle svg{width:20px;height:20px}.mobile-theme-toggle:hover{color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;border-radius:var(--radius-md);transition:var(--transition-normal);cursor:pointer;position:relative}.btn-primary{background:var(--gradient-accent);color:#fff}.btn-primary:hover{transform:translateY(-2px);opacity:.95}.btn-secondary{background:var(--color-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-large{padding:var(--space-lg) var(--space-2xl);font-size:1.1rem}.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:clamp(4rem,10vh,6rem) 2rem 2rem;position:relative}.hero-container{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:2}.hero-greeting{font-size:clamp(.875rem,2vmin,1rem);color:var(--color-accent);margin-bottom:var(--space-lg);font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:0;animation:fadeInUp 1s ease forwards;animation-delay:.1s}.hero-title{font-size:clamp(2.5rem,8vmin,5rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-xl);letter-spacing:-.04em;opacity:0;animation:fadeInUp 1s ease forwards;animation-delay:.3s}.hero-title .highlight{color:var(--color-accent)}.hero-description{font-size:clamp(1rem,2.5vmin,1.25rem);color:var(--color-text-secondary);margin-bottom:var(--space-2xl);max-width:60ch;margin-left:auto;margin-right:auto;line-height:1.8;opacity:0;animation:fadeInUp 1s ease forwards;animation-delay:.5s}.hero-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeInUp 1s ease forwards;animation-delay:.7s}.about{background:transparent}.about-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:grid;grid-template-columns:1fr 1.5fr;gap:var(--space-3xl);align-items:start}.about-image{position:sticky;top:120px}.about-image-wrapper{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;background:var(--color-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);transform:perspective(1000px) rotateY(-5deg);transition:var(--transition-normal)}.about-image-wrapper:hover{transform:perspective(1000px) rotateY(0)}.about-image-wrapper img{width:100%;height:100%;object-fit:cover;object-position:top center}.about-content{animation:fadeInRight .8s ease}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.about-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--space-xl);letter-spacing:-.03em}.about-text{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.9}.about-cta{margin-top:var(--space-2xl)}.about-cta .btn{width:100%;max-width:300px}.skills{background:transparent}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.skill-card{background:var(--color-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:var(--transition-normal);animation:fadeInUp .6s ease}.skill-card:hover{border-color:var(--color-accent);transform:translateY(-8px)}.skill-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#10b9811a;border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--color-accent);transition:var(--transition-normal)}.skill-card:hover .skill-icon{background:var(--gradient-accent);color:#fff}.skill-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-md)}.skill-list{display:flex;flex-direction:column;gap:var(--space-sm)}.skill-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);font-size:.95rem}.skill-item svg{color:var(--color-accent);flex-shrink:0;width:16px;height:16px}.services{background:transparent}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.service-card{background:var(--color-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:var(--transition-normal);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent);transform:scaleX(0);transition:var(--transition-normal)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-6px)}.service-number{font-size:3rem;font-weight:800;color:var(--color-border);margin-bottom:var(--space-md);transition:var(--transition-normal);line-height:1}.service-card:hover .service-number{color:var(--color-accent)}.service-title{font-size:1.35rem;font-weight:600;margin-bottom:var(--space-md)}.service-description{color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.7;font-size:.95rem}.service-features{display:flex;flex-direction:column;gap:var(--space-sm)}.service-feature{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:.9rem}.service-feature svg{color:var(--color-accent);flex-shrink:0;width:16px;height:16px}.projects{background:transparent}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl);max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.project-card{background:var(--color-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:var(--transition-normal);animation:fadeInUp .6s ease}.project-card:hover{transform:translateY(-8px);border-color:var(--color-accent)}.project-image{aspect-ratio:16/10;background:var(--color-bg-tertiary);overflow:hidden;position:relative}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--color-bg) 0%,transparent 50%);opacity:0;transition:var(--transition-normal)}.project-card:hover .project-image:after{opacity:1}.project-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition-slow)}.project-card:hover .project-image img{transform:scale(1.08)}.project-content,.project-info{padding:var(--space-lg)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.project-tag,.project-tags span{padding:var(--space-xs) var(--space-sm);background:#10b9811a;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--color-accent)}.project-title,.project-info h3{font-size:1.2rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text)}.project-info>p{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--space-md);line-height:1.6}.project-description{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--space-md);line-height:1.6}.project-links{display:flex;gap:var(--space-md)}.project-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#10b9811a;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--color-accent);transition:var(--transition-fast);border:1px solid rgba(16,185,129,.2)}.project-link:hover{background:var(--color-accent);color:#fff}.project-link svg{width:14px;height:14px}.project-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;opacity:0;transition:var(--transition-normal);z-index:2}.project-card:hover .project-overlay{opacity:1}.project-overlay .project-link{padding:var(--space-md) var(--space-lg);background:var(--color-accent);color:#fff;font-size:.9rem;text-decoration:none}.project-overlay .project-link:hover{background:var(--color-accent-hover)}.contact{background:transparent}.contact-content{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-3xl);max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.contact-info{animation:fadeInLeft .6s ease}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.contact-info h3{font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--space-md);letter-spacing:-.02em}.contact-info>p{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.8}.contact-details{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.contact-item{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:1rem;padding:var(--space-md);background:var(--color-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:var(--transition-normal)}.contact-item:hover{border-color:var(--color-accent);transform:translate(4px)}.contact-item svg{width:22px;height:22px;color:var(--color-accent);flex-shrink:0}.social-links{display:flex;gap:var(--space-md)}.social-links a{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:var(--transition-normal)}.social-links a:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-4px)}.social-links svg{width:20px;height:20px}.contact-form{background:var(--color-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.contact-form .form-group{margin-bottom:var(--space-md)}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:var(--space-md);background:#10b9810d;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;color:var(--color-text);font-family:inherit;transition:var(--transition-fast)}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form .form-group label{display:block;margin-bottom:var(--space-sm);font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.contact-form .form-group textarea{min-height:130px;resize:vertical}.contact-form .form-group input::placeholder,.contact-form .form-group textarea::placeholder{color:var(--color-text-muted)}.form-submit{margin-top:var(--space-md);width:100%}.footer{padding:var(--space-2xl) 0;border-top:1px solid var(--color-border);margin-top:var(--space-3xl);position:relative;z-index:1}.footer-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex;justify-content:center;align-items:center}.footer-text{font-size:.9rem;color:var(--color-text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media(max-width:1200px){.navbar{display:none}.mobile-nav{display:block}}@media(max-width:1024px){.hero-container{max-width:700px}.about-container{grid-template-columns:1fr;gap:var(--space-2xl)}.about-image{position:static;max-width:280px;margin:0 auto}.about-image-wrapper{transform:none}.about-content{animation:fadeInUp .6s ease}.contact-content{grid-template-columns:1fr;gap:var(--space-2xl)}}@media(max-width:768px){:root{--container-padding: 1rem}.mobile-nav{bottom:.5rem;left:.5rem;right:.5rem;padding:var(--space-xs) var(--space-sm)}.mobile-nav-link{padding:var(--space-xs);font-size:.65rem}.mobile-nav-link svg{width:20px;height:20px}.mobile-theme-toggle{width:40px;height:40px}.mobile-theme-toggle svg{width:18px;height:18px}.hero{padding:5rem 1rem 6rem}.hero-description{font-size:1.1rem}.hero-buttons{flex-direction:column}.btn-large{width:100%}.about-cta{display:flex;justify-content:center}.about-cta .btn{width:100%;max-width:none}.skills-grid,.services-grid,.projects-grid,.contact-content{grid-template-columns:1fr}.footer-container{flex-direction:column;gap:var(--space-md);text-align:center}}@media(max-width:480px){.section{padding:var(--space-2xl) 0}.skill-card,.service-card,.contact-form{padding:var(--space-lg)}}
