@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Space+Mono:wght@400;700&display=swap";
:root{--paper:#181818;--ink:#f3f0e8;--muted:#aaa79f;--line:#484848;--accent:#ddec59;--surface:#222;--surface-alt:#292929;--accent-text:#ddec59;--heading-muted:#aaa79f;--button-bg:#ddec59;--button-ink:#202222;--button-hover:#e7f578;--focus:#bcaaff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mono:"Space Mono", monospace;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:6px}::selection{background:var(--accent);color:#202222}.wrap{width:min(1200px,100% - 104px);margin:auto}.mono,.eyebrow{font-family:var(--mono);letter-spacing:.03em;font-size:12px}.eyebrow{text-transform:uppercase}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;max-width:1440px;margin:auto;padding:23px 52px;display:flex}.wordmark{font-family:var(--mono);font-size:38px;font-weight:700;line-height:1}.wordmark span{color:var(--accent-text)}.header nav{gap:30px;margin-left:auto;display:flex}.header nav a{font-size:14px}.header nav a:hover,.footer a:hover{color:var(--accent-text)}.header-end{align-items:center;gap:28px;display:flex}.languages{font-family:var(--mono);gap:7px;font-size:12px;display:flex}.languages a{padding:4px 3px}.languages a[aria-current=page]{border-bottom:2px solid var(--ink);font-weight:700}.contact{border:1px solid var(--ink);padding:9px 18px;font-size:14px}.contact:hover{background:var(--accent);color:#202222}.hero{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:65px;min-width:0;padding-top:88px;padding-bottom:85px;display:grid}.plus{color:var(--accent-text);margin-right:6px;font-size:22px}.hello{margin:38px 0 13px;font-size:18px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;margin-bottom:25px;font-size:clamp(50px,5.5vw,78px);font-weight:650;line-height:1.08}h1>span{color:var(--heading-muted)}.intro{max-width:525px;color:var(--muted);margin-bottom:30px;font-size:18px;line-height:1.7}.button{background:var(--button-bg);color:var(--button-ink);border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:38px;padding:15px 22px;font-size:14px;font-weight:500;transition:transform .2s,background .2s;display:inline-flex}.button span{font-family:var(--mono);color:inherit;font-size:12px}.button:hover{background:var(--button-hover);transform:translateY(-2px)}.portrait-block{border:1px solid var(--ink);background:var(--accent);box-shadow:7px 7px 0 var(--ink);padding:15px;transform:rotate(3deg)}.portrait-top{justify-content:space-between;margin-bottom:12px;font-size:11px;display:flex}.portrait{border:1px solid var(--ink);aspect-ratio:3/4;background:#fff;overflow:hidden}.portrait img{object-fit:cover;object-position:center;width:100%;height:100%}.portrait-caption{justify-content:space-between;align-items:center;padding-top:12px;display:flex}.portrait-caption strong{font-size:18px}.portrait-caption span{font-size:11px}.portrait-note{font-family:var(--mono);text-align:center;letter-spacing:.035em;margin:13px -7px 0;font-size:9px}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:17px 0}.ticker .wrap{font-family:var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:20px;font-size:12px;display:flex}.ticker b{font-size:22px;font-weight:400;line-height:1}.section{padding-top:90px;padding-bottom:90px}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px;display:flex}.section-heading .eyebrow,.experience .eyebrow{color:var(--muted);margin-bottom:13px}h2{letter-spacing:-.045em;margin-bottom:0;font-size:46px;font-weight:550;line-height:1.15}.accent{color:var(--accent-text)}.section-heading>p{max-width:320px;color:var(--muted);margin-bottom:3px;font-size:16px}.project-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);transition:transform .2s,border-color .2s}.project-card:hover{border-color:var(--ink);transform:translateY(-6px)}.project-art{flex-direction:column;justify-content:space-between;height:225px;padding:20px;display:flex;overflow:hidden}.project-art strong{letter-spacing:-.055em;align-self:center;font-size:clamp(30px,3vw,45px);font-weight:750}.brand-dot{color:var(--project-accent)}.project-art .mono{font-size:10px}.project-art>.mono:last-child{text-align:right}.project-body{padding:25px}.project-body .eyebrow{color:var(--muted);margin-bottom:11px;font-size:10px}.project-body h3{letter-spacing:-.025em;min-height:60px;margin-bottom:15px;font-size:23px;font-weight:600;line-height:1.3}.project-body p:not(.eyebrow){color:var(--muted);min-height:74px;font-size:15px;line-height:1.65}.project-link{border-top:1px solid var(--line);justify-content:space-between;padding-top:19px;font-size:13px;font-weight:600;display:flex}.project-link span{font-size:19px;line-height:1}.experience{background:var(--surface-alt);border-block:1px solid var(--line)}.experience-grid{grid-template-columns:1fr 1.5fr;gap:95px;display:grid}.section-lead{color:var(--muted);margin-top:22px}.text-link{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:14px;display:inline-block}.text-link span{font-family:var(--mono);margin-left:15px}.career-row{border-bottom:1px solid var(--line);padding:25px 0}.career-row:first-child{padding-top:0}.career-row:last-child{border:0;padding-bottom:0}.career-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.career-top h3{letter-spacing:-.025em;margin-bottom:6px;font-size:24px;font-weight:600}.career-top span{color:var(--muted);white-space:nowrap}.career-row h4{margin:0 0 12px;font-size:15px;font-weight:500}.career-row p{color:var(--muted);max-width:520px;margin-bottom:0;font-size:15px}.off-grid{grid-template-columns:1.25fr 1fr;gap:25px;display:grid}.music-card{color:#fff;background:#202222;flex-direction:column;justify-content:space-between;min-height:365px;padding:30px;display:flex}.music-card>.mono{color:var(--accent)}.music-symbol{float:right;color:var(--accent);margin:0 0 0 20px;font-family:Georgia,serif;font-size:80px;line-height:1;display:block}.music-card h3,.hobby-stack h3{letter-spacing:-.035em;margin:20px 0 12px;font-size:27px;font-weight:500}.music-card p{color:#c2c6bd;max-width:410px;font-size:16px}.music-card .music-empty{border-top:1px solid #55584f;max-width:none;margin:24px 0 0;padding-top:15px;font-size:12px}.hobby-stack{grid-template-rows:1fr 1fr;display:grid}.hobby-stack article{border:1px solid var(--line);padding:22px 28px}.hobby-stack article+article{border-top:0}.hobby-stack h3{margin:12px 0 8px;font-size:23px}.hobby-stack p{color:var(--muted);margin:0;font-size:15px}.hobby-stack .mono{color:var(--muted)}.notebook{padding-top:0}.notebook-empty{border-block:1px solid var(--line);align-items:center;gap:25px;padding:33px 0;display:flex}.notebook-empty p{margin:0;font-size:17px}.notebook-empty>.mono:last-child{color:var(--muted);margin-left:auto;font-size:10px}.post-list>a{border-top:1px solid var(--line);align-items:center;gap:32px;padding:25px 0;display:flex}.post-list h3{margin:0;font-size:25px}.post-list p{color:var(--muted);margin:8px 0 0}.post-list>a>span:last-child{margin-left:auto}.closing{background:var(--accent);border-block:1px solid var(--ink);padding:68px 0}.closing-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:80px;display:grid}.closing h2{letter-spacing:-.055em;font-size:66px}.closing p{max-width:365px;margin-bottom:25px;font-size:18px}.footer{justify-content:space-between;align-items:center;gap:25px;padding-top:32px;padding-bottom:32px;display:flex}.footer p{color:var(--muted);margin:0;font-size:12px}.footer>div{gap:25px;font-size:13px;display:flex}.skip{background:var(--accent);z-index:60;padding:12px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}.detail{padding-top:55px;padding-bottom:90px}.detail>.eyebrow{color:var(--muted);margin-top:60px}.detail h1{max-width:1000px;font-size:clamp(44px,6vw,76px)}.detail-intro{max-width:700px;color:var(--muted);font-size:22px}.project-banner{justify-content:space-between;align-items:center;gap:30px;margin:45px 0;padding:55px 40px;display:flex}.project-banner strong{letter-spacing:-.05em;font-size:64px}.project-banner strong>span{color:var(--project-accent)}.project-banner>div{flex-wrap:wrap;gap:10px;display:flex}.tag{font-family:var(--mono);border:1px solid;padding:7px 12px;font-size:12px}.story{max-width:850px;margin:60px auto}.story section{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:40px;padding:28px 0;display:grid}.story section>p:last-child{font-size:19px}.article{max-width:870px}.prose{padding-top:30px;font-size:19px;line-height:1.8}.prose h2{margin:35px 0 20px;font-size:32px}.prose a{text-decoration:underline}.prose pre{background:var(--surface-alt);padding:20px;overflow:auto}.prose img{max-width:100%}audio{width:100%;margin-top:12px}@media (min-width:1500px){.hero{padding-top:110px;padding-bottom:110px}}@media (max-width:1050px){.wrap{width:calc(100% - 64px)}.header{padding:23px 32px}.header nav{gap:18px}.header-end{gap:17px}.hero{grid-template-columns:minmax(0,1fr) 250px;gap:35px}.hero h1{font-size:60px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-body{padding:20px}.project-body h3{font-size:21px}.experience-grid{gap:50px}.portrait-caption strong{font-size:16px}.portrait-note{font-size:8px}.notebook-empty>.mono:last-child{display:none}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.header{flex-wrap:wrap;gap:20px;padding:20px}.header nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:10px;width:100%;padding-top:15px}.header-end{margin-left:auto}.header nav a{font-size:13px}.hero{grid-template-columns:1fr;gap:45px;padding-top:45px;padding-bottom:50px}.hero h1{letter-spacing:-.055em;font-size:clamp(44px,9.5vw,70px)}.hello{margin-top:23px;font-size:16px}.hero .eyebrow{font-size:10px}.intro{font-size:17px}.portrait-block{justify-self:center;width:245px}.portrait-note{font-size:8px}.ticker .wrap{flex-wrap:wrap;justify-content:center;gap:14px;font-size:10px}.ticker span:last-child,.ticker b:last-of-type{display:none}.section{padding-top:58px;padding-bottom:58px}.section-heading{margin-bottom:27px;display:block}.section-heading>p{max-width:100%;margin-top:18px}h2{font-size:37px}.project-grid{grid-template-columns:1fr;gap:25px}.project-art{height:230px}.project-art strong{font-size:47px}.project-body h3{min-height:0;font-size:25px}.project-body p:not(.eyebrow){min-height:0;font-size:16px}.project-body{padding:25px}.project-body .eyebrow{font-size:12px}.experience-grid{grid-template-columns:1fr;gap:37px}.career-top h3{font-size:22px}.career-top{gap:10px}.career-top .mono{font-size:11px}.off-grid{grid-template-columns:1fr}.music-card{min-height:360px;padding:25px}.notebook{padding-top:0}.notebook-empty{gap:18px}.notebook-empty p{font-size:16px}.closing{padding:45px 0}.closing-grid{grid-template-columns:1fr;gap:27px}.closing h2{font-size:53px}.footer{flex-wrap:wrap}.footer p{order:3;width:100%;font-size:12px}.detail{padding-top:35px}.detail>.eyebrow{margin-top:40px}.detail-intro{font-size:19px}.project-banner{padding:30px 23px;display:block}.project-banner strong{font-size:46px}.project-banner>div{margin-top:22px}.story section{grid-template-columns:1fr;gap:5px;padding:20px 0}.story section>p:last-child{font-size:18px}.detail h1{font-size:43px}.post-list>a{flex-wrap:wrap;gap:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.portrait-top,.portrait-caption span,.portrait-note,.project-art .mono,.project-body .eyebrow,.notebook-empty>.mono:last-child,.hero .eyebrow,.ticker .wrap,.career-top .mono{font-size:12px}.portrait-note{line-height:1.7}.header nav a,.languages,.project-link,.footer>div,.contact{font-size:14px}html{scroll-padding-top:calc(var(--header-height,100px) + 16px)}.sticky-header{z-index:50;background:var(--paper);transition:transform .22s;position:sticky;top:0;transform:translateY(0)}.sticky-header-hidden{transform:translateY(-100%)}.sticky-header:focus-within{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.sticky-header{transition:none}}:root[data-theme=light]{--paper:#fafaf8;--ink:#202222;--muted:#656963;--line:#d7d9d2;--surface:#fff;--surface-alt:#f0f1ec;--accent-text:#657309;--heading-muted:#6f746d;--button-bg:#202222;--button-ink:#fff;--button-hover:#3d4238;--focus:#6b51d4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.skip{color:#202222}.portrait-block{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:7px 7px #101010}.portrait-top{color:var(--muted)}.portrait-top>span:last-child{color:var(--accent-text)}.portrait-caption{border-top:2px solid var(--accent);margin-top:12px}.project-art,.project-banner{color:var(--ink);background:var(--surface-alt);border-bottom:1px solid var(--line);--project-accent:#adcab7}.pink{--project-accent:#cfb9d2}.yellow{--project-accent:var(--accent)}.project-art>.mono:first-child,.brand-dot,.project-banner strong>span{color:var(--project-accent)}.closing{color:var(--ink);background:var(--surface);border-color:var(--line)}.closing p{color:var(--muted)}.closing .button{border-color:var(--accent)}:root[data-theme=light] .portrait-block,:root[data-theme=light] .closing{color:#202222;background:var(--accent);border-color:#202222}:root[data-theme=light] .portrait-block{box-shadow:7px 7px #202222}:root[data-theme=light] .portrait-top,:root[data-theme=light] .closing p,:root[data-theme=light] .portrait-top>span:last-child{color:#202222}:root[data-theme=light] .portrait-caption{border-top:0;margin-top:0}:root[data-theme=light] .project-art,:root[data-theme=light] .project-banner{color:#202222;--project-accent:#677149;border-bottom:0}:root[data-theme=light] .green{background:#d9e8df}:root[data-theme=light] .pink{background:#eee0ed}:root[data-theme=light] .yellow{background:#e9efb7}:root[data-theme=light] .project-art>.mono:first-child{color:inherit}:root[data-theme=light] .closing .button{border-color:#202222}:root[data-theme=light] .closing .button span{color:var(--accent)}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:10px;display:inline-flex}.theme-toggle:hover{border-color:var(--ink)}.theme-toggle svg{width:22px;height:22px}.theme-moon,:root[data-theme=light] .theme-sun{display:none}:root[data-theme=light] .theme-moon{display:block}.header-end{gap:18px}.languages a{justify-content:center;align-items:center;min-width:32px;min-height:44px;display:inline-flex}@media (max-width:760px){.header,.header-end{gap:12px}.header nav{flex-wrap:wrap;padding-top:8px}.header nav a,.contact{align-items:center;min-height:44px;display:inline-flex}}@media (max-width:380px){.header{gap:10px;padding:16px 12px}.header-end{gap:6px}.header .contact{display:none}.languages{gap:3px}.wrap{width:calc(100% - 32px)}.hero h1{font-size:clamp(36px,10.5vw,40px)}.portrait-block{width:min(245px,100% - 20px)}.career-top{flex-wrap:wrap}.project-art strong,.project-banner strong{overflow-wrap:anywhere;font-size:40px}.detail h1{overflow-wrap:anywhere;font-size:38px}.closing h2{font-size:46px}.footer>div{flex-wrap:wrap;gap:16px}}:root[data-theme=light] .closing a:focus-visible,.skip:focus-visible{outline-color:#202222}
