@font-face{font-family:Epilogue-Bold;src:url(/fonts/Epilogue-Bold.woff2) format("woff2"),url(/fonts/Epilogue-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Epilogue-Black;src:url(/fonts/Epilogue-Black.woff2) format("woff2"),url(/fonts/Epilogue-Black.woff) format("woff");font-weight:900;font-display:swap;font-style:normal}:root[data-theme=light]{color-scheme:light;--surface: #cbcac7;--surface-sunk: #c2c1bd;--ink: #1a1917;--ink-muted: #4c4a45;--ink-faint: #6f6b64;--ink-dim: #9a968f;--line: color-mix(in srgb, var(--ink) 14%, transparent);--line-strong: color-mix(in srgb, var(--ink) 30%, transparent);--signal: #b2470d;--wash-one: #c1c0bb;--wash-two: #b3b0aa;--wash-three: #cdccc8;--particle-low: #8f8c86;--particle-mid: #c2551a;--particle-high: #1a1917;--particle-gain: .42;--particle-desaturate: .92;--particle-tint: #ffe2cd}:root,:root[data-theme=dark]{color-scheme:dark;--surface: #181715;--surface-sunk: #131211;--ink: #f0eeea;--ink-muted: #b0a9a0;--ink-faint: #7d766e;--ink-dim: #57524c;--line: color-mix(in srgb, var(--ink) 16%, transparent);--line-strong: color-mix(in srgb, var(--ink) 34%, transparent);--signal: #ff8f4a;--wash-one: #241f1b;--wash-two: #2c2622;--wash-three: #1b1815;--particle-low: #4a2311;--particle-mid: #ff8a3c;--particle-high: #f7f3ef;--particle-gain: .95;--particle-desaturate: .88;--particle-tint: #ffcfae}html{overflow-x:clip}body{font-family:Epilogue-Bold;margin:0;position:relative;display:flex;justify-content:center;align-items:center;background-color:var(--surface);color:var(--ink);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}::selection{background:color-mix(in srgb,var(--signal) 28%,var(--surface));color:var(--ink)}:focus-visible{outline:1px solid var(--signal);outline-offset:3px}#threeJSCanvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}h1,h2,h3,h4,h5,h6{color:var(--ink);margin:0;font-weight:400;letter-spacing:-.02em;line-height:1.05}h1{font-size:clamp(4rem,2rem + 9vw,9rem)}h2{font-size:clamp(1.75rem,1rem + 2.4vw,3.25rem)}h3{font-size:clamp(1.5rem,1rem + 1.6vw,2.5rem)}h4{font-size:clamp(1.25rem,.9rem + 1.1vw,1.875rem)}h5{font-size:clamp(1.05rem,.9rem + .5vw,1.35rem)}h6{font-size:.95rem}p{color:var(--ink-muted);font-size:clamp(.875rem,.8rem + .25vw,1.0625rem);line-height:1.6;margin:0}a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:.25em;transition:text-decoration-color .25s}a:hover{text-decoration-color:var(--signal)}.Label,.NavLink,.attractor-option,.viewer-control,.ProjectRepo,.WorkHeading,.JobRole,.JobDates,.SiteFooter p,.SiteFooter a{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase}.Label{color:var(--ink-faint)}[hidden]{display:none!important}.scroll-container{min-height:100vh;width:100%;perspective:1px}.NavRoot{position:fixed;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.75rem 5vw;pointer-events:none}.NavRoot>*{pointer-events:auto}.NavMark{font-family:Epilogue-Black;font-size:1.125rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.NavPanel{display:flex;align-items:center;gap:2rem}.NavLink{position:relative;color:var(--ink-faint);text-decoration:none;padding:.25rem 0;transition:color .25s}.NavLink:hover,.NavLink:focus-visible{color:var(--ink)}.NavLink[aria-current=page]{color:var(--ink)}.NavLink:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .25s}.NavLink[aria-current=page]:after{transform:scaleX(1)}.ThemeToggle{appearance:none;background:none;border:0;padding:.4rem;display:flex;align-items:center;cursor:pointer;color:var(--ink-faint);transition:color .25s}.ThemeToggle:hover,.ThemeToggle:focus-visible{color:var(--ink)}.ThemeDisc{width:12px;height:12px;border-radius:50%;border:1px solid currentColor;background:linear-gradient(to right,currentColor 50%,transparent 50%)}@media not (min-width:800px){.NavRoot{padding:1.25rem 5vw;gap:.75rem}.NavPanel{gap:.875rem}}.ViewerControls{display:flex;flex-wrap:wrap;gap:.4rem 2.25rem;opacity:.55;transition:opacity .3s}.ViewerControls:hover,.ViewerControls:focus-within{opacity:1}.viewer-control{display:flex;align-items:center;gap:.75rem;color:var(--ink-muted);white-space:nowrap}.viewer-control-name{color:var(--ink-faint)}.viewer-control output{font-variant-numeric:tabular-nums;text-align:right;letter-spacing:.08em;color:var(--ink)}.viewer-control input[type=range]{appearance:none;width:clamp(4.5rem,9vw,8rem);height:10px;background:transparent;cursor:pointer}.viewer-control input[type=range]::-webkit-slider-runnable-track{height:10px;background:linear-gradient(var(--line-strong) 0 0) no-repeat center / 100% 1px}.viewer-control input[type=range]::-moz-range-track{height:10px;background:linear-gradient(var(--line-strong) 0 0) no-repeat center / 100% 1px}.viewer-control input[type=range]::-webkit-slider-thumb{appearance:none;width:8px;height:8px;margin-top:1px;border-radius:50%;border:0;background:var(--signal);cursor:pointer}.viewer-control input[type=range]::-moz-range-thumb{width:8px;height:8px;border-radius:50%;border:0;background:var(--signal);cursor:pointer}@media not (min-width:900px){.ViewerControls{gap:.4rem 1.25rem}}.LoaderLogoSection{height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--surface)}.LoadingText{visibility:hidden;font-family:Epilogue-Black;font-size:clamp(4rem,2rem + 9vw,9rem);line-height:1.05;letter-spacing:-.04em;position:absolute;left:50%;margin:0;transform:translate(-50%);clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);color:var(--ink);z-index:1}.LoadingText .char{transform:translateY(110%)}.LandingPageSection{min-height:100vh;position:relative;box-sizing:border-box}.LandingStage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(46rem,44vw);height:min(34rem,66vh)}@media not (min-width:900px){.LandingStage{width:76vw;height:38vh}}.LandingLead{position:absolute;left:5vw;top:9.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.125rem;max-width:min(32rem,62vw)}.MyName{font-family:Epilogue-Black;font-size:clamp(2.75rem,1rem + 5.4vw,5.5rem);letter-spacing:-.045em;line-height:.92}.LandingRole{font-size:clamp(.8125rem,.75rem + .3vw,.9375rem);max-width:24ch}.LandingBand{position:absolute;left:5vw;right:5vw;bottom:4.25rem;display:flex;align-items:center;justify-content:space-between;gap:3rem}@media not (min-width:900px){.LandingLead{top:6.75rem;max-width:none}.LandingBand{bottom:1.875rem;flex-direction:column;align-items:stretch;gap:0}.attractor-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .75rem}.attractor-option{min-height:2.5rem}.ViewerControls{flex-direction:column;gap:0}.viewer-control{min-height:2.5rem}.viewer-control input[type=range]{width:auto;flex-grow:1}.viewer-control-name{width:4.25rem}}.attractor-switch{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.attractor-option{appearance:none;background:none;border:0;padding:.2rem 0;font-family:inherit;color:var(--ink-faint);cursor:pointer;position:relative;transition:color .25s}.attractor-option:hover,.attractor-option:focus-visible{color:var(--ink)}.attractor-option:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .25s}.attractor-option[aria-pressed=true]{color:var(--ink)}.attractor-option[aria-pressed=true]:after{transform:scaleX(1)}.ProjectSection{min-height:100vh;position:relative;box-sizing:border-box}.ProjectStage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(50rem,54vw);height:min(32rem,58vh)}.ProjectStage img{width:100%;height:100%;object-fit:contain}.ProjectStage.is-model img{visibility:hidden}@media not (min-width:900px){.ProjectStage{width:min(19rem,74vw);height:30vh}}.ProjectCorners{position:absolute;inset:8.5rem 5vw 4.5rem;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:space-between;gap:2rem 3rem;pointer-events:none}.ProjectCorner{pointer-events:auto;max-width:22rem;display:flex;flex-direction:column;align-items:flex-start;gap:.875rem}.ProjectCorner:nth-child(2n){justify-self:end;align-items:flex-end;text-align:right}.ProjectPick{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.ProjectCorner:nth-child(2n) .ProjectPick,.ProjectCorner:nth-child(2n) .ProjectDetail{align-items:flex-end}.ProjectName{font-family:Epilogue-Black;font-size:clamp(1.125rem,.9rem + .7vw,1.375rem);letter-spacing:-.03em;line-height:1;color:var(--ink-faint);border-bottom:1px solid transparent;padding-bottom:.3rem;transition:color .25s,border-color .25s}.ProjectPick:hover .ProjectName,.ProjectPick:focus-visible .ProjectName{color:var(--ink)}.ProjectCorner.is-active .ProjectName{font-size:clamp(1.75rem,1rem + 2vw,2.375rem);letter-spacing:-.035em;color:var(--ink);border-bottom-color:var(--signal)}.ProjectDetail{display:none;flex-direction:column;align-items:flex-start;gap:.875rem}.ProjectCorner.is-active .ProjectDetail{display:flex}.ProjectBlurb{font-size:.84375rem;line-height:1.62;max-width:40ch}.ProjectRepo{color:var(--ink-muted);text-decoration:none;transition:color .25s}.ProjectRepo:hover{color:var(--signal)}@media not (min-width:900px){.ProjectCorners{inset:6.75rem 5vw 3.25rem;gap:1.5rem 1rem}.ProjectCorner{max-width:none}.ProjectPick{min-height:2.75rem;justify-content:center}.ProjectBlurb{font-size:.8125rem}}.ProjectSection.is-phone{display:flex;flex-direction:column;gap:1.25rem;padding:6rem 5vw 3rem}.ProjectSection.is-phone .ProjectTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}.ProjectSection.is-phone .ProjectTab{display:flex;justify-content:center}.ProjectSection.is-phone .ProjectPick{min-height:2.75rem;justify-content:center}.ProjectSection.is-phone .ProjectTab.is-active .ProjectName{color:var(--ink);border-bottom-color:var(--signal)}.ProjectSection.is-phone .ProjectStage{position:static;transform:none;width:100%;height:auto;flex:1 1 0;min-height:11rem}.ProjectSection.is-phone .ProjectDetail{display:flex;align-items:flex-start;gap:.875rem}.ProjectSection.is-phone .ProjectBlurb{font-size:.8125rem;max-width:none}.WorkSection{min-height:160vh;position:relative;box-sizing:border-box}.WorkStage{position:sticky;top:0;height:100vh}.WorkRail{position:absolute;left:5vw;top:0;bottom:0;width:min(29rem,46vw);padding:9.75rem 0 6rem;box-sizing:border-box}.WorkHeading{margin:0 0 2.5rem;color:var(--ink-dim)}.JobList{list-style:none;margin:0;padding:0 0 0 2rem;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:22vh}.Job{position:relative}.Job:before{content:"";position:absolute;left:-2rem;top:.9rem;width:.8125rem;height:1px;background:var(--line-strong)}.Job.is-open:before{left:-2.3rem;top:.65rem;width:9px;height:9px;border-radius:50%;background:var(--signal)}.JobToggle{appearance:none;background:none;border:0;width:100%;padding:0;font:inherit;color:var(--ink-faint);cursor:pointer;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:baseline;gap:.625rem .75rem;text-align:left;transition:color .25s}.JobCompany{font-family:Epilogue-Black;font-size:clamp(1.25rem,.9rem + 1vw,1.625rem);letter-spacing:-.03em;color:var(--ink-faint);transition:color .25s,font-size .25s}.Job.is-open .JobCompany{font-size:clamp(1.75rem,1rem + 2.2vw,2.75rem);letter-spacing:-.04em;color:var(--ink)}.JobDates{grid-column:2;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.JobRole{grid-column:1 / -1}.Job.is-open .JobRole{color:var(--ink-muted)}.Job.is-open .JobDates{color:var(--signal)}.JobDetail{padding:1rem 0 0;max-width:44ch}@media not (min-width:900px){.WorkRail{left:5vw;right:5vw;width:auto;padding:6.75rem 0 4rem}.JobList{gap:18vh}.JobToggle{grid-template-columns:minmax(0,1fr)}.JobDates{grid-column:1;text-align:left}}.SiteFooter{padding:2rem 5vw 4.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem 2rem}.SiteFooter p,.SiteFooter a{letter-spacing:.12em;color:var(--ink-faint)}.BackgroundAnimation{position:absolute;top:0;left:0;height:50vh;width:50vw;display:flex;align-items:center;z-index:-9;border-radius:100%;overflow:hidden;filter:blur(64px)}.SvgContainer{width:100%;height:100%;position:relative}.BackgroundAnimation svg{position:absolute;top:0;left:0;width:100%;height:100%}#circleOne{--color-stop-1: var(--wash-one);--color-stop-2: var(--wash-two);--color-stop-3: var(--wash-three)}#circleTwo{--color-stop-1: var(--wash-two);--color-stop-2: var(--wash-three);--color-stop-3: var(--wash-one)}#circleThree{--color-stop-1: var(--wash-three);--color-stop-2: var(--wash-one);--color-stop-3: var(--wash-two)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}
