@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#e8e1c9;font-family:Space Grotesk,sans-serif}html{scroll-behavior:smooth}body{min-width:0;margin:0;overflow-x:hidden}:root{--paper:#e8e1c9;--paper-light:#f7f4e8;--paper-deep:#d8d0b8;--ink:#111;--red:#a63848;--muted:#6e695f;--line:#1111113d;--serif:"Fraunces", Georgia, serif;--sans:"Space Grotesk", sans-serif;--mono:"DM Mono", monospace}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:var(--red) var(--ink)}html::-webkit-scrollbar{width:10px}html::-webkit-scrollbar-track{background:var(--ink)}html::-webkit-scrollbar-thumb{border:3px solid var(--ink);background:var(--red);border-radius:0}main{color:var(--ink);background:var(--paper);overflow:hidden}a{color:inherit}h1,h2,h3,p{margin:0}.site-nav{z-index:20;min-height:74px;color:var(--ink);background:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:11px var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;padding:22px max(5vw,50% - 660px);display:flex;position:sticky;top:0}.wordmark{font:700 23px var(--sans);letter-spacing:-.12em;text-decoration:none}.wordmark span{color:var(--red)}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--muted);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--red)}.nav-contact{border-bottom:1px solid var(--red);padding-bottom:4px;color:var(--ink)!important}.nav-contact span,.footer-email span{color:var(--red)}.hero{background:var(--paper);max-width:1440px;min-height:calc(100svh - 74px);margin:auto;padding:120px max(5vw,50% - 660px) 70px;position:relative}.hero-intro{z-index:3;max-width:650px;animation:.9s both reveal;position:relative}.eyebrow{color:var(--red);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.status-dot{background:var(--red);border-radius:50%;width:7px;height:7px;margin-right:8px;animation:2.8s ease-in-out infinite status-pulse;display:inline-block}.hero h1{max-width:650px;font:600 clamp(100px, 15vw, 220px)/.72 var(--serif);letter-spacing:-.1em;margin-top:42px}.hero h1 em{color:var(--red);font-style:italic;font-weight:500}.hero-side{z-index:4;width:220px;animation:.9s .2s both reveal;position:absolute;bottom:130px;right:max(5vw,50% - 660px)}.hero-summary{font:19px/1.12 var(--serif)}.circle-link{border:1px solid var(--red);width:74px;height:74px;color:var(--red);font:24px var(--mono);border-radius:50%;place-items:center;margin-top:42px;text-decoration:none;transition:background .25s,color .25s;display:grid}.circle-link:hover{color:var(--paper-light);background:var(--red)}.circle-link span{animation:2.5s ease-in-out infinite arrow-bob;display:inline-block}.hero-note{color:var(--muted);font:10px/1.5 var(--mono);text-transform:uppercase;position:absolute;bottom:42px;left:max(5vw,50% - 660px)}.hero-note span{color:var(--red)}.hero-art{border:1px solid var(--line);opacity:.9;width:min(27vw,370px);height:min(27vw,370px);animation:12s ease-in-out infinite alternate art-drift;position:absolute;top:8%;right:-10%;transform:rotate(8deg)}.art-ring{aspect-ratio:1;border:1px solid var(--red);border-radius:50%;width:55%;animation:7s ease-in-out infinite ring-breathe;position:absolute;top:12%;left:23%}.art-square{aspect-ratio:1;width:29%;position:absolute}.art-square-one{background:var(--red);animation:8s ease-in-out infinite square-float;top:34%;left:15%}.art-square-two{background:var(--ink);animation:9s ease-in-out 1.5s infinite reverse square-float;bottom:16%;right:12%}.art-line{background:var(--line);width:1px;height:120%;position:absolute;top:-10%;left:49%;transform:rotate(45deg)}.art-caption{color:var(--muted);font:9px/1.5 var(--mono);position:absolute;bottom:5%;left:5%}.studio-ticker{z-index:25;border-block:1px solid var(--ink);background:var(--red);color:var(--paper-light);white-space:nowrap;font:10px var(--mono);text-transform:uppercase;padding:16px 0 14px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.ticker-track{align-items:center;gap:26px;width:max-content;animation:116s linear infinite ticker-slide;display:flex}.ticker-track:after{content:"Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  Clear interfaces  ✳  Useful systems  ✳  Thoughtful details  ✳  ";padding-left:26px;display:block}.ticker-track i{color:var(--ink);font-size:14px;font-style:normal}.work-section,.notes-section,.about-section,footer{width:100%;max-width:none;margin:0}.work-section{background:var(--paper-light);padding:140px max(5vw,50% - 660px) 170px}.section-heading{grid-template-columns:.8fr 1.1fr .7fr;align-items:end;margin-bottom:70px;display:grid}.section-heading .eyebrow{color:var(--red)}.section-heading h2,.notes-intro h2,.about-section h2,footer h2{font:600 clamp(52px, 7vw, 100px)/.82 var(--serif);letter-spacing:-.09em}.section-heading h2 em,.notes-intro h2 em,footer h2 em{color:var(--red);font-style:italic;font-weight:500}.section-note{max-width:190px;color:var(--muted);font:12px/1.35 var(--mono);justify-self:end}.project-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:68px 30px;display:grid}.project{color:var(--ink);text-decoration:none}.project-large{grid-row:span 2}.project-visual{aspect-ratio:1.08;border:1px solid var(--ink);padding:22px;transition:transform .4s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.project-large .project-visual{aspect-ratio:.9}.project:hover .project-visual{transform:translateY(-9px)rotate(0)}.project-large .project-visual{transform:rotate(-1.5deg)}.project:nth-child(2) .project-visual{transform:rotate(1.8deg)}.project:nth-child(3) .project-visual{transform:rotate(-1.5deg)}.visual-orange{background:var(--red);color:var(--paper-light)}.visual-lime{background:#d0c7b7}.visual-blue{background:var(--ink);color:var(--paper-light)}.visual-label{z-index:2;font:10px var(--mono);position:relative}.visual-word{z-index:2;font:600 clamp(39px, 5vw, 79px)/.76 var(--serif);letter-spacing:-.1em;position:absolute;bottom:8%;left:9%}.visual-word-dark{color:var(--ink)}.visual-shape{aspect-ratio:1;border:1px solid var(--paper-light);border-radius:50%;width:53%;position:absolute;top:18%;right:-7%}.visual-circle{aspect-ratio:1;border:1px solid var(--red);border-radius:50%;width:46%;position:absolute;top:17%;right:14%}.visual-grid{background-image:linear-gradient(#f3eee526 1px,#0000 1px),linear-gradient(90deg,#f3eee526 1px,#0000 1px);background-size:25% 25%;position:absolute;inset:14%;transform:rotate(-15deg)}.project-meta{border-top:1px solid var(--ink);grid-template-columns:1fr auto;padding-top:14px;display:grid;position:relative}.project-meta h3{font:500 17px var(--sans)}.project-meta>span:not(.project-arrow){color:var(--muted);font:10px var(--mono);grid-column:1;margin-top:5px}.project-arrow{color:var(--red);font:22px var(--mono);grid-area:1/2/span 2;align-self:center;transition:transform .25s}.project:hover .project-arrow{transform:translate(4px,-4px)}.notes-section{background:#d0c7b7;grid-template-columns:.8fr 1.2fr;gap:11vw;padding:135px max(5vw,50% - 660px);display:grid}.notes-intro h2{margin:48px 0 28px}.notes-intro>p:last-child{color:#615b52;max-width:245px;font:13px/1.4 var(--mono)}.notes-list{border-top:1px solid var(--ink)}.note-item{color:var(--ink);border-bottom:1px solid #17161461;grid-template-columns:72px 1fr auto;align-items:center;gap:22px;padding:23px 0;text-decoration:none;transition:padding .3s,color .3s;display:grid}.note-item:hover{color:var(--red);padding-left:12px}.note-date,.note-type{font:10px var(--mono);text-transform:uppercase}.note-type{color:var(--muted)}.note-item h3{font:500 clamp(18px, 2.1vw, 28px) var(--serif);letter-spacing:-.04em;grid-column:2}.note-arrow{color:var(--red);font:22px var(--mono);grid-column:3;transition:transform .25s}.note-item:hover .note-arrow{transform:translate(4px,-4px)}.about-section{background:var(--red);color:var(--paper-light);padding:145px max(5vw,50% - 660px) 135px}.about-section .eyebrow,.about-section h2 em{color:var(--ink)}.about-content{grid-template-columns:1.1fr .9fr;gap:9vw;margin:100px 0 125px;display:grid}.about-copy{max-width:390px;font:18px/1.24 var(--serif);align-self:end}.about-copy p+p{margin-top:22px}.text-link{border-bottom:1px solid var(--ink);color:var(--ink);font:11px var(--mono);text-transform:uppercase;margin-top:34px;padding-bottom:5px;text-decoration:none;display:inline-block}.tool-list{color:var(--ink);font:10px var(--mono);text-transform:uppercase;border-top:1px solid #17161473;flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.tool-list span:not(:last-child):after{content:" /";margin-left:10px}.text-link:hover{color:var(--paper-light);border-color:var(--paper-light)}.footer-email:hover,.footer-bottom a:hover,.wordmark:hover{color:var(--red)}.footer-bottom a:focus-visible,.nav-links a:focus-visible,.circle-link:focus-visible,.project:focus-visible,.note-item:focus-visible,.text-link:focus-visible,.footer-email:focus-visible,.wordmark:focus-visible{outline:2px solid var(--red);outline-offset:5px}.resume-group{align-items:center;gap:8px;display:inline-flex}.resume-group:hover .resume-note{color:var(--paper-light)}.resume-note{color:var(--muted);font:italic 10px var(--serif);text-transform:none;transition:color .2s}footer{background:var(--ink);min-height:610px;color:var(--paper-light);padding:135px max(5vw,50% - 660px) 32px}.footer-row{justify-content:space-between;align-items:end;margin:110px 0 165px;display:flex}.footer-email{border-bottom:1px solid var(--red);color:var(--paper-light);font:16px var(--mono);align-self:center;padding-bottom:8px;text-decoration:none}.footer-bottom{border-top:1px solid var(--rule);color:var(--muted);font:10px var(--mono);text-transform:uppercase;justify-content:space-between;gap:18px;padding-top:14px;display:flex}.footer-bottom a{color:var(--paper-light);text-decoration:none}.footer-row h2{line-height:.98}.js [data-reveal]{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(38px)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}.project:nth-child(2),.note-item:nth-child(2){transition-delay:.12s}.project:nth-child(3),.note-item:nth-child(3){transition-delay:.24s}.teaser-project{border-top:1px solid var(--red);border-bottom:1px solid var(--red);grid-column:1/-1;grid-template-columns:.3fr 1fr;align-items:center;gap:30px;min-height:150px;padding:22px 0;display:grid}.teaser-mark{border:1px solid var(--red);width:78px;height:78px;color:var(--red);font:38px var(--serif);border-radius:50%;place-items:center;margin:0;display:grid;transform:rotate(-8deg)}.teaser-project .project-meta{border-color:#0000}.teaser-project .project-meta h3{color:var(--red)}.project-icon{z-index:2;width:clamp(54px,7vw,92px);height:clamp(54px,7vw,92px);font:500 clamp(42px, 6vw, 78px)/1 var(--serif);place-items:center;display:grid;position:absolute;top:8%;right:9%}.icon-fish{color:var(--paper-light);transform:rotate(-18deg)}.icon-orbit{color:var(--red);font-family:var(--sans);font-weight:400;animation:6s linear infinite icon-orbit}.icon-signal{color:var(--paper-light);animation:3.5s ease-in-out infinite icon-signal}.project:hover .project-icon{animation-play-state:paused}.icon-orbit:after{content:"";border:1px solid;border-radius:50%;width:125%;height:55%;position:absolute;transform:rotate(-28deg)}.icon-signal{font-size:clamp(34px,5vw,62px)}.project-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;overflow:visible}.icon-fish svg{animation:2.8s ease-in-out infinite fish-swim;transform:rotate(-2deg)}.icon-fish svg path:first-child{fill:currentColor;stroke:none}.icon-fish svg circle{fill:var(--red);stroke:none}.icon-orbit:after{display:none}.icon-orbit svg{animation:6s linear infinite icon-orbit}.icon-signal svg{stroke-width:2px}.icon-signal svg circle:last-child{fill:currentColor;stroke:none}@keyframes fish-swim{0%,to{transform:translate(0)rotate(-2deg)}50%{transform:translate(8px)rotate(3deg)}}@keyframes icon-orbit{to{transform:rotate(360deg)}}@keyframes icon-signal{50%{transform:rotate(18deg)scale(1.12)}}@media (prefers-reduced-motion:reduce){.icon-fish svg,.icon-orbit svg,.icon-signal svg{animation:none!important}}.project:hover .project-visual,.project.project-large:hover .project-visual,.project:nth-child(2):hover .project-visual,.project:nth-child(3):hover .project-visual{transform:translateY(-9px)rotate(0)}.project:hover .project-meta h3{color:var(--red)}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker-slide{to{transform:translate(-50%)}}@keyframes status-pulse{50%{opacity:.65;box-shadow:0 0 0 8px #a6384829}}@keyframes ring-breathe{50%{opacity:.55;transform:scale(.94)rotate(5deg)}}@keyframes square-float{50%{transform:translate(8px,-10px)rotate(4deg)}}@keyframes arrow-bob{50%{transform:translateY(4px)}}@keyframes art-drift{to{transform:translateY(35px)rotate(13deg)}}@media (width<=760px){.site-nav{padding:20px 6vw}.nav-links{gap:14px}.nav-links a:not(.nav-contact){display:none}.hero{min-height:710px;padding:92px 6vw 60px}.hero h1{margin-top:38px;font-size:clamp(80px,24vw,122px)}.hero-art{opacity:.62;width:92vw;height:92vw;top:47%;right:-24%}.hero-side{width:190px;bottom:120px;right:10%}.hero-summary{font-size:17px}.circle-link{width:60px;height:60px;margin-top:27px}.hero-note{font-size:9px;bottom:25px;left:6vw}.work-section,.notes-section,.about-section{padding:92px 6vw}.section-heading,.notes-section{display:block}.section-heading h2,.notes-intro h2{margin:44px 0 26px;font-size:clamp(52px,15vw,72px)}.section-note{max-width:220px;margin-left:25%;font-size:11px}.project-grid{display:block}.project{margin-bottom:62px;display:block}.project-visual,.project-large .project-visual{aspect-ratio:1;padding:18px}.visual-word{font-size:clamp(43px,13vw,62px)}.notes-intro>p:last-child{margin-bottom:58px}.note-item{grid-template-columns:52px 1fr auto;gap:12px;padding:19px 0}.note-type{grid-area:1/2}.note-item h3{grid-area:2/2}.note-arrow{grid-area:1/3/span 2}.about-content{margin:68px 0 88px;display:block}.about-copy{max-width:320px;margin-top:56px;font-size:18px}.footer-row{margin:75px 0 120px;display:block}.footer-row h2{line-height:.98}.footer-email{margin-top:44px;font-size:12px;display:inline-block}.footer-bottom{flex-wrap:wrap;gap:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-intro,.hero-side{animation:none}.js [data-reveal]{opacity:1;transition:none;transform:none}.hero-art,.ticker-track,.status-dot,.art-ring,.art-square-one,.art-square-two,.circle-link span{animation:none!important}.project-visual,.project-arrow,.note-item,.note-arrow{transition:none}}@media (width<=760px){.site-nav{min-height:70px}.hero{min-height:calc(100svh - 70px)}}.ticker-track:before,.ticker-track:after{content:none;display:none}.ticker-track i{color:var(--paper-light)}.ticker-track>span:nth-of-type(-n+6){font-size:0}.ticker-track>span:first-of-type:before{content:"Visual language"}.ticker-track>span:nth-of-type(2):before{content:"Digital objects"}.ticker-track>span:nth-of-type(3):before{content:"Shape and rhythm"}.ticker-track>span:nth-of-type(4):before{content:"Kinetic ideas"}.ticker-track>span:nth-of-type(5):before{content:"Material gestures"}.ticker-track>span:nth-of-type(6):before{content:"Useful weirdness"}.site-nav:after{width:calc(var(--scroll-progress,0) * 100%);background:var(--red);content:"";transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0}.hero-art{animation-name:art-drift-scroll}.js [data-reveal]{opacity:1;clip-path:none;filter:none;transition:none;transform:none}.js .project[data-reveal]:not(.teaser-project){transition:transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(86px)}.js .project[data-reveal].is-visible:not(.teaser-project){transform:translateY(0)}.js .work-section[data-reveal]{transition:transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(86px)}.js .work-section[data-reveal].is-visible{transform:translateY(0)}.js .work-section[data-reveal] .project[data-reveal]:not(.teaser-project){transition:none;transform:none}.js .work-section .section-heading[data-reveal],.js .work-section .project[data-reveal]:not(.teaser-project){transform:translateY(calc(var(--scroll-lift,0px) * -1));transition:transform .12s linear}@keyframes art-drift-scroll{0%{transform:translateY(calc(var(--scroll-y,0px) * -.04)) rotate(8deg)}to{transform:translateY(calc(var(--scroll-y,0px) * -.04 + 35px)) rotate(13deg)}}@media (prefers-reduced-motion:reduce){.hero-art{animation:none!important}.js [data-reveal]{clip-path:none;filter:none;transition:none;transform:none}}.ticker-track>span:nth-of-type(-n+6):before{font-size:10px;display:inline}.footer-bottom{padding-bottom:72px}.footer-copyright{display:none}.footer-copyright-bottom{color:var(--muted);display:block}@media (width<=760px){.footer-bottom{grid-template-columns:repeat(4,1fr);align-items:center;gap:14px 6px;display:grid}.footer-bottom .resume-group{grid-column:auto;justify-self:center}.footer-bottom .resume-note{display:none}.footer-bottom>a:first-of-type,.footer-bottom>a:nth-of-type(2),.footer-bottom>a:nth-of-type(3){justify-self:center}.footer-bottom>a[href=\#top]{text-align:center;grid-column:1/-1;justify-self:center;width:auto;padding-top:8px}.footer-bottom .footer-copyright-bottom{grid-column:1/-1;justify-self:center;margin-top:10px}}.resume-page{background:var(--paper);min-height:100vh;color:var(--ink);padding-bottom:44px}.resume-page .site-nav{position:sticky}.resume-ticker{z-index:25;border-block:1px solid var(--ink);background:var(--red);color:var(--paper-light);white-space:nowrap;font:10px var(--mono);text-transform:uppercase;padding:12px 0 10px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.resume-ticker .ticker-track{justify-content:center;gap:18px;width:100%;animation:none}.resume-ticker .ticker-track>span{font-size:10px!important}.resume-ticker .ticker-track>span:before{content:none!important}.resume-ticker .ticker-track i{color:var(--paper-light);animation:2.8s ease-in-out infinite resume-star-pulse}@keyframes resume-star-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.resume-hero{border-bottom:1px solid var(--ink);max-width:1320px;margin:auto;padding:120px max(5vw,50% - 660px) 110px}.resume-hero h1{font:600 clamp(86px, 13vw, 190px)/.98 var(--serif);letter-spacing:.003em;margin:52px 0 36px}.resume-hero h1 em{color:var(--red);font-style:italic;font-weight:500}.resume-lede{max-width:560px;font:24px/1.15 var(--serif);margin-left:0}.resume-layout{grid-template-columns:220px minmax(0,1fr);gap:5vw;max-width:1440px;margin:auto;padding:100px max(4vw,50% - 720px) 150px;display:grid}.resume-aside{color:var(--muted);font:11px/1.4 var(--mono);align-content:start;gap:34px;display:grid}.resume-aside>div{gap:6px;display:grid}.resume-aside .eyebrow{color:var(--red)}.resume-aside a{color:var(--ink);text-decoration:none}.resume-aside a:hover{color:var(--red)}.resume-content{gap:100px;display:grid}.resume-content section{border-top:1px solid var(--ink);grid-template-columns:120px 1fr;gap:24px;padding-top:18px;display:grid}.resume-content section>.eyebrow{color:var(--red)}.resume-large-copy{max-width:760px;font:26px/1.16 var(--serif)}.resume-entry{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:20px;display:flex}.resume-entry h2,.resume-project h2{font:500 29px/1 var(--serif)}.resume-entry p,.resume-detail,.resume-project p{color:var(--muted);font:12px/1.4 var(--mono)}.resume-entry>span{color:var(--red);font:10px var(--mono);text-transform:uppercase}.resume-detail{max-width:680px;margin-top:20px}.resume-skills{font:12px var(--mono);text-transform:uppercase;flex-wrap:wrap;align-content:start;gap:9px 16px;display:flex}.resume-skills span:not(:last-child):after{content:" /";color:var(--red);margin-left:16px}.resume-project{gap:18px;display:grid}.resume-project a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:16px;text-decoration:none}.resume-project a:hover h2{color:var(--red)}.resume-project h2 span{color:var(--red);font:18px var(--mono)}.resume-footer{border-top:1px solid var(--ink);font:11px var(--mono);text-transform:uppercase;justify-content:space-between;gap:20px;padding:24px max(5vw,50% - 660px) 28px;display:flex}.resume-footer a{color:var(--ink);text-decoration:none}.resume-footer a:hover{color:var(--red)}.resume-history{gap:44px;display:grid}.resume-history ul{max-width:650px;color:var(--ink);font:13px/1.45 var(--mono);gap:10px;margin:22px 0 0;padding-left:20px;display:grid}.resume-history li::marker{color:var(--red)}.resume-stack{color:var(--muted);font:13px/1.45 var(--mono);gap:18px;display:grid}.resume-stack strong{color:var(--ink);text-transform:uppercase;margin-bottom:4px;font-weight:500;display:block}.resume-page .resume-footer{background:var(--paper);min-height:0;color:var(--ink)}@media (width<=760px){.resume-hero{padding:82px 6vw 70px}.resume-hero h1{margin:40px 0 30px;font-size:clamp(78px,23vw,120px)}.resume-lede{max-width:310px;margin-left:0;font-size:20px}.resume-layout{padding:68px 6vw 100px;display:block}.resume-aside{gap:28px;margin-bottom:76px;display:grid}.resume-content{gap:68px}.resume-content section{display:block}.resume-content section>.eyebrow{margin-bottom:28px}.resume-large-copy{font-size:23px}.resume-entry h2{font-size:25px}.resume-entry>span{font-size:9px}.resume-footer{flex-wrap:wrap;padding:22px 6vw 34px}.resume-footer a:last-child{text-align:center;width:100%;padding-top:8px}}@media (prefers-reduced-motion:reduce){.resume-ticker .ticker-track i{animation:none}}@media (width>=1800px){.resume-hero,.resume-layout{max-width:2200px;padding-inline:7vw}.resume-layout{grid-template-columns:260px minmax(0,1fr);gap:6vw}}.footer-heading-group{align-items:flex-end;gap:clamp(18px,3vw,52px);display:flex}.mail-flight{width:clamp(180px,24vw,300px);color:var(--red);flex:0 300px}.mail-flight svg{width:100%;display:block;overflow:visible}.mail-trail{fill:none;stroke:currentColor;stroke-dasharray:7 10;stroke-linecap:round;stroke-width:1.5px;opacity:.72;animation:5s linear infinite mail-trail}.mail-envelope{fill:var(--paper-light);stroke:currentColor;stroke-linejoin:round;stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite mail-float}.mail-spark{fill:currentColor;stroke:none;animation:3.4s ease-in-out infinite mail-spark}.mail-spark-two{animation-delay:1.1s}@keyframes mail-trail{to{stroke-dashoffset:-85px}}@keyframes mail-float{50%{transform:translate(7px,-9px)rotate(-3deg)}}@keyframes mail-spark{0%,to{opacity:.25;transform-origin:50%;transform:scale(.8)}50%{opacity:.65;transform:scale(.92)}}@media (width<=760px){.footer-heading-group{padding-bottom:8px;display:block;position:relative}.footer-heading-group h2{line-height:1.04}.mail-flight{width:clamp(180px,24vw,300px);margin:0;position:absolute;bottom:-8px;right:-18px;transform:rotate(-4deg)}.footer-row .footer-email{width:max-content;margin:26px auto 0;display:block}.footer-bottom>a:last-child{text-align:center;width:100%;padding-top:8px}}@media (prefers-reduced-motion:reduce){.mail-trail,.mail-envelope,.mail-spark{animation:none}}.wordmark{letter-spacing:.01em}.hero h1{letter-spacing:.003em;line-height:.91}.hero h1 em{padding-left:.015em;display:inline-block}.hero-name-note{border-left:2px solid var(--red);max-width:none;color:var(--muted);font:italic 21px/1.2 var(--serif);white-space:nowrap;margin-top:28px;padding-left:14px}.photography-pending{background:var(--paper-deep);width:100%;color:var(--ink);padding:88px max(5vw,50% - 660px);position:relative}.photography-pending h2{font:600 clamp(48px, 7vw, 96px)/.84 var(--serif);letter-spacing:.003em;margin:32px 0 22px}.photography-pending h2 em{color:var(--red);font-style:italic;font-weight:500}.photography-pending>p:not(.eyebrow){max-width:330px;color:var(--muted);font:14px/1.35 var(--mono)}.pending-mark{color:var(--red);font:italic 16px var(--serif);position:absolute;bottom:34px;right:max(5vw,50% - 660px);transform:rotate(-7deg)}.hero-index{z-index:5;color:var(--muted);font:9px var(--mono);letter-spacing:.08em;position:absolute;top:-24px;right:0}.hero-vertical{z-index:5;color:var(--red);font:9px var(--mono);letter-spacing:.1em;writing-mode:vertical-rl;position:absolute;top:27%;right:max(2vw,50% - 740px);transform:rotate(180deg)}.hero h1,.hero h1 em{animation:none}.section-heading h2,.notes-intro h2,.about-section h2,footer h2,.note-item h3{letter-spacing:.003em}.section-heading{position:relative}.experiment-maker{width:220px;color:var(--ink);position:absolute;top:-4px;right:0;transform:rotate(-2deg)}.experiment-maker:before{background:var(--paper);content:"";border:1px solid #a6384873;border-radius:50%;width:124px;height:124px;position:absolute;top:14px;right:4px;transform:rotate(8deg)}.experiment-maker svg{z-index:1;width:100%;height:auto;display:block;position:relative;overflow:visible}.maker-person,.maker-robot{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.maker-person circle{fill:var(--paper-light);stroke:var(--ink)}.maker-hair{fill:var(--ink)}.maker-shirt{fill:var(--paper-deep)}.maker-overalls,.maker-wrench,.robot-wrench{stroke:var(--red)}.maker-robot .robot-head{fill:var(--paper-light)}.maker-robot .robot-panel{fill:var(--paper-deep)}.maker-robot .robot-light{fill:var(--red);stroke:var(--ink);stroke-width:1.5px}.maker-bench{stroke:var(--red);stroke-width:2.5px}.maker-spark{fill:none;stroke:var(--red);stroke-width:2px}.hero-art{opacity:1;border:0;border-radius:0}.hero-art:before{content:"";border:1px solid #1716144d;position:absolute;inset:4% 8% 9% 3%;transform:rotate(-7deg)}.hero-art:after{border:1px solid var(--red);content:"";width:25%;height:25%;position:absolute;top:8%;right:13%;transform:rotate(17deg)}.art-ring{border:2px solid var(--red);opacity:.72;border-radius:50%;width:62%;top:16%;left:19%}.art-square{border-radius:50%}.art-square-one{background:var(--red);width:30%;top:39%;left:27%}.art-square-two{background:var(--ink);border-radius:50% 0 0 50%;width:34%;bottom:4%;right:-4%}.art-line{background:var(--red);opacity:.72;height:112%;top:-4%;left:49%;transform:rotate(38deg)}.art-caption{z-index:3}@media (width>=761px){.hero-intro{margin-left:0}.hero-note{top:auto;bottom:170px;left:max(5vw,50% - 660px)}}@media (width>=1600px){.hero{max-width:none;padding-left:12vw;padding-right:12vw;overflow:hidden}.hero-intro{margin-left:0}.site-nav{padding-left:12vw;padding-right:12vw}.hero-note{left:12vw}.hero h1{max-width:760px;font-size:clamp(160px,14vw,224px)}.hero-art{z-index:2;width:min(52vw,900px);height:min(52vw,900px);top:8%;bottom:auto;right:3%}.hero:before{color:#8f263829;content:"01";font:600 clamp(240px, 27vw, 560px)/.7 var(--serif);letter-spacing:-.08em;pointer-events:none;position:absolute;top:15%;right:7%}.hero:after{content:"";pointer-events:none;border-left:1px solid #17161429;position:absolute;top:14%;bottom:12%;left:10vw}}@media (width>=761px) and (height<=700px){.hero{padding-top:64px}.hero h1{margin-top:28px;font-size:clamp(82px,12vw,150px)}.hero-name-note{margin-top:20px;font-size:18px}.hero-art{width:min(25vw,280px);height:min(25vw,280px);right:2%}}@media (width>=1200px) and (width<=1599px){.hero-intro{top:-64px}.hero-art{width:min(36vw,450px);height:min(36vw,450px);right:3%}.hero-note{bottom:72px;left:8%}}@media (width<=760px){.hero-name-note{white-space:normal;max-width:100%}.experiment-maker{width:150px;margin:18px 0 0 auto;position:relative;top:auto;right:auto;transform:rotate(-2deg)}.experiment-maker:before{width:82px;height:82px;top:8px;right:2px}.site-nav{min-height:58px;padding-top:14px;padding-bottom:14px}.hero{min-height:calc(100svh - 58px);padding-top:28px}.hero h1{letter-spacing:.001em;margin-top:28px;line-height:.93}.hero-note{display:none}.hero-index{font-size:8px;top:-20px;right:4%}.hero-vertical{font-size:8px;top:25%;right:3vw}.section-heading h2,.notes-intro h2,.about-section h2,footer h2{letter-spacing:.003em}}.experiment-page{overscroll-behavior:none;touch-action:none;background:var(--paper);height:100dvh;min-height:100svh;color:var(--ink);padding:26px 5vw 28px;position:relative;overflow:hidden}.experiment-page.fish-page{background:var(--ink);color:var(--paper-light)}.experiment-nav{z-index:3;max-width:1320px;font:11px var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;margin:auto;display:flex;position:relative}.experiment-nav>a:last-child{color:var(--red);text-decoration:none}.experiment-intro{z-index:2;max-width:590px;margin:17vh auto 0;position:relative}.experiment-intro h1{font:600 clamp(70px, 12vw, 170px)/.82 var(--serif);letter-spacing:.005em;margin:28px 0 22px}.experiment-intro p:last-child{max-width:360px;font:20px/1.15 var(--serif)}.fish-canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:0}.fish-page .experiment-intro .eyebrow{color:var(--red)}.fish-page .experiment-intro p:last-child{color:var(--paper)}.placeholder-study{aspect-ratio:1;border:1px solid var(--ink);place-items:center;width:min(32vw,440px);display:grid;position:absolute;bottom:17vh;right:15vw;transform:rotate(-7deg)}.placeholder-study:before{border:1px solid var(--red);content:"";border-radius:50%;position:absolute;inset:12%}.placeholder-study span{z-index:1;color:var(--red);font:600 clamp(80px, 14vw, 200px) var(--serif);position:relative}.experiment-footer{z-index:3;color:var(--muted);font:10px var(--mono);text-transform:uppercase;border-top:1px solid;justify-content:space-between;padding-top:12px;display:flex;position:absolute;bottom:28px;left:5vw;right:5vw}.fish-page .experiment-footer{color:#f0ede58c}.fish-page .experiment-footer span:last-child{color:var(--red)}.signal-page{background:var(--ink);color:var(--paper-light)}.signal-page .experiment-intro .eyebrow{color:var(--red)}.signal-page .experiment-intro p:last-child{color:var(--paper-light);margin-top:34px}.type-page{background:var(--ink);color:var(--paper-light)}.type-page .experiment-intro .eyebrow{color:var(--red)}.type-page .experiment-intro p:last-child,.type-page .experiment-nav>a:first-child{color:var(--paper-light)}.type-page .experiment-footer{color:#f0ede58c}.type-page .fish-canvas{opacity:.96}.type-page .experiment-intro{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#17161494;border:1px solid #e7e1d52e;max-width:640px;padding:22px 26px 26px}.type-page .experiment-intro h1{line-height:.9}@media (width>=1200px){.experiment-intro{max-width:760px;margin:12vh max(5vw,50% - 660px) 0}.experiment-intro h1{font-size:clamp(90px,9vw,150px)}.type-page .experiment-intro{max-width:760px}}.experiment-help{color:#e7e1d59e;max-width:440px;font:10px var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:8px 14px;margin-top:28px;display:flex}.experiment-help span{color:var(--red)}.type-page .fish-canvas{cursor:grab}.type-page .fish-canvas:active{cursor:grabbing}@media (width<=700px){.experiment-page{padding:22px 6vw}.experiment-nav{font-size:10px}.experiment-intro{margin-top:23vh}.experiment-intro h1{font-size:clamp(64px,19vw,100px)}.experiment-intro p:last-child{max-width:280px;font-size:18px}.placeholder-study{width:70vw;bottom:20vh;right:8vw}.experiment-footer{flex-wrap:wrap;gap:8px;bottom:22px;left:6vw;right:6vw}.experiment-footer span:last-child{width:100%}.fish-page .experiment-intro{margin-top:23vh}.type-page .experiment-intro{pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}}@media (prefers-reduced-motion:reduce){.fish-canvas{display:none}.fish-page{background:var(--ink)}}
