*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--bg-card:#1a1a1a;--fg:#e8e8e8;--fg-muted:#888;--accent:#7aa2f7;--border:#2a2a2a;--font:'JetBrains Mono', 'Fira Mono', monospace;--max-width:860px}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.7}header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:10}nav{max-width:var(--max-width);margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;color:var(--accent)}.lang-switcher{display:flex;gap:1rem}.lang-switcher a{color:var(--fg-muted);text-decoration:none;font-size:.85rem}.lang-switcher a.active,.lang-switcher a:hover{color:var(--accent)}section{max-width:var(--max-width);margin:0 auto;padding:5rem 2rem;border-bottom:1px solid var(--border)}section:last-child{border-bottom:none}h1{font-size:2.5rem;color:var(--accent);margin-bottom:.5rem}h2{font-size:1.4rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem}h3{font-size:1rem;color:var(--accent);margin-bottom:.4rem}#hero{padding-top:8rem}.tagline{font-size:1.3rem;color:var(--fg);margin-bottom:.3rem}.detail{color:var(--fg-muted);font-size:.95rem;margin-bottom:.3rem}.location{color:var(--fg-muted);font-size:.85rem;margin-bottom:2rem}.cta{display:inline-block;padding:.6rem 1.4rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:.9rem;transition:background .2s,color .2s}.cta:hover{background:var(--accent);color:var(--bg)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.service-card{background:var(--bg-card);border:1px solid var(--border);padding:1.2rem}.service-card p{color:var(--fg-muted);font-size:.9rem}.stack-list{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}.stack-list li{background:var(--bg-card);border:1px solid var(--border);padding:.3rem .8rem;font-size:.85rem;color:var(--fg-muted)}.email-link{display:block;font-size:1.2rem;color:var(--accent);text-decoration:none;margin-bottom:1.5rem}.email-link:hover{text-decoration:underline}.blog-link{color:var(--fg-muted);font-size:.9rem}.blog-link a{color:var(--accent);text-decoration:none}.blog-link a:hover{text-decoration:underline}footer{text-align:center;padding:2rem;color:var(--fg-muted);font-size:.8rem;border-top:1px solid var(--border)}@media(max-width:600px){h1{font-size:1.8rem}section{padding:3rem 1.2rem}}