@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-700.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2")}:root{--surface-0:#071b30;--surface-1:#0e2c48;--surface-2:#16405f;--ink:#eaf3fb;--ink-dim:#96b1c7;--accent:#6fd2f2;--stamp:#e8734a;--grid-line:#eaf3fb0d;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--max-width:44rem}*{box-sizing:border-box}html{scrollbar-color:var(--surface-2) var(--surface-0)}body{background:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 100% 2rem, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 2rem 100%, var(--surface-0);min-height:100vh;color:var(--ink);font-family:var(--font-sans);flex-direction:column;margin:0;font-size:1rem;line-height:1.65;display:flex}main{max-width:var(--max-width);flex:1;width:100%;margin:0 auto;padding:2.5rem 1.5rem 6rem}h1,h2,h3{font-family:var(--font-mono);letter-spacing:-.01em;font-weight:700;line-height:1.15}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);font-size:.75rem}.site-header{max-width:var(--max-width);border-bottom:1px solid var(--surface-2);align-items:center;gap:1.5rem;margin:0 auto;padding:1.75rem 1.5rem 1.25rem;display:flex}.site-header .brand{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);margin-right:auto;font-size:.95rem;font-weight:700;text-decoration:none}.site-header .brand:before{content:"// ";color:var(--accent)}.site-header nav ul{font-family:var(--font-mono);gap:1.5rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.site-header nav a{color:var(--ink-dim);padding-bottom:.2rem;text-decoration:none;position:relative}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--ink)}.site-header nav a:after{content:"";background:var(--accent);height:1px;transition:right .15s ease-out;position:absolute;bottom:0;left:0;right:100%}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.lang-switch{font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--surface-2);border-radius:2px;padding:.3rem .65rem;font-size:.78rem;text-decoration:none}.lang-switch:hover,.lang-switch:focus-visible{color:var(--ink);border-color:var(--accent)}.hero h1{margin:0 0 .75rem;font-size:clamp(2.1rem,6vw,3.2rem)}.hero-rule{background:linear-gradient(90deg, var(--accent), transparent);transform-origin:0;width:100%;max-width:14rem;height:1px;margin:0 0 1.5rem;animation:.9s ease-out both draw-line}@media (prefers-reduced-motion:reduce){.hero-rule{animation:none}}@keyframes draw-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero p{max-width:34rem;color:var(--ink-dim)}.status-line{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--stamp);border:1px solid var(--stamp);border-radius:2px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.4rem .75rem;font-size:.8rem;display:inline-flex}.status-line:before{content:"";background:var(--stamp);border-radius:50%;width:.4rem;height:.4rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem;margin-top:2rem;display:grid}.project-card{background:var(--surface-1);border:1px solid var(--surface-2);border-radius:2px}.project-card .card-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-dim);border-bottom:1px solid var(--surface-2);padding:.5rem 1rem;font-size:.7rem}.project-card .card-body{padding:1rem 1.25rem 1.25rem}.project-card img{border-bottom:1px solid var(--surface-2);width:100%;display:block}.project-card h3{margin:0 0 .5rem;font-size:1.05rem}.project-card p{color:var(--ink-dim);margin:0}.tech-tags{flex-wrap:wrap;gap:.4rem;margin:.9rem 0;padding:0;list-style:none;display:flex}.tech-tags li{font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--surface-2);border-radius:2px;padding:.15rem .5rem;font-size:.7rem}.project-links a{font-family:var(--font-mono);margin-right:1.25rem;font-size:.8rem}.empty-state{border:1px dashed var(--surface-2);text-align:center;border-radius:2px;margin-top:2rem;padding:2.5rem 1.5rem}.empty-state h2{margin:0 0 .5rem;font-size:1rem}.empty-state p{color:var(--ink-dim);margin:0;max-width:28rem;margin-inline:auto}form.contact-form{gap:1.1rem;max-width:28rem;margin-top:2rem;display:grid}form.contact-form label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);gap:.4rem;font-size:.78rem;display:grid}form.contact-form input,form.contact-form textarea{background:var(--surface-1);border:1px solid var(--surface-2);color:var(--ink);font:1rem/1.5 var(--font-sans);border-radius:2px;padding:.65rem .75rem}form.contact-form input:focus-visible,form.contact-form textarea:focus-visible{border-color:var(--accent)}form.contact-form button{color:var(--accent);border:1px solid var(--accent);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;justify-self:start;padding:.65rem 1.75rem;font-size:.85rem;transition:background .15s,color .15s}form.contact-form button:hover,form.contact-form button:focus-visible{background:var(--accent);color:var(--surface-0)}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-status{font-family:var(--font-mono);color:var(--accent);font-size:.85rem}.site-footer{max-width:var(--max-width);border-top:1px solid var(--surface-2);color:var(--ink-dim);margin:0 auto;padding:2rem 1.5rem;font-size:.85rem}.social-heading{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem;font-size:.72rem}.social-links{font-family:var(--font-mono);flex-wrap:wrap;gap:.4rem 1.5rem;margin:0 0 1.25rem;padding:0;font-size:.85rem;list-style:none;display:flex}.social-links a{color:var(--ink);border-bottom:1px solid var(--surface-2);text-decoration:none}.social-links a:hover,.social-links a:focus-visible{border-color:var(--accent)}.rights{font-family:var(--font-mono);color:var(--ink-dim);margin:0;font-size:.72rem}@media (width<=32rem){.site-header{flex-wrap:wrap}}
