.Button-module__8RiFmG__button{min-height:48px;padding:0 var(--space-lg);background:var(--color-accent);color:var(--color-accent-ink);border:1px solid var(--color-accent);border-radius:var(--radius-card);transition:transform var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.Button-module__8RiFmG__button:hover{opacity:.88}.Button-module__8RiFmG__button:active{transform:translateY(1px)}.Button-module__8RiFmG__quiet{color:var(--color-ink);border-color:var(--color-ink);background:0 0}.Button-module__8RiFmG__quiet:hover{background:var(--color-paper-3);opacity:1}@media (max-width:40rem){.Button-module__8RiFmG__button{flex:auto;justify-content:center}}
.TextLink-module__0J5utG__link{color:var(--surface-link);text-underline-offset:.18em;transition:opacity var(--dur-micro) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}.TextLink-module__0J5utG__link:hover{opacity:.65}
.Hero-module___w2HtG__hero{padding-block:var(--space-3xl) var(--space-2xl)}.Hero-module___w2HtG__inner{gap:var(--space-2xl);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;display:grid}.Hero-module___w2HtG__heading{font-size:var(--text-display);max-width:12ch}.Hero-module___w2HtG__lead{margin-top:var(--space-lg);font-size:var(--text-lead);color:var(--color-ink-2);max-width:38ch}.Hero-module___w2HtG__actions{gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.Hero-module___w2HtG__availability{margin-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted);max-width:44ch}.Hero-module___w2HtG__board{border:1px solid var(--color-ink);border-radius:var(--radius-card);background:var(--color-paper-2)}.Hero-module___w2HtG__boardHeading{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-ink);font-weight:600;line-height:1.4}.Hero-module___w2HtG__boardList{margin:0;padding:0;list-style:none}.Hero-module___w2HtG__boardList li{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.Hero-module___w2HtG__boardList li+li{border-top:var(--rule-hair) solid var(--color-rule)}.Hero-module___w2HtG__boardName{font-weight:500}.Hero-module___w2HtG__boardState{font-family:var(--font-mono);font-size:var(--text-xs)}.Hero-module___w2HtG__isOpen{color:var(--color-accent)}.Hero-module___w2HtG__isShut{color:var(--color-ink-2)}@media (max-width:64rem){.Hero-module___w2HtG__hero{padding-block:var(--space-2xl)}.Hero-module___w2HtG__inner{grid-template-columns:minmax(0,1fr)}}
.LinkList-module__I1B_oW__list{margin:var(--space-md) 0 0;gap:var(--space-2xs);padding:0;list-style:none;display:grid}
.ProjectScreenshot-module__Zyd8vW__frame{border:1px solid var(--surface-rule);border-radius:var(--radius-card);background:var(--color-paper-2);margin:0;overflow:hidden}.ProjectScreenshot-module__Zyd8vW__image{width:100%;height:auto}
.StackList-module__G6DWZa__label{display:block}.StackList-module__G6DWZa__list{margin:var(--space-xs) 0 0;gap:var(--space-3xs);padding:0;list-style:none;display:grid}
.FeaturedProject-module__NAF5qa__section{padding-block:var(--section-gap-s)}.FeaturedProject-module__NAF5qa__head{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:end;display:grid}.FeaturedProject-module__NAF5qa__name{font-size:var(--text-display-s)}.FeaturedProject-module__NAF5qa__summary{font-size:var(--text-lead);color:var(--surface-text-2);max-width:46ch}.FeaturedProject-module__NAF5qa__screenshot{margin-top:var(--space-xl)}.FeaturedProject-module__NAF5qa__foot{gap:var(--space-2xl);margin-top:var(--space-xl);border-top:1px solid var(--surface-rule);padding-top:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}.FeaturedProject-module__NAF5qa__access{margin-top:var(--space-xs);color:var(--surface-text-2);max-width:54ch}@media (max-width:64rem){.FeaturedProject-module__NAF5qa__head,.FeaturedProject-module__NAF5qa__foot{grid-template-columns:minmax(0,1fr)}}
.SideProject-module__2xfJKW__section{padding-block:var(--section-gap-s)}.SideProject-module__2xfJKW__inner{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;display:grid}.SideProject-module__2xfJKW__summary{margin-top:var(--space-md);font-size:var(--text-lead);color:var(--surface-text-2);max-width:42ch}.SideProject-module__2xfJKW__status{margin-top:var(--space-md);color:var(--surface-text-2);max-width:44ch}.SideProject-module__2xfJKW__stack{margin-top:var(--space-xl)}@media (max-width:64rem){.SideProject-module__2xfJKW__inner{grid-template-columns:minmax(0,1fr)}.SideProject-module__2xfJKW__screenshot{order:-1}}
.InProgressProject-module__WHRk6q__section{padding-block:var(--section-gap-l) var(--section-gap-s)}.InProgressProject-module__WHRk6q__inner{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;display:grid}.InProgressProject-module__WHRk6q__summary{margin-top:var(--space-md);font-size:var(--text-lead);color:var(--surface-text-2);max-width:34ch}.InProgressProject-module__WHRk6q__detail>p{color:var(--surface-text-2);max-width:60ch}.InProgressProject-module__WHRk6q__detail .InProgressProject-module__WHRk6q__status{margin-top:var(--space-md);max-width:44ch}.InProgressProject-module__WHRk6q__stack{margin-top:var(--space-lg)}@media (max-width:64rem){.InProgressProject-module__WHRk6q__inner{grid-template-columns:minmax(0,1fr)}}
.EarlierWork-module__d_PRgG__section{padding-block:var(--section-gap-l) var(--section-gap-s)}.EarlierWork-module__d_PRgG__note{margin-top:var(--space-sm);color:var(--surface-text-2);max-width:46ch}.EarlierWork-module__d_PRgG__list{margin:var(--space-lg) 0 0;gap:var(--space-xl);grid-template-columns:minmax(0,1fr);padding:0;list-style:none;display:grid}.EarlierWork-module__d_PRgG__list li{border-top:2px solid var(--color-ink);padding-top:var(--space-md)}.EarlierWork-module__d_PRgG__list p{margin:var(--space-xs) 0 var(--space-md);color:var(--surface-text-2)}.EarlierWork-module__d_PRgG__link{font-family:var(--font-mono);font-size:var(--text-sm)}@media (min-width:48rem){.EarlierWork-module__d_PRgG__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.Practice-module__tHmd6a__section{padding-block:var(--section-gap-s)}.Practice-module__tHmd6a__list{margin:var(--space-xl) 0 0;display:grid}.Practice-module__tHmd6a__list>div{gap:var(--space-xl);padding-block:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.Practice-module__tHmd6a__list>div+div{border-top:var(--rule-hair) solid var(--color-rule)}.Practice-module__tHmd6a__list dt{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:600}.Practice-module__tHmd6a__list dd{font-size:var(--text-lead);color:var(--surface-text-2);margin:0}@media (max-width:64rem){.Practice-module__tHmd6a__list>div{grid-template-columns:minmax(0,1fr)}}
.Stack-module__Eo5vkq__section{padding-block:var(--section-gap-s)}.Stack-module__Eo5vkq__grid{margin:var(--space-xl) 0 0;gap:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.Stack-module__Eo5vkq__grid dt{font-size:var(--text-sm);color:var(--surface-text-2);font-weight:600}.Stack-module__Eo5vkq__grid dd{margin:var(--space-xs) 0 0;color:var(--surface-text);line-height:1.7}@media (min-width:48rem){.Stack-module__Eo5vkq__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:72rem){.Stack-module__Eo5vkq__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.Contact-module__DIbnYa__section{padding-block:var(--section-gap-s)}.Contact-module__DIbnYa__inner{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.Contact-module__DIbnYa__say{gap:var(--space-lg);align-items:start;display:flex}.Contact-module__DIbnYa__portrait{object-fit:cover;object-position:50% 18%;border-radius:var(--radius-card);border:1px solid var(--surface-rule);flex:none;width:88px;height:88px}.Contact-module__DIbnYa__heading{font-size:var(--text-display-s);max-width:14ch}.Contact-module__DIbnYa__text{margin-top:var(--space-md);color:var(--surface-text-2);font-size:var(--text-lead);max-width:34ch}.Contact-module__DIbnYa__follow{margin-top:var(--space-md);color:var(--color-accent-bright);font-size:var(--text-lead);max-width:32ch}.Contact-module__DIbnYa__list{gap:var(--space-sm);font-family:var(--font-mono);margin:0;padding:0;list-style:none;display:grid}.Contact-module__DIbnYa__list li{border-bottom:var(--rule-hair) solid var(--surface-rule);padding-bottom:var(--space-sm);color:var(--surface-text-2)}.Contact-module__DIbnYa__mail{font-size:var(--text-lg)}@media (max-width:64rem){.Contact-module__DIbnYa__inner{grid-template-columns:minmax(0,1fr)}}
