:root{--ink:#0a0a0a;--soft-ink:#151515;--paper:#efeee9;--muted:#858580;--line-dark:#efeee92e;--line-light:#0a0a0a38;--signal:#9bd0ff;--page:min(88vw, 1560px);--sans:"Helvetica Neue", "Neue Haas Grotesk Text Pro", Arial, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}img,video{max-width:100%}figure{margin:0}a:focus-visible{outline:1px solid var(--signal);outline-offset:5px}::selection{background:var(--signal);color:var(--ink)}.page-shell{width:var(--page);margin-inline:auto}.section-label,.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:10px;line-height:1.2}.portfolio-header{z-index:5;letter-spacing:-.01em;grid-template-columns:1fr auto 1fr;align-items:center;height:108px;font-size:13px;font-weight:600;display:grid;position:relative}.work-hero .portfolio-header{position:absolute;left:50%;transform:translate(-50%)}.wordmark{justify-self:start}.portfolio-header nav{gap:clamp(30px,4vw,64px);display:flex}.portfolio-header nav a{opacity:.55;transition:opacity .22s;position:relative}.portfolio-header nav a:hover,.portfolio-header nav a.active{opacity:1}.portfolio-header nav a.active:after{content:"";background:currentColor;height:1px;position:absolute;bottom:-8px;left:0;right:0}.header-code{opacity:.5;font-family:var(--mono);letter-spacing:.08em;justify-self:end;font-size:9px}.header-dark{color:var(--paper)}.header-light{color:var(--ink)}.work-hero{isolation:isolate;background:#060606;min-height:82svh;position:relative;overflow:hidden}.work-hero-video{z-index:-3;object-fit:cover;filter:brightness(.66)contrast(1.08)saturate(.78);width:100%;height:100%;animation:16s ease-in-out infinite alternate hero-breathe;position:absolute;inset:0;transform:scale(1.015)}.work-hero-shade{z-index:-2;background:linear-gradient(90deg,#0000003d,#0000 62%),linear-gradient(#0000004d,#0000 38%,#000000d1);position:absolute;inset:0}.work-hero-title{position:absolute;bottom:clamp(120px,19vh,205px);left:50%;transform:translate(-50%)}.work-hero-title .eyebrow{color:#efeee99e}.work-hero-title h1{letter-spacing:-.045em;white-space:nowrap;margin:18px 0 0;font-size:clamp(68px,10.7vw,176px);font-weight:300;line-height:.88}.work-hero-footer{color:#efeee9ad;border-top:1px solid #efeee9b3;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-top:17px;font-size:12px;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.work-hero-footer p{margin:0}.work-hero-footer a{color:var(--paper);justify-self:end}.work-intro{grid-template-columns:.55fr 1.45fr;gap:60px;padding-block:clamp(120px,18vw,280px);display:grid}.work-intro h2{letter-spacing:-.048em;max-width:1020px;margin:0;font-size:clamp(38px,5vw,78px);font-weight:300;line-height:1.02}.work-intro em{color:var(--muted);font-style:normal}.category-index{z-index:4;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:#0a0a0aeb;grid-template-columns:repeat(3,1fr);display:grid;position:sticky;top:0}.category-index a{border-right:1px solid var(--line-dark);color:#efeee9d1;justify-content:space-between;padding:18px 20px;font-size:13px;transition:color .22s,background .22s;display:flex}.category-index a:last-child{border-right:0}.category-index a:hover{color:var(--paper);background:#efeee909}.category-index span{color:var(--muted);font-family:var(--mono);font-size:9px}.work-category{border-bottom:1px solid var(--line-dark);padding-block:clamp(100px,13vw,200px);scroll-margin-top:58px}.category-heading{grid-template-columns:.52fr 1fr .75fr;align-items:end;gap:50px;margin-bottom:clamp(65px,8vw,120px);display:grid}.category-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(48px,6.5vw,102px);font-weight:300;line-height:.9}.category-heading>p:last-child{max-width:360px;color:var(--muted);margin:0 0 4px;font-size:14px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(60px,8vw,120px) 5px;display:grid}.work-card{min-width:0}.card-media{aspect-ratio:16/10;background:var(--soft-ink);border:1px solid #efeee917;position:relative;overflow:hidden}.card-media img,.card-media video{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.75,.25,1),filter .5s;display:block}.card-media-portrait img{object-position:center 45%}.card-media-moon img{object-position:center 47%}.card-media-deep-motion video{object-position:center 48%}.work-card:hover .card-media img,.work-card:hover .card-media video{filter:contrast(1.03)saturate(1.04);transform:scale(1.025)}.media-badge{color:#efeee9a6;font-family:var(--mono);letter-spacing:.08em;font-size:8px;position:absolute;bottom:12px;left:13px}.card-meta{grid-template-columns:1fr auto;gap:24px;padding-top:14px;display:grid}.card-meta h3,.card-meta p{margin:0}.card-meta h3{letter-spacing:-.025em;font-size:17px;font-weight:500}.card-meta p,.card-meta>span{color:var(--muted);margin-top:3px;font-size:11px}.card-meta>span{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:8px}.systems-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-visual{font-family:var(--mono);background-color:#111;background-image:linear-gradient(#efeee90f 1px,#0000 1px),linear-gradient(90deg,#efeee90f 1px,#0000 1px);background-size:44px 44px;flex-direction:column;justify-content:space-between;padding:18px;display:flex}.system-kicker,.system-foot{z-index:2;color:#efeee98c;letter-spacing:.08em;font-size:8px;position:relative}.system-visual strong{font-family:var(--sans);letter-spacing:-.07em;align-self:center;font-size:clamp(68px,8vw,126px);font-weight:200;line-height:1}.visual-mobile{background-color:#0c1215}.visual-realtime{background-color:#15110e}.system-rings{place-items:center;display:grid;position:absolute;inset:20%}.system-rings i{aspect-ratio:1;border:1px solid #9bd0ff47;border-radius:50%;width:100%;position:absolute}.system-rings i:nth-child(2){width:68%}.system-rings i:nth-child(3){background:#9bd0ff21;width:34%;box-shadow:0 0 35px #9bd0ff26}.work-close{grid-template-columns:.52fr 1.2fr .5fr;align-items:start;gap:50px;padding-block:clamp(120px,18vw,270px);display:grid}.work-close>p:nth-child(2){letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(29px,3.6vw,56px);font-weight:300;line-height:1.05}.work-close a{border-bottom:1px solid;justify-self:end;padding-bottom:5px;font-size:13px}.portfolio-footer{border-top:1px solid var(--line-dark);min-height:300px;color:var(--paper);grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;padding-block:50px;font-size:12px;display:grid}.portfolio-footer>div{flex-direction:column;gap:8px;display:flex}.portfolio-footer strong{letter-spacing:-.045em;font-size:clamp(20px,2.5vw,38px);font-weight:400}.portfolio-footer p{color:var(--muted);margin:0}.portfolio-footer>a{justify-self:end}.info-page{background:var(--paper);min-height:100vh;color:var(--ink)}.info-hero{grid-template-columns:.9fr 1fr;align-items:center;gap:clamp(70px,10vw,170px);padding-block:clamp(75px,10vw,150px) clamp(130px,18vw,280px);display:grid}.info-intro h1{letter-spacing:-.06em;margin:30px 0 0;font-size:clamp(52px,7.5vw,118px);font-weight:300;line-height:.89}.info-lede{color:#555550;max-width:650px;margin:clamp(45px,6vw,85px) 0 0;font-size:clamp(17px,1.45vw,22px);line-height:1.55}.info-links{flex-wrap:wrap;gap:24px;margin-top:44px;font-size:12px;display:flex}.info-links a{border-bottom:1px solid #0a0a0a66;padding-bottom:4px}.info-portrait{justify-self:end;width:min(100%,620px)}.info-portrait img{width:100%;display:block}.info-portrait figcaption,.info-landscape figcaption{color:#6f6f69;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:20px;padding-top:12px;font-size:8px;display:flex}.info-statement{border-top:1px solid var(--line-light);grid-template-columns:.52fr 1.48fr;gap:60px;padding-block:clamp(120px,16vw,240px);display:grid}.info-statement>p:last-child{letter-spacing:-.052em;max-width:1080px;margin:0;font-size:clamp(35px,5.2vw,82px);font-weight:300;line-height:1.01}.info-landscape img{object-fit:cover;width:100%;min-height:55vw;display:block}.info-landscape figcaption{padding-bottom:16px}.info-record,.info-capabilities,.info-recognition{border-top:1px solid var(--line-light);padding-block:clamp(110px,15vw,230px)}.info-section-heading{grid-template-columns:.52fr 1.48fr;gap:60px;margin-bottom:clamp(70px,9vw,130px);display:grid}.info-section-heading h2,.info-capabilities h2{letter-spacing:-.055em;margin:0;font-size:clamp(45px,6vw,92px);font-weight:300;line-height:.95}.experience-list{border-top:1px solid var(--line-light)}.experience-list article{border-bottom:1px solid var(--line-light);grid-template-columns:.52fr 1fr .48fr;align-items:baseline;gap:50px;padding-block:24px;display:grid}.experience-list span{color:#70706a;font-family:var(--mono);font-size:9px}.experience-list h3,.experience-list p{margin:0}.experience-list h3{letter-spacing:-.035em;font-size:clamp(18px,2vw,29px);font-weight:400}.experience-list p{color:#5c5c57;justify-self:end;font-size:13px}.info-capabilities{grid-template-columns:.85fr 1.15fr;gap:clamp(70px,11vw,180px);display:grid}.info-capabilities h2{margin-top:25px}.capability-columns{grid-template-columns:repeat(3,1fr);align-self:end;gap:40px;display:grid}.capability-columns span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.capability-columns p{color:#595954;margin:25px 0 0;font-size:13px;line-height:1.8}.info-recognition{grid-template-columns:.52fr 1.48fr;gap:60px;display:grid}.info-recognition>p:last-child{letter-spacing:-.045em;max-width:900px;margin:0;font-size:clamp(28px,4vw,62px);font-weight:300;line-height:1.05}.footer-light{border-top-color:var(--line-light);color:var(--ink)}.footer-light p{color:#676762}@keyframes hero-breathe{0%{transform:scale(1.015)}to{transform:scale(1.055)}}@media (width<=1000px){:root{--page:min(91vw, 820px)}.work-intro,.category-heading,.work-close,.info-hero,.info-statement,.info-section-heading,.info-capabilities,.info-recognition{grid-template-columns:1fr}.work-intro,.category-heading,.work-close,.info-statement,.info-section-heading,.info-recognition{gap:42px}.category-heading>p:last-child{max-width:500px}.systems-grid{grid-template-columns:1fr 1fr}.work-close a{justify-self:start}.info-hero{align-items:start}.info-intro{max-width:760px}.info-portrait{width:72%}.info-capabilities{gap:100px}.capability-columns{max-width:760px}}@media (width<=650px){:root{--page:calc(100vw - 36px)}.portfolio-header{grid-template-columns:1fr auto;align-items:start;height:78px;padding-top:23px}.portfolio-header nav{gap:20px;font-size:11px}.wordmark{font-size:11px}.header-code{display:none}.work-hero{min-height:78svh}.work-hero-title{bottom:152px}.work-hero-title h1{white-space:normal;font-size:clamp(54px,15vw,82px);line-height:.92}.work-hero-footer{grid-template-columns:1fr;gap:8px}.work-hero-footer p:nth-child(2){display:none}.work-hero-footer a{justify-self:start}.work-intro{padding-block:105px}.work-intro h2{font-size:37px}.category-index a{padding:15px 10px;font-size:11px}.category-index span{display:none}.work-category{padding-block:95px}.category-heading{margin-bottom:60px}.category-heading h2{font-size:51px}.work-grid,.systems-grid{grid-template-columns:1fr;gap:62px}.card-meta{grid-template-columns:1fr;gap:0}.card-meta>span{margin-top:8px}.work-close{padding-block:120px}.work-close>p:nth-child(2){font-size:34px}.portfolio-footer{grid-template-columns:1fr;align-content:end;gap:25px;min-height:300px}.portfolio-footer>a{justify-self:start}.info-hero{gap:80px;padding-block:65px 130px}.info-intro h1{font-size:54px}.info-lede{font-size:17px}.info-portrait{width:92%}.info-statement>p:last-child{font-size:36px}.info-landscape img{min-height:78vw}.experience-list article{grid-template-columns:1fr;gap:7px;padding-block:22px}.experience-list p{justify-self:start}.capability-columns{grid-template-columns:1fr;gap:55px}.info-recognition>p:last-child{font-size:34px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-hero-video,.card-media video{display:none}.work-hero,#motion .work-card:first-child .card-media{background:url(/images/astro/milky-way-motion-poster.jpg) 50%/cover no-repeat}#motion .work-card:last-child .card-media{background:url(/images/astro/deep-sky-motion-poster.jpg) 50%/cover no-repeat}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
