*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Fraunces;src:url(./fraunces-latin-normal.DihXLNYH.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(./fraunces-latin-italic.lSdLDfvT.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Space Mono;src:url(./space-mono-latin-400-normal.Rg4St2Dn.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(./space-mono-latin-400-italic.YylcN9Ay.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Space Mono;src:url(./space-mono-latin-700-normal.mWgeinG7.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--ink: #111010;--paper: #ffffff;--grey: #6b6b6b;--line: #e0e0e0;--text-muted: #333333;--text-body: #43403a;--success: #2a7d4f;--error: #b00020;--grey-900: #111010;--grey-700: #333333;--grey-500: #6b6b6b;--grey-300: #e0e0e0;--grey-100: #f5f5f5;--menu-overlay-bg: #111010;--menu-overlay-text: #ffffff}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink: #f3f1ec;--paper: #000000;--grey: #9c9890;--line: #2c2b2a;--text-muted: #c4c0b8;--text-body: #c4c0b8;--success: #6fcf97;--grey-900: #f3f1ec;--grey-700: #c4c0b8;--grey-500: #9c9890;--grey-300: #2c2b2a;--grey-100: #111010;--menu-overlay-bg: #000000;--menu-overlay-text: #f3f1ec}}:root{--font-serif: "Fraunces", Georgia, serif;--font-mono: "Space Mono", monospace;--main-font: var(--font-serif);--font-weight-medium: 500;--line-height-tight: 1.2;--form-mobile-input-size: 16px}:root{--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-full: 999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--ease-out: cubic-bezier(.16, 1, .3, 1)}.site-shell{--edge: 24px}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{font-family:var(--main-font);color:var(--ink);background-color:var(--paper);line-height:1.5}body{overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.h1,.main-title{font-size:clamp(24px,5vw,48px);font-weight:700;line-height:var(--line-height-tight)}.h2,.large-title{font-size:clamp(20px,4.5vw,36px);font-weight:600;line-height:1.3}.h3,.sub-title{font-size:clamp(16px,3vw,25px);font-weight:600;line-height:1.4}.h4,.large-copy{font-size:clamp(14px,2.5vw,18px);font-weight:300;line-height:1.5}.h5,.body-copy{font-size:clamp(14px,2vw,16px);font-weight:300;line-height:1.6}.h6,.micro-copy{font-family:var(--font-mono);font-size:clamp(11px,1.5vw,12px);font-weight:400;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}a{font-family:inherit;color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer}input,textarea,select{font-family:inherit;font-size:var(--form-mobile-input-size)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@keyframes menu-link-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px var(--edge);color:var(--ink);background:var(--paper)}.topbar .nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar .nav-toggle:checked~.menu{display:flex;position:fixed;inset:0;background:var(--menu-overlay-bg);color:var(--menu-overlay-text);flex-direction:column;justify-content:center;align-items:center;gap:34px;font-size:22px;z-index:150}.topbar .nav-toggle:checked~.menu a{font-family:var(--font-serif);font-weight:500;text-transform:none;letter-spacing:-.02em;opacity:0;animation:menu-link-in .45s var(--ease-out) forwards}.topbar .nav-toggle:checked~.menu a:nth-child(1){animation-delay:.08s}.topbar .nav-toggle:checked~.menu a:nth-child(2){animation-delay:.18s}.topbar .nav-toggle:checked~.menu a:nth-child(3){animation-delay:.28s}.topbar .nav-toggle:checked+.burger{color:var(--menu-overlay-text)}.topbar .burger{display:grid;place-items:center;position:relative;z-index:160;width:44px;height:44px;padding:0;background:none;border:none;color:inherit;cursor:pointer;line-height:1}.topbar .burger .nav-icon{--nav-icon-w: 24px;--nav-icon-h: 18px;--nav-icon-bar: 2px;width:var(--nav-icon-w);height:var(--nav-icon-h);position:relative;display:block;transform:rotate(0);transition:transform .5s ease-in-out}.topbar .burger .nav-icon span{display:block;position:absolute;left:0;width:100%;height:var(--nav-icon-bar);background:currentColor;border-radius:var(--nav-icon-bar);opacity:1;transform:rotate(0);transition:top .25s ease-in-out,left .25s ease-in-out,opacity .25s ease-in-out,transform .25s ease-in-out}.topbar .burger .nav-icon span:nth-child(1){top:0}.topbar .burger .nav-icon span:nth-child(2){top:calc((var(--nav-icon-h) - var(--nav-icon-bar)) / 2)}.topbar .burger .nav-icon span:nth-child(3){top:calc(var(--nav-icon-h) - var(--nav-icon-bar))}.topbar .nav-toggle:checked+.burger .nav-icon span:nth-child(1){top:calc((var(--nav-icon-h) - var(--nav-icon-bar)) / 2);transform:rotate(135deg)}.topbar .nav-toggle:checked+.burger .nav-icon span:nth-child(2){opacity:0;left:calc(var(--nav-icon-w) * -1)}.topbar .nav-toggle:checked+.burger .nav-icon span:nth-child(3){top:calc((var(--nav-icon-h) - var(--nav-icon-bar)) / 2);transform:rotate(-135deg)}.topbar .menu{display:none}.topbar .menu a{position:relative;font-family:var(--font-mono);font-weight:700}.topbar .menu a:after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;background:currentColor;transition:width var(--transition-slow)}.topbar .menu a:hover:after{width:100%}.brand{font-weight:600;font-size:18px;letter-spacing:-.02em;position:relative;z-index:160}.brand sup{font-size:9px;font-family:var(--font-mono);vertical-align:super;margin-left:1px}@keyframes btn-fill{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes btn-unfill{0%{transform:translateY(0)}to{transform:translateY(101%)}}.btn{position:relative;display:inline-flex;align-items:center;gap:16px;overflow:hidden;isolation:isolate;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:transparent;border:1.5px solid var(--ink);border-radius:var(--radius-full);padding:20px 40px;cursor:pointer;transition:color .4s ease}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%)}.btn:hover{color:var(--paper)}.btn:hover:before{animation:btn-fill .45s var(--ease-out) forwards}.btn:not(:hover):before{animation:btn-unfill .45s var(--ease-out) forwards}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.btn:active{transform:translateY(1px)}.btn .btn-arrow{display:inline-flex;align-items:center;line-height:0}.btn .btn-arrow svg{display:block;transition:transform .45s var(--ease-out)}.btn:hover .btn-arrow svg{transform:translate(6px)}.send{margin-top:28px;justify-self:start}.send:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}@media(min-width:42rem)and (max-width:63.99rem){.site-shell{--edge: 48px}.topbar{padding:24px var(--edge);mix-blend-mode:difference;color:#fff;background:transparent}.topbar .menu,.topbar .nav-toggle:checked~.menu{display:flex;position:static;inset:auto;background:transparent;color:inherit;flex-direction:row;justify-content:flex-start;align-items:center;gap:30px;font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;z-index:auto}.topbar .nav-toggle:checked~.menu a{font-family:var(--font-mono);font-weight:700;text-transform:uppercase;letter-spacing:.12em;opacity:1;animation:none}.topbar .burger{display:none}}@media(min-width:64rem){.site-shell{--edge: 64px}.topbar{padding:24px var(--edge);mix-blend-mode:difference;color:#fff;background:transparent}.topbar .menu,.topbar .nav-toggle:checked~.menu{display:flex;position:static;inset:auto;background:transparent;color:inherit;flex-direction:row;justify-content:flex-start;align-items:center;gap:30px;font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;z-index:auto}.topbar .nav-toggle:checked~.menu a{font-family:var(--font-mono);font-weight:700;text-transform:uppercase;letter-spacing:.12em;opacity:1;animation:none}.topbar .burger{display:none}}@media(prefers-color-scheme:dark)and (min-width:42rem){.topbar{mix-blend-mode:normal;color:var(--ink)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hero{position:relative;min-height:100vh;min-height:100svh;padding:80px var(--edge) 0;padding-bottom:24px}.masthead{position:relative;z-index:2;pointer-events:none;padding-top:30px;font-weight:300;line-height:.82;letter-spacing:-.04em;font-size:clamp(56px,18vw,120px);font-optical-sizing:auto}.masthead .line{display:block;overflow:hidden}.masthead .line span{display:block;transform:translateY(110%);animation:rise 1s var(--ease-out) forwards}.masthead .line:nth-child(2) span{animation-delay:.12s;font-style:italic;font-weight:400}@keyframes rise{to{transform:translateY(0)}}.portrait{position:relative;z-index:0;width:100%;max-width:400px;margin:32px auto 0;overflow:hidden;clip-path:inset(0 0 100% 0);animation:unveil 1.1s var(--ease-out) .35s forwards;background:transparent;border:none;aspect-ratio:4 / 5;cursor:pointer}.portrait img,.portrait video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;pointer-events:none}.portrait video{display:none}.portrait.is-playing{clip-path:inset(0 0 0 0);animation:none;background:var(--paper);cursor:default}.portrait.is-playing img{display:none}.portrait.is-playing video{display:block}@keyframes unveil{to{clip-path:inset(0 0 0 0)}}@supports not (aspect-ratio: 4 / 5){.portrait{height:min(500px,125vw)}}@media(prefers-color-scheme:dark){.portrait{background:#000}}.lede{position:relative;z-index:3;margin-top:30px;opacity:0;animation:fade 1s ease .7s forwards}.lede .role{font-size:clamp(22px,2.6vw,34px);font-weight:400;line-height:1.2;letter-spacing:-.02em;font-optical-sizing:auto}.lede .role em{font-style:italic;font-weight:500}.lede .socials{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.socials a{border-bottom:1px solid transparent;transition:border-color .25s}.socials a:hover{border-color:var(--ink)}.socials .dot{color:var(--grey)}@keyframes fade{to{opacity:1}}.meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:72px;padding-bottom:48px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);opacity:0;animation:fade 1s ease .9s forwards}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden;white-space:nowrap;padding:14px 0}.ticker .track{display:inline-block;animation:scroll var(--ticker-duration, 55s) linear infinite;list-style:none;margin:0;padding:0}.ticker .track li{display:inline}.ticker:hover .track{animation-play-state:paused}.ticker span{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:0 18px}.ticker .star{font-family:var(--font-serif)}@keyframes scroll{to{transform:translate(-50%)}}.sec{padding:80px var(--edge)}.label{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);display:flex;align-items:center;gap:14px;margin-bottom:40px}.label:before{content:"";width:32px;height:1px;background:var(--grey)}.proj{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:14px;padding:24px 0;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;color:inherit;transition:opacity .4s ease,padding-left .5s var(--ease-out)}.proj:last-child{border-bottom:1px solid var(--line)}.proj:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--ink);transition:width .5s var(--ease-out)}.proj:hover:after{width:100%}.proj .num{font-family:var(--font-mono);font-size:12px;color:var(--grey);transition:color .4s ease}.proj:hover .num{color:var(--ink)}.proj .name{font-size:clamp(28px,4vw,52px);font-weight:400;letter-spacing:-.025em;line-height:1;margin:0;font-optical-sizing:auto;transition:transform .5s var(--ease-out)}.proj .name em{font-style:italic;font-weight:300}.proj:hover .name{transform:translate(6px)}.proj .tags{display:none;margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);text-align:right;opacity:0;transform:translate(-10px);transition:.45s var(--ease-out)}.proj:hover .tags{opacity:1;transform:translate(0)}.proj .arrow{display:inline-block;opacity:0;transform:translate(-8px);transition:.3s}.proj:hover .arrow{opacity:1;transform:translate(0)}.work-pages{position:relative;border-top:1px solid var(--line)}.work-page{position:relative;animation:work-page-in .55s var(--ease-out) both}@supports selector(:has(*)){.work-page:has(.proj:hover) .proj:not(:hover){opacity:.32}.work-page:has(.proj:hover) .proj:hover{opacity:1;padding-left:30px}@media(max-width:41.99rem){.work-page:has(.proj:hover) .proj:hover{padding-left:10px}}}@keyframes work-page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.work-nav{margin-top:0}.more{margin-top:60px}.work-page-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.work-pages .work-page{display:none}.work-nav label{display:none;cursor:pointer}.work-nav label.btn{border:1.5px solid var(--ink)}.work #work-page-0:checked~.work-pages>.work-page:nth-child(1),.work #work-page-1:checked~.work-pages>.work-page:nth-child(2),.work #work-page-2:checked~.work-pages>.work-page:nth-child(3),.work #work-page-3:checked~.work-pages>.work-page:nth-child(4),.work #work-page-4:checked~.work-pages>.work-page:nth-child(5),.work #work-page-5:checked~.work-pages>.work-page:nth-child(6),.work #work-page-6:checked~.work-pages>.work-page:nth-child(7),.work #work-page-7:checked~.work-pages>.work-page:nth-child(8),.work #work-page-8:checked~.work-pages>.work-page:nth-child(9),.work #work-page-9:checked~.work-pages>.work-page:nth-child(10){display:block}.work #work-page-0:checked~.more .work-nav label:nth-child(1),.work #work-page-1:checked~.more .work-nav label:nth-child(2),.work #work-page-2:checked~.more .work-nav label:nth-child(3),.work #work-page-3:checked~.more .work-nav label:nth-child(4),.work #work-page-4:checked~.more .work-nav label:nth-child(5),.work #work-page-5:checked~.more .work-nav label:nth-child(6),.work #work-page-6:checked~.more .work-nav label:nth-child(7),.work #work-page-7:checked~.more .work-nav label:nth-child(8),.work #work-page-8:checked~.more .work-nav label:nth-child(9),.work #work-page-9:checked~.more .work-nav label:nth-child(10){display:inline-flex}.about{display:grid;grid-template-columns:1fr;gap:40px}.about .big{font-family:var(--font-serif);font-size:clamp(26px,3vw,42px);font-weight:300;line-height:1.25;letter-spacing:-.02em;margin-bottom:28px;color:var(--ink);font-optical-sizing:auto}.about .big em{font-style:italic;font-weight:600;color:var(--ink)}.about p:not(.big){font-size:18px;line-height:1.8;color:var(--text-body);max-width:54ch}.facts{font-family:var(--font-mono);margin:0;display:grid;grid-template-columns:auto 1fr}.facts .k,.facts .v{padding:14px 0;border-top:1px solid var(--line);font-size:12px;margin:0}.facts .k{color:var(--grey);text-transform:uppercase;letter-spacing:.08em}.facts .v{text-align:right}.contact .big{font-size:clamp(34px,6vw,86px);font-weight:300;line-height:1;letter-spacing:-.03em;margin-bottom:40px;color:var(--ink);font-optical-sizing:auto}.contact .big em{font-style:italic;font-weight:600;color:var(--ink)}form{display:grid;gap:0;max-width:620px}.field{position:relative;display:block;border-top:1px solid var(--line);padding:16px 0}.field:last-of-type{border-bottom:1px solid var(--line)}.field:focus-within .field-label{color:var(--ink)}.field input,.field textarea{width:100%;border:none;background:none;font-family:var(--font-serif);font-size:19px;color:var(--ink)}:is(.field input,.field textarea):focus{outline:none}.field textarea{resize:vertical;min-height:54px}.field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);display:block;margin-bottom:8px}.note{margin-top:18px;font-family:var(--font-mono);font-size:12px;min-height:20px;color:var(--success)}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,0px));left:50%;z-index:300;padding:16px 28px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:var(--radius-full);box-shadow:0 12px 40px #1110102e;pointer-events:none;animation:toast-life 3.8s var(--ease-out) forwards}@keyframes toast-life{0%{opacity:0;transform:translate(-50%) translateY(24px)}12%{opacity:1;transform:translate(-50%) translateY(0)}78%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px);visibility:hidden}}footer{padding:32px var(--edge) 40px;border-top:1px solid var(--ink);display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}footer .footer-email{margin-left:auto;flex-shrink:0;display:inline-block;overflow:hidden;line-height:1.4;height:1.4em;vertical-align:top;text-align:right;transition:color .4s ease}footer .footer-email .footer-email-track{display:flex;flex-direction:column;align-items:flex-end;transition:transform .45s var(--ease-out)}footer .footer-email .footer-email-label,footer .footer-email .footer-email-address{display:block;white-space:nowrap}footer .footer-email:hover,footer .footer-email:focus-visible{color:var(--ink)}footer .footer-email:hover .footer-email-track,footer .footer-email:focus-visible .footer-email-track,footer .footer-email:active .footer-email-track{transform:translateY(-50%)}@media(min-width:42rem)and (max-width:63.99rem){.hero{padding:0 var(--edge);padding-bottom:48px;min-height:100vh}.masthead{padding-top:20vh;padding-left:48px;font-size:clamp(56px,16vw,200px)}.portrait{position:absolute;top:96px;right:var(--edge);width:calc(50% - var(--edge) - 16px);max-width:480px;height:min(72vh,680px);aspect-ratio:auto;margin:0;z-index:0}.portrait img,.portrait video{object-position:center 10%}.lede{margin-top:5vh;max-width:480px;padding-left:56px}.lede .socials{font-size:13px}.meta{position:absolute;top:20vh;left:calc(var(--edge) - 4px);margin-top:0;padding-bottom:0;flex-wrap:nowrap;gap:24px;z-index:3;transform:rotate(90deg) translate(36px);transform-origin:left top;letter-spacing:.22em;white-space:nowrap}.sec{padding:100px var(--edge)}.about{grid-template-columns:1.5fr 1fr;gap:60px}footer{padding:44px var(--edge);font-size:12px}}@media(min-width:64rem){.hero{padding:0 var(--edge);padding-bottom:48px;min-height:100vh}.masthead{padding-top:20vh;padding-left:56px;font-size:clamp(64px,20vw,290px)}.portrait{position:absolute;top:96px;right:var(--edge);width:calc(50% - var(--edge) - 24px);max-width:580px;height:min(78vh,780px);aspect-ratio:auto;margin:0;z-index:0}.portrait img,.portrait video{object-position:center 10%}.lede{margin-top:5vh;max-width:540px;padding-left:72px}.lede .socials{font-size:13px}.meta{position:absolute;top:20vh;left:calc(var(--edge) - 4px);margin-top:0;padding-bottom:0;flex-wrap:nowrap;gap:24px;z-index:3;transform:rotate(90deg) translate(36px);transform-origin:left top;letter-spacing:.22em;white-space:nowrap}.ticker span{font-size:14px;padding:0 22px}.sec{padding:120px var(--edge)}.label{font-size:12px;margin-bottom:50px}.label:before{width:46px}.proj{grid-template-columns:70px 1fr auto;gap:30px;padding:34px 0}.proj .num{font-size:13px}.proj .tags{display:block}.about{grid-template-columns:1.5fr 1fr;gap:80px}.about .big{margin-bottom:34px}.facts .k,.facts .v{font-size:13px}.contact .big{margin-bottom:50px}.field{padding:18px 0}.field input,.field textarea{font-size:21px}.send{margin-top:34px;font-size:13px;padding:18px 40px}.note{font-size:13px}footer{padding:50px var(--edge);font-size:12px}}@media(prefers-reduced-motion:reduce){.masthead .line span{transform:none}.portrait{clip-path:none}.lede,.meta{opacity:1}.footer-email .footer-email-track{transition:none}.footer-email:hover .footer-email-track,.footer-email:focus-visible .footer-email-track,.footer-email:active .footer-email-track{transform:translateY(-50%)}.toast{animation:none;opacity:1;transform:translate(-50%) translateY(0);visibility:visible}}
