:root{--paper:#f5f5f5;--card:#eaeaea;--raised:#dedede;--line:#dcdcdc;--ink:#111;--soft:#555;--mute:#636363;--dot:#555;--dim:#c8c8c8;--gut:max(20px, 5vw);--ease:cubic-bezier(.2, .8, .2, 1);--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}html.locked{overflow:hidden}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}::selection{background:var(--ink);color:#fff}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}h1,h2,h3{text-wrap:balance}.sprite{flex:none;width:auto;height:150px;display:block}.hero{touch-action:pan-y;min-height:100svh;padding:clamp(84px, 16vh, 170px) var(--gut) clamp(270px, 38vh, 360px);position:relative;overflow:hidden}.code{z-index:1;pointer-events:none;position:absolute;inset:0}.copy{z-index:2;width:min(640px,100%);position:relative}.kicker{font:500 12px/1 var(--mono);letter-spacing:.02em;color:var(--ink);margin:0 0 18px}.hero h1{letter-spacing:-.055em;margin:0 0 22px;font-size:clamp(44px,6.6vw,94px);font-weight:500;line-height:.95}.bio{max-width:540px;color:var(--soft);margin:0 0 26px;font-size:16.5px}.bio b{color:var(--ink);font-weight:500}.bio em{color:var(--ink);font-style:normal}.cal{align-items:flex-end;gap:12px;margin:0 0 14px;display:flex}.typer{height:96px}.cal-grid{min-width:0;font-family:var(--mono);flex:1;grid-template-rows:repeat(7,11.8px);grid-auto-columns:minmax(8px,1fr);grid-auto-flow:column;justify-content:end;display:grid;overflow:hidden}.cal-grid b{color:var(--dot);justify-content:center;align-items:center;font-size:9.5px;font-weight:500;line-height:1;display:flex}.cal-grid b[data-l="0"]{color:var(--dim)}.cal-grid b[data-l="1"]{opacity:.45}.cal-grid b[data-l="2"]{opacity:.7}.cal-grid b[data-l="3"]{opacity:.9;font-weight:700}.cal-grid b[data-l="4"]{color:var(--ink);font-weight:700}.pulse{font:11.5px/1.7 var(--mono);color:var(--mute);margin:0}.pulse i{vertical-align:1px;background:var(--ink);width:6px;height:6px;animation:pulse 2.4s var(--ease) infinite;border-radius:50%;margin-right:8px;display:inline-block}@keyframes pulse{0%,to{box-shadow:0 0 #11111159}50%{box-shadow:0 0 0 5px #1110}}.work{max-width:1240px;padding:120px var(--gut) 40px;margin:0 auto}.sec-head{flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:170px;display:flex}.sec-title{margin:0;font-size:15px;font-weight:500}.sec-title span{font:500 11px var(--mono);color:var(--mute);margin-left:6px}.sec-head p{color:var(--mute);margin:0;font-size:14px}.cards{gap:170px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border-radius:32px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:8px 36px;width:min(100%,1060px);padding:14px;display:grid;position:relative}.card:nth-child(2n){margin-left:auto}.media{all:unset;aspect-ratio:1200/630;background:var(--raised);cursor:pointer;border-radius:20px;max-width:100%;display:block;position:relative;overflow:hidden}.media:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.cover{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease);display:block}.media:hover .cover{transform:scale(1.03)}.cover--art{color:#8a8a8a;background:#161616;position:relative;overflow:hidden}.cover__field{font:500 13px/15px var(--mono);letter-spacing:.22em;word-break:break-all;opacity:.6;position:absolute;inset:-4px;-webkit-mask-image:linear-gradient(#000 35%,#0000 80%);mask-image:linear-gradient(#000 35%,#0000 80%)}.cover__name{color:#fff;letter-spacing:-.04em;font-size:clamp(24px,3.4vw,42px);font-weight:500;line-height:1;position:absolute;bottom:18px;left:22px;right:22px}.peek{color:var(--ink);opacity:0;transition:opacity .3s, transform .3s var(--ease);background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:500;position:absolute;top:14px;left:14px;transform:translateY(6px)}.media:hover .peek,.media:focus-visible .peek{opacity:1;transform:none}.info{min-width:0;padding:18px 20px 18px 0}.meta{font:500 11px/1.4 var(--mono);color:var(--mute);flex-wrap:wrap;gap:4px 14px;margin:0 0 14px;display:flex}.meta span:first-child{color:var(--ink)}.card h3{letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(20px,2vw,25px);font-weight:500;line-height:1.15}.text{max-width:46ch;color:var(--soft);margin:0 0 16px;font-size:14px;line-height:1.6}.actions{flex-wrap:wrap;align-items:center;gap:10px 20px;font-size:13px;display:flex}.step{all:unset;color:var(--ink);cursor:pointer;font-weight:500}.step:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.actions a{color:var(--ink);opacity:.6;text-decoration:none;transition:opacity .2s}.actions a:hover{opacity:1}.perch{height:150px;position:absolute;bottom:100%;right:64px}.card:nth-child(2n) .perch{left:64px;right:auto}.viewer{background:#fff;border:0;border-radius:22px;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:14px;overflow:hidden;box-shadow:0 40px 120px -30px #00000059,0 0 0 1px #0000000f}.viewer[open]{flex-direction:column;display:flex}.viewer::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eaeaeab8}.vbar{border-bottom:1px solid var(--line);background:#fbfbfb;flex:none;align-items:center;gap:12px;height:48px;padding:0 10px 0 16px;font-size:13px;display:flex}.vbar b{white-space:nowrap;font-weight:500}.vbar .host{min-width:0;font:11px var(--mono);color:var(--mute);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.vbar a{color:var(--soft);white-space:nowrap;font-size:12px;text-decoration:none}.vbar button{all:unset;background:var(--raised);cursor:pointer;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:500}.vbar button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.vbody{flex:1;position:relative;overflow:auto}.vbody iframe{background:#fff;border:0;width:100%;height:100%;position:absolute;inset:0}.vempty{max-width:860px;margin:0 auto;padding:clamp(20px,5vh,56px) 20px}.vempty .cover{aspect-ratio:1200/630;border-radius:20px;height:auto}.vempty p{max-width:56ch;color:var(--soft);margin:22px 0 0}.about{max-width:1060px;padding:150px var(--gut) 40px;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:44px;margin:0 auto;display:grid}.about .sec-title{margin-bottom:18px}.about p{letter-spacing:-.012em;max-width:44ch;color:var(--soft);margin:0 0 22px;font-size:clamp(18px,1.9vw,22px);line-height:1.5}.link{color:var(--ink);font-size:14px;font-weight:500;text-decoration:none}.hi{max-width:1060px;padding:150px var(--gut) 40px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:44px;margin:0 auto;display:grid}.hi>.sprite{margin-top:10px}.hi h2{letter-spacing:-.05em;margin:0 0 16px;font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1}.lede{max-width:52ch;color:var(--soft);margin:0 0 30px;font-size:16px}.hi form{gap:18px;max-width:620px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{all:unset;background:var(--card);cursor:pointer;border-radius:999px;padding:10px 15px;font-size:13px;transition:background .2s,color .2s}.chips button[aria-pressed=true]{background:var(--ink);color:#fff}.chips button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field{gap:8px;display:grid}.field span{font:11px var(--mono);color:var(--mute)}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:15px/1.5 var(--sans);resize:vertical;background:#fff;border-radius:16px;outline:none;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px #00000014}.pair{grid-template-columns:1fr 1fr;gap:18px;display:grid}.send{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.send button{all:unset;background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:500}.send button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.send span{font:11px var(--mono);color:var(--mute)}.alt{color:var(--mute);margin:0;font-size:13px}.alt a{color:var(--ink)}.foot{padding:150px var(--gut);text-align:center;justify-items:center;gap:6px;display:grid}.foot .sprite{margin-bottom:14px}.foot p{margin:0}.foot .fine{font:11px var(--mono);color:var(--mute)}.foot .fine a{color:inherit}.nav,.mailbtn{z-index:40;bottom:max(16px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f5f5c7;border-radius:999px;align-items:center;display:flex;position:fixed;box-shadow:0 0 0 1px #0000000f}.nav{left:max(16px, env(safe-area-inset-left,0px));gap:16px;padding:8px 18px 8px 12px;font-size:13px}.nav a{color:var(--mute);text-decoration:none;transition:color .2s}.nav a:hover,.nav a.on{color:var(--ink)}.nav__home{display:flex}.mailbtn{right:max(16px, env(safe-area-inset-right,0px));color:var(--ink);padding:10px 12px}@media (width<=820px){.hero{padding-top:76px}.hero h1{font-size:44px}.bio{font-size:15.5px}.work{padding-top:90px}.sec-head{margin-bottom:120px}.cards{gap:130px}.card{border-radius:26px;grid-template-columns:minmax(0,1fr);padding:10px}.card:nth-child(2n){margin-left:0}.info{padding:12px 8px 10px}.sprite,.perch{height:98px}.typer{height:72px}.perch{right:28px}.card:nth-child(2n) .perch{left:28px}.about,.hi{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:110px}.pair{grid-template-columns:minmax(0,1fr)}.viewer{border-radius:0;inset:0}.vbar .host{display:none}.vbar a{text-align:right;flex:1}.vbar b{text-overflow:ellipsis;overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pulse i{animation:none}.cover,.peek{transition:none}}
