:root{--bg: #fafaf8;--text: #18181b;--accent: #10b981;--muted: #6d6d6d;--label: #bfbfbf}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #1a1a18;--text: #f0f0ee;--muted: #a0a09e;--label: #4a4a4a}}[data-theme=dark]{--bg: #1a1a18;--text: #f0f0ee;--muted: #a0a09e;--label: #4a4a4a}*,*:before,*:after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%;scroll-behavior:smooth}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}@font-face{font-family:Sailec;src:url(/fonts/Sailec-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Apercu Mono;src:url(/fonts/Apercu-Mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Apercu;src:url(/fonts/Apercu-LightItalic.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Apercu;src:url(/fonts/Apercu-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}body{background-color:var(--bg);color:var(--text);font-family:Apercu,Helvetica,sans-serif;font-size:20px;line-height:1.65;text-rendering:optimizeLegibility;margin:0;transition:background-color .2s,color .2s}h1,h2,h3,h4,h5,h6,p{font-weight:400}h1{font-size:38px;margin:0 auto 10px}h2{font-size:32px}h3{font-size:24px}h4{font-size:18px}h5{font-size:16px}h6{font-size:12px}p{margin:0 auto 8px;line-height:1.5}ul{padding:0;margin:0}ul li{list-style:none;padding:0;margin:0 0 8px}a{text-decoration:none}span{font-size:14px;font-family:Apercu,Helvetica,sans-serif}.p,p{font-size:20px;line-height:1.75;font-family:Apercu,Helvetica,sans-serif;font-weight:300;color:var(--text);margin-bottom:20px}.p a,p a{color:var(--accent);text-decoration:none}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-family:Sailec,Helvetica,sans-serif}.h1,h1{font-size:48px;line-height:1.45;font-family:Sailec,Helvetica,sans-serif;font-weight:700;color:var(--text);margin-bottom:25px}.h1.white,h1.white{color:#fff}.h1.green,h1.green{color:var(--accent)}.h2,h2{font-size:38px;line-height:1.45;font-family:Sailec,Helvetica,sans-serif;font-weight:700;color:var(--text)}.h2.white,h2.white{color:#fff}.h3,h3{font-size:36px;line-height:1.35;font-family:Sailec,Helvetica,sans-serif;font-weight:700;color:var(--text);margin-top:10px;margin-bottom:10px}.h3.white,h3.white{color:#fff}.h3.bold,h3.bold,.text-block .h3,.text-block h3{font-weight:700}.h4,h4{font-size:22px;line-height:1.65;font-family:Sailec,Helvetica,sans-serif;font-weight:700;color:var(--text)}.h4.white,h4.white{color:#fff}@media screen and (max-width: 939px) and (min-width: 640px){.h1,h1{font-size:35px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:20px}.p,p{font-size:17px;line-height:1.85}li{font-size:16px}}@media screen and (max-width: 639px){.h1,h1{font-size:28px}.h2,h2{font-size:25px}.h3,h3{font-size:22px}.h4,h4{font-size:19px}.p,p{font-size:17px}}.hidden{display:none!important}.global-alignment{padding-left:18.33333333%}@media screen and (max-width: 639px){.global-alignment{padding-left:8.16666667%}}.gridMe{position:fixed;inset:0;z-index:9999;pointer-events:none}.gridMe.hidden{display:none}.gridMe div{height:100%;width:6.16666667%;position:absolute;background-color:#02eeff1a;border-left:1px solid #02eeff;border-right:1px solid #02eeff}.gridMe div:nth-child(1){left:2%}.gridMe div:nth-child(2){left:10.16666667%}.gridMe div:nth-child(3){left:18.33333333%}.gridMe div:nth-child(4){left:26.5%}.gridMe div:nth-child(5){left:34.66666667%}.gridMe div:nth-child(6){left:42.83333333%}.gridMe div:nth-child(7){left:51%}.gridMe div:nth-child(8){left:59.16666667%}.gridMe div:nth-child(9){left:67.33333333%}.gridMe div:nth-child(10){left:75.5%}.gridMe div:nth-child(11){left:83.66666667%}.gridMe div:nth-child(12){left:91.83333333%}.gridMe div:nth-child(13){left:100%}body.loading #universe,body.resizing #universe{opacity:0;height:100vh}body.loading #universe .page-header,body.resizing #universe .page-header{transform:translate3d(0,25vh,0)}body.loading #universe .project-section,body.resizing #universe .project-section{transform:translate3d(0,50vh,0)}body #universe{height:auto;opacity:1;transition:opacity .45s ease-in-out}.section-title{transform:rotate(-90deg);transform-origin:top right;position:absolute;left:-130px;top:10vh;text-align:right;width:150px;color:var(--label);font-size:12px;font-family:Apercu Mono,Monaco,monospace}@media screen and (max-width: 639px){.section-title{transform:rotate(0);margin-left:8.16666667%;text-align:left;margin-top:-20px;left:0}}.page-header{transition:transform .65s 50ms cubic-bezier(.165,.84,.19,.95)}.page-header .content{width:42.83333333%;padding-left:18.33333333%;padding-top:32vh;padding-bottom:2vh}.page-header .content h1{margin-bottom:0}.page-header .content .sub-header{font-family:Apercu Mono,Monaco,monospace;color:var(--muted)}.page-header .content h4 a.header-link{color:var(--text)}.page-header .content h4 a.header-link:hover{color:var(--accent)}.page-header .content h4 a.header-link--nowrap{white-space:nowrap;display:inline-block}@media screen and (max-width: 639px){.page-header .content{padding-left:8.16666667%;width:83.66666667%}.page-header .content .sub-header{font-size:14px}}.project-section{overflow-x:hidden;width:100vw;position:relative;transition:transform .65s .15s cubic-bezier(.165,.84,.19,.95)}.project-section .projects{padding-bottom:16vh;padding-left:18.33333333%;display:flex;flex-wrap:nowrap;align-items:stretch}@media screen and (max-width: 639px){.project-section .projects{padding-left:0;padding-right:0;flex-wrap:wrap}}.project-section .projects .project{height:80vh;min-height:500px;width:70vw;flex-shrink:0;border-radius:4px;margin-right:6vw;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;transition:transform .85s cubic-bezier(.165,.84,.19,.95),box-shadow .85s cubic-bezier(.165,.84,.19,.95)}.project-section .projects .project:after{content:"";position:absolute;inset:0;border-radius:4px;border-bottom:1px solid rgba(0,24,40,.1)}.project-section .projects .project>a:first-child{position:absolute;width:100%;height:100%;z-index:1000}.project-section .projects .project img{position:absolute;bottom:-5%;left:40%;width:55%;transition:all .65s cubic-bezier(.165,.84,.19,.95)}.project-section .projects .project img.center{bottom:auto;top:50%;left:65%;width:60%;transform:translate3d(-50%,-50%,0)}.project-section .projects .project img.right{bottom:auto;top:50%;left:80%;width:90%;transform:translate3d(-50%,-50%,0)}.project-section .projects .project img.full{left:37%;right:auto;height:105%;width:70%;max-width:none;object-fit:cover;object-position:left center;transform:scale(1.02);transform-origin:center left}@media screen and (min-width: 639px){.project-section .projects .project img.full{top:-2.5%}}@media screen and (max-width: 639px){.project-section .projects .project img.full{left:52%;width:62%}}.project-section .projects .project .text{padding-left:4vw;width:calc(35% - 4vw);position:relative;z-index:2}.project-section .projects .project .text h3{color:#fff;margin-bottom:0}.project-section .projects .project .text .motto{font-size:20px;color:#fff;line-height:1.45}.project-section .projects .project .services{width:35%;position:absolute;bottom:30px;left:0;padding-left:4vw;font-size:12px;color:#fffc;font-family:Apercu Mono,Monaco,monospace}.project-section .projects .project.black .text h3,.project-section .projects .project.black .text .motto{color:#000}.project-section .projects .project.black .services{color:#000c}.project-section .projects .project:hover{transform:scale(1.01);box-shadow:0 25px 40px -10px #00182840}.project-section .projects .project:hover img{bottom:0}.project-section .projects .project:hover img.center,.project-section .projects .project:hover img.right{transform:translate3d(-50%,-50%,0) scale(.95)}.project-section .projects .project:hover img.full{transform:scale(.95)}@media screen and (max-width: 1099px) and (min-width: 640px){.project-section .projects .project{min-height:450px;height:65vh;width:85vw}.project-section .projects .project img{left:46%;width:56%;max-width:none}.project-section .projects .project img.full{left:44%;right:auto;width:62%;min-width:0;height:112%;max-width:none;object-fit:cover}.project-section .projects .project .text{width:45%}.project-section .projects .project .text .motto{font-size:16px}}@media screen and (max-width: 939px) and (min-width: 640px){.project-section .projects .project{min-height:400px;height:50vh}}@media screen and (max-width: 639px){.project-section .projects .project{margin:3vw 4% 0;width:92%;height:44vw;min-height:160px;justify-content:flex-start;flex-direction:row;align-items:center}.project-section .projects .project .text{padding:0 3% 0 5%;width:46%;margin-top:0}.project-section .projects .project .text h3{color:#fff;margin-bottom:4px;font-size:clamp(14px,3.5vw,18px)}.project-section .projects .project .text .motto{font-size:clamp(11px,2.8vw,14px);line-height:1.4}.project-section .projects .project .services{padding-left:5%;width:46%;bottom:8%;font-size:11px}.project-section .projects .project img{position:absolute;top:50%;left:54%;width:50%;bottom:auto;transform:translateY(-50%);max-width:none}.project-section .projects .project img.center{top:50%;left:58%;width:50%;transform:translateY(-50%)}.project-section .projects .project img.right{top:50%;left:60%;width:80%;transform:translateY(-50%)}.project-section .projects .project img.full{height:120%;width:62%;inset:-10% auto auto 52%;min-width:0;max-width:none;transform:none;object-fit:cover;object-position:left center}.project-section .projects .project:hover{transform:scale(1);box-shadow:0 15px 25px -8px #00182840}.project-section .projects .project:hover img{top:50%}.project-section .projects .project:hover img.center,.project-section .projects .project:hover img.right{transform:translateY(-50%) scale(1)}.project-section .projects .project:hover img.full{top:-10%;transform:none}}.bio{position:relative}.bio .section-title{top:calc(16vh + 5px)}.bio .content{padding-left:18.33333333%;width:55.16666667%}.bio .content h1,.bio .content h2,.bio .content h3,.bio .content h4{margin-top:0}.bio .content .social{font-family:Apercu Mono,Monaco,monospace;font-size:16px;margin-top:8vh}.bio .content .social a{color:var(--text);margin-right:20px}.bio .content .social a:hover{color:var(--accent)}.bio .content .social a:last-child{margin-right:0}.bio .content .capabilities{list-style:none;padding:0;margin:24px 0 0}.bio .content .capabilities li{font-size:18px;font-weight:300;color:var(--text);padding:8px 0;margin:0;display:flex;align-items:baseline;gap:12px}.bio .content .capabilities li:before{content:"->";color:var(--accent);font-size:14px;font-family:Apercu Mono,Monaco,monospace;flex-shrink:0}.bio .content h4 a.contact-inline{color:var(--text);text-decoration:underline}.bio .content h4 a.contact-inline:hover{color:var(--accent)}@media screen and (max-width: 639px){.bio .section-title{top:calc(8vh - 35px)}.bio .content{width:83.66666667%;padding-left:8.16666667%}}.fake-holder{position:relative}.affix{min-height:100vh;width:100%}.affix.fixed{position:fixed;top:0}.affix.set{position:absolute}.company{display:block;height:48px;width:fit-content;max-width:90vw;margin-right:auto;margin-top:32px;margin-bottom:32px;padding-right:1em;border-radius:8px;transition:background-color .2s,padding .2s}.company img{width:auto;max-width:100%;max-height:100%}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .company{background-color:#fff;padding:6px 14px}}[data-theme=dark] .company{background-color:#fff;padding:6px 14px}.content .text .intro-line,.bio .content .intro-line{font-weight:600;margin-top:24px;margin-bottom:24px}#theme-toggle{position:fixed;top:20px;right:20px;z-index:9000;background:none;border:1px solid var(--label);border-radius:50%;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);opacity:.45;transition:opacity .2s,border-color .2s}#theme-toggle:hover{opacity:1}#theme-toggle svg{display:none;width:16px;height:16px;flex-shrink:0}#theme-toggle[data-mode=light] svg.icon-light{display:block}#theme-toggle[data-mode=dark] svg.icon-dark{display:block}#theme-toggle[data-mode=system] svg.icon-system{display:block}
