@font-face{font-family:foundersGrotesk;src:url(../media/FoundersGrotesk_Bold-s.p.2z72oy2q8t0k_.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:foundersGrotesk Fallback;src:local(Arial);ascent-override:64.54%;descent-override:37.9%;line-gap-override:20.49%;size-adjust:97.62%}.foundersgrotesk_4e85f403-module__dyNi0G__className{font-family:foundersGrotesk,foundersGrotesk Fallback;font-style:normal;font-weight:700}.foundersgrotesk_4e85f403-module__dyNi0G__variable{--font-display:"foundersGrotesk", "foundersGrotesk Fallback"}
@font-face{font-family:sohneMono;src:url(../media/SohneMono_Buch-s.p.3qkm0tuugy0m7.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:sohneMono;src:url(../media/SohneMono_Kraftig-s.p.2ygte5t5dlvtd.otf)format("opentype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:sohneMono;src:url(../media/SohneMono_Halbfett-s.p.15prbpqv31xuy.otf)format("opentype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:sohneMono Fallback;src:local(Arial);ascent-override:78.86%;descent-override:21.98%;line-gap-override:0.0%;size-adjust:131.49%}.sohnemono_6f4e7d3d-module__UariTW__className{font-family:sohneMono,sohneMono Fallback}.sohnemono_6f4e7d3d-module__UariTW__variable{--font-mono:"sohneMono", "sohneMono Fallback"}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--background:#fff;--foreground:#000}html,body{touch-action:none;color:#000;background:#000;width:100%;height:100%;margin:0;overflow:hidden}html.is-project{overscroll-behavior-y:auto;scroll-behavior:auto;color:#fff;background:#000;min-height:100%;touch-action:pan-y!important;height:auto!important;overflow:clip scroll!important}html.is-project body{overscroll-behavior-y:auto;color:#fff;background:#000;min-height:100%;touch-action:pan-y!important;height:auto!important;overflow:visible!important}html.is-project .touch-plane{pointer-events:none!important;display:none!important}html.is-project.is-returning,html.is-project.is-returning body{overflow:hidden!important}html.is-project.is-dock-lock,html.is-project.is-dock-lock body{overscroll-behavior-y:none}html.is-live,html.is-live body{background:#fff}html.is-live.is-revealing,html.is-live.is-revealing body{animation:.38s steps(6,end) both page-reveal}@keyframes page-reveal{0%,16%{background:#000}24%{background:#fff}40%{background:#000}56%{background:#fff}72%{background:#000}to{background:#fff}}@media (prefers-reduced-motion:reduce){html.is-live.is-revealing,html.is-live.is-revealing body{background:#fff;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
:root{--cursor-skull:auto;--cursor-skull-link:pointer}@media (hover:hover) and (pointer:fine){:root{--cursor-skull:url(/cursors/skull-hand.png) 4 1, auto;--cursor-skull-link:url(/cursors/skull-hand.png) 4 1, pointer}}html,html body,html.is-live,html.is-live body,html.is-project,html.is-project body{cursor:var(--cursor-skull)}a,button,[role=link],[role=button],.tile,.identity-hot,.identity-link-hit a,.project-mark,.about-row-hit,.about-skill-nav button{cursor:var(--cursor-skull-link)}.about-row-hit.is-static{cursor:var(--cursor-skull)}input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]),textarea,select,[contenteditable=true]{cursor:text}html.has-skull-cursor,html.has-skull-cursor *{cursor:none!important}html.has-skull-cursor.is-text-cursor,html.has-skull-cursor.is-text-cursor *,html.has-skull-cursor input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]),html.has-skull-cursor textarea,html.has-skull-cursor select,html.has-skull-cursor [contenteditable=true]{cursor:text!important}.portfolio:not(.is-live){pointer-events:none;background:#000}.portfolio.is-leaving{pointer-events:none}html.is-leaving .tile,html.is-leaving .center-block,html.is-leaving .identity-link-hit,html.is-leaving .identity-link-hit a,html.is-leaving .identity-link-hit .identity-hot,html.is-leaving .identity-link-hit .identity-wordmark,html.is-leaving .identity-wordmark,html.is-leaving .identity-meta,.portfolio.is-leaving .identity-link-hit,.portfolio.is-leaving .identity-link-hit a,.portfolio.is-leaving .identity-link-hit .identity-hot,.portfolio.is-leaving .identity-link-hit .identity-wordmark,.portfolio.is-leaving .identity-wordmark,.portfolio.is-leaving .identity-meta{pointer-events:none!important}html.is-leaving .story-cursor{display:none!important}.portfolio:not(.is-ready) .tile,.portfolio:not(.is-ready) .center-block,.portfolio:not(.is-ready) .identity-link-hit,.portfolio:not(.is-ready) .identity-link-hit a,.portfolio:not(.is-ready) .identity-link-hit .identity-hot,.portfolio:not(.is-ready) .identity-link-hit .identity-wordmark{pointer-events:none!important}.portfolio.is-leaving .portfolio-row-viewport{z-index:4;clip-path:inset(-90% 0);overflow:visible}.portfolio.is-leaving .center-face-front .dieloot-letter,.portfolio.is-leaving .center-face-front .dieloot-letter.is-in{animation:none!important}.portfolio.is-leaving .tile:not(.is-exit-origin) .cube-side-title,.portfolio.is-leaving .tile:not(.is-exit-origin) .cube-side-meta,.portfolio.is-leaving .tile:not(.is-exit-origin) .tile-caption{opacity:0!important}.portfolio.is-boot .is-top .tile-cube{transform:rotateX(-180deg)}.portfolio.is-boot .is-bottom .tile-cube{transform:rotateX(180deg)}.portfolio.is-intro .portfolio-row-viewport{z-index:4;clip-path:inset(-90% 0);overflow:visible}.portfolio.is-intro .tile-scene{perspective:calc(var(--tile) * 1.55)}.portfolio:not(.is-live) .center-face,.portfolio:not(.is-live) .center-face-front{color:#fff;background:#000;border-color:#0000}.portfolio:not(.is-live) .cube-face{border-color:#000}.portfolio:not(.is-live) .center-face-front .dieloot-letter:not(.is-in),.portfolio:not(.is-live) .center-face-front .identity-cluster.is-bio>p,.portfolio:not(.is-live) .center-face-front .identity-cluster.is-place>p,.portfolio:not(.is-live) .center-face-front .identity-links>*{opacity:0}.center-face-front .dieloot-letter.is-in{animation:.46s cubic-bezier(.22,1,.36,1) both boot-letter}.center-face-front .is-copy-in{animation:.4s steps(3,end) both boot-copy}html.is-revealing .center-face-front{animation:.38s steps(6,end) both reveal-face}html.is-revealing .center-face-front .dieloot-letter.is-in{animation:.38s steps(6,end) both reveal-word}.boot-screen{z-index:80;color:#fff;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.boot-row{z-index:2;box-sizing:border-box;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:64px;width:100%;padding:0 clamp(16px,4vw,64px);display:grid;position:relative}.boot-mark{z-index:2;height:clamp(96px,20svh,220px);animation:.9s steps(2,end) infinite boot-skull-flicker;position:relative}.boot-line{z-index:2;color:#fff;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;white-space:pre;justify-self:center;margin:0;font-size:clamp(12px,1.25vw,20px);font-weight:500;line-height:1;display:grid;position:relative}.boot-line.is-left,.boot-line.is-right{width:max-content;min-width:0}.boot-line.is-left{text-align:right;justify-self:end}.boot-line.is-right{text-align:left;justify-self:start}.boot-line.is-left .boot-line-text{justify-self:end;width:max-content}.boot-line.is-right .boot-line-text{justify-self:start;width:max-content}.boot-line-sizer,.boot-line-text{grid-area:1/1}.boot-line-sizer{visibility:hidden}.boot-line-text{display:block;position:relative}.boot-line-text:before,.boot-line-text:after{content:attr(data-text);opacity:0;white-space:pre;position:absolute;inset:0}.boot-line-text.is-glitching:before{opacity:.9;color:#ff2a2a;clip-path:inset(var(--slice-y,40%) 0 calc(88% - var(--slice-y,40%)) 0);transform:translate3d(calc(var(--slice-x,4px) - 2px), 0, 0)}.boot-line-text.is-glitching:after{opacity:.9;color:#18e0ff;clip-path:inset(calc(78% - var(--slice-y,40%)) 0 var(--slice-y,40%) 0);transform:translate3d(calc(2px - var(--slice-x,4px)), 0, 0)}.boot-line.is-stack{display:none}@media (max-aspect-ratio:1){.boot-row{grid-template-columns:minmax(0,1fr);justify-items:center;row-gap:clamp(18px,3.2svh,30px)}.boot-mark{order:-1;height:clamp(110px,22svh,200px)}.boot-line.is-left,.boot-line.is-right{display:none}.boot-line.is-stack{justify-self:center;display:grid}}.boot-skull{--mark:url(/stamp-beast.svg);aspect-ratio:762/1090;color:#fff;height:100%;display:block;position:relative}.boot-skull-core,.boot-skull-ghost,.boot-skull-slice{-webkit-mask:var(--mark) center / contain no-repeat;-webkit-mask:var(--mark) center / contain no-repeat;mask:var(--mark) center / contain no-repeat;background:#fff;position:absolute;inset:0}.boot-skull-ghost{opacity:.82}.boot-skull-ghost.is-red{background:#ff2a2a;animation:.28s steps(2,end) infinite boot-ghost-red;transform:translate(-4px)}.boot-skull-ghost.is-cyan{background:#18e0ff;animation:.32s steps(2,end) infinite boot-ghost-cyan;transform:translate(4px)}.boot-skull-core{z-index:2;background:#fff}.boot-skull-slice{z-index:3;clip-path:inset(42% 0 44%);background:#fff;animation:.18s steps(2,end) infinite boot-skull-slice;overflow:hidden;transform:translate(5px)}.boot-screen.is-out{animation:.48s cubic-bezier(.22,1,.36,1) forwards boot-out}.boot-screen.is-out .boot-mark{animation:.44s steps(6,end) forwards boot-skull-exit}.boot-screen.is-out .boot-line{animation:.22s steps(4,end) forwards boot-meta-die}.boot-screen.is-out .boot-skull-ghost.is-red{animation:80ms steps(2,end) infinite boot-ghost-red}.boot-screen.is-out .boot-skull-ghost.is-cyan{animation:90ms steps(2,end) infinite boot-ghost-cyan}.boot-screen.is-out .boot-skull-slice{animation:70ms steps(2,end) infinite boot-skull-slice}@keyframes boot-skull-flicker{0%,72%,to{opacity:1;transform:translate(0,0)}18%{opacity:.2;transform:translate(-4px,1px)}26%{opacity:1;transform:translate(3px,-1px)}78%{opacity:.45;transform:translate(2px,1px)}86%{opacity:1;transform:translate(-1px)}}@keyframes boot-ghost-red{0%,to{opacity:.82;transform:translate(-3px)}50%{opacity:.35;transform:translate(-5px,1px)}}@keyframes boot-ghost-cyan{0%,to{opacity:.82;transform:translate(3px)}50%{opacity:.4;transform:translate(5px,-1px)}}@keyframes boot-skull-slice{0%{clip-path:inset(18% 0 68%);transform:translate(-4px)}50%{clip-path:inset(62% 0 22%);transform:translate(5px)}to{clip-path:inset(40% 0 46%);transform:translate(2px)}}@keyframes boot-skull-exit{0%{opacity:1;transform:scale(1)translate(0,0)}18%{opacity:.15;transform:scale(1.06)translate(-8px,2px)}36%{opacity:1;transform:scale(.96)translate(6px,-3px)skew(-6deg)}56%{opacity:.25;transform:scale(1.1)translate(-4px,1px)skew(5deg)}78%{opacity:.5;transform:scale(1.14)translate(3px,-2px)}to{opacity:0;transform:scale(1.22)translateY(-6px)}}@keyframes boot-meta-die{0%{opacity:1;filter:drop-shadow(4px 0 #ff2a2a)drop-shadow(-4px 0 #18e0ff);transform:translate(0,0)}40%{opacity:.2;transform:translate(-8px)}70%{opacity:.7;transform:translate(6px)}to{opacity:0;filter:none;transform:translateY(4px)}}@keyframes boot-out{0%,30%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes boot-copy{0%{filter:drop-shadow(4px 0 #ff2a2a)drop-shadow(-4px 0 #18e0ff)}45%{filter:none}62%{filter:drop-shadow(-3px 0 #18e0ff)}to{filter:none}}@keyframes boot-letter{0%{opacity:0;filter:drop-shadow(6px 0 #ff2a2a)drop-shadow(-6px 0 #18e0ff)}22%{opacity:1}38%{opacity:.18}56%{opacity:1;filter:drop-shadow(3px 0 #ff2a2a)drop-shadow(-3px 0 #18e0ff)}to{opacity:1;filter:none}}@keyframes reveal-face{0%,16%{color:#fff;filter:drop-shadow(8px 0 #ff2a2a)drop-shadow(-8px 0 #18e0ff);background:#000;border-color:#000}28%{color:#000;filter:none;background:#fff;border-color:#000}44%{color:#fff;filter:drop-shadow(-10px 0 #18e0ff);background:#000}60%{color:#000;filter:drop-shadow(6px 0 #ff2a2a);background:#fff}76%{color:#fff;filter:none;background:#000}to{color:#000;filter:none;background:#fff;border-color:#000}}@keyframes reveal-word{0%,16%{filter:drop-shadow(8px 0 #ff2a2a)drop-shadow(-8px 0 #18e0ff);transform:translate(-6px)}32%{filter:none;transform:translate(4px)}48%{filter:drop-shadow(-8px 0 #18e0ff);transform:translate(8px,1px)}64%{filter:drop-shadow(6px 0 #ff2a2a);transform:translate(-4px)}to{filter:none;transform:translate(0,0)}}.portfolio{--screen-h:100vh;--gutter:calc(100vw * 82 / 1440);--meta-gap:21px;--meta-space:52px;--logo-breath:clamp(40px, calc(var(--screen-h) * .065), 88px);--ideal-logo-w:min(1700px, calc(100vw * 1252 / 1440));--ideal-logo-h:calc(var(--ideal-logo-w) * 207 / 1252);--ideal-center:calc(var(--ideal-logo-h) + var(--meta-space) + (2 * var(--logo-breath)));--tile-raw:max(96px, min(20vw, calc(var(--screen-h) * .3), calc((var(--screen-h) - var(--ideal-center)) / 2)));--tile:var(--tile-raw);--center-h:calc(var(--screen-h) - (2 * var(--tile)));--wordmark-w:min(var(--ideal-logo-w), calc((var(--center-h) - var(--meta-space) - (2 * var(--logo-breath))) * 1252 / 207));--pad:calc(var(--tile) * .05);--meta:clamp(8px, calc(var(--tile) * 11 / 288), 11px);width:100%;height:var(--screen-h);touch-action:none;color:#000;background:#000;flex-direction:column;display:flex;overflow:hidden}@supports (height:100svh){.portfolio{--screen-h:100svh}}.portfolio.is-live{background:#fff}@supports (width:round(down, 1.5px, 1px)){.portfolio{--tile:round(down, var(--tile-raw), 1px)}}.portfolio-row-viewport{z-index:2;flex:0 0 var(--tile);background:0 0;width:100%;position:relative;overflow:hidden}.portfolio-row-viewport.is-top:has(.is-hover,.is-3d){z-index:7;clip-path:inset(-50% 0 -140%);overflow:visible}.portfolio-row-viewport.is-bottom:has(.is-hover,.is-3d){z-index:7;clip-path:inset(-140% 0 -50%);overflow:visible}.portfolio-row{width:max-content;height:var(--tile);will-change:transform;align-items:stretch;display:flex}.portfolio-center{z-index:3;flex:0 0 var(--center-h);width:100%;height:var(--center-h);background:0 0;flex-direction:column;min-height:0;display:flex;position:relative;overflow:visible}:is(.portfolio-center:has(.is-hover),.portfolio-center:has(.is-field)){z-index:8}.center-block{width:100%;height:100%;position:relative;overflow:visible}.center-scene{width:100%;height:100%;perspective:calc(var(--center-h) * 2.6);perspective-origin:50%;transform-style:preserve-3d;overflow:visible}.center-cube-origin{width:100%;height:100%;transform:translateZ(calc(var(--center-h) / -2));transform-style:preserve-3d}.center-cube{width:100%;height:100%;transform-style:preserve-3d;transform-origin:50%;will-change:transform;position:relative}.center-face{box-sizing:border-box;color:#000;backface-visibility:hidden;pointer-events:none;background:#fff;border:1px solid #000;position:absolute;inset:0;overflow:hidden}.center-face-front{transform:rotateX(0deg) translateZ(calc(var(--center-h) / 2))}.center-face-top{color:#fff;transform:rotateX(90deg) translateZ(calc(var(--center-h) / 2));background:#000;border-color:#000}.portfolio .center-block:not(.is-hover):not(.is-3d) .center-face-front{border-color:#0000}.identity-link-hit{z-index:30;opacity:0;pointer-events:none;position:absolute;inset:0}.identity-link-hit a,.identity-link-hit .identity-hot{pointer-events:auto;cursor:var(--cursor-skull-link)}.center-block.is-story .identity-link-hit .identity-wordmark{pointer-events:auto;cursor:var(--cursor-skull)}.skull-cursor{z-index:10000;pointer-events:none;will-change:transform;width:61px;height:64px;position:fixed;top:0;left:0}.skull-cursor[hidden],.skull-cursor.is-text{display:none}.skull-cursor-hand{z-index:2;width:61px;height:64px;image-rendering:pixelated;transform-origin:4px 1px;display:block;position:relative}.skull-cursor.is-hot .skull-cursor-hand{animation:.16s steps(2,end) infinite skull-hand-twitch}.skull-glow{z-index:9999;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.skull-glow[hidden]{display:none}@keyframes skull-hand-twitch{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(-7deg)translate(1px,1px)}50%{transform:rotate(6deg)translate(-1px)}75%{transform:rotate(-4deg)translateY(1px)}}.story-cursor{z-index:10000;pointer-events:none;will-change:left, top;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;left:0;translate:72px -64px}.skull-cursor .story-cursor{z-index:3;will-change:auto;position:absolute;top:1px;left:4px}.story-cursor-head-frame{border-radius:8px;width:52px;height:44px;margin:0 0 -8px;animation:.72s ease-in-out infinite story-head-bob;display:block;overflow:hidden}.story-cursor-head{object-fit:cover;object-position:center 8%;width:52px;height:52px;image-rendering:pixelated;margin:0;display:block}.story-cursor-pill{isolation:isolate;color:#fff;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#ff2a2a;border-radius:999px;place-items:center;padding:.75em 1.3em;font-size:16px;font-weight:700;line-height:1;animation:.28s steps(2,end) infinite story-cursor-flash;display:grid;position:relative;box-shadow:4px 0 #18e0ff,-4px 0 #fff}.story-cursor[hidden]{display:none}.story-cursor.is-swipe .story-cursor-head-frame{visibility:hidden;animation:none}.story-cursor-label{z-index:2;position:relative}.story-cursor-ghost{z-index:1;font:inherit;letter-spacing:inherit;text-transform:inherit;opacity:.9;place-items:center;display:grid;position:absolute;inset:0}.story-cursor-ghost.is-red{color:#ff2a2a;animation:.42s steps(2,end) infinite story-cursor-shift}.story-cursor-ghost.is-cyan{color:#18e0ff;animation:.42s steps(2,end) infinite reverse story-cursor-shift}.story-cursor.is-still .story-cursor-head-frame{animation:none}.story-cursor.is-still .story-cursor-pill{color:#fff;background:#ff2a2a;animation:none;box-shadow:4px 0 #18e0ff}.story-cursor.is-still .story-cursor-ghost{opacity:0;animation:none}@keyframes story-cursor-shift{0%,to{transform:translate(-3px)}50%{transform:translate(4px,1px)}}@keyframes story-cursor-flash{0%,49%{color:#fff;background:#ff2a2a;box-shadow:5px 0 #18e0ff,-4px 0 #fff}50%,to{color:#000;background:#18e0ff;box-shadow:5px 0 #ff2a2a,-4px 0 #fff}}@keyframes story-head-bob{0%,to{transform:translateY(2px)}50%{transform:translateY(-4px)}}.tile{z-index:1;box-sizing:border-box;flex:0 0 var(--tile);width:var(--tile);height:var(--tile);aspect-ratio:1;color:inherit;-webkit-user-select:none;user-select:none;background:0 0;outline:none;text-decoration:none;display:block;position:relative;overflow:visible}.tile+.tile{margin-left:-1px}.tile.is-3d{z-index:5}.tile.is-hover{z-index:6}.tile-scene{width:var(--tile);height:var(--tile);perspective:calc(var(--tile) * 2.4);perspective-origin:50%;transform-style:preserve-3d;position:relative}.tile-cube-origin{width:100%;height:100%;transform:translateZ(calc(var(--tile) / -2));transform-style:preserve-3d}.tile-cube{width:100%;height:100%;transform-style:preserve-3d;transform-origin:50%;position:relative}.portfolio .tile:not(.is-hover):not(.is-3d):not(.is-flipping) .cube-face:not(.cube-face-front){display:none}.portfolio .tile.is-hover .tile-cube,.portfolio .tile.is-3d .tile-cube,.portfolio .tile.is-flipping .tile-cube{will-change:transform}.portfolio .tile.is-far .tile-scene{content-visibility:hidden;contain-intrinsic-size:var(--tile) var(--tile)}.portfolio.is-strip:not(.is-center-in) .portfolio-row-viewport{background:#000}.cube-face{box-sizing:border-box;backface-visibility:hidden;background:#fff;border:1px solid #000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.cube-face-front{transform:rotateY(0deg) translateZ(calc(var(--tile) / 2));overflow:hidden}.tile.is-highlighted .cube-face-front{background:#f7f7f7}.tile.is-inverted .cube-face-front{color:#fff;background:#000;border-color:#fff}.tile.is-inverted .cube-face-side{color:#000;background:#fff;border-color:#fff}.tile.is-inverted .cube-side-title,.tile.is-inverted .cube-side-meta{color:#000}.tile.is-inverted .tile-caption{color:#fff}.cube-face-top{transform:rotateX(90deg) translateZ(calc(var(--tile) / 2));background:#000;border-color:#000}.cube-face-side{padding:calc(var(--tile) * .1);color:#fff;transform:rotateY(90deg) translateZ(calc(var(--tile) / 2));background:#000;border-color:#000;flex-direction:column;justify-content:center;align-items:flex-start}.cube-face-left{transform:rotateY(-90deg) translateZ(calc(var(--tile) / 2));background:#000}.cube-face-back{transform:rotateY(180deg) translateZ(calc(var(--tile) / 2));background:#000}.cube-face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--tile) / 2));background:#000;border-color:#000}.cube-side-title{--title-size:min(calc(var(--tile) * .145), calc(var(--tile) * .72 / var(--title-em,4)));color:#fff;max-width:100%;font-family:var(--font-display), sans-serif;font-size:var(--title-size);letter-spacing:-.03em;text-transform:uppercase;margin:0;font-weight:700;line-height:.88}.cube-side-title .glitch-text{white-space:nowrap}.glitch-text{display:block}.glitch-letter{isolation:isolate;pointer-events:none;transform:translate3d(var(--gx,0px), var(--gy,0px), 0);display:inline-block;position:relative;overflow:visible}.glitch-letter-layer{display:block}.glitch-letter-core{z-index:2;color:inherit;position:relative}.glitch-letter-ghost,.glitch-letter-slice{position:absolute;inset:0}.glitch-letter-ghost{z-index:0;color:#0000;opacity:0}.glitch-letter.is-lit .glitch-letter-ghost,.glitch-letter.is-hot .glitch-letter-ghost{opacity:.78;mix-blend-mode:plus-lighter}.glitch-letter-ghost.is-red{color:#ff2a2a;transform:translate3d(calc(var(--split,0px) * -1), 0, 0)}.glitch-letter-ghost.is-cyan{color:#18e0ff;transform:translate3d(var(--split,0px), 0, 0)}.glitch-letter-slice{z-index:3;opacity:0;clip-path:inset(var(--slice-y,40%) 0 calc(100% - var(--slice-y,40%) - var(--slice-h,14%)) 0);transform:translate3d(var(--slice-x,0px), 0, 0);overflow:hidden}.glitch-letter.is-hot .glitch-letter-slice{opacity:.9}.glitch-space{white-space:pre}.cube-side-meta{margin:calc(var(--tile) * .045) 0 0;color:#fff;font-family:var(--font-mono), ui-monospace, monospace;font-size:max(8px, calc(var(--tile) * 8 / 288));letter-spacing:.04em;text-transform:uppercase;font-weight:400;line-height:1.2}.cube-side-meta.is-services{letter-spacing:.02em}.cube-side-sep{white-space:pre}.cube-side-tail{white-space:nowrap}.cube-side-more{box-sizing:border-box;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center;vertical-align:baseline;border:1px solid #ffffffb3;border-radius:999px;min-width:2.3em;margin-left:.5em;padding:.22em .5em .16em;font-size:.92em;line-height:1;display:inline-block}.tile.is-inverted .cube-side-more{border-color:#000000b3}@media (hover:hover) and (pointer:fine){.cube-side-meta{opacity:0;transition:opacity .2s,transform .2s;transform:translateY(4px)}.cube-side-more{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-3px)}.tile.is-hover .cube-side-meta,.tile.is-hover .cube-side-more{opacity:1;transition-duration:.34s;transition-timing-function:cubic-bezier(.22,1,.36,1);transform:none}.tile.is-hover .cube-side-meta{transition-delay:.16s}.tile.is-hover .cube-side-more{transition-delay:.26s}}.tile-art-box{flex:none;position:relative;overflow:visible}.tile-art{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;display:block}.tile-art.is-pixel{image-rendering:pixelated}.tile-seen{z-index:5;top:calc(var(--tile) * .03);right:calc(var(--tile) * .03);width:calc(var(--tile) * .21);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;position:absolute}.tile-art.is-cropped{max-width:none;position:absolute}.tile-caption{left:calc(var(--tile) * 15 / 288);bottom:calc(var(--tile) * 11 / 288);width:calc(var(--tile) * 259 / 288);color:#000;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--meta);text-transform:uppercase;pointer-events:none;font-weight:500;line-height:normal;position:absolute}.tile-caption-sub{font-weight:400;font-size:max(8px, calc(var(--meta) * 10 / 11));display:block}.identity{box-sizing:border-box;width:100%;height:100%;min-height:0;padding:var(--logo-breath) var(--gutter);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.identity-wordmark{width:var(--wordmark-w);max-width:100%;color:inherit;margin:0;line-height:0;display:block;overflow:visible}.identity-wordmark svg,.dieloot-mark-sizer{width:100%;height:auto;display:block}.identity-link-hit .identity-wordmark{pointer-events:auto;cursor:var(--cursor-skull)}.dieloot-mark{width:100%;display:block;position:relative}.dieloot-letter{pointer-events:none;transform:translate3d(var(--gx,0px), var(--gy,0px), 0);will-change:transform;display:block;position:absolute;inset:0}.dieloot-letter svg{width:100%;height:100%;display:block;position:absolute;inset:0}.dieloot-letter-ghost{color:#0000;opacity:0}.dieloot-letter.is-lit .dieloot-letter-ghost,.dieloot-letter.is-hot .dieloot-letter-ghost{opacity:.9}.dieloot-letter-ghost.is-red{color:#ff2a2a;transform:translate3d(calc(var(--split,0px) * -1), 0, 0)}.dieloot-letter-ghost.is-cyan{color:#18e0ff;transform:translate3d(var(--split,0px), 0, 0)}.dieloot-letter-slice{opacity:0;clip-path:inset(var(--slice-y,40%) 0 calc(100% - var(--slice-y,40%) - var(--slice-h,14%)) 0);transform:translate3d(var(--slice-x,0px), 0, 0);position:absolute;inset:0;overflow:hidden}.dieloot-letter.is-hot .dieloot-letter-slice{opacity:1}.dieloot-letter.is-flash .dieloot-letter-core{opacity:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.identity-meta{justify-content:space-between;align-items:flex-start;gap:calc(var(--tile) * 24 / 288);width:var(--wordmark-w);max-width:100%;margin-top:var(--meta-gap);pointer-events:auto;margin-bottom:0;display:flex}.identity-cluster{min-width:0;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--meta);text-transform:uppercase;font-weight:500;line-height:1.36}.identity-cluster.is-bio{width:calc(var(--tile) * 293 / 288)}.identity-meta-end{justify-content:flex-end;align-items:flex-start;gap:calc(var(--tile) * 80 / 288);flex:0 auto;margin-left:auto;display:flex}.identity-cluster.is-place{width:auto}.identity-links{flex:none;gap:30px;display:flex}.identity-cluster p,.identity-cluster a,.identity-link-face{color:inherit;margin:0;text-decoration:none}.identity-link-face{display:block}.identity-cluster .is-soft{font-weight:400}.identity-hot{cursor:var(--cursor-skull-link)}.identity-hot[data-field=beast]{white-space:nowrap}.center-block[data-field] .identity-hot[data-field]{text-decoration:none}.center-block[data-field=design] .identity-hot[data-field=design],.center-block[data-field=frontend] .identity-hot[data-field=frontend],.center-block[data-field=beast] .identity-hot[data-field=beast],.center-block[data-field=auckland] .identity-hot[data-field=auckland],.center-block[data-field=email] .identity-hot[data-field=email],.center-block[data-field=cv] .identity-hot[data-field=cv],.center-block[data-field=linkedin] .identity-hot[data-field=linkedin],.about-close[data-field=email] .identity-hot[data-field=email],.about-close[data-field=cv] .identity-hot[data-field=cv],.about-close[data-field=linkedin] .identity-hot[data-field=linkedin]{text-underline-offset:2px;text-decoration:underline}.identity-field{--fu:clamp(.55px, calc(100vw / 1440), 1.35px);--stamp:calc(78 * var(--fu));z-index:4;pointer-events:none;opacity:0;background:#000;position:absolute;inset:0;overflow:hidden}.center-block.is-field .identity-field{opacity:1}.center-block.is-field .center-scene{visibility:hidden;opacity:0}.center-block.is-field .identity-link-hit{opacity:1;color:#fff}.center-block.is-field .identity-link-hit .identity-wordmark{color:#000}.wordmark-halo{pointer-events:none;display:none;position:absolute;inset:-16px}.center-block.is-field .identity-link-hit .wordmark-halo{display:block}.wordmark-halo canvas{width:100%;height:100%;position:absolute;inset:0}.wordmark-halo .is-red{transform:translate(5px)}.wordmark-halo .is-cyan{transform:translate(-5px)}.center-block.is-field .identity-link-hit .wordmark-halo canvas{animation:.2s step-end infinite field-halo-white}.center-block.is-field .identity-link-hit .wordmark-halo .is-red{animation-name:field-halo-red}.center-block.is-field .identity-link-hit .wordmark-halo .is-cyan{animation-name:field-halo-cyan}.center-block.is-field .dieloot-letter{--split:4px}.center-block.is-field .dieloot-letter-core{color:#000}.center-block.is-field .dieloot-letter-ghost.is-red,.center-block.is-field .dieloot-letter-ghost.is-cyan{opacity:.95}.identity-field-wash,.identity-field-scatter{position:absolute;inset:0}.identity-field-wash{background:#000}.identity-field-scatter{overflow:hidden}.identity-stamp,.identity-slang{left:var(--x);top:var(--y);transform:translate(-50%, -50%) rotate(var(--r)) scaleX(var(--fx));pointer-events:none;position:absolute}.identity-field.is-in .identity-stamp,.identity-field.is-in .identity-slang{animation:.64s cubic-bezier(.22,1,.36,1) both field-throw-in;animation-delay:calc(var(--d) * .4)}.identity-field.is-out .identity-stamp,.identity-field.is-out .identity-slang{animation:.3s steps(4,end) both field-glitch-out;animation-delay:calc(var(--d) * .12)}.identity-field.is-in .identity-stamp-inner,.identity-field.is-in .identity-slang-inner,.identity-field.is-out .identity-stamp-inner,.identity-field.is-out .identity-slang-inner{animation:none}.identity-stamp{width:calc(var(--stamp) * var(--s) * var(--ar,1));height:calc(var(--stamp) * var(--s))}.identity-stamp-inner,.identity-slang-inner{width:100%;height:100%;animation:.24s steps(2,end) infinite field-stamp-glitch;animation-delay:var(--d);display:block}.identity-stamp img{object-fit:contain;width:100%;height:100%;display:block}.identity-stamp.is-ink .identity-stamp-inner{background:var(--field-ink);-webkit-mask-image:var(--field-mark);-webkit-mask-image:var(--field-mark);mask-image:var(--field-mark);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.identity-stamp.is-hot .identity-stamp-inner,.identity-slang.is-hot{filter:drop-shadow(3px 0 #ff2a2a)drop-shadow(-3px 0 #18e0ff)}.identity-stamp.is-cyan .identity-stamp-inner,.identity-slang.is-cyan{filter:drop-shadow(-3px 0 #18e0ff)drop-shadow(3px 0 #ff2a2a)}.identity-stamp.is-drift-a .identity-stamp-inner,.identity-slang.is-drift-a .identity-slang-inner{animation:.24s steps(2,end) infinite field-stamp-glitch,1.6s steps(4,end) infinite field-drift-a}.identity-stamp.is-drift-b .identity-stamp-inner,.identity-slang.is-drift-b .identity-slang-inner{animation:.28s steps(2,end) infinite field-stamp-glitch,1.9s steps(4,end) infinite field-drift-b}.identity-stamp.is-drift-c .identity-stamp-inner,.identity-slang.is-drift-c .identity-slang-inner{animation:.2s steps(2,end) infinite field-stamp-glitch,1.4s steps(3,end) infinite field-drift-c}.identity-slang{color:#fff;font-family:var(--font-display), sans-serif;font-size:calc(var(--s) * var(--fu));letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;font-weight:700;line-height:.86}.identity-slang.is-hot{color:#ff2a2a}.identity-slang.is-cyan{color:#18e0ff}.identity-field.is-design{--stamp:calc(86 * var(--fu))}.identity-field.is-frontend{--stamp:calc(92 * var(--fu))}.identity-field.is-beast{--stamp:calc(132 * var(--fu));--field-mark:url(/stamp-beast.svg);--field-ink:#ff5c5a}.identity-field.is-email{--stamp:calc(96 * var(--fu))}.identity-field.is-cv{--stamp:calc(70 * var(--fu));--field-mark:url(/mark-download.svg);--field-ink:#fff}.identity-field.is-linkedin{--stamp:calc(72 * var(--fu))}@keyframes field-throw-in{0%{opacity:0;transform:translate(-50%, calc(-50% + 46vh)) rotate(calc(var(--r) - 16deg)) scaleX(var(--fx)) scale(.58)}58%{opacity:1;transform:translate(-50%, calc(-50% - 26px)) rotate(calc(var(--r) + 7deg)) scaleX(var(--fx)) scale(1.1)}to{opacity:1;transform:translate(-50%, -50%) rotate(var(--r)) scaleX(var(--fx)) scale(1)}}@keyframes field-glitch-out{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--r)) scaleX(var(--fx));filter:none}28%{opacity:.35;transform:translate(calc(-50% - 10px), calc(-50% + 6px)) rotate(var(--r)) scaleX(var(--fx));filter:drop-shadow(4px 0 #ff2a2a)drop-shadow(-4px 0 #18e0ff)}52%{opacity:.8;transform:translate(calc(-50% + 8px), calc(-50% - 12px)) rotate(var(--r)) scaleX(var(--fx)) scale(.96);filter:none}76%{opacity:.15;transform:translate(calc(-50% - 4px), calc(-50% - 18px)) rotate(var(--r)) scaleX(var(--fx)) scale(.9);filter:drop-shadow(-5px 0 #ff2a2a)}to{opacity:0;transform:translate(-50%, calc(-50% - 28px)) rotate(var(--r)) scaleX(var(--fx)) scale(.82);filter:none}}@keyframes field-stamp-glitch{0%,78%,to{opacity:1;transform:translate(0,0)}82%{opacity:.25;transform:translate(-5px,1px)}88%{opacity:1;transform:translate(4px,-2px)}93%{opacity:.55;transform:translate(-2px,2px)}}@keyframes field-drift-a{0%,to{translate:0}50%{translate:8px -5px}}@keyframes field-drift-b{0%,to{translate:0}50%{translate:-10px 4px}}@keyframes field-drift-c{0%,to{translate:0}50%{translate:3px 9px}}@keyframes field-halo-white{0%,to{transform:translate(0)}25%,75%{transform:translate(-.5px,.25px)}50%{transform:translate(-1px,.5px)}}@keyframes field-halo-red{0%,to{transform:translate(5px)}25%,75%{transform:translate(-1px,.75px)}50%{transform:translate(-7px,1.5px)}}@keyframes field-halo-cyan{0%,to{transform:translate(-5px)}25%,75%{transform:translateY(-.25px)}50%{transform:translate(5px,-.5px)}}.identity-cluster a:hover .is-soft,.identity-cluster a:focus-visible .is-soft{text-underline-offset:2px;text-decoration:underline}.center-block:has(.identity-link-hit a[data-link=email]:is(:hover,:focus-visible)) .identity-link-face[data-link=email] .is-soft{text-underline-offset:2px;text-decoration:underline}.center-block:has(.identity-link-hit a[data-link=cv]:is(:hover,:focus-visible)) .identity-link-face[data-link=cv] .is-soft{text-underline-offset:2px;text-decoration:underline}.center-block:has(.identity-link-hit a[data-link=linkedin]:is(:hover,:focus-visible)) .identity-link-face[data-link=linkedin] .is-soft{text-underline-offset:2px;text-decoration:underline}@media (max-aspect-ratio:1){.portfolio{--gutter:clamp(16px, 5.2vw, 32px);--logo-breath:clamp(16px, calc(var(--screen-h) * .026), 36px);--ideal-logo-w:calc(100vw - (2 * var(--gutter)));--min-center:max(168px, calc(var(--meta-space) + (2 * var(--logo-breath)) + 72px));--tile-raw:min(62vw, calc(var(--screen-h) * .36), calc((var(--screen-h) - var(--min-center)) / 2))}}@media (max-aspect-ratio:1),(max-width:720px){.identity{padding-left:var(--gutter);padding-right:var(--gutter)}.identity-wordmark{width:var(--wordmark-w)}.identity-meta{flex-wrap:wrap;gap:10px 18px}.identity-cluster.is-bio,.identity-cluster.is-place{width:auto}.identity-meta-end{gap:24px;margin-left:0}.identity-links{gap:18px}.tile-caption{display:none}}@media (prefers-reduced-motion:reduce){.boot-screen,.boot-line-text,.boot-line-text:before,.boot-line-text:after,.boot-mark,.boot-skull-ghost,.boot-skull-slice,.center-face-front .dieloot-letter.is-in,.center-face-front .is-copy-in,html.is-revealing .center-face-front,html.is-revealing .center-face-front .dieloot-letter.is-in{animation:none!important}.boot-screen{display:none!important}.portfolio.is-boot .tile-cube,.tile-art,.tile-cube,.center-cube{opacity:1!important;transform:none!important}.portfolio:not(.is-live) .center-face-front .dieloot-letter,.portfolio:not(.is-live) .center-face-front .identity-cluster.is-bio>p,.portfolio:not(.is-live) .center-face-front .identity-cluster.is-place>p,.portfolio:not(.is-live) .center-face-front .identity-links>*{opacity:1!important}.center-block.is-hover .center-face-front,.tile.is-hover .cube-face-front{color:#fff;background:#000}.tile.is-hover .tile-caption{color:#fff}.dieloot-letter,.dieloot-letter-ghost,.dieloot-letter-slice,.glitch-letter,.glitch-letter-ghost,.glitch-letter-slice{transform:none!important}.dieloot-letter-ghost,.dieloot-letter-slice,.glitch-letter-ghost,.glitch-letter-slice{opacity:0!important}.dieloot-letter-core,.glitch-letter-core{opacity:1!important}.identity-stamp,.identity-slang,.identity-stamp-inner,.identity-slang-inner,.center-block.is-field .identity-link-hit .wordmark-halo canvas,.story-cursor-pill,.story-cursor-head-frame,.story-cursor-head,.story-cursor-ghost,.skull-cursor.is-hot .skull-cursor-hand{animation:none!important}.story-cursor-pill{box-shadow:none!important}.story-cursor-ghost{opacity:0!important}}
.route-wash{z-index:120;opacity:0;pointer-events:none;background:#000;position:fixed;inset:0}.project{--font-text:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--project-pad:calc(100vw * 30 / 1440);--project-copy-inset:max(16px, var(--project-pad));--project-body:clamp(16px, calc(100vw * 19.364 / 1440), 20px);--project-lead:clamp(20px, calc(100vw * 26 / 1440), 26px);--project-media-w:calc(100vw * 1380 / 1440);--project-media-h:calc(var(--project-media-w) * 759 / 1380);--project-inset-w:calc(100vw * 1126.67 / 1440);--project-inset-h:calc(var(--project-inset-w) * 619.668 / 1126.67);color:#fff;background:#000;min-height:100lvh;position:relative}.project-mark{--mark:url(/marks/d-mark.svg);width:auto;height:62px;max-height:62px;cursor:var(--cursor-skull-link);background:0 0;border:0;padding:0;display:block;overflow:visible}.project-mark-stack{width:44px;height:62px;display:block;position:relative}.project-mark img{z-index:1;width:44px;height:62px;display:block;position:relative}.project-mark-ghost,.project-mark-slice{z-index:2;pointer-events:none;opacity:0;-webkit-mask-image:var(--mark);-webkit-mask-image:var(--mark);mask-image:var(--mark);background:#ff2a2a;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.project-mark-ghost.is-cyan{background:#18e0ff}.project-mark-slice{z-index:3;mix-blend-mode:plus-lighter;clip-path:inset(36% 0 50%);background:#fff}.project-mark:hover .project-mark-ghost.is-red,.project-mark:focus-visible .project-mark-ghost.is-red{opacity:.95;animation:.22s steps(2,end) infinite project-mark-jitter-red}.project-mark:hover .project-mark-ghost.is-cyan,.project-mark:focus-visible .project-mark-ghost.is-cyan{opacity:.95;animation:.2s steps(2,end) infinite project-mark-jitter-cyan}.project-mark:hover img,.project-mark:focus-visible img{animation:.28s steps(2,end) infinite project-mark-core-jitter}.project-mark:hover .project-mark-slice,.project-mark:focus-visible .project-mark-slice{opacity:1;animation:.18s steps(2,end) infinite project-mark-slice}.project-mark.is-glitch-out{pointer-events:none}.project-mark.is-glitch-out img{animation:.42s steps(6,end) both project-mark-out}.project-mark.is-glitch-out .project-mark-ghost.is-red{animation:.42s steps(5,end) both project-mark-out-red}.project-mark.is-glitch-out .project-mark-ghost.is-cyan{animation:.42s steps(5,end) both project-mark-out-cyan}.project-mark.is-glitch-out .project-mark-slice{animation:.42s steps(4,end) both project-mark-out-slice}@keyframes project-mark-jitter-red{0%,to{transform:translate(-5px,1px)}50%{transform:translate(-2px,-2px)}}@keyframes project-mark-jitter-cyan{0%,to{transform:translate(5px,-1px)}50%{transform:translate(2px,2px)}}@keyframes project-mark-core-jitter{0%,to{transform:translate(0,0)}50%{transform:translate(2px,-1px)}}@keyframes project-mark-slice{0%,to{clip-path:inset(36% 0 50%);transform:translate(8px)}50%{clip-path:inset(18% 0 62%);transform:translate(-7px,1px)}}@keyframes project-mark-out{0%{opacity:1;filter:none;transform:translate(0,0)}16%{opacity:1;filter:drop-shadow(6px 0 #ff2a2a)drop-shadow(-6px 0 #18e0ff);transform:translate(-8px,2px)}32%{opacity:.15;filter:none;transform:translate(10px,-3px)}48%{opacity:1;filter:drop-shadow(-8px 0 #18e0ff);transform:translate(-4px,1px)}64%{opacity:.2;filter:drop-shadow(7px 0 #ff2a2a);transform:translate(6px,-6px)scale(.96)}82%{opacity:.7;filter:none;transform:translate(-3px,-10px)scale(.9)}to{opacity:0;filter:none;transform:translate(4px,-16px)scale(.82)}}@keyframes project-mark-out-red{0%{opacity:0;transform:translate(0,0)}18%{opacity:1;transform:translate(-10px,3px)}40%{opacity:.2;transform:translate(8px,-4px)}62%{opacity:.9;transform:translate(-14px,-8px)}to{opacity:0;transform:translate(-6px,-18px)}}@keyframes project-mark-out-cyan{0%{opacity:0;transform:translate(0,0)}22%{opacity:1;transform:translate(10px,-2px)}44%{opacity:.15;transform:translate(-7px,4px)}68%{opacity:.85;transform:translate(12px,-10px)}to{opacity:0;transform:translate(8px,-20px)}}@keyframes project-mark-out-slice{0%{opacity:0;clip-path:inset(36% 0 50%);transform:translate(0,0)}20%,55%{opacity:1;clip-path:inset(28% 0 54%);transform:translate(11px)}38%{opacity:1;clip-path:inset(12% 0 70%);transform:translate(-9px,2px)}to{opacity:0;clip-path:inset(48% 0);transform:translateY(-14px)}}.project-stack{width:var(--project-media-w);flex-direction:column;align-items:center;gap:2.12965vw;margin:max(32px,4.72222vw) auto 0;display:flex}.project-stack.is-shots{z-index:2;gap:.694445vw;width:100%;position:relative;overflow:visible}.project-block.is-shots{width:100%;display:flex;overflow:visible}.project-block.is-shots.is-bleed,.project-block.is-shots.is-frame{flex-direction:column}.project-block.is-shots.is-pair,.project-block.is-shots.is-trio{justify-content:space-between;align-items:stretch;gap:.694445vw}.project-shot-slot{min-width:0;display:block;position:relative}.project-shot-slot.is-depth{transform-origin:0 0;transform-style:preserve-3d}.project-shot-slot.is-moving{z-index:3}.project-shot-ghost{z-index:0;pointer-events:none;opacity:0;background:0 0;border:1px solid #ffffff75;position:absolute;inset:0;box-shadow:0 0 0 1px #ffffff14}.project-shot-slot.is-depth>.project-shot{opacity:0;backface-visibility:hidden}.project-shot-slot.is-in>.project-shot{opacity:1}.project-shot{z-index:1;background:#0a0a0a;margin:0;position:relative;overflow:hidden}.pixel-reveal-canvas{width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.pixel-reveal img{opacity:0}.pixel-reveal.is-sharp img{opacity:1}.pixel-reveal.is-sharp .pixel-reveal-canvas{display:none}.pixel-glitch-canvas{z-index:2;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;opacity:0;transition:opacity .12s linear;position:absolute;inset:0}.pixel-reveal.is-glitching .pixel-glitch-canvas{opacity:1}.shot-burst{z-index:40;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.shot-cheese{z-index:9999;pointer-events:none;color:#fff;font-family:var(--font-text);letter-spacing:-.015em;white-space:nowrap;opacity:0;visibility:hidden;will-change:transform, opacity;background:#000;border:1px solid #ffffffb8;padding:8px 12px 9px 8px;font-size:clamp(20px,1.94444vw,32px);font-weight:400;line-height:1.2;transition:opacity .22s,visibility .22s;position:fixed;top:0;left:0;box-shadow:2px 0 #ff2a2ab3,-2px 0 #18e0ffb3}.shot-cheese.is-on{opacity:1;visibility:visible}.shot-cheese-bob{align-items:flex-start;gap:8px;animation:2.6s ease-in-out infinite shot-cheese-bob;display:flex;position:relative}.shot-cheese-skull{width:16px;height:12px;image-rendering:pixelated;filter:invert();flex:none;margin-top:6px;animation:1.7s steps(2,end) infinite shot-cheese-mark}.shot-cheese-label{z-index:1;opacity:1;transition:opacity .22s;display:block;position:relative}.shot-cheese-ghost{opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .22s,transform .22s;position:absolute;top:0;left:24px}.shot-cheese.is-swap .shot-cheese-label{opacity:.15}.shot-cheese.is-swap .shot-cheese-ghost.is-red{opacity:.7;color:#ff2a2a;transform:translate(3px,-1px)}.shot-cheese.is-swap .shot-cheese-ghost.is-cyan{opacity:.7;color:#18e0ff;transform:translate(-3px,1px)}.shot-cheese.is-still .shot-cheese-bob,.shot-cheese.is-still .shot-cheese-skull{animation:none}.shot-cheese.is-still .shot-cheese-ghost{display:none}@keyframes shot-cheese-bob{0%,to{transform:translate(0)rotate(-.5deg)}40%{transform:translate(5px,-7px)rotate(.7deg)}70%{transform:translate(-2px,-3px)rotate(-.3deg)}}@keyframes shot-cheese-mark{0%,to{transform:translate(0)}50%{transform:translate(1px,-1px)}}.project-block.is-shots.is-bleed .project-shot-slot,.project-block.is-shots.is-frame .project-shot-slot,.project-shot-slot>.project-shot{width:100%}.project-block.is-shots.is-pair .project-shot-slot{flex:0 0 calc(50% - .347222vw);width:calc(50% - .347222vw)}.project-block.is-shots.is-trio .project-shot-slot{flex:0 0 calc(33.3333% - .462963vw);width:calc(33.3333% - .462963vw)}.project-shot img,.project-shot.is-video video{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.project-block.is-illustrations{align-self:stretch;width:100%}.illustration-stage{--illus-pad-y:clamp(32px, 6vh, 80px);--illus-gutter:clamp(20px, 6vw, 96px);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;width:100%;height:100svh}.illustration-stage.is-dragging{touch-action:none}.illustration-track{flex-wrap:nowrap;width:100%;min-width:0;height:100%;min-height:0;display:flex}.illustration-slide{box-sizing:border-box;width:100%;min-width:100%;max-width:100%;height:100%;min-height:0;padding:var(--illus-pad-y) var(--illus-gutter);flex:0 0 100%;justify-content:center;align-items:center;display:flex;overflow:hidden}.illustration-stage.project-shot img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:auto;max-width:min(1000px,100%);height:auto;max-height:100%;margin:auto;display:block}.illustration-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.illustration-dots{display:none}@media (max-width:900px){.project-block.is-illustrations{position:relative}.illustration-dots{z-index:3;pointer-events:auto;flex-wrap:nowrap;justify-content:center;align-items:center;width:max-content;max-width:calc(100% - 28px);margin:0;padding:0;display:flex;position:absolute;bottom:54px;left:50%;transform:translate(-50%)}.illustration-dot{appearance:none;background:0 0;border:0;border-radius:0;flex:none;place-items:center;width:13px;height:22px;padding:0;display:grid}.illustration-dot:before{content:"";background:#00000057;border-radius:50%;width:6px;height:6px}.illustration-dot.is-active:before{background:#111;width:7px;height:7px}.illustration-dot:focus-visible{outline-offset:1px;outline:1px solid #0000008c}}.project-block.is-media{width:var(--project-media-w);height:var(--project-media-h);background:#1c1c1c;flex:none}.project-block.is-media.is-inset{width:var(--project-inset-w);height:var(--project-inset-h);margin:6.94444vw 0}.project-block.is-split{color:#fff;justify-content:space-between;align-items:flex-start;width:100%;padding:6.94444vw 0;display:flex}.project-split-heading,.project-split-body{width:41.3194vw;margin:0;line-height:normal}.project-split-heading{font-family:var(--font-display), sans-serif;font-size:var(--project-lead);font-weight:700}.project-split-body{font-family:var(--font-text);font-size:var(--project-body);color:#ffffffd1;font-weight:400}.project-block.is-story{width:100%;padding:clamp(72px, 10vw, 140px) var(--project-copy-inset);color:#fff}.project-block.is-story .project-copy-body{max-width:min(52rem,78vw)}.project-block.is-story:not(.is-cols) .project-copy-body+.project-copy-body{margin-top:1.15em}.project-stack:not(.is-shots) .project-block.is-story{padding-left:0;padding-right:0}.project-block.is-story.is-end .project-copy-body,.project-block.is-story.is-offset .project-copy-body,.project-block.is-story.is-narrow .project-copy-body{margin-left:0}.project-block.is-story.is-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 clamp(36px,6vw,96px);display:grid}.project-block.is-story.is-cols .project-copy-body{max-width:min(28rem,100%);margin:0}.project-block.is-story.is-cols.is-lead-left{padding-left:clamp(12px,3vw,40px);padding-right:clamp(48px,9vw,140px)}.project-block.is-story.is-cols.is-lead-left .project-copy-body:first-child{margin-left:calc(var(--project-pad) * -.45);margin-top:0}.project-block.is-story.is-cols.is-lead-left .project-copy-body:last-child{margin-top:clamp(56px,7vw,112px);margin-right:calc(var(--project-pad) * -.25);justify-self:end}.project-block.is-story.is-cols.is-lead-right{padding-left:clamp(48px,9vw,140px);padding-right:clamp(12px,3vw,40px)}.project-block.is-story.is-cols.is-lead-right .project-copy-body:first-child{margin-top:clamp(56px,7vw,112px);margin-left:calc(var(--project-pad) * -.2)}.project-block.is-story.is-cols.is-lead-right .project-copy-body:last-child{margin-top:0;margin-right:calc(var(--project-pad) * -.45);justify-self:end}.project-lede{box-sizing:border-box;width:100%;padding:clamp(72px, 10vw, 140px) var(--project-copy-inset);text-align:center}.project-lede .project-copy-body{width:min(78vw, var(--project-inset-w));text-align:center;max-width:100%;margin-inline:auto}.project.is-leaving .project-intro-inner,.project.is-leaving .project-intro-corner,.project.is-leaving .project-intro-mark,.project.is-leaving .project-lede,.project.is-leaving .project-intro-lede,.project.is-leaving .project-intro-facts,.project.is-leaving .project-block,.project.is-leaving .project-dock{pointer-events:none}.project-block.is-split-copy,.project-block.is-impact{width:100%;padding:clamp(72px, 10vw, 140px) var(--project-pad);color:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.project-block.is-impact.is-scale-only{grid-template-columns:minmax(0,36rem)}.project-copy-col{min-width:0}.project-copy-label{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:500;line-height:1.3}.word-reveal-word{opacity:0;display:inline-block;transform:translateY(.4em)}.word-reveal-word:not(:last-child){margin-right:.3em}.word-reveal.has-tail{text-wrap:pretty}.word-reveal-tail{white-space:nowrap;display:inline-block}.word-reveal.is-in .word-reveal-word{animation:.48s steps(5,end) both word-reveal;animation-delay:calc(var(--word-delay,0s) + var(--i,0) * 22ms)}.word-reveal.is-reduced .word-reveal-word{opacity:1;filter:none;animation:none;transform:none}@keyframes word-reveal{0%{opacity:0;filter:drop-shadow(6px 0 #ff2a2a)drop-shadow(-6px 0 #18e0ff);transform:translate(-5px,.22em)}22%{opacity:1}38%{opacity:.18;transform:translate(5px,.08em)}58%{opacity:1;filter:drop-shadow(-5px 0 #18e0ff);transform:translate(3px)}76%{opacity:.42;filter:drop-shadow(4px 0 #ff2a2a);transform:translate(-3px,.04em)}to{opacity:1;filter:none;transform:none}}.project-copy-body{font-family:var(--font-text);letter-spacing:-.015em;text-transform:none;color:#ffffffd1;margin:0;font-size:clamp(20px,1.94444vw,32px);font-weight:400;line-height:1.2}.project-impact-list{flex-direction:column;gap:28px;margin:0;padding:0;list-style:none;display:flex}.project-impact-stat{font-family:var(--font-display), sans-serif;letter-spacing:-.045em;margin:0;font-size:clamp(64px,7.63889vw,120px);font-weight:700;line-height:.88}.project-impact-caption{max-width:28ch;font-family:var(--font-text);letter-spacing:0;text-transform:none;color:#ffffffad;margin:10px 0 0;font-size:13px;font-weight:400;line-height:1.4}.project [data-glitch]{opacity:0;filter:drop-shadow(8px 0 #ff2a2a)drop-shadow(-8px 0 #18e0ff);transform:translate3d(var(--gx,-6px), var(--gy,0), 0)}.project [data-glitch].is-glitch-in{animation:.52s steps(6,end) both project-glitch-in}.project [data-glitch].is-glitch-in.is-hot{filter:drop-shadow(8px 0 #ff2a2a)drop-shadow(-8px 0 #18e0ff)}@keyframes project-glitch-in{0%{opacity:0;filter:drop-shadow(10px 0 #ff2a2a)drop-shadow(-10px 0 #18e0ff);transform:translate(-10px,2px)}16%{opacity:1}28%{opacity:.12;transform:translate(8px,-2px)}44%{opacity:1;filter:drop-shadow(-8px 0 #18e0ff);transform:translate(5px)}60%{opacity:.28;transform:translate(-6px,1px)}76%{opacity:1;filter:drop-shadow(5px 0 #ff2a2a)}to{opacity:1;filter:none;transform:none}}.project-dock{z-index:6;color:#000;background:#fff;width:100%;position:relative}.project-dock-pin{z-index:6;background:#fff;width:100%;height:100lvh;position:sticky;top:0;overflow:hidden}.project-dock-pin:has(.is-hover){overflow:visible}.project-dock-run{height:var(--dock-run,100vh)}.project-dock.is-loop{--screen-h:100vh;box-sizing:border-box;height:var(--screen-h);background:#fff;padding-bottom:0}@supports (height:100svh){.project-dock.is-loop{--screen-h:100svh}}.project-dock.is-loop .project-dock-pin{height:100%;position:relative}.dock-touch-plane{z-index:45;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;display:none;position:fixed;inset:0}.dock-touch-plane.is-on{display:block}html.is-dock-lock .project-dock.is-loop .portfolio.is-strip{touch-action:none}.portfolio.is-strip.is-loop,.portfolio.is-strip.is-loop.is-live{--center-h:calc(var(--screen-h) - (2 * var(--tile)))}.portfolio.is-strip,.portfolio.is-strip.is-live{--center-h:calc(100lvh - var(--tile));pointer-events:auto;touch-action:pan-y;background:#fff;height:100%}.project-dock.is-loop .portfolio.is-strip{--center-h:calc(var(--screen-h) - (2 * var(--tile)));height:var(--screen-h)}.portfolio.is-strip .portfolio-row-viewport{z-index:10;pointer-events:auto;background:0 0}.portfolio.is-strip .center-face-front{color:#fff;background:#000;border-color:#000;transition:background-color .7s,color .7s,border-color .7s}.portfolio.is-strip.is-center-in .center-face-front{color:#000;background:#fff}.portfolio.is-strip .center-face-front .dieloot-letter:not(.is-in),.portfolio.is-strip .center-face-front .identity-cluster.is-bio>p:not(.is-copy-in),.portfolio.is-strip .center-face-front .identity-cluster.is-place>p:not(.is-copy-in),.portfolio.is-strip .center-face-front .identity-links>:not(.is-copy-in){opacity:0}.portfolio.is-strip .tile{pointer-events:auto}.portfolio.is-strip .center-scene,.portfolio.is-strip .center-cube,.portfolio.is-strip .center-cube-origin{pointer-events:none}@media (max-width:900px){.project-block.is-split,.project-block.is-story,.project-block.is-split-copy,.project-block.is-impact,.project-block.is-shots.is-pair,.project-block.is-shots.is-trio{padding-left:var(--project-pad);flex-direction:column;gap:24px}.project-block.is-story,.project-block.is-split-copy,.project-block.is-impact,.project-block.is-impact.is-scale-only{padding:64px var(--project-pad);grid-template-columns:none;gap:48px;display:flex}.project-block.is-story,.project-lede{padding:64px var(--project-copy-inset)}.project-lede .project-copy-body{width:auto;max-width:none}.project-stack:not(.is-shots) .project-block.is-story{padding-left:0;padding-right:0}.project-block.is-story .project-copy-body{max-width:none;margin-left:0}.project-block.is-story.is-cols,.project-block.is-story.is-cols.is-lead-left,.project-block.is-story.is-cols.is-lead-right{padding-left:var(--project-pad);padding-right:var(--project-pad);grid-template-columns:minmax(0,1fr);gap:24px}.project-block.is-story.is-cols .project-copy-body,.project-block.is-story.is-cols.is-lead-left .project-copy-body:first-child,.project-block.is-story.is-cols.is-lead-left .project-copy-body:last-child,.project-block.is-story.is-cols.is-lead-right .project-copy-body:first-child,.project-block.is-story.is-cols.is-lead-right .project-copy-body:last-child{justify-self:start;margin:0}.project-impact-stat{font-size:clamp(56px,18vw,88px)}.project-block.is-shots.is-pair,.project-block.is-shots.is-trio{gap:.694445vw;padding-left:0;padding-right:0}.project-block.is-shots.is-pair .project-shot-slot,.project-block.is-shots.is-trio .project-shot-slot,.project-block.is-shots.is-pair .project-shot,.project-block.is-shots.is-trio .project-shot,.project-split-heading,.project-split-body{flex-basis:auto;width:100%}}@media (prefers-reduced-motion:reduce){.word-reveal-word,.word-reveal.is-in .word-reveal-word{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.project-shot-slot,.project-shot-slot.is-depth,.project-shot-slot.is-depth>.project-shot,.project-shot-ghost{opacity:1!important;will-change:auto!important;transform:none!important}.project-shot-ghost{display:none!important}.pixel-reveal img{opacity:1!important}.pixel-reveal-canvas,.pixel-glitch-canvas{display:none!important}.shot-cheese-bob,.shot-cheese-skull,.shot-cheese-label,.shot-cheese.is-swap .shot-cheese-label,.shot-cheese.is-swap .shot-cheese-ghost{clip-path:none!important;filter:none!important;transition:none!important;animation:none!important;transform:none!important}.shot-cheese-skull{filter:invert()!important}.shot-cheese.is-swap .shot-cheese-label{opacity:1}.shot-cheese-ghost{display:none!important}.project [data-glitch],.project [data-glitch].is-glitch-in,.project-mark img,.project-mark-ghost,.project-mark-slice{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.project-mark-ghost,.project-mark-slice{opacity:0!important}.portfolio.is-strip .center-face-front{color:#000;background:#fff;transition:none}.portfolio.is-strip .center-face-front .dieloot-letter,.portfolio.is-strip .center-face-front .identity-cluster.is-bio>p,.portfolio.is-strip .center-face-front .identity-cluster.is-place>p,.portfolio.is-strip .center-face-front .identity-links>*{opacity:1!important}}
.project-intro{--font-text:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--intro-pad:max(16px, var(--project-pad,30px));--intro-w:calc(100vw - (2 * var(--intro-pad)));--fs:min(calc(var(--intro-w) * .9 / var(--em,6)), 72vh);--zstep:calc(var(--intro-w) * .078);--wave:2.6s;--line:max(1px, .004em);z-index:1;isolation:isolate;color:#fff;background:#000;width:100%;height:100svh;position:relative;overflow:clip}.project-intro-probe{width:var(--intro-w);visibility:hidden;pointer-events:none;height:100%;position:absolute;top:0;left:0}.project-intro-inner{z-index:1;transform-origin:50% 40%;transform-style:preserve-3d;will-change:transform, opacity;pointer-events:none;justify-content:center;align-items:center;padding-bottom:4svh;display:flex;position:absolute;inset:0}.project-intro-title{font:inherit;opacity:0;pointer-events:auto;margin:0}.project-intro-scene,.project-intro-stage,.project-intro-word{display:block}.project-intro.is-in .project-intro-title{animation:.52s steps(6,end) both project-glitch-in}.project-intro-scene{transform-style:preserve-3d;perspective:calc(var(--intro-w) * .92);perspective-origin:50% 48%}.project-intro-stage{--row-gap:max(.96em, calc(100vh / var(--rows,7)));transform-style:preserve-3d;will-change:transform;font-family:var(--font-display), sans-serif;font-size:var(--fs);letter-spacing:-.04em;text-align:center;text-transform:uppercase;white-space:nowrap;font-weight:700;line-height:.86;position:relative}.project-intro-word{transform-style:preserve-3d;position:relative}.project-intro-echo{--ink:color-mix(in srgb, #fff, var(--tone) var(--mix));transform-style:preserve-3d;transform:translate3d(calc(var(--r) * .012em), calc(var(--r) * var(--row-gap)), 0);pointer-events:none;display:block;position:absolute;top:0;left:0;right:0}.project-intro-echo-face,.project-intro-echo-depth{color:#0000;opacity:0}.project-intro-echo-face{-webkit-text-stroke:max(1px, calc(var(--line) * .92)) color-mix(in srgb, var(--ink) min(100%, calc(var(--ea) * 180%)), transparent);display:block}.project-intro-echo-depth{-webkit-text-stroke:max(1px, calc(var(--line) * (.55 + var(--a,.4) * .5))) color-mix(in srgb, var(--ink) min(100%, calc(var(--ea) * var(--a) * 170%)), transparent);transform:translateZ(calc(var(--i) * var(--zstep) * -1)) scale(var(--s,1))}.project-intro.is-in .project-intro-echo-face{opacity:.48;animation:project-intro-wave 3s ease-in-out calc(var(--d,0) * 90ms) infinite}.project-intro.is-in .project-intro-echo-depth{opacity:.4;transform:translateZ(calc(var(--i) * var(--zstep) * -1 * (1 + var(--p,0) * 1.55))) scale(calc(var(--s,1) * (1 - var(--p,0) * .05)));animation:project-intro-wave 2.8s ease-in-out calc(var(--d,0) * 70ms + var(--i,0) * 48ms) infinite}.project-intro.is-in.is-paused .project-intro-depth,.project-intro.is-in.is-paused .project-intro-echo-face,.project-intro.is-in.is-paused .project-intro-echo-depth,.project-intro.is-paused .project-intro-depth,.project-intro.is-paused .project-intro-echo-face,.project-intro.is-paused .project-intro-echo-depth{animation-play-state:paused}@keyframes project-intro-wave{0%,to{opacity:.36}42%{opacity:.78}}.project-intro-veil{z-index:1;pointer-events:none;background:linear-gradient(#000 0,#000000b8 5%,#0000 15%),linear-gradient(0deg,#000 0,#000000c7 14%,#0000 30%);position:absolute;inset:0}.project-intro-layer{pointer-events:none;display:block;position:absolute;inset:0}.project-intro-depth{color:#0000;-webkit-text-stroke:max(1px, calc(var(--line) * (.6 + var(--a,.4) * .55))) color-mix(in srgb, var(--tint,#fff) min(100%, calc(var(--a,.4) * 165%)), transparent);opacity:0;transform:translateZ(calc(var(--i) * var(--zstep) * -1)) scale(var(--s,1))}.project-intro.is-in .project-intro-depth{opacity:.5;transform:translateZ(calc(var(--i) * var(--zstep) * -1 * (1 + var(--p,0) * 1.55))) scale(calc(var(--s,1) * (1 - var(--p,0) * .05)));animation:project-intro-wave var(--wave) ease-in-out calc(var(--i) * 52ms) infinite}.project-intro-face{color:#fff;display:block;position:relative;transform:translateZ(0)}.project-intro-ghost{color:#0000;opacity:0}.project-intro-ghost.is-red{color:#ff2a2a;transform:translate3d(calc(var(--split,0px) * -1 + var(--gx,0px)), 0, -1px)}.project-intro-ghost.is-cyan{color:#18e0ff;transform:translate3d(calc(var(--split,0px) + var(--gx,0px)), 0, -1px)}.project-intro-slice{color:#fff;opacity:0;clip-path:inset(var(--slice-y,40%) 0 calc(100% - var(--slice-y,40%) - var(--slice-h,12%)) 0);transform:translate3d(var(--slice-x,0px), 0, 3px)}.project-intro-title.is-hot .project-intro-ghost{opacity:.9}.project-intro-title.is-hot .project-intro-slice{opacity:1}.project-intro-title.is-hot .project-intro-face{transform:translate3d(var(--gx,0px), 0, 0)}.project-intro-trail{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.project-intro-edges{z-index:3;opacity:calc(1 - var(--p,0) * 2.4);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:0;text-transform:uppercase;pointer-events:none;font-size:11px;font-weight:500;line-height:1.36;position:absolute;inset:0}.project-intro-edges p,.project-intro-edges dl,.project-intro-edges dt,.project-intro-edges dd,.project-intro-edges ul{margin:0}.project-intro-edge{opacity:0}.project-intro.is-in .project-intro-edge{animation:.52s steps(6,end) both project-glitch-in;animation-delay:var(--d,0s)}.project-intro-corner{top:var(--intro-pad);position:absolute}.project-intro-corner.is-tl{left:var(--intro-pad);align-items:center;gap:10px;display:flex}.project>.project-intro-mark.project-mark{top:max(16px, var(--project-pad,30px));left:max(16px, var(--project-pad,30px));z-index:5;--mark-h:46px;height:var(--mark-h);max-height:var(--mark-h);pointer-events:auto;position:fixed}.project-intro-mark .project-mark-stack,.project-intro-mark img{width:calc(var(--mark-h) * 44 / 62);height:var(--mark-h)}.project-intro-mark:hover .project-mark-ghost.is-red,.project-intro-mark:focus-visible .project-mark-ghost.is-red{opacity:.7;animation-duration:.36s}.project-intro-mark:hover .project-mark-ghost.is-cyan,.project-intro-mark:focus-visible .project-mark-ghost.is-cyan{opacity:.7;animation-duration:.34s}.project-intro-corner.is-tr{right:var(--intro-pad);text-align:right;font-family:var(--font-text);letter-spacing:-.005em;text-transform:none;color:#ffffffd6;flex-direction:column;align-items:flex-end;font-size:clamp(14px,1.04167vw,16px);font-weight:400;line-height:1.32;display:flex}.project-intro-foot{right:var(--intro-pad);bottom:var(--intro-pad);left:var(--intro-pad);z-index:5;grid-template-columns:minmax(0,1fr) minmax(72px,120px) max-content;align-items:end;gap:32px 20px;display:grid;position:absolute}.project-intro-lede{z-index:5;min-width:0;max-width:min(37vw,100%);font-family:var(--font-text);letter-spacing:-.005em;text-transform:none;color:#ffffffd6;padding-left:0;font-size:clamp(14px,1.04167vw,16px);font-weight:400;line-height:1.32;position:relative}.project-intro-facts{font-family:var(--font-text);letter-spacing:-.005em;text-align:right;text-transform:none;color:#ffffffd6;flex-direction:row;grid-column:3;justify-content:flex-end;justify-self:end;align-items:flex-end;gap:clamp(20px,2.2vw,36px);font-size:clamp(14px,1.04167vw,16px);font-weight:400;line-height:1.32;display:flex}.project-intro-fact{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.project-intro-fact dt{text-transform:none;font-weight:500}.project-intro-fact dd,.project-intro-disciplines li{text-transform:none;font-weight:400}.project-intro-disciplines{flex-direction:column;align-items:flex-end;gap:0;padding:0;list-style:none;display:flex}.project-intro-fact.is-services.is-corner{display:none}@media (max-width:900px),(max-aspect-ratio:1){.project-intro-corner .project-intro-fact.is-services.is-corner{display:flex}.project-intro-corner:has(.is-services.is-corner) .project-intro-fact.is-location{display:none}.project-intro-facts:has(.is-services.is-foot){display:none}}@media (max-width:1320px) and (min-aspect-ratio:1){.project-intro-lede{max-width:min(34vw,100%)}.project-intro-facts{max-width:calc(52vw - var(--intro-pad))}}@media (max-aspect-ratio:1){.project-intro{--zstep:calc(var(--intro-w) * .11)}.project-intro-inner{padding-bottom:6svh}.project-intro-edges{font-size:10px}.project-intro-foot{bottom:var(--intro-pad);grid-template-columns:minmax(0,1fr);grid-template-areas:"facts""lede";gap:16px}.project-intro-facts{grid-area:facts/auto;justify-self:stretch;gap:20px;width:100%;min-width:0;max-width:100%}.project-intro-lede{grid-area:lede;max-width:none;font-size:14px;line-height:1.3}.project-intro-mark.project-mark{--mark-h:34px}.project-intro-depth:nth-child(2n),.project-intro-echo-depth:nth-child(2n){display:none}.project-intro.is-in .project-intro-echo-depth{animation:none}.project-intro-veil{background:linear-gradient(#000 0,#000000b8 6%,#0000 13%),linear-gradient(0deg,#000 0,#000000d1 24%,#0000 40%)}}@media (max-width:900px){.project-intro-corner .project-intro-fact.is-services.is-corner{display:none}.project-intro-facts:has(.is-services.is-foot){width:auto;max-width:calc(100vw - (2 * var(--intro-pad)));grid-area:auto;justify-self:end;display:flex}.project-intro-foot{right:var(--intro-pad);bottom:var(--intro-pad);width:max-content;max-width:calc(100vw - (2 * var(--intro-pad)));grid-template-columns:max-content;grid-template-areas:none;justify-content:end;justify-items:end;left:auto}}@media (prefers-reduced-motion:reduce){.project-intro-title,.project-intro-edge,.project-intro.is-in .project-intro-title,.project-intro.is-in .project-intro-edge{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.project-intro-ghost,.project-intro-slice{opacity:0!important}.project-intro-word,.project-intro-depth,.project-intro-echo-face,.project-intro-echo-depth{transition:none!important;animation:none!important}.project-intro.is-in .project-intro-depth,.project-intro.is-in .project-intro-echo-face,.project-intro.is-in .project-intro-echo-depth{opacity:.55}}
.about{--about-pad:max(16px, calc(100vw * 30 / 1440));--about-hair:#ffffff29;--font-text:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;position:relative}.about-trail,.about-vibes{z-index:30;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.about-vibes{z-index:28}.about-intro{--intro-pad:max(16px, var(--project-pad,30px));--p:0;z-index:4;height:calc(100vh + var(--flood-tail,14vh));height:calc(var(--flood-vh,100svh) + var(--flood-tail,14vh));pointer-events:none;position:relative;overflow:hidden}.about-intro .project-intro-edge{opacity:1;animation:.7s cubic-bezier(.16,1,.3,1) both about-fade-up;animation-delay:var(--d,0s)}.about-intro .project-intro-corner.is-tl,.about-flood-title{pointer-events:auto}.about-intro .project-intro-edges{z-index:6;height:var(--flood-vh,100svh);bottom:auto}.about-flood{background:#000}.about-flood-title{z-index:1;font:inherit;margin:0;position:absolute;inset:0;overflow:hidden}.about-flood-lines{--flood-angle:-8deg;--flood-row:calc(21.5vw * .72);--flood-gap:calc(var(--flood-row) * .07);--flood-fs:21.5vw;--flood-shift:0px;left:50%;top:calc(var(--flood-vh,100svh) / 2);justify-content:flex-start;gap:var(--flood-gap);width:var(--flood-w,140vw);font-family:var(--font-display), sans-serif;transform:translate(-50%, -50%) rotate(var(--flood-angle));flex-direction:column;font-weight:700;display:flex;position:absolute}@media (max-width:900px),(hover:none) and (pointer:coarse){.about-intro{height:calc(100svh + var(--flood-tail,14vh))}.about-intro .project-intro-edges{height:100svh}.about-flood-lines{top:50svh}}.about-flood-line{height:var(--flood-row);font-size:var(--flood-fs);line-height:var(--flood-row);letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap;color:#f3efe6;opacity:0;flex:none;align-items:flex-start;animation:10ms linear 2.5s forwards about-flood-failsafe;display:flex;position:relative}.about-flood.is-ready .about-flood-line{opacity:1;animation:about-flood-in-right 1.8s cubic-bezier(.22, 1, .36, 1) var(--in,0s) both}.about-flood.is-ready .about-flood-line.is-right{animation-name:about-flood-in-left}.about-flood.is-settled .about-flood-line{opacity:1;animation:none}.about-flood-track{height:var(--flood-row);animation-name:about-flood-drift,about-flood-ink;animation-duration:var(--dur,22s), 6s;animation-timing-function:linear,ease-in-out;animation-delay:0s, calc(var(--ink,0s) * -1);will-change:transform;flex:none;animation-iteration-count:infinite;display:flex;position:relative}.about-flood.is-tinted .about-flood-track{animation-name:about-flood-drift,about-flood-ink-base;animation-timing-function:linear,step-end}.about-flood-line.is-right .about-flood-track{animation-direction:reverse,normal}.about-flood-phrase{transform:translateY(var(--flood-shift));flex:none;padding-right:.22em;display:block}.about-flood.is-tinted .about-flood-tint{pointer-events:none;animation-name:about-flood-drift,about-flood-ink-tint,about-flood-ink-fade;animation-duration:var(--dur,22s), 6s, 6s;animation-timing-function:linear,step-end,ease-in-out;animation-delay:0s, calc(var(--ink,0s) * -1), calc(var(--ink,0s) * -1);will-change:transform, opacity;animation-iteration-count:infinite;position:absolute;top:0;left:0}.about-flood.is-tinted .about-flood-line.is-right .about-flood-tint{animation-direction:reverse,normal,normal}.about-flood.is-settled .about-flood-track,.about-flood.is-settled .about-flood-tint,.about-flood.is-paused .about-flood-track,.about-flood.is-paused .about-flood-tint{will-change:auto}.about-flood-ch{opacity:0;animation:10ms linear 2.5s forwards about-flood-failsafe}@keyframes about-flood-failsafe{to{opacity:1}}.about-flood.is-ready .about-flood-ch{animation:about-flood-fade var(--fd,.6s) ease-out var(--d,0s) both}.about-flood.is-settled .about-flood-ch{opacity:1;animation:none}.about-flood.is-paused .about-flood-line,.about-flood.is-paused .about-flood-track,.about-flood.is-paused .about-flood-tint,.about-flood.is-paused .about-flood-ch{animation-play-state:paused}@keyframes about-flood-fade{0%{opacity:0}to{opacity:1}}@keyframes about-flood-drift{to{transform:translateX(var(--flood-loop,-50%))}}@keyframes about-flood-in-right{0%{transform:translate(3%)}to{transform:translate(0)}}@keyframes about-flood-in-left{0%{transform:translate(-3%)}to{transform:translate(0)}}@keyframes about-flood-line-in-right{0%{opacity:0;transform:translate(3%)}to{opacity:1;transform:none}}@keyframes about-flood-line-in-left{0%{opacity:0;transform:translate(-3%)}to{opacity:1;transform:none}}@keyframes about-flood-ink{0%{color:#f3efe6}16.66%{color:#fff}33.33%{color:#ff2a2a}50%{color:#18e0ff}66.66%{color:#f5d000}83.33%{color:#8b4dff}to{color:#f3efe6}}@keyframes about-flood-ink-base{0%{color:#f3efe6}16.66%{color:#ff2a2a}50%{color:#f5d000}83.33%{color:#f3efe6}to{color:#f3efe6}}@keyframes about-flood-ink-tint{0%{color:#fff}33.33%{color:#18e0ff}66.66%{color:#8b4dff}to{color:#8b4dff}}@keyframes about-flood-ink-fade{0%,33.33%,66.66%,to{opacity:0}16.66%,50%,83.33%{opacity:1}}.about-flood.is-reduced .about-flood-line,.about-flood.is-reduced .about-flood-track{animation:none}.about-flood.is-reduced .about-flood-tint{display:none}.about-flood.is-reduced .about-flood-line{opacity:1}.about-flood.is-reduced .about-flood-ch{opacity:1;animation:none}@media (max-width:900px),(pointer:coarse),(hover:none){.about-flood-ch,.about-flood.is-ready .about-flood-ch,.about-flood.is-settled .about-flood-ch{opacity:1;animation:none}.about-flood-track,.about-flood.is-tinted .about-flood-track,.about-flood.is-tinted .about-flood-tint{will-change:auto}.about-flood.is-ready .about-flood-line{animation-name:about-flood-line-in-right}.about-flood.is-ready .about-flood-line.is-right{animation-name:about-flood-line-in-left}.about-flood.is-settled .about-flood-line,.about-flood.is-settled .about-flood-line.is-right{opacity:1;animation:none;transform:none}}.about-flood.is-line .about-flood-ch,.about-flood.is-line.is-ready .about-flood-ch,.about-flood.is-line.is-settled .about-flood-ch{opacity:1;animation:none}.about-flood.is-line .about-flood-track,.about-flood.is-line .about-flood-tint{will-change:auto}.about-flood.is-line.is-ready .about-flood-line{animation-name:about-flood-line-in-right}.about-flood.is-line.is-ready .about-flood-line.is-right{animation-name:about-flood-line-in-left}.about-flood.is-line.is-settled .about-flood-line,.about-flood.is-line.is-settled .about-flood-line.is-right{opacity:1;animation:none;transform:none}@media (prefers-reduced-motion:reduce){.about-contact a,.about-float a{clip-path:none;transition:opacity .2s linear;transform:none}.about-flood-ch,.about-flood.is-ready .about-flood-ch{opacity:1;animation:none}}.about-stage{z-index:2;grid-template-columns:minmax(0,1fr) minmax(240px,min(38vw,520px)) minmax(0,1fr);display:grid;position:relative}.about-photos{z-index:2;pointer-events:none;visibility:hidden;grid-area:1/2/-1;height:76vh;position:sticky;top:10vh}.about-photos.is-in{visibility:visible}.about-photo{visibility:hidden;transform-origin:50%;will-change:transform;background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0;overflow:visible}.about-photo img{object-fit:contain;object-position:center;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;box-shadow:none;background:0 0;border:0;outline:none;display:block}.about-photo video{width:min(100%, calc(76vh * var(--ar,.75)), var(--nw,100%));height:auto;aspect-ratio:var(--ar,.75);object-fit:contain;box-shadow:none;background:0 0;border:0;outline:none;display:block}.about-chapter{grid-column:1/-1;grid-template-columns:subgrid;min-height:max(130vh, calc((var(--shots,1) + .45) * var(--shot-vh,86vh)));display:grid}.about-chapter:first-of-type{margin-top:32vh}.about-drifts{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:visible}.about-drift{visibility:hidden;opacity:0;will-change:transform, opacity;background:0 0;border:0;margin:0;position:absolute;top:0;left:0}.about-mobile{display:none}.about-drift img,.about-drift video{width:100%;height:auto;box-shadow:none;background:0 0;border:0;outline:none;display:block}.about-drift video{aspect-ratio:var(--ar,.75);object-fit:contain}.about-drift [hidden]{display:none}.about-chapter-left,.about-chapter-right{align-items:flex-start;display:flex}.about-chapter-left{padding:16vh var(--about-pad) 48vh;grid-column:1}.about-chapter-gap{grid-column:2}.about-chapter-right{padding:calc(var(--right-lock,52vh) - 4vh) var(--about-pad) 16vh;grid-column:3}.about-chapter-left .about-copy-lock{position:sticky;top:18vh}.about-chapter-right .about-copy-lock{top:var(--right-lock,52vh);margin-left:auto;position:sticky}.about-copy-shift{will-change:transform}.about-copy{max-width:32ch;font-family:var(--font-text);letter-spacing:-.015em;color:#ffffffd6;margin:0;font-size:clamp(20px,1.94444vw,32px);font-weight:400;line-height:1.2}.about-copy-shift .about-copy~.about-copy{margin-top:1em}.about .word-reveal.is-reduced .word-reveal-word{opacity:1;animation:none;transform:none}@keyframes about-fade-up{0%{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:none}}.about-holo-wrap{display:inline-block;position:relative}.about-holo,.about-holo-glow{white-space:nowrap;margin:-.12em -.06em -.2em;padding:.12em .06em .2em;display:inline-block}.about-holo-glow{z-index:0;color:#0000;text-shadow:0 0 10px #40f0ff8c,0 0 26px #b05cff73,0 0 46px #ff48c84d;pointer-events:none;-webkit-user-select:none;user-select:none;animation:4.2s ease-in-out infinite about-holo-pulse;position:absolute;inset:0}.about-holo{z-index:1;color:#e9f6ff;-webkit-text-fill-color:transparent;background-image:linear-gradient(100deg,#fff0 0% 42%,#fffffff2 49%,#fff 50%,#fffffff2 51%,#fff0 58% 100%),linear-gradient(90deg,#3ff5ff 0%,#9d6bff 18%,#ff4fd8 34%,#ffd34d 50%,#b6ff3c 66%,#3ff5ff 82%,#9d6bff 91%,#3ff5ff 100%);background-position:103%,0%;background-repeat:no-repeat,repeat-x;background-size:250% 100%,200% 100%;-webkit-background-clip:text;background-clip:text;animation:4.2s linear infinite about-holo-flow;position:relative}.about .word-reveal-word.is-holo:not([data-holo-live]) .about-holo,.about .word-reveal-word.is-holo:not([data-holo-live]) .about-holo-glow{animation-play-state:paused}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.about-holo{-webkit-text-fill-color:currentColor;background:0 0}}@keyframes about-holo-flow{0%{background-position:103%,0%;animation-timing-function:steps(48,jump-none)}38%{background-position:-3%,76%;animation-timing-function:steps(78,jump-none)}to{background-position:-3%,200%}}@keyframes about-holo-pulse{0%,to{opacity:.55}38%{opacity:1}}@keyframes about-holo-in{0%{opacity:0;transform:translateY(.35em)scale(.96)}to{opacity:1;transform:none}}.about .about-copy.word-reveal.is-reduced .about-holo{color:inherit;-webkit-text-fill-color:inherit;background-image:none;animation:none}.about .about-copy.word-reveal.is-reduced .about-holo-glow{display:none}.about-board,.about-skills{padding:12vh var(--about-pad);grid-template-columns:minmax(140px,22vw) minmax(0,1fr);align-items:start;gap:48px 64px;display:grid}.about-section-title{font-family:var(--font-text);letter-spacing:-.015em;text-transform:none;color:#fff;align-self:start;margin:0;font-size:clamp(22px,2.22222vw,36px);font-weight:400;line-height:1.2;position:sticky;top:max(112px,16vh)}.about-board-list{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;display:grid}.about-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid;position:relative;overflow:visible}.about-row-hit{border:0;border-top:1px solid var(--about-hair);width:100%;color:inherit;font:inherit;text-align:left;cursor:var(--cursor-skull-link);background:0 0;margin:0;padding:16px 0;display:grid;overflow:visible}.about-row:last-child{border-bottom:1px solid var(--about-hair)}.about-row-hit{grid-column:1/-1;grid-template-columns:subgrid;font-family:var(--font-text);letter-spacing:-.01em;align-items:baseline;gap:16px 24px;font-size:clamp(14px,1.11111vw,18px);font-weight:400}.about-row-hit.is-static{cursor:var(--cursor-skull)}.about-row-role,.about-row-meta,.about-row-date{font-weight:400}.about-row-meta,.about-row-date{color:#ffffff9e}.about-row-date{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px}.about-skill-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px clamp(24px,3vw,48px);width:100%;display:grid}.about-skill-col h3{font-family:var(--font-text);letter-spacing:-.01em;text-transform:none;margin:0 0 8px;font-size:16px;font-weight:400}.about-skill-col ul{margin:0;padding:0;list-style:none}.about-skill-col li{border-top:1px solid var(--about-hair);font-family:var(--font-text);margin:0;padding:12px 0;font-size:clamp(14px,1.11111vw,18px);font-weight:400;line-height:1.3;list-style:none;display:block}.about-skill-col li:last-child{border-bottom:1px solid var(--about-hair)}.about-close{height:240svh;position:relative}.about-close-pin{box-sizing:border-box;height:100svh;padding:10vh var(--about-pad);flex-direction:column;justify-content:center;align-items:center;gap:clamp(40px,7vh,88px);display:flex;position:sticky;top:0;overflow:hidden}.about-close.is-reduced{height:auto}.about-close.is-reduced .about-close-pin{height:auto;min-height:100svh;position:relative}.about-close .identity-field{z-index:1}.about-close[data-field-on] .identity-field{opacity:1}.about-field-layer{visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.about-field-layer.is-email{--stamp:calc(96 * var(--fu))}.about-field-layer.is-cv{--stamp:calc(70 * var(--fu));--field-mark:url(/mark-download.svg);--field-ink:#fff}.about-field-layer.is-linkedin{--stamp:calc(72 * var(--fu))}.about-field-layer[data-state]{visibility:visible}.about-field-layer[data-state=on]{opacity:1;transition:opacity .12s linear,transform .2s ease-out;transform:none}.about-field-layer[data-state=off]{opacity:0;transition:opacity .3s steps(3,jump-none),transform .3s steps(4,end);transform:translateY(-18px)}.about-close .about-field-layer[data-state] .identity-stamp{animation:.64s cubic-bezier(.22,1,.36,1) both field-throw-in;animation-delay:calc(var(--d) * .4)}.about-close .about-field-layer[data-state] .identity-stamp-inner{animation-delay:.72s}.about-close .about-field-layer:not([data-state]) .identity-stamp-inner{animation:none}.about-close.is-reduced .about-field-layer{transition:none}.about-close-lead{z-index:2;width:100%;max-width:min(94vw,110rem);font-family:var(--font-text);letter-spacing:-.025em;text-align:center;text-wrap:balance;color:#fff;margin:0;font-size:clamp(26px,3.19444vw,68px);font-weight:400;line-height:1.14;position:relative}.about-close-lead.word-reveal .word-reveal-word{opacity:0;transition:opacity .3s,transform .4s;animation:none;transform:translateY(.45em)}.about-close-lead.word-reveal.is-in .word-reveal-word{opacity:1;transition:opacity .7s,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 18ms);animation:none;transform:none}.about-close-lead.word-reveal.is-reduced .word-reveal-word{opacity:1;transition:none;transform:none}.about-contact{z-index:2;font-family:var(--font-text);letter-spacing:-.015em;text-align:center;text-transform:none;color:#fff;flex-flow:wrap;justify-content:center;align-items:baseline;gap:16px clamp(32px,6vw,104px);margin:0;padding:0;font-size:clamp(24px,2.5vw,44px);font-weight:400;line-height:1.2;display:flex;position:relative}.about-contact a{width:max-content;max-width:100%;color:inherit;font:inherit;letter-spacing:inherit;font-weight:400;line-height:inherit;text-align:center;text-transform:none;white-space:nowrap;opacity:0;clip-path:inset(0 0 100%);margin:0;text-decoration:none;transition:opacity .6s,clip-path .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(.6em)}.about-contact a.is-in,.about-close.is-reduced .about-contact a,.about-close:focus-within .about-contact a{opacity:1;clip-path:inset(-.3em);transform:none}.about-float{top:max(16px, var(--project-pad,30px));right:max(16px, var(--project-pad,30px));z-index:6;font-family:var(--font-text);letter-spacing:-.005em;text-align:right;pointer-events:none;visibility:hidden;flex-direction:column;align-items:flex-end;gap:2px;font-size:clamp(14px,1.04167vw,16px);font-weight:400;line-height:1.32;transition:visibility 0s linear .5s;display:flex;position:fixed}.about-float.is-on{pointer-events:auto;visibility:visible;transition-delay:0s}.about-float a{color:#ffffffd6;opacity:0;text-decoration:none;transition:opacity .32s,transform .42s cubic-bezier(.16,1,.3,1),color .2s;display:block;transform:translateY(-8px)}.about-float a:nth-child(2){transition-delay:50ms}.about-float a:nth-child(3){transition-delay:.1s}.about-float.is-on a{opacity:1;transform:none}.about-float a:hover,.about-float a:focus-visible{color:#fff;text-underline-offset:2px;text-decoration:underline}.about-row-hit:hover{color:#fff}@media (max-width:900px){.about-stage{grid-template-columns:1fr}.about-photos,.about-drifts,.about-float{display:none}.project.about>.project-intro-mark.project-mark{position:absolute}.about-contact{flex-direction:column;align-items:center;gap:14px}.about-close-lead{font-size:clamp(22px,6.4vw,34px)}.about-close,.about-close.is-reduced{height:auto}.about-close-pin,.about-close.is-reduced .about-close-pin{justify-content:flex-start;height:auto;min-height:0;padding:64px max(10px,4.72vw) 48px;position:relative;top:auto}.about-stage>.about-chapter{display:none}.about-mobile{grid-column:1/-1;height:auto;padding:6vh max(10px,4.72vw) 18vh;display:block;position:relative;overflow:visible}.about-m-flow{flex-direction:column;align-items:stretch;gap:clamp(44px,23.58vw,96px);width:100%;display:flex}.about-m-block{z-index:2;flex-direction:column;align-items:stretch;gap:clamp(16px,9.43vw,40px);width:100%;min-width:0;display:flex;position:relative}.about-m-line{width:100%;max-width:none;margin:0}.about-m-block.is-later .about-m-line{width:89.583%}.about-m-bodies{flex-direction:column;gap:1.2em;width:74%;margin-left:auto;display:flex}.about-m-body{width:100%;margin:0}.about-m-line .about-copy,.about-m-body .about-copy{overflow-wrap:break-word;white-space:normal;width:100%;max-width:none;text-overflow:unset;color:#fff;text-shadow:none;font-size:clamp(14px,5.15vw,20px);line-height:1.25;overflow:visible}.about-m-shot{z-index:1;width:100%;height:auto;aspect-ratio:var(--ar,.75);-webkit-tap-highlight-color:transparent;background:#111;border:0;border-radius:14px;outline:none;margin:0;padding:0;transition:transform .8s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateY(8%)scale(.97)}.about-m-shot.is-full{width:100%}.about-m-shot.is-offset{width:68%}.about-m-shot.is-end{margin-left:auto}.about-m-shot.is-in,.about-mobile.is-reduced .about-m-shot{transform:none}.about-mobile.is-reduced .about-m-shot{transition:none}.about-m-strip{--strip-pad:max(10px, 4.72vw);--strip-gap:8px;--strip-h:min(56vw, 300px);margin-inline:calc(-1 * var(--strip-pad));position:relative}.about-m-strip-view{scroll-snap-type:x proximity;width:0;min-width:100%;scroll-padding-inline:var(--strip-pad);scrollbar-width:none;overflow:auto hidden}.about-m-strip-view::-webkit-scrollbar{display:none}.about-m-strip-track{gap:var(--strip-gap);width:max-content;height:var(--strip-h);padding-inline:var(--strip-pad);display:flex}.about-m-thumb{width:calc(var(--ar,.75) * var(--strip-h));scroll-snap-align:start;background:#111;border:0;border-radius:12px;outline:none;flex:none;height:100%;margin:0;overflow:hidden}.about-m-shot img,.about-m-shot video,.about-m-thumb img,.about-m-thumb video{object-fit:cover;object-position:center center;width:100%;max-width:100%;height:100%;max-height:none;box-shadow:none;background:0 0;border:0;outline:none;display:block}.about-m-thumb img,.about-m-thumb video{object-fit:contain}@supports (animation-timeline:view()){.about-mobile:not(.is-reduced) .about-m-shot{transition:none;animation:linear both about-m-rise;animation-timeline:view();animation-range:entry entry 70%}.about-mobile:not(.is-reduced) .about-m-strip{--strip-w:calc(var(--strip-units) * var(--strip-h) + (var(--strip-n) - 1) * var(--strip-gap) + 2 * var(--strip-pad));--strip-scroll:calc((var(--strip-w) - 100vw) * .55);--strip-start:calc(50lvh + var(--strip-h) / 2);height:calc(var(--strip-h) + var(--strip-scroll));view-timeline-name:--about-strip}.about-mobile:not(.is-reduced) .about-m-strip-pin{top:calc(50dvh - var(--strip-h) / 2);position:sticky}.about-mobile:not(.is-reduced) .about-m-strip-view{scroll-snap-type:none;overflow:hidden;container-type:inline-size}.about-mobile:not(.is-reduced) .about-m-strip-track{animation:linear both about-m-strip-glide;animation-timeline:--about-strip;animation-range:cover var(--strip-start) cover calc(var(--strip-start) + var(--strip-scroll))}.about-mobile:not(.is-reduced) .about-m-thumb{scroll-snap-align:none}}.about-mobile:not(.is-reduced) .about-m-shot.is-lead{transform:translate3d(0, calc(var(--rise,1) * 10%), 0) scale(calc(1 - var(--rise,1) * .04));transition:none;animation:none}@keyframes about-m-rise{0%{transform:translateY(10%)scale(.96)}to{transform:none}}@keyframes about-m-strip-glide{0%{transform:translate(0,0)}to{transform:translate(calc(100cqi - 100%))}}.about-board,.about-skills,.about-close{z-index:3;background:#000;position:relative}.about-board,.about-skills{grid-template-columns:1fr;gap:28px}.about-skill-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.about-section-title{position:static}.about-board-list{grid-template-columns:minmax(0,1fr) auto}.about-row-hit{padding:12px 0;line-height:18.2px}.about-row-role{grid-area:1/1}.about-row-meta{grid-area:2/1}.about-row-date{grid-area:1/2/span 2;align-self:center}.about-board .about-row-hit{align-items:start;gap:2px 12px;padding:10px 0;font-size:clamp(13px,3.6vw,15px);line-height:1.3}.about-board .about-row-role,.about-board .about-row-meta{white-space:normal;text-overflow:unset;overflow:visible}}@media (min-width:901px) and (max-width:1180px){.about-skill-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.about-flood-line,.about-flood.is-ready .about-flood-line,.about-flood-track{opacity:1;animation:none}.about-flood-tint{display:none}.about .about-copy .about-holo{color:inherit;-webkit-text-fill-color:inherit;background-image:none;animation:none}.about .about-copy .about-holo-glow{display:none}}html,html body{cursor:var(--cursor-skull)}
