.hero{padding:var(--space-xl) 0 var(--space-xl)}.hero .wrap{align-items:center;row-gap:var(--space-xl)}.hero-text{grid-column:1 / span 7;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);min-width:0}.hero .prompt{font-family:var(--face-mono);font-size:var(--text-meta);color:var(--color-muted)}.hero .prompt .ps1{color:var(--color-accent-ink)}.hero .prompt .who{margin-left:var(--space-xs);font-family:var(--face-body);color:var(--color-ink-2)}.hero h1{max-width:15ch;font-size:clamp(2.75rem,4.2vw + 1rem,4.5rem);line-height:1;letter-spacing:-.04em}.hero .lead{margin:0;max-width:44ch;font-size:var(--text-lead);line-height:1.5;color:var(--color-muted);text-wrap:pretty}.hero .ctas{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.hero .ctas .btn{min-height:48px;padding:0 var(--space-md);font-size:1rem}.loop{--loop-node-y: calc(var(--text-title) * .625);--loop-rail: 36px;--loop-track: var(--color-muted);--loop-indent: 72px;grid-column:8 / -1;margin:0;min-width:0}.loop ol{position:relative;display:grid;gap:var(--space-lg);margin:0;padding:0 0 0 var(--loop-indent);list-style:none}.loop ol:before{content:"";position:absolute;left:var(--loop-rail);top:var(--loop-node-y);bottom:var(--loop-node-y);width:1px;background:var(--loop-track)}.loop ol:after{content:"";position:absolute;left:0;width:var(--loop-rail);top:var(--loop-node-y);bottom:var(--loop-node-y);border:1px solid var(--loop-track);border-right:0;border-radius:20px 0 0 20px}.loop li{position:relative;display:grid;gap:var(--space-3xs)}.loop li:before{content:"";position:absolute;left:calc(var(--loop-rail) - var(--loop-indent) - 6px);top:calc(var(--loop-node-y) - 6px);width:13px;height:13px;border:2px solid var(--color-accent-ink);border-radius:50%;background:var(--color-paper);z-index:1}.loop li:last-child:before{background:var(--color-accent)}.loop li:first-child:after{content:"";position:absolute;left:calc(var(--loop-rail) - var(--loop-indent) - 14px);top:calc(var(--loop-node-y) - 4px);width:7px;height:7px;border-top:1px solid var(--loop-track);border-right:1px solid var(--loop-track);transform:rotate(45deg)}.loop .step{font-family:var(--face-display);font-size:var(--text-title);font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--color-ink)}.loop .role{font-size:var(--text-meta);color:var(--color-muted)}.loop figcaption{margin-top:var(--space-lg);padding-left:var(--loop-indent);font-size:var(--text-meta);color:var(--color-ink-2)}.caret{display:none}:root.hero-intro .caret{display:inline-block;width:.55em;height:1.05em;margin-left:1px;vertical-align:-.18em;background:var(--color-accent-ink)}@keyframes hero-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){:root.hero-intro .caret{animation:caret-blink .9s steps(1) 2}:root.hero-intro .hero h1,:root.hero-intro .hero .lead,:root.hero-intro .hero .ctas,:root.hero-intro .figures,:root.hero-intro .loop li,:root.hero-intro .loop figcaption{animation:hero-in .5s var(--ease-out) both}:root.hero-intro .hero h1{animation-delay:.45s}:root.hero-intro .hero .lead{animation-delay:.5s}:root.hero-intro .hero .ctas{animation-delay:.55s}:root.hero-intro .loop li:nth-child(1){animation-delay:.55s}:root.hero-intro .loop li:nth-child(2){animation-delay:.6s}:root.hero-intro .loop li:nth-child(3){animation-delay:.65s}:root.hero-intro .loop li:nth-child(4),:root.hero-intro .loop figcaption,:root.hero-intro .figures{animation-delay:.7s}}@keyframes caret-blink{50%{opacity:0}}.record{padding-bottom:var(--section-gap-s)}.career{margin:var(--space-lg) 0 0}.career>div{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;padding:var(--space-sm) 0;border-top:1px solid var(--color-rule)}.career>div:last-child{border-bottom:1px solid var(--color-rule)}.career dt{grid-column:1 / span 2;font-size:var(--text-meta);color:var(--color-muted)}.career dd{grid-column:3 / -1;margin:0;font-size:1.125rem;color:var(--color-ink)}.work{padding-bottom:var(--section-gap)}.showcase{row-gap:var(--space-xl)}.project{display:flex;flex-direction:column;gap:var(--space-md);min-width:0;color:inherit;text-decoration:none}.project--lead{grid-column:1 / -1}.project--wide{grid-column:1 / span 7}.project--narrow{grid-column:8 / -1}.project--lead .shot{aspect-ratio:2880 / 1328}.project--wide .shot{aspect-ratio:2880 / 1498}.project--narrow .shot{aspect-ratio:2042 / 1522}.project:hover .shot{outline-color:var(--color-accent-ink)}.project:hover h3{color:var(--color-accent-ink)}.project:active h3{color:var(--color-ink)}.project .meta{display:grid;gap:var(--space-xs)}.project--lead .meta{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap-columns);align-items:baseline}.project--lead .meta .title{grid-column:1 / span 4}.project--lead .meta .blurb{grid-column:5 / span 6}.project--lead .meta .more{grid-column:11 / -1;justify-self:end}.project h3{font-size:var(--text-title);line-height:1.2;letter-spacing:-.015em;transition:color var(--dur-short) var(--ease-out)}.project--lead h3{font-size:var(--text-display-s);line-height:1.05;letter-spacing:-.03em}.project .stack{display:block;margin-top:var(--space-2xs);font-size:var(--text-meta);color:var(--color-muted)}.project .blurb{margin:0;max-width:60ch;font-size:1rem;line-height:1.6;color:var(--color-ink-2);text-wrap:pretty}.project .more{font-size:var(--text-meta);color:var(--color-accent-ink);text-decoration:underline;text-underline-offset:.2em}.writing{padding-bottom:var(--section-gap-s)}.post-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-rule)}.post-rows a{align-items:baseline;padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);color:inherit;text-decoration:none}.post-rows time{grid-column:1 / span 2;font-family:var(--face-mono);font-size:.8125rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.post-rows h3{grid-column:3 / span 9;max-width:none;font-size:var(--text-title);font-weight:500;line-height:1.3;letter-spacing:-.01em;transition:color var(--dur-short) var(--ease-out)}.post-rows a:hover h3{color:var(--color-accent-ink)}.post-rows a:active h3{color:var(--color-ink)}@media(max-width:60rem){.home .wrap{padding-inline:var(--space-md)}.hero-text,.loop,.project--wide,.project--narrow{grid-column:1 / -1}.project--lead .meta{grid-template-columns:minmax(0,1fr)}.project--lead .meta .title,.project--lead .meta .blurb,.project--lead .meta .more{grid-column:1;justify-self:start}.post-rows h3{grid-column:3 / -1}.work{padding-bottom:var(--section-gap-s)}}@media(max-width:40rem){.home .wrap{padding-inline:var(--margin-mobile)}.hero{padding:var(--space-lg) 0}.hero .ctas{flex-direction:column;align-self:stretch}.hero .ctas .btn{justify-content:center}.career dt,.career dd{grid-column:1 / -1}.post-rows time,.post-rows h3{grid-column:1 / -1}.post-rows h3{font-size:1.125rem}.record,.writing,.work{padding-bottom:var(--space-xl)}}
