:root{--color-bg:#0b0f1a;--color-surface-warm:rgba(201, 168, 76, 0.04);--color-border:rgba(237, 233, 223, 0.08);--color-border-mid:rgba(237, 233, 223, 0.16);--color-text:#ede9df;--color-text-muted:#5a6075;--color-accent:#c9a84c;--font-display:'Bricolage Grotesque', system-ui, sans-serif;--font-ui:'Syne', system-ui, sans-serif;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius:0.5rem;--max-width:58rem}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.035;pointer-events:none;z-index:9999}a{color:inherit;text-decoration:none}img{display:block}main{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-8)}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{padding-block:var(--space-24)var(--space-16);position:relative;overflow:hidden}.hero::after{content:'';position:absolute;top:0;left:-10%;width:60%;height:100%;background:radial-gradient(ellipse at 30% 40%,rgba(201,168,76,7%) 0%,transparent 70%);pointer-events:none;z-index:0}.hero .container{position:relative;z-index:1}.hero-name{font-family:var(--font-display);font-style:normal;font-weight:700;font-size:clamp(3.5rem,9vw,6.5rem);line-height:.95;letter-spacing:-.04em;color:var(--color-text);animation:fadeUp .9s cubic-bezier(.16,1,.3,1)both}.hero-rule{border:none;border-top:1px solid var(--color-border-mid);margin-block:var(--space-6);animation:fadeUp .9s .1s cubic-bezier(.16,1,.3,1)both}.hero-tagline{font-size:.75rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);animation:fadeUp .9s .2s cubic-bezier(.16,1,.3,1)both}.projects{padding-block:0 var(--space-24)}.category-label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}.project-list{border-top:1px solid var(--color-border);margin-bottom:var(--space-10)}.project-row{display:grid;grid-template-columns:40px 1fr auto;gap:var(--space-5);align-items:center;padding-block:var(--space-5);border-bottom:1px solid var(--color-border);padding-inline:var(--space-3);margin-inline:calc(var(--space-3) * -1);border-radius:var(--radius);transition:background .15s}.project-row:hover{background:var(--color-surface-warm)}.project-row:hover .project-link{color:var(--color-accent);opacity:1}.project-icon{width:40px;height:40px;border-radius:9px;object-fit:contain}.project-info{display:flex;flex-direction:column;gap:.2rem}.project-name{font-size:.95rem;font-weight:600;color:var(--color-text)}.project-tags{display:flex;gap:.3rem;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);background:rgba(237,233,223,5%);border:1px solid var(--color-border);border-radius:3px;padding:.1rem .35rem}.tag-icon{width:9px;height:9px;fill:currentColor;flex-shrink:0}.project-desc{font-size:.8rem;color:var(--color-text-muted);line-height:1.5}.project-link{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-muted);opacity:.6;white-space:nowrap;transition:color .15s,opacity .15s}@media(max-width:520px){.container{padding-inline:var(--space-5)}.project-row{grid-template-columns:40px 1fr}.project-link{display:none}}.content{padding-block:var(--space-16)var(--space-24);max-width:42rem}.content h1{font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-8)}.content h2{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-top:var(--space-8);margin-bottom:var(--space-4)}.content p{font-size:.9rem;color:var(--color-text-muted);line-height:1.75;margin-bottom:var(--space-4)}.content strong{color:var(--color-text);font-weight:600}.content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.content hr{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-6)}.content ul,.content ol{font-size:.9rem;color:var(--color-text-muted);line-height:1.75;padding-left:var(--space-6);margin-bottom:var(--space-4)}.site-footer{padding-block:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:.75rem;letter-spacing:.04em;border-top:1px solid var(--color-border)}.footer-links{display:flex;align-items:center;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-3)}.footer-link{display:flex;align-items:center;gap:.35rem;color:var(--color-text-muted);transition:color .15s}.footer-link:hover{color:var(--color-text)}.footer-icon{width:13px;height:13px;fill:currentColor;flex-shrink:0}.footer-copy{color:var(--color-text-muted);opacity:.5}