@font-face{font-family:Archivo;src:url(/fonts/Archivo-w1000-500.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-w1000-700.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/src/IBMPlexMono-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/src/IBMPlexMono-Medium.ttf)format("truetype");font-weight:500;font-display:swap}:root{--ink:#050507;--bone:#eee9df;--ash:#b3aea5;--graphite:#8a857d;--signal:#007aff;--signal-text:#3d8bff;--ember:#7cbaff;--font:"Archivo", sans-serif;--font-mono:"Plex Mono", monospace;--gutter:max(16px, 7vw);color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--ink);color:var(--bone);font:500 1rem/1.5 var(--font);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--ink);min-height:100svh}a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid var(--signal-text);outline-offset:4px;border-radius:2px}.label{font:400 .75rem/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}a.label:hover,.label a:hover{color:var(--bone)}.hero{height:clamp(11rem,26svh,16rem);position:relative}.portrait{top:1rem;right:var(--gutter);aspect-ratio:1;object-fit:cover;object-position:60% 30%;opacity:.9;width:auto;max-width:60%;height:calc(100% - 1rem);animation:1.6s both fade-in;position:absolute;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}.words{left:var(--gutter);animation:1s cubic-bezier(.2,.7,.2,1) .3s both rise;position:absolute;bottom:0;right:16px}.name{letter-spacing:-.035em;color:#fffaf0;text-shadow:0 0 .02em #fff8ebb3,0 0 .12em #fff0dc59,0 0 .5em #ffebd21f;width:fit-content;font-size:clamp(2.75rem,min(6vw,9svh),5rem);font-weight:700;line-height:.9}.name .dr{text-shadow:none;margin:0 0 .6rem .1em;display:block}.doing{color:#ffdcbc;text-shadow:0 0 .05em #ffbe82,0 0 .22em #ff7a2f,0 0 .6em #ff7a2f99,0 0 1.4em #ff641e59;min-height:1.3em;margin:.9em 0 0 .12em;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:500;line-height:1.3}.doing .word{transition:opacity .3s}.doing .word.hidden{opacity:0}.projects,.facts,.site-footer{padding:0 var(--gutter)}.projects{padding-top:clamp(1.5rem,5.5svh,4rem)}.projects>.label{margin-bottom:1.25rem}.plates{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:clamp(1.5rem,3vw,2.5rem);list-style:none;display:grid}.facts{gap:.5rem;padding-top:clamp(1.5rem,5.5svh,4rem);display:grid}.facts ul{flex-wrap:wrap;gap:.6rem 0;max-width:60rem;list-style:none;display:flex}.facts li{color:var(--bone)}.facts ul.label{font-size:clamp(.75rem,1.15vw,1.05rem)}.facts .narrow{display:none}.facts li:not(:last-child):after{content:"·";color:var(--graphite);margin:0 .9em}.site-footer{padding-top:.5rem;padding-bottom:max(16px,3svh)}.row{flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;display:flex}.row>span{min-width:13rem;color:var(--graphite)}.ask{align-items:center;column-gap:0}.ask>span{margin-right:.65rem}.ask .icon{justify-content:center;width:2.25rem}.ask svg{fill:currentColor;width:1.1rem;height:1.1rem}.row a{align-items:center;min-height:44px;display:inline-flex}@media (pointer:fine){.row a{min-height:2rem}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(1rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait,.words{animation:none}.doing .word{transition:none}}@media (width<=720px){.hero{height:auto;padding:1.5rem var(--gutter) 0}.portrait,.doing{display:none}.words{position:static}.row>span{min-width:0}.ask .wide,.facts .wide{display:none}.facts .narrow{display:inline}}.raindrop-mark[data-astro-cid-yjd5gxwt]{letter-spacing:-.035em;color:var(--ember);text-shadow:0 0 .02em #7cbaffe6,0 0 .1em #007affe6,0 0 .3em #007aff8c,0 0 .8em #007aff4d;font-weight:700;line-height:.9;display:inline-block}.said[data-astro-cid-yjd5gxwt]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i[data-astro-cid-yjd5gxwt]{position:relative}.i[data-astro-cid-yjd5gxwt] svg[data-astro-cid-yjd5gxwt]{fill:currentColor;filter:drop-shadow(0 0 .02em #7cbaffe6)drop-shadow(0 0 .1em #007affe6)drop-shadow(0 0 .3em #007aff8c);width:.14em;height:.184em;position:absolute;top:.091em;left:.0635em;overflow:visible}.plate[data-astro-cid-b3zjniq2]{display:block}.still[data-astro-cid-b3zjniq2]{aspect-ratio:16/9;background:#eee9df06;border:1px solid #eee9df24;border-radius:6px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.still[data-astro-cid-b3zjniq2] img[data-astro-cid-b3zjniq2]{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block}.mark[data-astro-cid-b3zjniq2]{font-size:clamp(2.5rem,6vw,4rem);position:absolute;bottom:10%;left:6%}.label[data-astro-cid-b3zjniq2]{margin-top:1.1rem}.soon-tag[data-astro-cid-b3zjniq2]{border:1px solid;border-radius:3px;margin-left:.9em;padding:.15em .45em}.title[data-astro-cid-b3zjniq2]{letter-spacing:-.015em;text-wrap:balance;color:var(--bone);margin-top:.4rem;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.15;transition:color .3s,text-shadow .3s}.line[data-astro-cid-b3zjniq2]{max-width:34em;color:var(--ash);margin-top:.4rem}a[data-astro-cid-b3zjniq2].plate:hover .still[data-astro-cid-b3zjniq2],a[data-astro-cid-b3zjniq2].plate:focus-visible .still[data-astro-cid-b3zjniq2]{border-color:#007aff99;box-shadow:0 0 0 1px #007aff40,0 0 2rem #007aff2e}a[data-astro-cid-b3zjniq2].plate:hover .still[data-astro-cid-b3zjniq2] img[data-astro-cid-b3zjniq2],a[data-astro-cid-b3zjniq2].plate:focus-visible .still[data-astro-cid-b3zjniq2] img[data-astro-cid-b3zjniq2]{transform:scale(1.025)}a[data-astro-cid-b3zjniq2].plate:hover .title[data-astro-cid-b3zjniq2],a[data-astro-cid-b3zjniq2].plate:focus-visible .title[data-astro-cid-b3zjniq2]{color:var(--ember);text-shadow:0 0 .3em #007aff8c}a[data-astro-cid-b3zjniq2].plate:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){.still[data-astro-cid-b3zjniq2] img[data-astro-cid-b3zjniq2]{transition:none}}
