*{margin:0;padding:0;box-sizing:border-box}:root{--font-headings: "Worker Sans", "Helvetica Neue", "Plus Jakarta Sans", "Nimbus Sans", "Liberation Sans", sans-serif;--font-body: "Anonymous Pro", "SF Mono", "Roboto Mono", Menlo, Consolas, "Liberation Mono", monospace;--enlarged-inset-left: 0px;--svg-edge-px: 50vw;--rem-min: 15;--rem-max: 18;--vw-min: 360;--h1-size: clamp(1.6rem, 2vw, 4.5rem);--h2-size: clamp(3rem, 4vw, 8rem);--p-size: clamp(.5rem, 1rem, 1.6rem);--heading-line: 1.2}.project-trigger.masked{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25)}.project-trigger.revealed{color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-headings)}body,p{font-family:var(--font-body)}h1{font-size:var(--h1-size)}h2{font-size:var(--h2-size)}body,p{font-size:var(--p-size)}p.bold{font-weight:900}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{transition:background .4s ease,color .4s ease}body:not(.hero-active){background:#1d1d1d!important;color:#fff!important}body.hero-active{background:#fff!important;color:#1d1d1d!important}.app-layout{display:flex;min-height:100vh;background:#1d1d1d}html{scroll-snap-type:y mandatory;scroll-behavior:smooth}.section{scroll-snap-align:start;scroll-snap-stop:always;min-height:100vh}.measure-container,.svg-container{position:fixed;left:2vw;top:2vh;width:50vw;height:100vh;display:flex;align-items:center;justify-content:center;z-index:70;background:transparent;transition:transform .3s ease-out;padding-left:5vw;padding-top:5vh;pointer-events:none;transform:translate(8vw) translateY(11vh)}.svg-container:not(.enlarged){transform:scale(.5) translate(-2vw)}.measure-container{z-index:0!important}.morphing-svg{width:63vw;height:63vw;max-width:none;max-height:none;overflow:visible;display:block}.measure-svg{animation:measure-ready 1ms forwards;opacity:0!important;width:63vw;height:63vw;max-width:none;max-height:none;overflow:visible;display:block}.measure-svg path{stroke:#00f!important;stroke-width:4!important;fill:none!important}@keyframes measure-ready{0%{opacity:.9999}to{opacity:1}}.content-area{margin-left:50vw;width:50vw;z-index:2;padding-right:10vw;padding-left:15vw;text-align:left}.fixed-content-container .contact-content{padding-left:var(--enlarged-inset-left, 0px);position:absolute;top:calc(var(--svg-contact-top-right-y, 50vh) - 53vh)}.section-content{background:1d1d1d}.section{min-height:100vh;position:relative}.scroll-spacer{height:100vh;width:100%}.hero-lines-container{padding-right:2vw;pointer-events:none;z-index:9999;will-change:padding-left;transition:padding-left 1s cubic-bezier(.43,.13,.23,.96)}.hero-lines{position:relative;font-size:var(--h1-size);line-height:var(--heading-line);margin:0;z-index:5}.hero-lines>span,.hero-lines>div{display:block}.hero-lines>div>span{display:block}.hero-lines span span{display:inline}.hero-lines-spacer{visibility:hidden;opacity:0;font-size:var(--h1-size);line-height:var(--heading-line);margin:0 0 2rem;min-height:calc(var(--h1-size) * var(--heading-line) * 3)}.hero-lines-spacer>span{display:block}.hero-lines-wrapper{position:fixed;top:50%;left:50vw;width:50vw;transform:translateY(-50%) translate(var(--hero-lines-offset, 0));transition:transform .4s cubic-bezier(.43,.13,.23,.96);will-change:transform;z-index:9999;pointer-events:none}.hero-lines-wrapper.section-hero{--hero-lines-offset: var(--enlarged-inset-left, 0px)}.hero-lines-wrapper.section-intro,.hero-lines-wrapper.section-work{--hero-lines-offset: 0px}.hero-lines-container{padding-left:15vw;padding-right:2vw;padding-top:3vh}.fixed-content-container{position:fixed;top:50%;left:50vw;width:50vw;transform:translateY(-50%);padding-left:15vw;padding-right:11vw;z-index:5;pointer-events:none}.fixed-content-container .section-content{width:100%;max-width:65ch;top:3vh;pointer-events:auto;position:relative}.video-mask-wrapper{position:relative;display:inline-block}.video-mask-text{position:relative;z-index:1;margin:0;color:transparent}.mask-video-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2;-webkit-mask:url(#text-mask);mask:url(#text-mask)}.mask-text-svg{font-family:inherit;font-size:var(--h2-size);font-weight:700}.fixed-content-container .contact-content{padding-left:var(--enlarged-inset-left, 0px);position:absolute;top:calc(var(--svg-contact-top-right-y, 50vh) - 50vh);margin-top:2vh}.clap-container{display:inline-block;position:relative;width:2rem;height:2rem;margin-left:.5rem;padding-top:.2rem}.clap-hand{position:absolute;width:100%;height:100%;transform:translate(-50%,-50%);filter:invert(1)}.clap-sound{position:absolute;width:100%;height:100%;filter:invert(1)}.contact-footer{position:fixed;bottom:3vh;right:3vw;text-align:right;max-width:30vw;width:auto;z-index:10}.contact-footer p{font-size:.75rem;font-weight:700;opacity:1;color:#fff}.inline-project-link{text-decoration:underline;cursor:pointer;color:inherit;opacity:1;transition:opacity .4s ease}.inline-project-link:hover{opacity:.8;transition:opacity .4s ease}.project-modal-wrapper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000000;pointer-events:auto}.project-modal-backdrop{position:absolute;inset:0;background:#0000008c;z-index:1000001}.project-modal{position:relative;min-width:100vw;max-height:100vh;width:auto;height:auto;background:#fff;z-index:1000002;overflow-y:auto}.project-header>*{margin:0}.clickable-case-study{cursor:pointer;transition:opacity .2s ease;position:relative;z-index:10001}.clickable-case-study:hover{opacity:.7}.case-studies{display:flex;flex-direction:column;gap:1rem}.case-study-link:hover{background:#f0f0f0}.top-gradient-strip{position:fixed;top:0;left:0;width:100vw;height:calc(4vh + 1rem);background:linear-gradient(to bottom,#fff 0% 80%,#fff);z-index:99999999;pointer-events:none}.modal-overlay{position:fixed;inset:0;background:#1d1d1dd9;display:flex;align-items:center;justify-content:center;z-index:9999;animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#2a2a2a;width:100vw;height:100vh;overflow:auto;position:relative;animation:modalContentSlideIn .3s ease-out}@keyframes modalContentSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:fixed;top:2rem;right:2rem;background:none;border:none;font-size:3rem;cursor:pointer;z-index:10000;color:#fff;line-height:1;transition:opacity .2s ease}.modal-close:hover{opacity:.7}.case-study-modal{padding:10vh 10vw;color:#fff;min-height:100vh}.case-study-modal h1,.case-study-modal p{color:#fff}.fixed-header{position:fixed;top:0;left:0;width:100%;padding:12vh 8vw;z-index:999999}.logo span{margin:0;font-size:1.8rem;font-weight:400;color:#fff;font-family:Anonymous Pro,monospace!important}.logo span:hover{margin:0;font-size:1.8rem;font-weight:400;font-style:italic!important;font-family:Anonymous Pro,monospace!important}.scroll-down-indicator{position:absolute;left:0;bottom:2.5rem;z-index:20;display:flex;justify-content:flex-start;padding-left:calc(15vw + var(--enlarged-inset-left, 0px));opacity:0;animation:bobDown .7s infinite,fadeInScrollDown 1.5s ease forwards;animation-delay:0s,1s}.hero-section-links-row{position:absolute;display:flex;width:100%;font-family:var(--font-body);font-size:--p-size;bottom:-10vh;margin:10rem 0 0;box-sizing:border-box;z-index:1000;opacity:0;transform:translateY(6px);transition:opacity .26s ease,transform .26s ease;cursor:pointer;pointer-events:all!important}.hero-section-links-row.visible{opacity:1;transform:translateY(0)}.hero-section-link{background:none;border:none;color:var(--hero-lines-color, #222);font-size:inherit;font-family:inherit;font-weight:600;cursor:pointer;padding-right:.5em!important;padding-left:.5em!important;border-radius:1em;transition:background .2s,color .18s,opacity .22s,text-decoration-color .18s,text-decoration-thickness .18s;text-align:left!important;pointer-events:auto!important;z-index:1000;opacity:.7;position:relative}.hero-section-separator{display:inline-block;color:var(--hero-lines-color, #222);font-weight:100}.hero-section-links-row .hero-section-link:first-child{padding-left:0!important}.hero-section-link:hover{z-index:999;opacity:1;transition:color .18s,opacity .5s,text-decoration-color .18s,text-decoration-thickness .18s}.hero-section-link{text-decoration:none}@keyframes fadeInScrollDown{0%{opacity:0}to{opacity:1}}@keyframes bobDown{0%,to{transform:translateY(0)}50%{transform:translateY(.75vh)}}body.hero-active .hero-lines,body.hero-active .fixed-header,body.hero-active .logo span{color:#1d1d1d!important;transition:color 1s cubic-bezier(.43,.13,.23,.96)}.app-shell.hidden{opacity:0;pointer-events:none}.app-shell.snow-ready{opacity:1;transition:opacity .4s ease .3s}.app-load.hidden{opacity:1;transition:opacity .6s ease}.app-load.snow-ready{opacity:0;transition:opacity .6s ease}.load-header{animation:pulse 1s ease-in-out infinite;font-weight:600}@keyframes pulse{0%,to{opacity:1;transform:scale(1.1)}50%{opacity:.7;transform:scale(1)}}.learn-more{cursor:pointer;color:inherit;opacity:1!important;transition:opacity .4s ease!important;backface-visibility:hidden}.learn-more:hover{opacity:.6!important}@media(max-width:60rem)and (orientation:portrait){.logo span{margin:0;font-size:1.2rem;font-weight:400;color:#fff;font-family:Anonymous Pro,monospace!important}.logo span:hover{margin:0;font-size:1.2rem;font-weight:400;color:#fff;font-style:italic!important;font-family:Anonymous Pro,monospace!important}.fixed-header{position:fixed;top:-3vh;left:0;width:100%;height:20vh;padding-right:15vw;padding-left:15vw;z-index:1000;display:flex;align-items:center}.section{min-height:auto;margin-bottom:4rem}.scroll-spacer{height:80vh}.svg-container,.snow-container{width:50vw;height:30vh;left:2vw;top:auto;bottom:2vh;padding-left:5vw;padding-top:0vh;z-index:1000!important;pointer-events:none;will-change:transform,scale;transform:translate(4vw) translateY(0) scale(2.3)}.hero-section-links-row{bottom:-5vh;z-index:10000000!important;pointer-events:all!important;display:none!important}.svg-container:not(.enlarged),.snow-container:not(.enlarged){transform:scale(1.6) translate(6vw)}.measure-container{transform:none!important}.content-area{margin-left:0;width:100vw;z-index:10;padding:0}.fixed-content-container{position:fixed;top:10vh;left:0vh;transform:translateY(0);width:100vw;height:55vh;padding:0vw 15vw;z-index:10;display:grid;align-items:center;justify-items:center}.hero-lines-wrapper{position:fixed;top:10vh;left:0vh;transform:translateY(0);width:100vw;height:55vh;padding:0vw 15vw;z-index:11;display:grid;align-items:center;justify-items:center}.fixed-content-container .section-content p{text-align:left;margin:0 auto}.fixed-content-container .section-content{top:0}.section-projects{min-height:55vh!important;margin-top:0vh}.hero-lines-container{position:relative;transform:none;width:100%;padding:0;top:auto;left:auto;z-index:10000000}.fixed-content-container .contact-content{position:static;padding-left:0vw;padding-right:0vw;top:auto}.fixed-content-container:has(.contact-content){max-height:40vh!important}.center-line{display:none!important}}@media(max-width:60rem)and (orientation:landscape){.logo span{margin:0;font-size:1.2rem;font-weight:400;color:#fff;font-family:Anonymous Pro,monospace!important}.logo span:hover{margin:0;font-size:1.2rem;font-weight:400;color:#fff;font-style:italic!important;font-family:Anonymous Pro,monospace!important}h1{font-size:clamp(1.2rem,1.5rem,4.5rem)!important}h2 span{font-size:clamp(2rem,3rem,4.5rem)!important}p{font-size:clamp(.65rem,.8rem,1.2rem)!important}.measure-container,.svg-container{left:0vw!important}.contact-footer p{font-size:clamp(.25rem,.45rem,.6rem)!important}.svg-container,.snow-container,.measure-container{transform:translate(8vw) translateY(15vh)}.side-quest-spacer{display:none!important}.chat-bttn{font-size:clamp(.65rem,.8rem,1.2rem)!important;padding:.5rem 1rem!important}.contact-footer{max-width:62vw!important;min-width:40vw!important}.project-body h1{font-size:clamp(.9rem,1rem,4.5rem)}.project-body:has(.no-margin) p{font-size:clamp(.55rem,.65rem,1rem)!important}.project-body p:not(.no-margin){font-size:clamp(.55rem,.7rem,1rem)!important;padding-left:1.5rem!important;padding-right:1.5rem!important}.project-body .nasa-q{padding:0 .75rem!important}.project-body .nasa-q h3{font-size:clamp(.5rem,.72rem,2rem)!important}.project-body h2{font-size:clamp(1.2rem,2rem,3rem)!important}.project-title{font-size:clamp(1.2rem,1.5rem,3rem)!important}.back-modal{font-size:clamp(.6rem,.75rem,1rem)!important}.friends{margin-bottom:3rem!important}.open-source{margin:0 0rem!important}.learn-more-2{padding-left:1.5rem!important;padding-right:1.5rem!important}.portrait-title{font-size:clamp(.6rem,.75rem,1rem)!important;padding-left:0rem!important}.portrait-box{padding:.1 rem!important;justify-content:center!important;align-items:center!important}.portrait-buttons{display:none!important}p.latent-btm-txt.no-margin{margin-left:1rem!important}.cs-mainstage h2{font-size:clamp(.8rem,1rem,2rem)!important}.cs-hero-text h2{font-size:clamp(2rem,2.5rem,3rem)!important}}.mobile-rotate-overlay{touch-action:none;-webkit-user-select:none;user-select:none}.mobile-rotate-bar{touch-action:none}.mobile-project-view{touch-action:pan-y;-webkit-overflow-scrolling:touch}.mobile-video-section video{display:block}.mobile-carousel [data-dragging=true]{cursor:grabbing}@supports (padding-top: env(safe-area-inset-top)){.mobile-rotate-bar{padding-top:calc(.75rem + env(safe-area-inset-top))}.mobile-project-view{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}.mobile-project-view .mobile-content-section{padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right))}}@media screen and (max-width:375px){.mobile-project-view h1{font-size:1.4rem!important}.mobile-project-view .mobile-content-section{padding:.5rem 1rem 1rem!important}}@keyframes subtle-pulse{0%,to{opacity:.7}50%{opacity:1}}.mobile-rotate-bar span{animation:subtle-pulse 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.mobile-rotate-overlay *,.mobile-rotate-bar *,.mobile-project-view *{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.mobile-rotate-overlay{background:#000!important}.mobile-rotate-bar{background:#000!important;border-bottom-color:#fff!important}.mobile-project-view button{border:2px solid currentColor!important}}
