:root{--ink:#1e1e1b;--paper:#f6f6f2;--line:#d9d9d2;--muted:#777770;--acid:#dcff53;--card:#ecece6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}.page-shell{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:320px minmax(0,1fr)}.sidebar{min-height:100vh;padding:34px 36px;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);display:flex;flex-direction:column}.mark{width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--acid);display:grid;place-items:center;text-decoration:none;font:700 .83rem Unbounded,sans-serif;letter-spacing:-.09em}.identity{margin-top:9.8vh}.availability{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.5rem}.availability span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#57b863;margin-right:.5rem}.identity h1{font:600 clamp(1.65rem,2.2vw,2.3rem)/1.12 Unbounded,sans-serif;letter-spacing:-.075em;margin:0}.identity>p:last-child{max-width:188px;margin:1.2rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.65}.sidebar nav{display:grid;gap:.05rem;margin-top:6.5vh}.sidebar nav a{padding:.8rem 0;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);font-size:.84rem;font-weight:700;transition:color .2s}.sidebar nav a:hover,.sidebar nav a.active{color:var(--ink)}.sidebar nav span{display:inline-block;width:34px;color:#9b9b93;font:500 .61rem Unbounded,sans-serif}.github{margin-top:auto;color:var(--ink);font-size:.83rem;font-weight:800;text-decoration:none}.github span,footer span{color:#77a000;margin-left:.25rem}main{min-width:0}.intro{min-height:75vh;padding:clamp(5.5rem,11vh,9rem) clamp(2rem,8vw,9rem) 5rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-index,.empty-label{font-size:.67rem;line-height:1;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.intro h2{font:600 clamp(2.3rem,5.3vw,5.4rem)/1.09 Unbounded,sans-serif;letter-spacing:-.09em;margin:1.5rem 0 0;max-width:850px}.intro h2 em{font-style:normal;color:#789b00}.intro-copy{max-width:550px;margin:2.4rem 0 0;color:var(--muted);font-size:1rem;line-height:1.75}.scroll-link{margin-top:2.5rem;width:max-content;color:var(--ink);font-size:.83rem;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.4rem}.scroll-link span{margin-left:.4rem;color:#789b00}.portfolio-section{padding:clamp(4rem,8vw,7.5rem) clamp(2rem,8vw,9rem) 0}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.section-head h2{font:600 clamp(2rem,4vw,3.75rem)/1 Unbounded,sans-serif;letter-spacing:-.09em;margin:.75rem 0 0}.section-head>p{width:205px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.6}.empty-card{min-height:315px;padding:1.8rem;display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:var(--card);border:1px solid #dfdfd9}.empty-card--dark{background:var(--ink);color:#f5f5ee;margin-bottom:0}.empty-card h3{max-width:440px;margin:1rem 0 0;font:500 clamp(1.35rem,2.3vw,2rem)/1.35 Unbounded,sans-serif;letter-spacing:-.07em}.empty-card--dark .empty-label{color:#9d9d95}.empty-art{height:190px;position:relative;overflow:hidden;border:1px solid rgba(30,30,27,.22);background:#f5f5ef}.empty-art--site{padding:15px}.empty-art--site i{display:block;height:9px;background:#d0d0c8;margin-bottom:9px}.empty-art--site i:nth-child(1){width:40%}.empty-art--site i:nth-child(2){width:100%;height:68px;margin-top:20px;background:#d8efa1}.empty-art--site i:nth-child(3){width:60%}.empty-art--site b{position:absolute;right:15px;bottom:15px;width:42px;height:10px;background:var(--ink)}.empty-art--app{border-color:rgba(245,245,238,.25);background:#292925;padding:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.empty-art--app i{background:#3f3f39;border:1px solid #53534d}.empty-art--app i:first-child{grid-column:span 2;background:var(--acid)}footer{margin-top:clamp(4rem,8vw,7.5rem);border-top:1px solid var(--line);padding:2rem clamp(2rem,8vw,9rem) 2.5rem;display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}footer p{margin:0}footer a{color:var(--ink);text-decoration:none}@media(max-width:860px){.page-shell{display:block}.sidebar{height:auto;min-height:0;position:relative;padding:24px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.mark{width:40px;height:40px}.identity{margin:0}.availability,.identity>p:last-child{display:none}.identity h1{font-size:.93rem;line-height:1.2}.sidebar nav{display:none}.github{margin:0;font-size:.78rem}.intro{min-height:620px;padding:7rem 1.5rem 4rem}.portfolio-section{padding:4.5rem 1.5rem 0}footer{margin-top:4.5rem;padding:1.8rem 1.5rem;display:block}footer a{display:block;margin-top:.8rem}}@media(max-width:540px){.sidebar{padding:18px}.sidebar .github{font-size:0}.sidebar .github span{font-size:1rem;margin:0}.section-head{display:block}.section-head>p{margin:1.2rem 0 0;width:auto}.empty-card{grid-template-columns:1fr;gap:1.5rem;padding:1.2rem;min-height:0}.empty-art{height:150px}.intro h2{font-size:2.2rem}.intro-copy{font-size:.92rem}}
