@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-tr.woff2)format("woff2");unicode-range:U+130,U+131,U+11E,U+11F,U+15E,U+15F,U+152-153,U+2013-2014,U+2018-201A,U+201C-201E,U+2026,U+20BA,U+2122}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-ext.woff2)format("woff2");unicode-range:U+100-11D,U+12?,U+132-151,U+154-15D,U+160-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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin.woff2)format("woff2");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}@font-face{font-family:Archivo;font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-italic-latin-ext.woff2)format("woff2");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:Archivo;font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-italic-latin.woff2)format("woff2");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}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-latin-ext.woff2)format("woff2");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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-latin.woff2)format("woff2");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}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin-ext.woff2)format("woff2");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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin.woff2)format("woff2");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{--ink:#07060f;--electric:#1f3bff;--cyan:#19e3ff;--violet:#6a2cff;--hotpink:#ff2e88;--magenta:#e400ff;--lime:#c8ff00;--acid:#7dff2a;--orange:#ff5a1f;--coral:#ff6b57;--yellow:#ffd400;--purple:#2a0f5e;--cream:#f3eee3;--offwhite:#f7f6f2;--bg:var(--ink);--bg2:#140a2e;--a:var(--electric);--b:var(--hotpink);--c:var(--cyan);--fg:var(--offwhite);--fg2:#a9a6c2;--font-sans:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--t-giant:clamp(5.5rem, 18vw, 22rem);--t-display:clamp(3rem, 8.5vw, 9.5rem);--t-h2:clamp(2.2rem, 4.6vw, 5.2rem);--t-h3:clamp(1.5rem, 2.4vw, 2.4rem);--t-lead:clamp(1.15rem, 1.05rem + .6vw, 1.6rem);--t-body:clamp(1rem, .95rem + .25vw, 1.125rem);--t-meta:.78rem;--t-micro:.68rem;--gutter:clamp(16px, 3vw, 48px);--col:calc((100vw - var(--gutter) * 2) / 12);--nav-h:72px;--radius:6px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--d-micro:.2s;--d-fast:.36s;--d-slow:.8s;--track-vh:770;--vh:1vh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-width:767px){:root{--nav-h:60px;--track-vh:644}}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}body{background:var(--ink);color:var(--offwhite);font-family:var(--font-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-stretch:100%;line-height:1.5;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,canvas,video{max-width:100%;display:block}::selection{background:var(--electric);color:var(--offwhite)}:focus-visible{outline:2px solid var(--ring,var(--a,var(--electric)));outline-offset:4px;border-radius:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:300;background:var(--offwhite);color:var(--ink);font-size:var(--t-meta);letter-spacing:.12em;text-transform:uppercase;transition:transform var(--d-micro) var(--ease-out);padding:.6rem 1rem;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip:focus-visible{transform:none}html.cursor-on,html.cursor-on *{cursor:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.giant,.display,.h2,.h3{font-family:var(--font-sans);letter-spacing:-.02em;text-wrap:balance;font-weight:900}.giant{font-size:var(--t-giant);letter-spacing:-.015em;font-stretch:62%;line-height:.82}.display{font-size:var(--t-display);font-stretch:75%;line-height:.86}.h2{font-size:var(--t-h2);font-stretch:88%;line-height:.94}.h3{font-size:var(--t-h3);font-weight:700;font-stretch:100%;line-height:1.05}.wide{letter-spacing:.02em;font-stretch:125%}.narrow{font-stretch:62%}.lead{font-size:var(--t-lead);letter-spacing:-.005em;text-wrap:pretty;font-weight:400;line-height:1.3}.body{font-size:var(--t-body);text-wrap:pretty;line-height:1.55}.meta{font-size:var(--t-meta);letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1.4}.micro{font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.serif{font-family:var(--font-serif);letter-spacing:0;text-transform:none;font-style:italic;font-weight:400}.serif-lead{font-family:var(--font-serif);font-style:italic;font-size:calc(var(--t-lead) * 1.25);line-height:1.2}.num{font-variant-numeric:tabular-nums}.muted{color:var(--fg2)}.outline{color:#0000;-webkit-text-stroke:1.5px var(--fg)}.caps{text-transform:uppercase}.split{white-space:nowrap;display:inline-block}.split .ch{transition:transform var(--d-fast) var(--ease-out);will-change:transform;display:inline-block}@media (hover:hover){.split:hover .ch{transform:translateX(calc(var(--k) * .08em)) translateY(calc(var(--k) * -.04em))}}
.nav{z-index:40;height:var(--nav-h);padding:0 var(--gutter);color:var(--fg);transition:height var(--d-fast) var(--ease-out), color var(--d-slow) var(--ease-out);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;inset:0 0 auto}html.gl .nav{text-shadow:0 .05em .35em color-mix(in srgb, var(--bg) 70%, transparent), 0 0 .06em color-mix(in srgb, var(--bg) 55%, transparent)}html.nogl .nav{mix-blend-mode:difference;color:#fff}.nav[data-shrunk=true]{height:calc(var(--nav-h) - 16px)}.brand{letter-spacing:.01em;will-change:transform;flex-direction:column;font-size:1.05rem;font-weight:900;font-stretch:62%;line-height:.88;display:inline-flex}.brand-last{transition:all var(--d-fast) var(--ease-out)}.nav[data-shrunk=true] .brand{flex-direction:row;gap:.35em;font-size:.9rem}.nav-links ul{align-items:center;gap:clamp(1rem,2.4vw,2.2rem);display:flex}.nav-links a{will-change:transform;padding:.4em 0;display:inline-block;position:relative}.nav-links a:after{content:"";transform-origin:0;height:1px;transition:transform var(--d-fast) var(--ease-out);background:currentColor;position:absolute;bottom:.1em;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-links .lang a{border:1px solid;border-radius:999px;padding:.35em .8em}.nav-links .lang a:after{display:none}.menu-btn{align-items:center;gap:.7em;padding:.5em 0;display:none}.menu-btn-icon{flex-direction:column;gap:5px;width:22px;display:inline-flex}.menu-btn-icon i{height:2px;transition:transform var(--d-fast) var(--ease-out);background:currentColor;display:block}.nav[data-menu=open] .menu-btn-icon i:first-child{transform:translateY(3.5px)rotate(45deg)}.nav[data-menu=open] .menu-btn-icon i:last-child{transform:translateY(-3.5px)rotate(-45deg)}@media (max-width:1023px){.nav-links{display:none}.menu-btn{display:inline-flex}}.menu{z-index:-1;padding:calc(var(--nav-h) + 1rem) var(--gutter) var(--gutter);background:var(--ink);color:var(--offwhite);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0;overflow:auto}.menu[hidden]{display:none}.menu:before{content:"";background:radial-gradient(50% 40% at 85% 15%, color-mix(in srgb, var(--a) 40%, transparent), transparent 70%), radial-gradient(40% 40% at 15% 85%, color-mix(in srgb, var(--b) 30%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.menu-stops{flex-direction:column;gap:.1em;display:flex;position:relative}.menu-stops a{animation:menu-in .7s var(--ease-out) both;animation-delay:calc(var(--n,0) * 60ms);align-items:baseline;gap:.6em;padding:.08em 0;font-size:clamp(2.4rem,9vw,4.6rem);line-height:1;display:flex}.menu-stops li:first-child a{--n:0}.menu-stops li:nth-child(2) a{--n:1}.menu-stops li:nth-child(3) a{--n:2}.menu-stops li:nth-child(4) a{--n:3}.menu-stops li:nth-child(5) a{--n:4}.menu-stops li:nth-child(6) a{--n:5}.menu-stops li:nth-child(7) a{--n:6}.menu-stops .num{color:#9d98bd;min-width:2.2em}.menu-foot .muted{color:#b9b6cc}.menu-foot{border-top:1px solid color-mix(in srgb, var(--offwhite) 20%, transparent);justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex;position:relative}html.menu-open body{overflow:hidden}@keyframes menu-in{0%{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:none}}.route{left:var(--gutter);z-index:30;color:var(--fg);transition:color var(--d-slow) var(--ease-out);position:fixed;top:50%;transform:translateY(-50%)}.route ol{flex-direction:column;gap:.55rem;display:flex}.route a{font-size:var(--t-micro);opacity:.55;transition:opacity var(--d-fast) var(--ease-out);align-items:center;gap:.7em;display:flex}.route a:before{content:"";width:10px;height:1px;transition:width var(--d-fast) var(--ease-out);background:currentColor}.route .lbl{white-space:nowrap;max-width:0;transition:max-width var(--d-fast) var(--ease-out);overflow:hidden}.route li[data-active=true] a,.route a:hover,.route a:focus-visible{opacity:1}.route li[data-active=true] a:before{background:var(--a);width:28px}.route a:hover .lbl,.route a:focus-visible .lbl{max-width:10em}@media (max-width:1023px){.route{display:none}}.cursor{z-index:100;pointer-events:none;opacity:0;transition:opacity var(--d-fast) var(--ease-out);position:fixed;inset:0}.cursor[data-on=true]{opacity:1}.cursor-dot{width:8px;height:8px;box-shadow:0 0 12px 3px color-mix(in srgb, var(--a) 80%, transparent), 0 0 40px 10px color-mix(in srgb, var(--a) 35%, transparent);transition:transform var(--d-micro) var(--ease-out);background:#fff;border-radius:999px;margin:-4px 0 0 -4px;position:absolute;top:0;left:0}.cursor.down .cursor-dot{transform:scale(.6)}.cursor-ring{border:1.5px solid color-mix(in srgb, var(--fg) 70%, transparent);width:36px;height:36px;transition:width var(--d-fast) var(--ease-out), height var(--d-fast) var(--ease-out), margin var(--d-fast) var(--ease-out), background var(--d-fast) var(--ease-out), border-color var(--d-fast) var(--ease-out);border-radius:999px;place-items:center;margin:-18px 0 0 -18px;display:grid;position:absolute;top:0;left:0}.cursor-label{color:var(--on-a,#fff);opacity:0;transition:opacity var(--d-micro) var(--ease-out);letter-spacing:.12em}.cursor[data-kind=link] .cursor-ring{border-color:var(--a);width:54px;height:54px;margin:-27px 0 0 -27px}.cursor[data-kind=project] .cursor-ring,.cursor[data-kind=view] .cursor-ring{background:var(--a);border-color:var(--a);width:76px;height:76px;margin:-38px 0 0 -38px}.cursor[data-kind=drag] .cursor-ring{border-style:dashed;border-color:var(--fg);width:72px;height:72px;margin:-36px 0 0 -36px}.cursor[data-kind=project] .cursor-label,.cursor[data-kind=view] .cursor-label,.cursor[data-kind=drag] .cursor-label{opacity:1}.cursor[data-kind=drag] .cursor-label{color:var(--fg)}.cursor[data-kind=project] .cursor-dot,.cursor[data-kind=view] .cursor-dot{transform:scale(0)}.loader{z-index:200;background:var(--ink);color:var(--offwhite);transition:opacity var(--d-slow) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}.loader[data-loaded=true]{opacity:0;pointer-events:none}.loader-canvas{width:100%;height:100%;position:absolute;inset:0}.loader-label{left:var(--gutter);bottom:var(--gutter);gap:1em;display:flex;position:absolute}.loader-enter{right:var(--gutter);bottom:var(--gutter);position:absolute}html:not(.js) .loader,html.nogl .loader{display:none}.cta{font-size:var(--t-meta);letter-spacing:.12em;text-transform:uppercase;transition:background var(--d-fast) var(--ease-out), color var(--d-fast) var(--ease-out), transform var(--d-fast) var(--ease-out);will-change:transform;border:1px solid;border-radius:999px;align-items:center;gap:.7em;padding:.85em 1.35em;font-weight:600;line-height:1;display:inline-flex}.cta .arrow{transition:transform var(--d-fast) var(--ease-out)}.cta:hover,.cta:focus-visible{background:var(--fg);color:var(--bg)}.cta:hover .arrow{transform:translate(.35em)}.cta.big{font-size:var(--t-lead);text-transform:none;letter-spacing:0;font-weight:500}.cta.ghost{text-underline-offset:.3em;border-color:#0000;text-decoration:underline}.cta.ghost:hover{color:var(--a);background:0 0}.tag{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;opacity:.8;border:1px solid;border-radius:999px;padding:.25em .6em;line-height:1.2;display:inline-block}.fine-only{display:none}html.fine .fine-only{display:inline}html.gl .gl-only{display:initial}.gl-only{display:none}.lost{min-height:100vh;padding:var(--nav-h) var(--gutter);color:var(--offwhite);align-content:center;gap:1.2rem;display:grid}.lost .cta{justify-self:start}
#stage{z-index:0;position:fixed;inset:0}#stage canvas{display:block;width:100%!important;height:100%!important}.track{z-index:1;position:relative}html.js.gl .track{height:calc(var(--track-vh) * var(--vh))}html.js.gl .stop{width:100%;left:0;top:calc(var(--i) * (100% - 100 * var(--vh)) / 7);height:calc((100% - 100 * var(--vh)) / 7 + 100 * var(--vh));position:absolute}html.js.gl .stop-layer{height:calc(100 * var(--vh));pointer-events:none;position:sticky;top:0}html.js.gl .stop-layer a,html.js.gl .stop-layer button{pointer-events:auto}html.gl .fb{display:none}html:not(.gl) .stop{background:radial-gradient(60% 55% at 82% 18%, color-mix(in srgb, var(--a) 38%, transparent), transparent 70%), radial-gradient(45% 45% at 14% 86%, color-mix(in srgb, var(--b) 30%, transparent), transparent 72%), radial-gradient(30% 30% at 55% 60%, color-mix(in srgb, var(--c) 18%, transparent), transparent 70%), var(--bg);min-height:100vh;position:relative;overflow:hidden}html:not(.gl) .stop-layer{min-height:100vh;position:relative}.stop-layer{column-gap:var(--gutter);padding:calc(var(--nav-h) + 1.5rem) var(--gutter) calc(var(--gutter) + 1rem);color:var(--fg);grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}@media (min-width:1024px){html.gl .stop-layer{padding-left:calc(var(--gutter) + 3.6rem)}}.stop-head{opacity:.85;grid-area:1/1/auto/span 6;align-items:baseline;gap:.8em;display:flex}.stop-head .sep{opacity:.5}.stop-body{z-index:2;min-width:0;position:relative}.corner-bl .stop-body{grid-area:3/1/auto/span 8;align-self:end}.corner-tr .stop-body{grid-area:2/7/auto/-1;align-self:start;padding-top:2vh}.corner-tl .stop-body{grid-area:2/1/auto/span 6;align-self:start;padding-top:2vh}.corner-br .stop-body{grid-area:3/6/auto/-1;align-self:end}.corner-bc .stop-body{grid-area:3/2/auto/12;align-self:end}.corner-l .stop-body{grid-area:2/1/span 2/span 6;align-self:center}.corner-c .stop-body{text-align:center;grid-area:2/2/auto/12;align-self:center}@media (max-width:767px){.stop-layer{grid-template-columns:1fr}.stop-head{grid-column:1}.corner-bl .stop-body,.corner-tr .stop-body,.corner-tl .stop-body,.corner-br .stop-body,.corner-bc .stop-body,.corner-l .stop-body,.corner-c .stop-body{text-align:left;grid-area:3/1;align-self:end;padding-top:0}.corner-c .stop-body{text-align:center}}html.gl .stop-body,html.gl .stop-head{text-shadow:0 .04em .35em color-mix(in srgb, var(--bg) 70%, transparent), 0 0 .06em color-mix(in srgb, var(--bg) 55%, transparent)}html.gl .stop-body>*{opacity:0;transition:opacity var(--d-slow) var(--ease-out), transform var(--d-slow) var(--ease-out);transform:translateY(.6rem)}html.gl .stop[data-active=true] .stop-body>*{opacity:1;transform:none}html.gl .stop[data-active=true] .stop-body>:nth-child(2){transition-delay:60ms}html.gl .stop[data-active=true] .stop-body>:nth-child(3){transition-delay:.12s}html.gl .stop[data-active=true] .stop-body>:nth-child(4){transition-delay:.18s}html.gl.reduced .stop-body>*{opacity:1;transition:none;transform:none}.hero-role{text-shadow:0 0 .06em var(--bg), 0 0 .2em color-mix(in srgb, var(--bg) 85%, transparent), 0 .05em .6em color-mix(in srgb, var(--bg) 80%, transparent);letter-spacing:.03em;text-transform:uppercase;font-size:clamp(2rem,4.4vw,5rem);font-weight:800;font-stretch:112%;line-height:.95;display:block}.hero-role .line{margin-right:.35em;display:inline-block}@media (max-width:767px){.hero-role .line{margin-right:0;display:block}}.hero-tag{max-width:24ch;margin-top:1.4rem}.hero-hint{opacity:.75;flex-wrap:wrap;gap:.6em;margin-top:1.6rem;display:flex}.fb-hero .fb-name,.fb-about .fb-name{left:var(--gutter);z-index:1;flex-direction:column;display:flex;position:absolute;top:16vh}.fb-hero .fb-name .l2,.fb-about .fb-name .l2{-webkit-text-stroke:2px var(--fg);margin-left:.18em}.glow{filter:blur(70px);opacity:.75;animation:drift 14s var(--ease-in-out) infinite alternate;border-radius:999px;position:absolute}.glow-a{background:var(--a);width:42vw;height:42vw;top:-6vw;right:-8vw}.glow-b{background:var(--b);width:30vw;height:30vw;animation-delay:-5s;bottom:4vh;right:22vw}.glow-c{background:var(--c);width:18vw;height:18vw;animation-delay:-9s;top:48vh;left:40vw}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(-6vw,5vh)scale(1.12)}}.fb-ribbon{opacity:.8;width:100%;height:60vh;position:absolute;inset:auto 0 0}.proj{max-width:38rem}.proj.compact{max-width:26rem}.proj-kicker{opacity:.85;flex-wrap:wrap;align-items:center;gap:.7em;display:flex}.proj-kicker .sep{opacity:.5}.proj h2{margin-top:.5rem}.proj-title{display:inline-block}.proj-text{max-width:34rem;margin-top:1.1rem}.proj-meta{gap:2.4rem;margin-top:1.2rem;display:flex}.proj-meta dt{opacity:.6;font-size:var(--t-micro)}.proj-meta dd{margin:.2em 0 0}.proj .cta{margin-top:1.4rem}.stack{flex-direction:column;gap:1.8rem;display:flex}.stack .proj-text{font-size:var(--t-body);max-width:30rem}.proj.compact .cta{margin-top:.9rem}.row{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;display:grid}@media (max-width:767px){.row{grid-template-columns:1fr;gap:2rem}.stack{gap:1.4rem}.proj.compact .proj-meta{display:none}}.fb{z-index:0;pointer-events:none;position:absolute;inset:0}.fb-art{right:var(--gutter);width:min(42vw,560px);aspect-ratio:var(--ar,2 / 3);pointer-events:auto;border-radius:4px;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%);box-shadow:0 40px 90px -30px #0009}.fb-art img{object-fit:cover;width:100%;height:100%}.fb-art.tilt{transition:transform var(--d-slow) var(--ease-out);transform:translateY(-50%)perspective(1400px)rotateY(-14deg)rotateX(4deg)}.fb-art.tilt:hover{transform:translateY(-50%)perspective(1400px)rotateY(6deg)rotateX(-3deg)}.fb-art.glass{-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 60px color-mix(in srgb, var(--b) 20%, transparent);background:#ffffff14;border:1px solid #ffffff4d;border-radius:10px;padding:clamp(10px,2vw,28px)}.fb-art.glass img{border-radius:4px}.fb-art.round{aspect-ratio:1;border-radius:999px;width:min(34vw,440px);top:40%;left:18vw;right:auto}.fb-art.wide{width:min(44vw,640px);top:36%}.fb-art.small{width:100%;position:static;transform:none}.fb-type .fb-art{width:min(28vw,400px);top:auto;bottom:6vh;transform:none}.fb-type .fb-art.tilt:hover{transform:perspective(1400px)rotateY(6deg)rotateX(-3deg)}.fb-type .fb-widths{left:var(--gutter);color:var(--a);opacity:.9;flex-direction:column;font-size:clamp(2.6rem,7vw,7rem);line-height:.95;display:flex;position:absolute;top:14vh}.fb-type .fb-widths span:nth-child(2n){color:var(--b)}.fb-posters .fb-art.tilt{right:auto;left:calc(var(--gutter) + 2vw)}.fb-series{right:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(36vw,420px);display:grid;position:absolute;top:12vh}.fb-about .fb-name{opacity:.18;top:24vh;left:36vw}.fb-word{border:1px solid color-mix(in srgb, var(--fg) 45%, transparent);animation:float 9s var(--ease-in-out) infinite alternate;animation-delay:calc(var(--i) * -1.4s);border-radius:999px;padding:.5em .9em;position:absolute}.fb-word:first-child{color:var(--b);border-color:var(--b);top:22vh;left:48vw}.fb-word:nth-child(2){top:34vh;left:66vw}.fb-word:nth-child(3){color:var(--c);border-color:var(--c);top:50vh;left:54vw}.fb-word:nth-child(4){top:62vh;left:74vw}.fb-word:nth-child(5){color:var(--b);border-color:var(--b);top:70vh;left:44vw}.fb-word:nth-child(6){color:var(--c);border-color:var(--c);top:18vh;left:80vw}@keyframes float{0%{transform:translate(0)rotate(-2deg)}to{transform:translate(1.2vw,-2vh)rotate(3deg)}}.fb-contact{place-items:center;display:grid;position:absolute;inset:0}.fb-contact .ring{border:1px solid color-mix(in srgb, var(--fg) 40%, transparent);width:min(70vmin,720px);height:min(70vmin,720px);-webkit-mask:conic-gradient(from 0deg, #000 0 55%, transparent 60% 100%);mask:conic-gradient(from 0deg, #000 0 55%, transparent 60% 100%);-webkit-mask:conic-gradient(from 0deg, #000 0 55%, transparent 60% 100%);border-radius:999px;animation:28s linear infinite turn;position:absolute}.fb-contact .ring-2{border-color:var(--b);width:min(54vmin,560px);height:min(54vmin,560px);animation-duration:36s;animation-direction:reverse}@keyframes turn{to{transform:rotate(360deg)}}@media (max-width:767px){.fb-art,.fb-art.round,.fb-art.wide{right:var(--gutter);left:auto;top:calc(var(--nav-h) + 2.5rem);width:52vw;position:absolute;transform:none}.fb-posters .fb-art.tilt{left:var(--gutter);width:36vw;right:auto}.fb-art.tilt,.fb-art.tilt:hover{transform:perspective(900px)rotateY(-10deg)}.fb-type .fb-widths{font-size:2rem;top:20vh}.fb-series{width:48vw;bottom:auto;top:calc(var(--nav-h) + 2.5rem);left:auto;right:var(--gutter)}.fb-hero .fb-name,.fb-about .fb-name{top:14vh}.fb-word{display:none}}.about{max-width:36rem}.about .eyebrow{opacity:.8}.about-name{margin-top:.4rem}.about-prose{gap:.9em;margin-top:1.2rem;display:grid}.about-words{opacity:.85;flex-wrap:wrap;gap:.5rem .9rem;margin-top:1.4rem;display:flex}.about-words li:before{content:"— ";opacity:.5}html.gl .about-words{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact{flex-direction:column;align-items:center;gap:0;display:flex}.contact-lines,.contact-avail,.contact-soon,.works-index{text-shadow:0 0 .06em var(--bg), 0 0 .22em var(--bg), 0 .05em .6em color-mix(in srgb, var(--bg) 85%, transparent)}.contact-lines .line{display:block}.contact-lines .serif{font-size:.86em;font-weight:400;line-height:.9}.contact-avail{margin-top:2.2rem}.contact-email{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.4rem;display:flex}.social{gap:1.6rem;margin-top:1.4rem;display:flex}.contact-soon{margin-top:1.4rem}.works-index{opacity:.85;flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;margin-top:clamp(1.8rem,5vh,3.2rem);display:flex}.works-index ol{flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;margin:0;padding:0;list-style:none;display:flex}.works-index li+li:before{content:"·";opacity:.5;margin-right:1rem}.foot{opacity:.85;flex-wrap:wrap;justify-content:center;gap:1rem 2.4rem;margin-top:clamp(2.5rem,7vh,5rem);display:flex}
.work{color:var(--fg);background:var(--bg)}.work-hero{min-height:100vh;padding:calc(var(--nav-h) + 2rem) var(--gutter) var(--gutter);isolation:isolate;grid-template-rows:1fr auto;display:grid;position:relative;overflow:hidden}.work-hero .art{z-index:-1;position:absolute;inset:0}.work-hero .art img{object-fit:cover;width:100%;height:100%}.work-hero .art:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 60%, #07060f), color-mix(in srgb, var(--bg) 45%, #07060f) 10%, color-mix(in srgb, var(--bg) 40%, transparent) 22%, transparent 36%), linear-gradient(to top, color-mix(in srgb, var(--bg) 97%, transparent), color-mix(in srgb, var(--bg) 70%, transparent) 38%, color-mix(in srgb, var(--bg) 20%, transparent) 70%, transparent);position:absolute;inset:0}.work-hero .kicker{color:var(--fg);text-shadow:0 .04em .35em color-mix(in srgb, var(--bg) 70%, transparent);flex-wrap:wrap;align-self:start;gap:.8em;display:flex}.work-title{align-self:end;max-width:14ch}.work-intro{gap:var(--gutter);padding:clamp(3rem, 8vh, 6rem) var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.work-intro .lead{grid-column:1/span 7}.work-intro dl{grid-column:9/-1;gap:1.2rem;display:grid}.work-intro dt{opacity:.6;font-size:var(--t-micro)}.work-intro dd{margin:.25em 0 0}.work-colors{gap:.5rem;display:flex}.work-colors i{border:1px solid color-mix(in srgb, var(--fg) 25%, transparent);border-radius:999px;width:32px;height:32px}.work-stage{height:min(80vh,820px);margin:0 var(--gutter);background:var(--bg2);border-radius:10px;position:relative;overflow:hidden}.work-stage canvas{width:100%!important;height:100%!important}.work-stage .still{place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:absolute;inset:0}.work-stage .still img{width:auto;max-height:100%;transform:perspective(1400px)rotateY(-10deg);box-shadow:0 50px 100px -40px #000000b3}.work-section{padding:clamp(3rem, 8vh, 6rem) var(--gutter);gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.work-section>.meta{grid-column:1/span 3}.work-section>.cols{grid-column:4/-1}.process{counter-reset:step;gap:2rem;display:grid}.process li{border-top:1px solid color-mix(in srgb, var(--fg) 18%, transparent);grid-template-columns:4rem 1fr;gap:1.2rem;padding-top:1.2rem;display:grid}.process li:before{counter-increment:step;content:counter(step, decimal-leading-zero);font-size:var(--t-h3);color:var(--a);font-weight:900;font-stretch:62%}.gallery{gap:var(--gutter);padding:0 var(--gutter) clamp(3rem, 8vh, 6rem);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.gallery figure{border-radius:6px;overflow:hidden}.gallery figure:nth-child(3n+1){grid-column:1/span 7}.gallery figure:nth-child(3n+2){grid-column:8/-1;align-self:end}.gallery figure:nth-child(3n){grid-column:3/span 8}.gallery img{width:100%;height:auto}.work-next{padding:clamp(3rem, 10vh, 8rem) var(--gutter);border-top:1px solid color-mix(in srgb, var(--fg) 18%, transparent);gap:1rem;display:grid}.work-next a.display{display:inline-block}.work-sample{padding:0 var(--gutter) 2rem;opacity:.75;max-width:48rem}@media (max-width:767px){.work-intro,.work-section,.gallery{grid-template-columns:1fr}.work-intro .lead,.work-intro dl,.work-section>.meta,.work-section>.cols,.gallery figure:nth-child(n){grid-column:1}.work-stage{height:62vh}}
/*# sourceMappingURL=454c5ciq2cvoi.css.map*/