@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap";:root{--bg:#120e0c;--bg-lift:#1a1410;--cream:#f4e6cc;--amber:#a66131;--text:#f4e6cc;--text-soft:color-mix(in srgb, var(--cream) 72%, #8a6a4a);--text-muted:color-mix(in srgb, var(--cream) 42%, #5c4030);--border:color-mix(in srgb, var(--cream) 12%, transparent);--glow:color-mix(in srgb, var(--amber) 18%, transparent);--font-display:"Instrument Serif", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-body);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px}body{background:var(--bg);min-width:320px;margin:0}body:before{content:"";background:radial-gradient(ellipse at 50% -10%, var(--glow) 0%, transparent 55%), url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:-1;position:fixed;inset:0}img{max-width:100%;display:block}a{color:var(--cream);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--amber)}.page{width:min(100%,43rem);margin:0 auto;padding:clamp(2.5rem,8vw,5rem) clamp(1.25rem,4vw,2rem) 3rem;position:relative}.hero{border-bottom:1px solid var(--border);justify-items:start;gap:0;padding-bottom:clamp(2.5rem,6vw,4rem);animation:.7s both rise;display:grid}.title-row{align-items:center;gap:clamp(.85rem,3vw,1.35rem);display:flex}.mark{object-fit:cover;border-radius:50%;flex-shrink:0;width:clamp(3.75rem,12vw,5.25rem);height:clamp(3.75rem,12vw,5.25rem);animation:1s both settle}h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(3.25rem,12vw,4.75rem);font-weight:400;line-height:.92}.lede{max-width:40rem;color:var(--text-soft);margin:1rem 0 0;font-size:1.15rem;font-weight:400;line-height:1.55}.lede+.lede{margin-top:.35rem}.toc{flex-wrap:wrap;gap:.65rem 1.25rem;margin-top:1.75rem;display:flex}.toc a{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:500;text-decoration:none}.toc a:hover{color:var(--cream)}.category{border-bottom:1px solid var(--border);padding:clamp(2rem,5vw,3rem) 0;animation:.7s .12s both rise}.category:nth-child(3){animation-delay:.2s}.category:nth-child(4){animation-delay:.28s}.category h2{color:var(--amber);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.8rem;font-weight:600}.projects{gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.project{gap:0;display:grid}.project-title{align-items:center;gap:.75rem;min-width:0;display:flex}.ico{object-fit:cover;border-radius:.55rem;flex-shrink:0;width:2.75rem;height:2.75rem}.name{font-family:var(--font-display);font-size:clamp(1.65rem,4vw,2rem);font-weight:400;line-height:1.15;text-decoration:none}a.name:hover{color:var(--amber)}span.name{color:var(--text)}.note{max-width:40rem;color:var(--text-soft);margin:.4rem 0 0;font-size:1.02rem;line-height:1.55}.stack{flex-wrap:wrap;gap:.35rem .75rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.stack li{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:500}footer{color:var(--text-muted);padding-top:2rem;font-size:.82rem}@keyframes rise{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes settle{0%{opacity:0;transform:scale(.92)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero,.category,.mark{animation:none}}
