*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-raised: #111111;--border: #1a1a1a;--border-hover: #2a2a2a;--text: #e0e0e0;--text-dim: #666666;--text-muted: #444444;--accent: #4a9f6e;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;font-family:var(--font-mono);font-size:19px;line-height:1.6;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;min-width:320px}a{color:var(--text);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}.page{max-width:1280px;margin:0 auto;padding:0 2rem}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:1.5rem}.hero-logo{width:48px;height:48px;opacity:.9}.hero-name{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#fff}.hero-tagline{font-size:clamp(.85rem,1.5vw,1rem);font-weight:300;color:var(--text-dim);max-width:680px}.hero-description{font-size:clamp(.842rem,1.3vw,.947rem);font-weight:300;color:#999;max-width:720px;line-height:1.7}.cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:4px;vertical-align:middle;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.section{padding:6rem 0;border-top:1px solid var(--border)}.section-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:3rem}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border)}.portfolio-cell{background:var(--bg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:background .2s}.portfolio-cell:hover{background:var(--bg-raised)}.cell-header{display:flex;justify-content:space-between;align-items:baseline}.cell-category{font-size:.85rem;font-weight:500;color:#fff}.cell-count{font-size:.75rem;color:var(--text-muted)}.cell-names{font-size:.8rem;font-weight:300;color:var(--text-dim);line-height:1.8}.cell-names span{display:inline}.cell-names span:after{content:" · ";color:var(--text-muted)}.cell-names span:last-child:after{content:""}.summary{padding:4rem 0;border-top:1px solid var(--border)}.summary-stats{display:flex;gap:3rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.contact{padding:4rem 0;border-top:1px solid var(--border)}.contact a{font-size:1rem;font-weight:400;color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:2px;transition:color .2s,border-color .2s}.contact a:hover{color:var(--accent);border-color:var(--accent)}.footer{padding:3rem 0;border-top:1px solid var(--border);font-size:.7rem;color:var(--text-muted)}.fade-in{opacity:0;transform:translateY(12px);animation:fadeUp .6s ease forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}@media(max-width:640px){.page{padding:0 1.25rem}.portfolio-grid{grid-template-columns:1fr}.summary-stats{gap:2rem}.hero{min-height:80vh}}
