@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(37,99,235,.3)}50%{box-shadow:0 0 40px rgba(37,99,235,.6)}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes skeleton{0%{background-position:200%0}to{background-position:-200%0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes gridFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.02)}}@keyframes rippleAnimation{to{transform:scale(4);opacity:0}}:root{--bg-primary:#ffffff;--bg-secondary:#f8f9fa;--bg-card:#ffffff;--bg-card-hover:#f8f9fa;--accent-primary:#2563eb;--accent-secondary:#1e40af;--accent-gradient:linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--accent-gradient-vibrant:linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-mesh:linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, rgba(30, 64, 175, 0.05) 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-glow:0 0 0 1px rgba(37, 99, 235, 0.1);--shadow-glow-lg:0 0 30px rgba(37, 99, 235, 0.3);--font-primary:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', monospace;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:5rem;--spacing-5xl:6rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:250ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:350ms cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:500ms cubic-bezier(0.68, -0.55, 0.265, 1.55)}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#1e293b;--bg-card-hover:#334155;--accent-primary:#3b82f6;--accent-secondary:#60a5fa;--accent-gradient:linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);--accent-gradient-vibrant:linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-mesh:linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(96, 165, 250, 0.08) 100%);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#334155;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, 0.5);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.3);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, 0.7), 0 10px 10px -5px rgba(0, 0, 0, 0.5);--shadow-glow:0 0 0 1px rgba(59, 130, 246, 0.2);--shadow-glow-lg:0 0 40px rgba(59, 130, 246, 0.4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color var(--transition-base),color var(--transition-base);text-rendering:optimizeLegibility;font-feature-settings:"kern"1}::selection{background:var(--accent-primary);color:#fff}h1,h2,h3,h4{line-height:1.2;color:var(--text-primary)}h1{font-size:clamp(2.5rem,5vw,3.75rem);letter-spacing:-.03em}h2,h3,h4{letter-spacing:-.025em}h1,h2,h5,h6{font-weight:700}h5,h6{line-height:1.2;letter-spacing:-.025em;color:var(--text-primary)}h2{font-size:clamp(2rem,4vw,2.75rem)}h3,h4{font-weight:600}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:1.25rem}p{color:var(--text-secondary);font-size:1rem;line-height:1.75}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl)}.section{padding:var(--spacing-5xl)0;position:relative}.section-header{text-align:center;margin-bottom:var(--spacing-4xl)}.section-title{margin-bottom:var(--spacing-md);color:var(--text-primary)}.section-subtitle{color:var(--text-secondary);font-size:1.125rem;max-width:640px;margin:0 auto;line-height:1.8}.header{background:var(--bg-primary);backdrop-filter:blur(12px)}.nav-link{padding:var(--spacing-md) var(--spacing-sm);display:inline-block;min-height:48px;display:flex;align-items:center}.nav-link::after{background:var(--accent-primary)}.nav-link:hover::after{width:100%}.theme-toggle:hover{background:var(--bg-card-hover)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:var(--spacing-xs);position:relative;z-index:1001}.nav-toggle span{width:24px;height:2px;background:var(--text-primary);transition:all var(--transition-base);border-radius:2px}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(7px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translateY(-7px)}.hero-content{display:flex;flex-direction:column;text-align:center;max-width:800px;margin:0 auto}.hero-image{margin-bottom:var(--spacing-lg)}.avatar-card{display:inline-block;padding:var(--spacing-lg);background:linear-gradient(135deg,#ffb4a2 0,#ffa589 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 1px rgba(255,255,255,.1);transition:transform var(--transition-base),box-shadow var(--transition-base)}.avatar-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -8px rgba(0,0,0,.15),0 0 0 1px rgba(255,255,255,.1)}.avatar-card img{display:block;width:450px;height:450px;border-radius:var(--radius-md);object-fit:cover;box-shadow:0 4px 12px rgba(0,0,0,.1)}[data-theme=dark] .avatar-card{background:linear-gradient(135deg,#e8997a 0,#d88870 100%);box-shadow:var(--shadow-xl),0 0 0 1px rgba(255,255,255,.05)}.hero-text{z-index:1}.hero-description{margin-bottom:0}.hero-cta,.hero-stats{justify-content:center}.hero-stats{width:100%}.btn-primary{background:var(--accent-primary)}.btn-primary:hover{background:var(--accent-secondary)}.card:hover{transform:translateY(-2px)}.grid{display:grid;gap:var(--spacing-xl)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.testimonial-card:hover{border-color:rgba(79,70,229,.3);transform:translateY(-4px)}.blog-card{display:flex;flex-direction:column;height:100%}.blog-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8125rem;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.blog-category{padding:2px var(--spacing-xs);background:rgba(6,182,212,.15);border-radius:var(--radius-sm);color:var(--accent-secondary)}.blog-title{font-size:1.25rem;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.blog-excerpt{color:var(--text-secondary);margin-bottom:var(--spacing-md);flex-grow:1}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:0 0;border:0;color:var(--text-primary);font-size:1.0625rem;font-weight:600;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.faq-question:hover{background:rgba(255,255,255,.02)}.faq-icon{font-size:1.25rem;transition:transform var(--transition-base)}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-answer-content{padding:0 var(--spacing-lg) var(--spacing-lg);color:var(--text-secondary)}.faq-item.active .faq-answer{max-height:500px}.contact-content{max-width:600px;margin:0 auto}.contact-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--text-primary)}.form-input,.form-textarea{width:100%;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.form-textarea{resize:vertical;min-height:150px}.form-actions{display:flex;gap:var(--spacing-md)}.social-link,.social-links{display:flex;justify-content:center}.social-links{gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}.social-link{color:var(--text-muted);font-size:1.125rem;transition:color var(--transition-fast);padding:var(--spacing-md);display:inline-block;min-width:48px;min-height:48px;align-items:center}.social-link:hover{color:var(--accent-primary)}.footer{border-top:1px solid var(--border-color);padding:var(--spacing-2xl)0;margin-top:var(--spacing-3xl)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.footer-text{color:var(--text-muted);font-size:.875rem}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:var(--spacing-2xl)}.hero-image{text-align:center;margin-top:var(--spacing-xl)}.hero-image img{max-width:350px;width:80%}}@media (max-width:768px){html{font-size:15px}.container{padding:0 var(--spacing-md)}.header{padding:var(--spacing-md)0}.nav-controls{gap:var(--spacing-md)}.nav-link,.nav-links{padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.nav-links{display:none;position:fixed;top:73px;left:0;right:0;background:var(--bg-primary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);flex-direction:column;gap:0;box-shadow:var(--shadow-lg);z-index:999;max-height:0;overflow:hidden;transition:max-height var(--transition-slow),opacity var(--transition-base);opacity:0}.nav-links.active{display:flex;max-height:400px;opacity:1}.nav-link{width:100%;min-height:48px;display:flex;align-items:center;font-size:1rem}.nav-link:last-child{border-bottom:none}.nav-link::after{bottom:0}.nav-toggle{display:flex;justify-content:center;align-items:center}.nav-toggle,.theme-toggle{min-width:44px;min-height:44px}.hero{min-height:auto;padding:var(--spacing-3xl)0 var(--spacing-4xl)}.hero-content{gap:0;max-width:100%;padding:0 var(--spacing-md)}.hero-cta .btn,.hero-image{width:100%;justify-content:center}.hero-image{margin-bottom:var(--spacing-3xl);display:flex;padding:0}.avatar-card{padding:12px;display:inline-block;max-width:100%}.avatar-card img{width:min(260px,80vw);height:min(260px,80vw);border-radius:var(--radius-lg)}.hero-text{margin-bottom:var(--spacing-2xl);padding:0 var(--spacing-sm)}.hero-badge,.hero-title{margin-bottom:var(--spacing-lg)}.hero-badge{font-size:.75rem;padding:6px 12px}.hero-title{font-size:clamp(1.5rem,7vw,2rem);line-height:1.2;letter-spacing:-.02em}.hero-description{font-size:.9375rem;line-height:1.65;margin-bottom:0;opacity:.95}.hero-cta,.hero-stats{gap:var(--spacing-md);width:100%}.hero-cta{flex-direction:column;margin-bottom:var(--spacing-3xl);padding:0 var(--spacing-sm)}.hero-cta .btn{padding:.875rem 1.5rem;min-height:50px;font-size:.9375rem}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:var(--spacing-xl) var(--spacing-sm)0;border-top:1px solid var(--border-color);margin-bottom:0}.stat{text-align:center;padding:var(--spacing-sm)}.stat-value{font-size:1.5rem;margin-bottom:4px}.stat-label{font-size:.75rem;line-height:1.3}.section{padding:var(--spacing-3xl)0}.section-header{margin-bottom:var(--spacing-2xl)}.section-title{font-size:clamp(1.75rem,6vw,2.25rem)}.section-subtitle{font-size:1rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:var(--spacing-md)}.card{padding:var(--spacing-lg)}.card-title{font-size:1.125rem}.card-icon{font-size:1.75rem;margin-bottom:var(--spacing-md)}.project-meta{font-size:.75rem}.project-title{font-size:1.125rem}.testimonial-card{padding:var(--spacing-lg)}.testimonial-text{font-size:1rem;line-height:1.6}.blog-title{font-size:1.125rem}.form-actions{flex-direction:column;gap:var(--spacing-sm)}.form-actions .btn{width:100%;justify-content:center;min-height:48px}.faq-question,.form-input,.form-textarea{padding:var(--spacing-md);font-size:1rem}.faq-question{min-height:48px}.faq-answer-content{padding:0 var(--spacing-md) var(--spacing-md);font-size:.9375rem}.footer{padding:var(--spacing-xl)0}.footer-content{flex-direction:column;text-align:center;gap:var(--spacing-sm)}.social-links{gap:var(--spacing-md);flex-wrap:wrap}.social-link{min-width:48px;min-height:48px}.btn{min-height:48px;padding:.875rem 1.5rem}}@media (max-width:480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}.header{padding:var(--spacing-sm)0}.nav-brand{font-size:1.125rem}.hero{padding:var(--spacing-2xl)0 var(--spacing-3xl)}.hero-title{font-size:clamp(1.5rem,10vw,2rem);line-height:1.2}.hero-description{font-size:.9375rem;line-height:1.6}.hero-badge{font-size:.75rem}.hero-stats{gap:var(--spacing-md)}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.hero-image{margin-bottom:var(--spacing-xl)}.hero-image img{max-width:240px!important;width:70%!important;padding:var(--spacing-sm)}.section{padding:var(--spacing-2xl)0}.section-header{margin-bottom:var(--spacing-xl)}.section-title{font-size:clamp(1.5rem,8vw,2rem)}.section-subtitle{font-size:.9375rem;line-height:1.6}.card{padding:var(--spacing-md)}.card-icon{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.card-title{font-size:1rem;margin-bottom:var(--spacing-xs)}.card-description{font-size:.875rem}.grid{gap:var(--spacing-sm)}.btn{font-size:.875rem;padding:.75rem 1.25rem}.testimonial-card{padding:var(--spacing-md)}.testimonial-text{font-size:.9375rem}.card::before,.cursor-follower,.custom-cursor{display:none!important}}@media (max-height:500px) and (orientation:landscape){.hero{min-height:auto;padding:var(--spacing-2xl)0}.hero-image{display:none}.section{padding:var(--spacing-xl)0}}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.fade-in{animation:fadeIn .8s ease-out forwards}.fade-in-down{animation:fadeInDown .8s ease-out forwards}.slide-in-left{animation:slideInLeft .8s ease-out forwards}.slide-in-right{animation:slideInRight .8s ease-out forwards}.scale-in{animation:scaleIn .6s ease-out forwards}.float-animation{animation:float 3s ease-in-out infinite}.pulse-animation{animation:pulse 2s ease-in-out infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.hero,.hero-content{align-items:center;position:relative}.hero{padding:var(--spacing-5xl)0;min-height:calc(100vh - 80px);display:flex;overflow:hidden;background:var(--gradient-mesh)}.hero::after,.hero::before{content:"";position:absolute}.hero::before{inset:0;background-image:linear-gradient(to right,var(--border-color) 1px,transparent 1px),linear-gradient(to bottom,var(--border-color) 1px,transparent 1px);background-size:50px 50px;opacity:.3;animation:gridFloat 20s ease-in-out infinite}.hero::after{top:-50%;right:-10%;width:70%;height:70%;background:radial-gradient(circle,rgba(37,99,235,.15),transparent 70%);border-radius:50%;animation:float 8s ease-in-out infinite;pointer-events:none}.hero-content{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--spacing-4xl);z-index:1}.hero-text{animation:fadeIn 1s ease-out}.hero-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-xl);animation:fadeInDown .8s ease-out .2s backwards;backdrop-filter:blur(10px)}.hero-badge::before{content:"✨";display:inline-block;animation:pulse 2s ease-in-out infinite}.hero-title{margin-bottom:var(--spacing-lg);line-height:1.15;color:var(--text-primary);animation:fadeIn 1s ease-out .4s backwards;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description{font-size:1.125rem;margin-bottom:var(--spacing-2xl);max-width:560px;color:var(--text-secondary);line-height:1.8;animation:fadeIn 1s ease-out .6s backwards}.hero-cta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-3xl);animation:fadeIn 1s ease-out .8s backwards}.hero-stats{display:flex;gap:var(--spacing-3xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color);animation:fadeIn 1s ease-out 1s backwards}.stat{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);display:block;letter-spacing:-.02em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-label{color:var(--text-muted);font-size:.875rem;font-weight:500}.hero-image{position:relative;z-index:1;display:flex;justify-content:center;animation:scaleIn 1s ease-out .5s backwards}.hero-image img{width:100%;max-width:450px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:float 6s ease-in-out infinite;transition:transform var(--transition-slow)}.hero-image img:hover{transform:scale(1.05) rotate(2deg)}.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.8);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-color);padding:var(--spacing-lg)0;transition:all var(--transition-base)}[data-theme=dark] .header{background:rgba(15,23,42,.8)}.nav{display:flex;justify-content:space-between;align-items:center}.nav-brand,.nav-link::after{background:var(--accent-gradient)}.nav-brand{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;transition:all var(--transition-base);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav-brand:hover{transform:scale(1.05);filter:brightness(1.2)}.nav-controls,.nav-links{display:flex;align-items:center;gap:var(--spacing-xl)}.nav-links{list-style:none}.nav-link{color:var(--text-secondary);font-weight:500;font-size:.9375rem;transition:all var(--transition-fast);position:relative}.nav-link::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;transition:width var(--transition-base)}.nav-link:hover{color:var(--text-primary);transform:translateY(-2px)}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:all var(--transition-base);color:var(--text-primary);font-size:1.125rem;display:flex;align-items:center;gap:var(--spacing-xs);position:relative;overflow:hidden}.theme-toggle::before{inset:0;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-base)}.theme-toggle:hover{transform:scale(1.1);border-color:var(--accent-primary)}.theme-toggle:hover::before{opacity:.1}.theme-icon{position:relative;z-index:1;transition:transform var(--transition-bounce)}.theme-toggle:active .theme-icon{transform:rotate(360deg) scale(1.2)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:0;text-decoration:none;white-space:nowrap}.btn::before,.card::before,.theme-toggle::before{content:"";position:absolute}.btn::before{inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity var(--transition-base)}.btn:hover::before{opacity:1;animation:shimmer 1.5s infinite}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary span,.project-link span{transition:transform var(--transition-base)}.btn-primary:hover span,.project-link:hover span{transform:translateX(4px)}.btn-secondary{background:0 0;color:var(--text-primary);border:1.5px solid var(--border-color)}.btn-secondary:hover,.card:hover{border-color:var(--accent-primary)}.btn-secondary:hover{background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-2xl);transition:all var(--transition-slow);position:relative;overflow:hidden}.card::before{top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.card:hover::before{left:100%}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px) scale(1.02)}.card-icon{font-size:2rem;margin-bottom:var(--spacing-lg);opacity:.9;display:inline-block;transition:transform var(--transition-bounce)}.card:hover .card-icon{transform:scale(1.2) rotateY(180deg)}.card-title{font-size:1.125rem;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:600;transition:color var(--transition-base)}.card:hover .card-title{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.7}.project-card{position:relative;overflow:hidden}.project-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:0;background:var(--accent-gradient);opacity:.1;transition:height var(--transition-slow)}.project-card:hover::after{height:6px}.project-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8125rem;color:var(--text-muted);margin-bottom:var(--spacing-md);font-weight:500}.project-year{font-weight:600}.project-category{padding:3px var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;transition:all var(--transition-base)}.project-card:hover .project-category{background:var(--accent-primary);color:#fff;transform:translateY(-2px)}.project-title{font-size:1.25rem;margin-bottom:var(--spacing-md);font-weight:600}.project-description{margin-bottom:var(--spacing-lg);line-height:1.7}.project-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--accent-primary);font-weight:600;font-size:.875rem;transition:all var(--transition-base)}.project-link:hover{gap:var(--spacing-sm);color:var(--accent-secondary)}.testimonial-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all var(--transition-slow);position:relative}.testimonial-card::before{content:'"';position:absolute;top:-10px;left:20px;font-size:4rem;color:var(--accent-primary);opacity:.1;font-family:Georgia,serif;line-height:1}.testimonial-card:hover{background:var(--bg-card-hover);border-color:var(--accent-primary);transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-xl)}.testimonial-text{font-size:1.0625rem;color:var(--text-secondary);font-style:italic;margin-bottom:var(--spacing-lg);line-height:1.8;position:relative;z-index:1}.testimonial-footer{display:flex;justify-content:space-between;align-items:center}.testimonial-author{font-weight:600;color:var(--text-primary)}.testimonial-country{color:var(--text-muted);font-size:.875rem}.testimonial-rating{color:#fbbf24;font-size:1.125rem;transition:transform var(--transition-base)}.testimonial-card:hover .testimonial-rating{transform:scale(1.2)}.skeleton{background:linear-gradient(90deg,var(--bg-card) 0%,var(--bg-card-hover) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite}:root{transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;animation:pulse 1s ease-in-out}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}[data-theme=dark] ::selection{background:rgba(59,130,246,.3);color:var(--text-primary)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent-gradient);z-index:9999;transition:width .1s ease-out;box-shadow:var(--shadow-glow)}.cursor-follower,.custom-cursor{position:fixed;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.custom-cursor{width:10px;height:10px;background:var(--accent-primary);z-index:9999;transition:transform .15s ease,opacity .15s ease;mix-blend-mode:difference}.cursor-follower{width:40px;height:40px;border:2px solid var(--accent-primary);z-index:9998;transition:transform .2s ease}.cursor-follower.cursor-hover,.custom-cursor.cursor-hover{transform:translate(-50%,-50%) scale(1.5)}.btn{position:relative;overflow:hidden}.btn.loading::after,.ripple{position:absolute;border-radius:50%}.ripple{background:rgba(255,255,255,.6);transform:scale(0);animation:rippleAnimation .6s ease-out;pointer-events:none}.notification{position:fixed;top:100px;right:20px;padding:var(--spacing-lg) var(--spacing-xl);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:10000;transform:translateX(400px);transition:transform var(--transition-slow);max-width:350px;backdrop-filter:blur(10px)}.notification.show{transform:translateX(0)}.notification-success{border-left:4px solid #10b981}.notification-error{border-left:4px solid #ef4444}.notification-info{border-left:4px solid var(--accent-primary)}.header.scrolled{padding:var(--spacing-md)0;box-shadow:var(--shadow-md)}.btn.loading{opacity:.7;cursor:not-allowed}.btn.loading::after{content:"";width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;animation:spin .6s linear infinite}@media print{.cursor-follower,.custom-cursor,.footer,.header,.nav,.nav-toggle,.notification,.scroll-progress,.theme-toggle{display:none}}