:root{--color-bg: #dcdee3;--color-bg-secondary: #d0d3db;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-secondary: #8b5cf6;--color-accent-tertiary: #ec4899;--color-success: #10b981;--color-warning: #f59e0b;--color-info: #06b6d4;--color-border: #e2e8f0;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);--gradient-surface: linear-gradient(135deg, #f0f4ff 0%, #fae8ff 100%);--gradient-accent: linear-gradient(135deg, #3b82f6 0%, #2563eb 50%, #1d4ed8 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--gradient-nav: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #a855f7 100%);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Consolas", monospace;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--content-width: 720px;--wide-width: 960px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-accent: 0 10px 30px -5px rgba(59, 130, 246, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme: dark){:root{--color-bg: #0a0a0f;--color-bg-secondary: #1a1a2e;--color-surface: #16213e;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-accent: #60a5fa;--color-accent-hover: #3b82f6;--color-accent-secondary: #a78bfa;--color-accent-tertiary: #f472b6;--color-success: #34d399;--color-warning: #fbbf24;--color-info: #22d3ee;--color-border: #334155;--gradient-primary: linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);--gradient-secondary: linear-gradient(135deg, #f472b6 0%, #a78bfa 100%);--gradient-surface: linear-gradient(135deg, #1a1a2e 0%, #2d1b69 100%);--gradient-accent: linear-gradient(135deg, #60a5fa 0%, #3b82f6 50%, #2563eb 100%);--gradient-hero: linear-gradient(135deg, #818cf8 0%, #a78bfa 50%, #c084fc 100%);--gradient-nav: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--shadow-accent: 0 10px 30px -5px rgba(96, 165, 250, .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.75;color:var(--color-text);background:var(--color-bg);min-height:100vh;display:flex;flex-direction:column;transition:background-color var(--transition-slow),color var(--transition-slow);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 20%,rgba(59,130,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(236,72,153,.05) 0%,transparent 60%);pointer-events:none;z-index:-1;animation:gradientShift 20s ease-in-out infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.7}}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}h1{font-size:3rem;font-weight:700;margin-bottom:var(--space-lg);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .6s ease-out;letter-spacing:-.02em;line-height:1.2}h2{font-size:2rem;margin-top:var(--space-2xl);margin-bottom:var(--space-lg);position:relative;padding-bottom:var(--space-md);font-weight:700;letter-spacing:-.01em}h2:after{content:"";position:absolute;bottom:0;left:0;width:80px;height:4px;background:var(--gradient-primary);border-radius:2px}h3{font-size:1.5rem;margin-top:var(--space-xl);margin-bottom:var(--space-md);color:var(--color-accent);transition:color var(--transition-base);font-weight:600;letter-spacing:-.01em}h4{font-size:1.25rem;font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-accent-secondary)}p{margin-bottom:var(--space-lg);max-width:75ch}ul,ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}li{margin-bottom:var(--space-sm);line-height:1.8}ul li::marker{color:var(--color-accent)}strong{font-weight:600;color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;position:relative;transition:color var(--transition-base)}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gradient-accent);transition:width var(--transition-base)}a:hover{color:var(--color-accent-hover)}a:hover:after{width:100%}code{font-family:var(--font-mono);font-size:.875rem;background-color:var(--color-surface);padding:.125rem .375rem;border-radius:.25rem}pre{background-color:var(--color-surface);padding:var(--space-md);border-radius:.5rem;overflow-x:auto;margin-bottom:var(--space-md)}pre code{background:none;padding:0}blockquote{margin:var(--space-xl) 0;padding:var(--space-lg);background:var(--gradient-surface);border-left:4px solid var(--color-accent);border-radius:8px;font-style:italic;color:var(--color-text);box-shadow:var(--shadow-sm)}blockquote cite{display:block;margin-top:var(--space-sm);font-style:normal;font-size:.9375rem;color:var(--color-text-muted);font-weight:600}blockquote cite:before{content:"— "}.container{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 var(--space-md)}.container-wide{max-width:var(--wide-width)}header{padding:0;border-bottom:none;backdrop-filter:blur(20px);background:linear-gradient(135deg,#1e3a8a,#6b21a8,#be185d,#c2410c,#ca8a04);position:sticky;top:0;z-index:100;transition:all var(--transition-base);box-shadow:0 10px 40px #0006;overflow:visible;animation:gradientShift 15s ease infinite;background-size:200% 200%}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#60a5fa,#a78bfa,#f472b6,#fb923c,#fbbf24,#34d399);animation:rainbowFlow 8s linear infinite;background-size:200% 100%}@keyframes rainbowFlow{0%{background-position:0% 0%}to{background-position:200% 0%}}@media (prefers-color-scheme: dark){header{background:linear-gradient(135deg,#0f172a,#4c1d95,#831843,#9a3412,#854d0e)}}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);height:100px;max-width:var(--wide-width);margin:0 auto;padding:var(--space-md) var(--space-md)}.site-branding{display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;padding:var(--space-sm) var(--space-md);border-radius:12px;transition:all var(--transition-base);position:relative;overflow:hidden}.site-branding:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity var(--transition-base)}.site-branding:hover:before{opacity:1}.site-branding:hover{background:#ffffff26;box-shadow:0 0 20px #ffffff4d}.site-logo{width:52px;height:52px;border-radius:12px;transition:all var(--transition-slow);background:linear-gradient(135deg,#fff,#f0f0f0);padding:4px;box-shadow:0 6px 20px #0006,0 0 0 3px #ffffff4d;display:block}.site-branding:hover .site-logo{transform:scale(1.1) rotate(-5deg);box-shadow:0 8px 30px #fff9,0 0 0 4px #ffffff80}.site-title{font-size:1.375rem;font-weight:800;color:#fff;text-decoration:none;transition:all var(--transition-base);text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:-.03em;white-space:nowrap;line-height:1}.site-title:after{display:none}.site-branding:hover .site-title{text-shadow:0 0 20px rgba(255,255,255,.8),0 0 40px rgba(255,255,255,.4);letter-spacing:.02em}nav{display:flex;align-items:center;height:100%;margin-top:8px}nav ul{list-style:none;display:flex;gap:var(--space-sm);flex-wrap:nowrap;align-items:center;height:100%;margin:0;padding:0}nav li{display:flex;align-items:center;height:100%}nav a{color:#fffffff2;font-size:.95rem;text-decoration:none;padding:var(--space-md) var(--space-lg);border-radius:12px;transition:all var(--transition-slow);position:relative;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.4);letter-spacing:.05em;border:2px solid transparent;white-space:nowrap;text-transform:uppercase;display:flex;align-items:center;font-family:Trebuchet MS,Lucida Grande,Lucida Sans Unicode,sans-serif;background:#ffffff14;backdrop-filter:blur(10px);overflow:hidden}nav a:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#60a5fa4d,#a78bfa4d,#f472b64d);opacity:0;transition:opacity var(--transition-base);z-index:-1}nav a:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%) scaleX(0);width:90%;height:4px;background:linear-gradient(90deg,#60a5fa,#a78bfa,#f472b6 66%,#fb923c);transition:transform var(--transition-slow);border-radius:4px}nav a:hover{color:#fff;background:#ffffff40;border-color:#ffffff80;text-shadow:0 0 16px rgba(255,255,255,.8),0 2px 8px rgba(0,0,0,.4);box-shadow:0 6px 20px #0006,0 0 30px #fff3;transform:translateY(-2px)}nav a:hover:before{opacity:1}nav a:hover:after{transform:translate(-50%) scaleX(1)}nav a:active{transform:translateY(0)}main{flex:1;padding:var(--space-2xl) 0;animation:fadeIn .5s ease-out}footer{padding:var(--space-2xl) 0;border-top:none;margin-top:var(--space-3xl);background:linear-gradient(135deg,#1e3a8a,#7e22ce,#be185d);position:relative;overflow:hidden}footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899 66%,#f59e0b)}@media (prefers-color-scheme: dark){footer{background:linear-gradient(135deg,#0f172a,#4c1d95,#831843)}}.footer-content{text-align:center;color:#ffffffe6;font-size:.9375rem}.footer-content p{margin-bottom:var(--space-sm);max-width:none}.footer-links{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.footer-links a{color:#fffc;font-weight:600;transition:all var(--transition-base)}.footer-links a.donate-link{color:#ffffffb3;font-size:.875rem;opacity:.85}.footer-links a.donate-link:hover{opacity:1;color:#fffffff2}.footer-links a:after{display:none}.footer-links a:hover{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.hero{text-align:center;margin-bottom:var(--space-2xl);animation:fadeIn .8s ease-out}.hero-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.hero-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid var(--color-accent);box-shadow:0 0 0 8px var(--color-bg-secondary),0 20px 50px #3b82f64d;animation:fadeInUp .8s ease-out .2s both;transition:all var(--transition-slow)}.hero-photo:hover{transform:scale(1.05);box-shadow:0 0 0 8px var(--color-bg-secondary),0 0 60px #8b5cf680,0 30px 60px #3b82f666}.hero-logo{max-width:250px;width:100%;height:auto;margin:0 auto;display:block;filter:drop-shadow(0 10px 30px rgba(59,130,246,.2));transition:transform var(--transition-slow),filter var(--transition-slow);animation:fadeInUp .8s ease-out .4s both}.hero-logo:hover{transform:scale(1.05);filter:drop-shadow(0 15px 40px rgba(59,130,246,.3))}.about-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-2xl)}.about-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:5px solid transparent;background:linear-gradient(var(--color-bg),var(--color-bg)) padding-box,var(--gradient-primary) border-box;box-shadow:0 20px 50px #3b82f64d;margin-bottom:var(--space-xl);animation:fadeInUp .6s ease-out forwards;transition:all var(--transition-slow)}.about-photo:hover{transform:scale(1.08) rotate(3deg);box-shadow:0 0 60px #8b5cf680,0 30px 60px #3b82f666}.about-header h1{margin-bottom:0}.intro{margin-bottom:var(--space-2xl);animation:fadeInUp .7s ease-out .2s both}.intro p{font-size:1.3rem;color:var(--color-text-muted);line-height:1.8;max-width:65ch;font-weight:400}.section{margin-bottom:var(--space-3xl);animation:fadeInUp .7s ease-out both}.section:nth-child(1){animation-delay:.1s}.section:nth-child(2){animation-delay:.2s}.section:nth-child(3){animation-delay:.3s}.section:nth-child(4){animation-delay:.4s}.section>ul{background:var(--gradient-surface);padding:var(--space-lg);border-radius:12px;border:2px solid var(--color-border);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.section>ul:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.project-card{background:var(--color-surface);padding:var(--space-2xl);border-radius:20px;margin-bottom:var(--space-2xl);border:2px solid var(--color-border);box-shadow:var(--shadow-lg);transition:all var(--transition-slow);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out both}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl),var(--shadow-accent);border-color:var(--color-accent)}.project-card:hover:before{transform:scaleX(1)}.project-card:nth-child(1){animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}.project-card:nth-child(1):before{background:var(--gradient-primary)}.project-card:nth-child(2):before{background:var(--gradient-secondary)}.project-card:nth-child(3):before{background:var(--gradient-hero)}.project-card:nth-child(4):before{background:linear-gradient(135deg,#10b981,#06b6d4)}.project-card:nth-child(5):before{background:linear-gradient(135deg,#f59e0b,#ec4899)}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-lg);gap:var(--space-lg);flex-wrap:wrap}.project-title-section{display:flex;align-items:flex-start;gap:var(--space-lg);flex:1;min-width:0}.project-title-section>div{flex:1;min-width:0}.project-links-group{display:flex;gap:var(--space-sm);flex-wrap:wrap}.project-link-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:12px;font-weight:700;font-size:.9rem;text-decoration:none;color:var(--color-text);transition:all var(--transition-base);box-shadow:var(--shadow-sm);white-space:nowrap;position:relative;overflow:hidden}.project-link-badge:before{content:"";position:absolute;inset:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base);z-index:0}.project-link-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.project-link-badge:hover:before{opacity:.1}.project-link-live{background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border-color:var(--color-accent);animation:pulse-border 2s ease-in-out infinite}.project-link-live:before{background:var(--gradient-primary);opacity:.15}.project-link-live:hover{background:linear-gradient(135deg,#3b82f633,#9333ea33);box-shadow:0 8px 24px #3b82f666}@keyframes pulse-border{0%,to{border-color:var(--color-accent);box-shadow:var(--shadow-sm),0 0 #3b82f666}50%{border-color:#9333ea;box-shadow:var(--shadow-sm),0 0 0 4px #9333ea33}}.project-logo{width:100px;height:100px;object-fit:contain;border-radius:12px;transition:all var(--transition-base);filter:none;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;flex-shrink:0}.project-card:hover .project-logo{transform:scale(1.05);filter:drop-shadow(0 8px 16px rgba(59,130,246,.3))}.project-card h3{margin-top:0;margin-bottom:var(--space-xs);font-size:2rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-meta{color:var(--color-text-muted);font-size:.9rem;margin-bottom:0;text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:inline-block;padding:var(--space-xs) var(--space-md);background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border)}.project-card h4{margin-top:var(--space-xl);color:var(--color-accent);font-size:1.3rem}.project-card ul{background:var(--color-bg-secondary);padding:var(--space-lg);border-radius:12px;margin:var(--space-md) 0;border:1px solid var(--color-border)}.privacy-note{background:var(--gradient-surface);border-left:5px solid transparent;border-image:var(--gradient-primary) 1;padding:var(--space-xl);margin:var(--space-xl) 0;font-size:1rem;color:var(--color-text-muted);border-radius:12px;box-shadow:var(--shadow-md);transition:all var(--transition-base);position:relative;overflow:hidden}.privacy-note:before{content:"🔒";position:absolute;top:var(--space-md);right:var(--space-md);font-size:2rem;opacity:.15}.privacy-note:hover{box-shadow:var(--shadow-lg);transform:translate(4px)}.privacy-note strong{color:var(--color-accent);display:block;margin-bottom:var(--space-md);font-size:1.1rem;font-weight:700}.contact-links{list-style:none;margin-top:var(--space-xl);padding-left:0}.contact-links li{margin-bottom:var(--space-lg);padding:var(--space-xl);background:var(--gradient-surface);border-radius:12px;border:2px solid var(--color-border);transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.contact-links li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-primary);transform:scaleY(0);transition:transform var(--transition-base)}.contact-links li:hover{transform:translate(8px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.contact-links li:hover:before{transform:scaleY(1)}.contact-links strong{display:block;margin-bottom:var(--space-xs);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.contact-links a{font-size:1.1rem;font-weight:500}@media (max-width: 640px){:root{--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem}.header-content{flex-direction:column;align-items:center;gap:var(--space-sm);height:auto;padding:var(--space-sm) var(--space-md)}.site-branding{justify-content:center;height:auto;padding:var(--space-xs)}.site-logo{width:36px;height:36px}nav{width:100%;justify-content:center;height:auto}nav ul{flex-wrap:wrap;gap:var(--space-xs);justify-content:center;height:auto}nav li{height:auto}nav a{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.35rem}.project-card{padding:var(--space-lg)}.project-header{flex-direction:column;align-items:stretch;gap:var(--space-md)}.project-title-section{flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.project-links-group{justify-content:center}.project-link-badge{font-size:.8rem;padding:var(--space-xs) var(--space-md)}.project-logo{width:70px;height:70px}.cta-buttons{flex-direction:column;width:100%}.cta-button,.cta-button-primary,.cta-button-secondary{width:100%;padding:var(--space-md) var(--space-lg)}.intro p{font-size:1.125rem}.hero-logo{max-width:200px}}.text-muted{color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin:var(--space-2xl) 0}.stat-card{background:var(--gradient-surface);padding:var(--space-xl);border-radius:16px;text-align:center;border:2px solid var(--color-border);box-shadow:var(--shadow-lg);transition:all var(--transition-base);animation:fadeInUp .6s ease-out both}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-accent)}.stat-number{font-size:2.25rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;margin-bottom:var(--space-xs)}.stat-label{font-size:.875rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.feature-card{background:var(--color-surface);padding:var(--space-xl);border-radius:16px;border:2px solid var(--color-border);box-shadow:var(--shadow-md);transition:all var(--transition-base);text-decoration:none;display:block;animation:fadeInUp .6s ease-out both}.feature-card:nth-child(1){animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:nth-child(4){animation-delay:.4s}.feature-card:after{display:none}.feature-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--color-accent)}.feature-icon{font-size:3rem;margin-bottom:var(--space-md);filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.feature-card h3{margin-top:0;margin-bottom:var(--space-sm);font-size:1.5rem;color:var(--color-text);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feature-card p{color:var(--color-text-muted);margin-bottom:0;font-size:.9375rem;line-height:1.6}.tech-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.tech-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--gradient-primary);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.tech-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}html{scroll-behavior:smooth}::selection{background:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gradient-primary);width:0%;z-index:9999;transition:width .1s ease-out}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:var(--gradient-primary);color:#fff;border:none;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-xl);opacity:0;visibility:hidden;transform:translateY(100px);transition:all var(--transition-base);z-index:1000}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 12px 40px #3b82f666}.back-to-top:active{transform:translateY(-2px) scale(.95)}.hero-logo-animated{animation:heroEnter 1s ease-out forwards}@keyframes heroEnter{0%{opacity:0;transform:scale(.8) rotate(-10deg)}60%{opacity:1;transform:scale(1.05) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}.cta-banner{background:var(--gradient-primary);border-radius:20px;padding:var(--space-2xl);margin:var(--space-3xl) 0;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}.cta-banner:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.cta-content{position:relative;z-index:1;color:#fff}.cta-badge{display:inline-block;background:#fff3;padding:var(--space-xs) var(--space-md);border-radius:20px;font-size:.875rem;font-weight:700;margin-bottom:var(--space-md);border:1px solid rgba(255,255,255,.3)}.cta-banner h3{color:#fff;font-size:2rem;margin:var(--space-md) 0}.cta-banner p{color:#fffffff2;font-size:1.125rem;margin-bottom:var(--space-xl);max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:var(--space-md);justify-content:center;align-items:center;flex-wrap:wrap}.cta-button,.cta-button-primary,.cta-button-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-2xl);border-radius:50px;font-weight:700;text-decoration:none;transition:all var(--transition-base);box-shadow:0 4px 12px #0003;white-space:nowrap}.cta-button,.cta-button-primary{background:#fff;color:var(--color-accent)}.cta-button:hover,.cta-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d;background:#fffffff2}.cta-button-secondary{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(10px)}.cta-button-secondary:hover{background:#ffffff40;border-color:#fff9;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.brightbound-finder{background:linear-gradient(135deg,#3b82f614,#9333ea14);border:2px solid var(--color-accent);border-radius:20px;padding:var(--space-2xl);margin:var(--space-3xl) 0;text-align:center}.finder-content h3{margin-top:0;font-size:1.75rem;color:var(--color-text);margin-bottom:var(--space-md)}.finder-content p{color:var(--color-text-muted);font-size:1.125rem;margin-bottom:var(--space-lg)}.finder-button{display:inline-block;background:var(--gradient-primary);color:#fff;padding:var(--space-md) var(--space-2xl);border-radius:50px;font-weight:700;font-size:1.1rem;text-decoration:none;transition:all var(--transition-base);box-shadow:0 4px 12px #3b82f64d}.finder-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f680}.projects-carousel{overflow:hidden;margin-top:var(--space-xl);padding:var(--space-md) 0}.carousel-container{overflow:hidden;width:100%}.carousel-track{display:flex;gap:var(--space-lg);animation:scroll 30s linear infinite}.carousel-track:hover{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-preview{flex:0 0 280px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:16px;padding:var(--space-xl);text-align:center;text-decoration:none;transition:all var(--transition-base);display:flex;flex-direction:column;align-items:center}.project-preview:hover{border-color:var(--color-accent);transform:translateY(-8px);box-shadow:var(--shadow-xl);background:var(--gradient-surface)}.preview-logo{width:80px;height:80px;object-fit:contain;margin-bottom:var(--space-md);border-radius:12px;transition:all var(--transition-base)}.project-preview:hover .preview-logo{transform:scale(1.1);filter:drop-shadow(0 8px 16px rgba(59,130,246,.3))}.project-preview h3{margin:0 0 var(--space-xs);font-size:1.25rem;color:var(--color-text)}.project-preview p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.view-all-link{display:inline-block;color:var(--color-accent);font-weight:700;font-size:1.1rem;text-decoration:none;transition:all var(--transition-base)}.view-all-link:hover{color:var(--color-accent-hover);transform:translate(4px)}.tech-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md);margin-top:var(--space-xl)}.tech-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:12px;transition:all var(--transition-base);cursor:default}.tech-item:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:var(--shadow-lg);background:var(--gradient-surface)}.tech-emoji{font-size:2.5rem;margin-bottom:var(--space-sm);transition:transform var(--transition-base)}.tech-item:hover .tech-emoji{transform:scale(1.2) rotate(5deg);animation:bounce .6s ease}@keyframes bounce{0%,to{transform:scale(1.2) translateY(0)}50%{transform:scale(1.3) translateY(-8px)}}.tech-name{font-weight:600;font-size:.9375rem;color:var(--color-text)}.feature-icon{font-size:3rem;margin-bottom:var(--space-md);filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:transform var(--transition-base)}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(-5deg);animation:wiggle .5s ease}@keyframes wiggle{0%,to{transform:scale(1.1) rotate(0)}25%{transform:scale(1.15) rotate(-8deg)}75%{transform:scale(1.15) rotate(8deg)}}.project-card{position:relative;background:var(--color-surface);border:2px solid transparent;background-clip:padding-box}.project-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity var(--transition-base)}.project-card:hover:before{opacity:1}@media (hover: none){.feature-card:active,.tech-item:active,.contact-card:active{transform:scale(.98);opacity:.9}button:active,.cta-button:active{transform:scale(.95)}}img{opacity:0;animation:imageFadeIn .6s ease-out forwards}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){h1{font-size:2.25rem}h2{font-size:1.75rem}.hero-content{flex-direction:column;text-align:center;gap:var(--space-lg)}.hero-photo{width:150px;height:150px}.hero-text,.hero-text h1{text-align:center}.about-header{flex-direction:column;text-align:center}.about-photo{width:140px;height:140px}.about-text{text-align:center}.stats-grid{grid-template-columns:1fr;gap:var(--space-md)}.feature-grid{grid-template-columns:1fr}.project-card{padding:var(--space-lg)}.footer-links{flex-direction:column;gap:var(--space-sm)}}@media (max-width: 480px){:root{--space-2xl: 2.5rem;--space-3xl: 3.5rem}h1{font-size:1.875rem}.hero-photo{width:120px;height:120px}.about-photo{width:110px;height:110px}.container{padding:0 var(--space-sm)}.stat-number{font-size:2rem}}
