@font-face{font-family:Karla Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/karla-latin-ext-wght-normal.Dq0rrjgs.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/karla-latin-wght-normal.C3-ma4ov.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#121212;--fg:#eee;--panel-bg:#eaeaea;--panel-fg:#121212;--link:#1a1a1a;--social:#7e7e7e;--social-hover:#e6e6e6;--close:#a5a5a5;--font:"BBH Bogle", system-ui, sans-serif;--fs-title:3rem;--fs-statement:5rem;--ease:cubic-bezier(.2, 0, .13, 1);--dur:1s;--pad-x:50px;--gutter:24px}@media (width<=1024px){:root{--fs-title:2rem;--fs-statement:4rem;--pad-x:24px}}@media (width<=600px){:root{--fs-title:1.5rem;--fs-statement:clamp(1.75rem, 8.5vw, 3rem)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}body{background-color:var(--bg);color:var(--fg);font-family:var(--font);text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}img,video{max-width:100%;display:block}:focus-visible{outline-offset:4px;outline:2px solid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{position:relative}.hero{z-index:5;pointer-events:none;position:absolute;inset:0}.hero__sticky{justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0}.hero__image{object-fit:contain;width:auto;height:30vh}.parallax{z-index:1;height:150vh;position:relative}.parallax__sticky{height:100vh;position:sticky;top:0;overflow:hidden}.parallax__layer{will-change:transform;transform:translateX(var(--pan,0px)) scale(var(--scale,1));justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.parallax__layer img{object-fit:contain;width:auto;max-width:none;height:calc(100vh + 30px)}@media (width<=700px){.parallax__layer img{height:62vh}}.reel{z-index:2;background-color:var(--bg);padding:12vh var(--pad-x);position:relative}.reel__button{width:min(1100px,90vw);color:var(--fg);cursor:pointer;aspect-ratio:16/9;background:0 0;border:0;margin:0 auto;padding:0;display:block;position:relative;overflow:hidden}.reel__button img{object-fit:cover;width:100%;height:100%}.reel__placeholder{border:1px solid var(--social);place-items:center;width:100%;height:100%;display:grid}.reel__play{letter-spacing:.08em;text-transform:uppercase;transition:background .4s var(--ease);background:#00000040;place-items:center;font-size:clamp(1.25rem,3vw,2.5rem);display:grid;position:absolute;inset:0}.reel__button:hover .reel__play{background:#0000000d}.about{z-index:2;min-height:120vh;padding:18vh var(--pad-x) 14vh;margin-top:-50vh;font-size:20px;position:relative}@media (width<=600px){.about{min-height:0;padding:14vh var(--pad-x) 8vh}.about__bio{font-size:1.05rem}.contact{padding:6vh var(--pad-x) 8vh}}.about__inner{max-width:950px;margin:0 auto}.about__statement{font-family:BBH Bartle,system-ui,sans-serif;font-size:var(--fs-statement);margin:0 0 1.5em;font-weight:400;line-height:1.05}.about__bio{text-align:left;color:#c8c8c8;font-family:Mozilla Text,system-ui,sans-serif;font-size:1.25rem;line-height:1.6}.about__bio p{margin:0 0 1em}.about__clients{color:#c8c8c8;flex-wrap:wrap;justify-content:center;gap:.5em 1.5em;margin:2em 0 0;padding:0;font-style:italic;list-style:none;display:flex}.work{z-index:10;width:100%;min-height:100vh;padding:var(--gutter) var(--pad-x) 14vh;background-color:var(--panel-bg);color:var(--panel-fg);text-align:left;position:relative;box-shadow:0 -100px 50px #0000001a}.work__heading{margin:0 0 1em;font-weight:500}.work__item{margin:0 0 .25em}.work__link{color:var(--link);font-size:var(--fs-title);transition:opacity .5s var(--ease);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:inherit;font-weight:500;text-decoration:none;display:inline}.work__link:hover,.work__link:focus-visible{opacity:.3}.work__year{display:block}.work__desc{display:none}.work__layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:4vw;display:grid}.work__list{margin:0;padding:0;list-style:none}.work__preview{aspect-ratio:16/9;width:100%;position:sticky;top:14vh}.work__preview-item{opacity:0;transition:opacity .45s var(--ease);pointer-events:none;position:absolute;inset:0}.work__preview-item[data-active]{opacity:1}.work__preview-item img{object-fit:cover;width:100%;height:100%}.work__preview-text{background:#0000000a;flex-direction:column;justify-content:center;height:100%;margin:0;padding:1.5rem;font-size:1.05rem;line-height:1.5;display:flex}.work__preview-text em{color:var(--social);margin-top:.6em;display:block}.contact{z-index:10;background-color:var(--panel-bg);color:var(--panel-fg);padding:8vh var(--pad-x) 14vh;text-align:left;border-top:1px solid #0000001f;position:relative}.contact__inner{max-width:950px}.contact__heading{font-size:var(--fs-title);margin:0 0 .5em;font-weight:500}.contact__email{color:var(--link);cursor:crosshair;border-bottom:1px solid;font-size:clamp(1.25rem,3vw,2rem);text-decoration:none}.contact__email:hover{opacity:.4}.contact__form{gap:1rem;max-width:560px;margin-top:3rem;display:grid}.contact__form label{margin-bottom:.35rem;font-size:.9rem;display:block}.contact__form input,.contact__form textarea{width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000004d;border-radius:0;padding:.7rem .8rem}.contact__form textarea{resize:vertical;min-height:9rem}.contact__form button{font:inherit;border:1px solid var(--panel-fg);background:var(--panel-fg);color:var(--panel-bg);cursor:crosshair;transition:opacity .3s var(--ease);justify-self:start;padding:.7rem 2rem;font-weight:500}.contact__form button:hover{opacity:.7}.socials{justify-content:space-between;gap:var(--gutter);bottom:var(--gutter);right:var(--gutter);z-index:40;mix-blend-mode:difference;display:flex;position:fixed}.socials a{color:var(--social);text-decoration:none}.socials a:hover,.socials a:focus-visible{color:var(--social-hover)}@media (width<=600px){.work__desc{color:#464646;max-width:34ch;margin:.35em 0 1.4em;font-size:.95rem;line-height:1.45;display:block}.work__desc em{margin-top:.35em;display:block}.work__layout{grid-template-columns:1fr;gap:0}.work__preview{display:none}.work{min-height:0}.socials{justify-content:flex-end;gap:var(--gutter);padding:var(--gutter) var(--pad-x);background-color:var(--bg);mix-blend-mode:normal;flex-direction:row;position:static}}.modal{color:var(--fg);background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:0;overflow:visible}.modal::backdrop{animation:overlay-in var(--dur) var(--ease) forwards;background-color:#000}.modal[data-closing]::backdrop{animation:overlay-out var(--dur) var(--ease) .5s forwards}.modal__body{animation:body-in var(--dur) var(--ease) var(--dur) both;overscroll-behavior:contain;max-height:96vh;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal__caption{text-align:left;max-width:60ch;color:var(--fg);margin:1.5rem 0 0}.modal__title{margin:0 0 .2em;font-size:1.5rem;font-weight:500}.modal__meta{color:var(--close);margin:0 0 .9em;font-style:italic}.modal__desc{margin:0;line-height:1.55}.modal__credits{color:var(--close);margin:.9em 0 0;padding:0;font-size:.95rem;list-style:none}@media (width<=600px){.modal__caption{padding:0 var(--gutter);font-size:.95rem}.modal__title{font-size:1.2rem}}.modal[data-closing] .modal__body{animation:body-out .5s var(--ease) forwards}@keyframes overlay-in{0%{transform:translateY(-100vh)}to{transform:translateY(0)}}@keyframes overlay-out{0%{transform:translateY(0)}to{transform:translateY(100vh)}}@keyframes body-in{0%{opacity:0}to{opacity:1}}@keyframes body-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.modal::backdrop,.modal[data-closing]::backdrop,.modal__body,.modal[data-closing] .modal__body{animation-duration:.01ms;animation-delay:0s}.parallax__layer{transform:none!important}.work__preview-item{transition-duration:.01ms}}.modal__close{color:var(--close);text-align:center;cursor:crosshair;font:inherit;background:0 0;border:0;width:100%;margin-top:50px}.modal__close:hover{opacity:.5}.video{aspect-ratio:16/9;border:0;width:60vw;margin:0 auto}.video--square{aspect-ratio:1;width:min(45vw,56vh)}.video-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:1vw;width:90vw;display:grid}.video-row>*{aspect-ratio:1;width:100%;min-width:0;height:auto}@media (width<=1024px){.video{width:80vw}.video--square{width:min(80vw,56vh)}}@media (width<=600px){.video{width:95vw}.video--square{width:min(95vw,56vh)}}.project-page{background:var(--bg);min-height:100vh;color:var(--fg);padding:8vh var(--pad-x);text-align:left}.project-page__inner{max-width:1100px;margin:0 auto}.project-page__title{font-size:var(--fs-title);margin:0 0 .2em}.project-page__meta{color:var(--social);margin:0 0 2em}.project-page__body{max-width:60ch;margin-top:2em;line-height:1.6}.project-page__credits{color:var(--social);padding:0;list-style:none}.project-page__back{color:var(--social);margin-top:3em;text-decoration:none;display:inline-block}.project-page__back:hover{color:var(--fg)}.project-page .video,.project-page .video--square{width:100%;max-width:1100px}.project-page .video-row{width:100%}.nav{z-index:40;mix-blend-mode:difference;letter-spacing:.01em;font-size:.95rem;position:fixed}.nav a{color:var(--social);transition:color .35s var(--ease), opacity .35s var(--ease);text-decoration:none}.nav a:hover,.nav a:focus-visible{color:var(--social-hover)}.nav--label{top:var(--gutter);right:var(--gutter);color:var(--social);text-align:right}.nav__current{transition:opacity .35s var(--ease);pointer-events:none;position:absolute;top:0;right:0}.nav--label .nav__list{opacity:0;pointer-events:none;transition:opacity .35s var(--ease), transform .35s var(--ease);flex-direction:column;align-items:flex-end;gap:6px;display:flex;transform:translateY(-4px)}.nav--label:hover .nav__current,.nav--label:focus-within .nav__current{opacity:0}.nav--label:hover .nav__list,.nav--label:focus-within .nav__list{opacity:1;pointer-events:auto;transform:none}.nav--label a[data-active]{color:var(--social-hover)}@media (width<=600px){.nav{font-size:.85rem}}
