@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/bricolage-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fog: #E7E9E4;--paper: #F5F6F2;--ink: #1B1E21;--ink-2: #272B2F;--slate: #5C646B;--mist: #A7AEB3;--amber: #E5A83B;--sans: "Bricolage Grotesque", system-ui, sans-serif;--gutter: clamp(16px, 4vw, 56px);--t-display: clamp(3rem, 8vw, 7.5rem);--t-h2: clamp(2.3rem, 5.2vw, 4.75rem);--t-h3: clamp(1.5rem, 2.4vw, 2.1rem);--t-lead: clamp(1.5rem, 2.8vw, 2.7rem);--t-body: clamp(1.05rem, 1.2vw, 1.2rem);--t-sub: clamp(1.1rem, 1.45vw, 1.35rem);--t-small: .95rem;--ease-out: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--fog);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.5;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:6px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3{font-weight:700;letter-spacing:-.04em;line-height:.96;text-wrap:balance}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3);letter-spacing:-.03em;line-height:1.04}p{text-wrap:pretty}.bar{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--gutter);color:var(--fog);transition:color .35s ease,background-color .35s ease,box-shadow .35s ease,opacity .8s ease}body:not(.is-loaded) .bar{opacity:0}.bar.is-solid[data-tone=dark]{background:#1b1e21f5;box-shadow:0 1px #ffffff0f}.bar[data-tone=light]{color:var(--ink)}.bar.is-solid[data-tone=light]{background:#e7e9e4f5;box-shadow:0 1px #1b1e2112}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.12rem;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}.eye{position:relative;width:12px;height:12px;border-radius:50%;background:var(--amber);flex:none}.eye:after{content:"";position:absolute;left:50%;top:15%;width:3px;height:70%;translate:-50% 0;border-radius:3px;background:var(--ink)}.bar nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px);font-size:.95rem}.bar nav a{text-decoration:none;opacity:.76;transition:opacity .2s}.bar nav a:hover{opacity:1}.bar-cta,.button{display:inline-flex;align-items:center;border-radius:99px;background:var(--amber);color:var(--ink);font-weight:600;text-decoration:none;transition:filter .2s ease}.bar-cta{padding:7px 16px}.bar nav .bar-cta{opacity:1}.bar-cta:hover,.button:hover{filter:brightness(1.07)}@media(max-width:640px){.bar nav a:not(.bar-cta){display:none}}.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;background:radial-gradient(55% 50% at 50% 88%,#33393E 0%,var(--ink) 70%);color:var(--fog);--p: 0}.hero-copy{position:relative;z-index:2;text-align:center;padding:clamp(100px,15vh,150px) var(--gutter) 0;display:grid;justify-items:center;gap:clamp(16px,2.2vh,24px);opacity:calc(1 - var(--p) * 1.8)}.hero h1{font-size:var(--t-display);letter-spacing:-.05em;line-height:.92;max-width:10ch}.hero-copy p{max-width:38ch;font-size:var(--t-sub);color:#e7e9e4b3}.hero-cat{position:relative;z-index:1;margin-top:clamp(20px,4vh,48px);height:70svh;aspect-ratio:900 / 1350;transform:translateY(24svh) scale(.95);opacity:0;transition:transform 1.6s var(--ease-out),opacity 1.1s ease}.hero-cat img{width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 40px 60px rgb(0 0 0 / .45))}.is-loaded .hero-cat{transform:translateY(calc(var(--p) * -14svh));opacity:1}.is-loaded .hero-cat.is-settled{transition:none}.hero-copy h1,.hero-copy p{transition:opacity 1s ease .25s,transform 1.2s var(--ease-out) .25s}body:not(.is-loaded) .hero-copy h1,body:not(.is-loaded) .hero-copy p{opacity:0;transform:translateY(16px)}body:not(.is-loaded) .hero-copy p{transition-delay:.45s}@media(max-width:700px){.hero-cat{height:56svh}}.intro{display:grid;gap:clamp(56px,15vh,150px);padding:clamp(120px,22vh,240px) var(--gutter);max-width:1200px;margin-inline:auto}.line{font-size:var(--t-lead);font-weight:500;letter-spacing:-.03em;line-height:1.1;max-width:22ch;opacity:.14;transform:translateY(18px);transition:opacity .6s ease,transform .7s var(--ease-out)}.line.is-lit{opacity:1;transform:none}.line:nth-child(2n){justify-self:end}.line-answer{font-size:var(--t-display);font-weight:700;letter-spacing:-.05em;line-height:.94;max-width:10ch;justify-self:start!important}.work{height:calc(100svh + var(--span, 6) * 40svh);background:var(--ink);color:var(--fog)}.work-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,110px);padding:0 var(--gutter);background:radial-gradient(40% 55% at 28% 55%,#2C3136 0%,var(--ink) 75%)}.work-art{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;height:min(62svh,580px)}.work-img{grid-area:1 / 1;width:auto;height:auto;max-width:92%;max-height:100%;object-fit:contain;filter:drop-shadow(0 40px 50px rgb(0 0 0 / .5));--f: 0;opacity:var(--f);transform:translateY(calc((1 - var(--f)) * 28px)) scale(calc(.94 + var(--f) * .06))}.jobs-window{position:relative;height:100svh;overflow:hidden;-webkit-mask-image:linear-gradient(transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(transparent 0,#000 22%,#000 78%,transparent 100%)}.jobs{position:relative;height:100%}.job{--f: 0;--s: 1;--lift: 0px;--clip: 100%;position:absolute;inset:0 0 auto;max-width:32rem;transform:translate3d(0,var(--y, 0px),0);clip-path:inset(0 -40px calc(100% - var(--clip)) -40px);opacity:calc(.34 + var(--f) * .66)}.job-when{color:var(--fog);font-size:var(--t-body);font-weight:500;opacity:.72;margin-bottom:14px}.job h3{font-size:clamp(2.3rem,4.2vw,4rem);letter-spacing:-.045em;line-height:.98;transform:scale(var(--s));transform-origin:left top}.job-what{margin-top:18px;color:var(--mist);font-size:var(--t-sub);line-height:1.42;transform:translateY(var(--lift));opacity:calc(var(--f) * var(--f))}@media(max-width:900px){.work-stage{grid-template-columns:1fr;grid-template-rows:27svh minmax(0,1fr);align-items:stretch;gap:0;padding:64px var(--gutter) 0;background:radial-gradient(70% 30% at 50% 22%,#2C3136 0%,var(--ink) 75%)}.work-art{height:100%;padding-block:8px 4px}.jobs-window{height:auto;-webkit-mask-image:linear-gradient(transparent 0,#000 7%,#000 72%,transparent 90%);mask-image:linear-gradient(transparent 0,#000 7%,#000 72%,transparent 90%)}.job-when{font-size:.95rem;margin-bottom:8px}.job h3{font-size:clamp(1.9rem,8.4vw,2.6rem)}.job-what{margin-top:12px;font-size:1.02rem}}.scroll-cue{position:absolute;left:50%;bottom:clamp(20px,4svh,36px);z-index:3;display:flex;align-items:center;gap:14px;height:60px;padding:0 24px 0 18px;border-radius:99px;font-size:1rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;background:color-mix(in srgb,currentColor 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 16%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translate(-50%,14px);transition:opacity .5s ease,transform .7s var(--ease-out);pointer-events:none}.is-pinned-now .scroll-cue{opacity:1;transform:translate(-50%)}.cue-wheel{position:relative;flex:none;width:24px;height:36px;margin-left:6px;border-radius:12px;box-shadow:inset 0 0 0 2px currentColor}.cue-wheel span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:currentColor;animation:cue-drift 1.8s cubic-bezier(.45,0,.2,1) infinite}.cue-label{opacity:.9}.cue-steps{display:flex;align-items:center;gap:6px;padding-left:14px;margin-left:2px;height:22px;border-left:1px solid color-mix(in srgb,currentColor 18%,transparent)}.cue-steps i{width:7px;height:7px;border-radius:4px;background:currentColor;opacity:.28;transition:width .5s var(--ease-out),opacity .4s ease}.cue-steps i.is-current{width:22px;opacity:1}@keyframes cue-drift{0%{transform:translateY(-2px);opacity:0}25%{opacity:1}70%{transform:translateY(11px);opacity:0}to{transform:translateY(11px);opacity:0}}@media(min-width:901px){.work .scroll-cue{left:25%}}.is-pinned-now:not(.has-more) .cue-wheel span{animation-play-state:paused;opacity:0}.projects:not(.is-pinned) .scroll-cue{display:none}@media(max-width:900px){.scroll-cue{height:50px;gap:10px;padding:0 18px 0 14px;font-size:.95rem}.cue-wheel{width:20px;height:30px;margin-left:2px}.cue-wheel span{top:6px}}.ai{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(32px,6vw,110px);row-gap:clamp(56px,9vh,100px);align-items:center;padding:clamp(120px,20vh,220px) var(--gutter) clamp(100px,16vh,180px)}.ai-copy{display:grid;gap:24px}.ai-copy h2{max-width:11ch}.ai-copy p{color:var(--slate);font-size:var(--t-sub);max-width:34ch}.ai-cat{width:min(100%,720px);aspect-ratio:1100 / 671;justify-self:center}.autodev,.review{display:grid;gap:14px;align-content:start;align-self:start}.autodev p,.review p{color:var(--slate);max-width:40ch}.review{padding-top:6px}.flow{display:flex;flex-wrap:nowrap;align-items:center;row-gap:12px;margin-top:14px;font-weight:600;font-size:1rem;letter-spacing:-.01em}.flow li{display:inline-flex;align-items:center;opacity:.3;transition:opacity .5s ease}.flow li+li:before{content:"";width:32px;height:14px;margin-inline:8px;background:radial-gradient(circle,var(--ink) 0 3.5px,transparent 4px) center / 14px 14px no-repeat,linear-gradient(currentColor,currentColor) center / 100% 1.5px no-repeat;opacity:.5}.flow.is-in li{opacity:1}@media(max-width:1240px){.flow{flex-direction:column;align-items:flex-start;row-gap:0}.flow li{flex-direction:column;align-items:flex-start}.flow li+li:before{width:14px;height:18px;margin:4px 0;background:radial-gradient(circle,var(--ink) 0 3.5px,transparent 4px) center / 14px 14px no-repeat,linear-gradient(currentColor,currentColor) center / 1.5px 100% no-repeat}}.flow.is-in li:nth-child(2){transition-delay:.35s}.flow.is-in li:nth-child(3){transition-delay:.7s}.flow.is-in li:nth-child(4){transition-delay:1.05s}@media(max-width:900px){.ai{grid-template-columns:1fr}.ai-cat{order:-1;width:min(100%,520px)}}.ygg{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,5vw,80px);padding:clamp(120px,20vh,220px) var(--gutter);background:radial-gradient(45% 60% at 72% 55%,#2C3136 0%,var(--ink) 75%);color:var(--fog)}.ygg-copy{display:grid;gap:22px;align-content:center}.ygg h2{font-size:var(--t-display);letter-spacing:-.055em}.ygg-copy p{color:var(--mist);font-size:var(--t-sub);max-width:34ch}.ygg-copy .ygg-tech{font-size:var(--t-body);color:var(--fog);opacity:.8;max-width:36ch}.ygg-tree{width:min(100%,760px);aspect-ratio:1106 / 1199;justify-self:center;translate:0 var(--shift, 0px);filter:drop-shadow(0 50px 60px rgb(0 0 0 / .5))}@media(max-width:900px){.ygg{grid-template-columns:1fr}.ygg-tree{width:min(100%,480px)}}.projects{--x: 0px}.projects-stage{position:relative;padding:clamp(100px,16vh,180px) 0 clamp(60px,10vh,120px)}.projects-head{padding:0 var(--gutter);display:grid;gap:18px}.projects-head p{color:var(--slate);font-size:var(--t-sub);max-width:36ch}.track{display:flex;gap:clamp(24px,3.4vw,56px);padding:clamp(40px,6vh,64px) var(--gutter) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.track::-webkit-scrollbar{display:none}.project{flex:0 0 clamp(264px,25vw,360px);display:grid;grid-template-rows:auto auto 1fr auto minmax(1.5em,auto);align-content:start;gap:10px;scroll-snap-align:start;scroll-margin-left:var(--gutter)}.project img{width:100%;aspect-ratio:1;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 26px 30px rgb(27 30 33 / .16))}.project h3{font-size:clamp(1.6rem,2.2vw,2rem)}.project p{color:var(--slate);font-size:1.02rem;line-height:1.45}.project .tech{color:var(--ink);font-size:var(--t-small);font-weight:500;opacity:.7}.more{font-size:var(--t-small);font-weight:600;text-underline-offset:.2em;text-decoration-thickness:1px}@media(min-width:901px)and (prefers-reduced-motion:no-preference){.projects.is-pinned{height:var(--pin-height, 300vh)}.projects.is-pinned .projects-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;padding:72px 0 32px}.projects.is-pinned .projects-head{grid-template-columns:auto minmax(0,36ch);align-items:end;justify-content:space-between;column-gap:48px}.projects.is-pinned .track{overflow:visible;scroll-snap-type:none;transform:translate3d(var(--x),0,0);will-change:transform;transition:transform .75s var(--ease-out)}.projects.is-pinned .project img{max-height:36svh}}.projects-stage:after{content:"";position:absolute;inset:0 0 0 auto;width:clamp(48px,9vw,140px);pointer-events:none;background:linear-gradient(to left,var(--fog),rgb(231 233 228 / 0));opacity:0;transition:opacity .5s ease}.projects.has-more .projects-stage:after{opacity:1}.stack{padding:clamp(80px,14vh,160px) var(--gutter);display:grid;gap:clamp(40px,7vh,72px)}.stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,4vw,64px)}.stack h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:16px}.stack li{color:var(--slate);padding:9px 0;border-top:1px solid rgb(27 30 33 / .1)}@media(max-width:900px){.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.stack-grid{grid-template-columns:1fr}}.record{padding:clamp(100px,16vh,180px) var(--gutter)}.record-hack{background:var(--paper)}.record-edu{background:var(--fog);padding-bottom:clamp(120px,20vh,220px)}.record-block{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,5vw,80px)}.record-head{display:grid;gap:28px;align-content:start}.trophy{width:clamp(120px,14vw,200px);aspect-ratio:769 / 1027;translate:0 var(--shift, 0px)}.cap{width:clamp(180px,22vw,330px);aspect-ratio:1100 / 713;translate:0 var(--shift, 0px);filter:drop-shadow(0 26px 30px rgb(27 30 33 / .16))}.rows{display:grid}.rows li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:28px 0;border-top:1px solid rgb(27 30 33 / .12)}.rows li:last-child{border-bottom:1px solid rgb(27 30 33 / .12)}.row-when{color:var(--slate);font-weight:500;padding-top:.3em}.rows h3{margin-bottom:12px}.rows p:not(.row-when){color:var(--slate);max-width:52ch}@media(max-width:900px){.record-block{grid-template-columns:1fr}.record-head{grid-template-columns:1fr auto;align-items:end}.trophy{width:104px}.cap{width:150px}.rows li{grid-template-columns:1fr;gap:8px}}.closing{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);min-height:100svh;padding:clamp(110px,16vh,160px) var(--gutter) clamp(80px,12vh,120px);background:radial-gradient(45% 55% at 72% 60%,#2C3136 0%,var(--ink) 75%);color:var(--fog)}.closing-copy{display:grid;gap:24px;justify-items:start}.closing h2{font-size:var(--t-display);letter-spacing:-.055em;max-width:9ch}.closing-copy p{color:var(--mist);font-size:var(--t-sub)}.button{padding:14px 26px;font-size:1.08rem;margin-top:8px}.closing-cat{width:min(100%,680px);aspect-ratio:1100 / 1091;justify-self:center;translate:0 var(--shift, 0px);filter:drop-shadow(0 40px 50px rgb(0 0 0 / .5))}@media(max-width:900px){.closing{grid-template-columns:1fr;min-height:0}.closing-cat{width:min(90%,440px)}}.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:28px var(--gutter);color:var(--slate);font-size:var(--t-small)}.foot .wordmark{color:var(--ink);font-size:1rem}.foot nav{display:flex;gap:24px}.foot nav a{text-decoration:none}.foot nav a:hover{color:var(--ink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}.hero-cat{transform:none;opacity:1}.hero-copy{opacity:1}.line{opacity:1;transform:none}.work{height:auto}.work-stage{position:relative;height:auto;align-items:start;padding-block:120px;overflow:visible}.work-art{height:min(60svh,560px)}.work-img{transform:none;opacity:1}.work-img:not(:first-child){display:none}.jobs-window{height:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}.jobs{display:grid;gap:56px;height:auto}.job{position:static;opacity:1;transform:none;clip-path:none}.job h3,.job-what{transform:none;opacity:1}.scroll-cue{display:none}.flow li{opacity:1}.ygg-tree,.trophy,.cap,.closing-cat{translate:none}}@media(prefers-reduced-motion:reduce)and (min-width:901px){.work-art{position:sticky;top:120px}}
