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-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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.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}.italic{font-style:italic}.blur{--tw-blur:blur(8px);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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}}@font-face{font-family:Montserrat Portfolio;src:url(/fonts/montserrat-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--ink:#0d0f0e;--paper:#ece6d9;--paper-light:#f7f2e8;--red:#b94835;--blue:#3159c7;--amber:#f1a42d;--green:#31895b;--about-accent:#3457d5;--hand:"Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;--display:"Montserrat Portfolio", Montserrat, "Helvetica Neue", Arial, sans-serif;--mono:"Courier New", Courier, monospace;--page-gutter:clamp(1rem, 3vw, 3.75rem);--about-ticker-height:4.75rem;--ease-premium:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.22, .61, .36, 1);--scroll-progress-x:0rem;--about-progress:1;--skills-progress:1;--work-progress:1;--projects-progress:1}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;background:#050606;width:100%;min-height:100%;margin:0;overflow-x:clip}body{width:100%;min-height:100%;color:var(--paper);font-synthesis:none;background:#050606;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:clip visible}html.lenis,html.lenis body{height:auto}body>div{width:100%}a{color:inherit;text-decoration:none}button,a,[tabindex]{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--about-accent)}.landing{background:var(--ink);width:100%}.stage{isolation:isolate;background-color:var(--ink);background-image:linear-gradient(#ffffff0b .0625rem,#0000 .0625rem),linear-gradient(90deg,#ffffff0b .0625rem,#0000 .0625rem),linear-gradient(#ffffff04 .0625rem,#0000 .0625rem),linear-gradient(90deg,#ffffff04 .0625rem,#0000 .0625rem);background-size:2.5rem 2.5rem,2.5rem 2.5rem,.5rem .5rem,.5rem .5rem;width:100%;min-height:max(42rem,100svh);position:relative;overflow:clip;box-shadow:inset 0 0 10rem #000}.stage:before{content:"";z-index:0;pointer-events:none;opacity:0;transform-origin:50%;background:linear-gradient(120deg,#ffffff09,#0000 42%);position:absolute;inset:0;transform:scale(1.025)}.stage.is-active:before{animation:gridExposure 1.45s var(--ease-premium) both}.grain,.about-grain{z-index:20;pointer-events:none;opacity:.58;background:url(/textures/live-grain.png) 0 0/14rem 14rem;width:140%;height:140%;position:absolute;inset:-20%}.global-live-grain{z-index:2147483647;pointer-events:none;opacity:.8;mix-blend-mode:normal;will-change:transform;contain:strict;background-image:url(/textures/live-grain.png);background-repeat:repeat;background-attachment:fixed;width:200vw;height:200vh;animation:.5s steps(6,end) infinite globalGrainAnimation;position:fixed;top:-50%;left:-50%}:where(.grain,.about-grain,.orbit-grain,.work-grain,.projects-grain,.ascii-footer-grain,.project-dialog-grain){display:none}@keyframes globalGrainAnimation{0%,to{transform:translate(0)}17%{transform:translate(-5%,-10%)}33%{transform:translate(3%,-15%)}50%{transform:translate(12%,9%)}67%{transform:translate(9%,4%)}83%{transform:translate(-1%,7%)}}.masthead{z-index:13;opacity:0;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:clamp(.85rem,1.35vw,1.7rem);left:clamp(.85rem,1.35vw,1.7rem);right:clamp(.85rem,1.35vw,1.7rem)}.stage.is-active .masthead{animation:headerDrop 1s var(--ease-premium) .25s both}.wordmark{display:block}.wordmark b{letter-spacing:-.08em;font-size:clamp(1.25rem,1.65vw,2rem);line-height:.66}.signal{gap:.4rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.signal i{background:var(--amber);border-radius:50%;width:.45rem;height:.45rem}.stage.is-active .signal i{animation:2.4s ease-in-out infinite signalPulse}.signal i:nth-child(2){background:var(--blue);animation-delay:.18s}.signal i:nth-child(3){background:var(--red);animation-delay:.36s}.contact-chip b,.scroll-cue i{color:var(--red)}.hero-copy{z-index:9;width:min(27rem,32vw);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.hero-copy h1{width:max-content;color:var(--red);font-family:var(--display);letter-spacing:-.072em;grid-template-rows:repeat(3,.69em);grid-template-columns:.34em auto;align-items:start;margin:0;font-size:clamp(3.25rem,5.2vw,6.25rem);font-weight:700;line-height:.69;display:grid;position:relative}.lockup-i,.ideas-rest,.into-rest,.systems-word{transform-origin:0;opacity:0;display:block}.lockup-i{transform-origin:top;grid-area:1/1/3;line-height:.7}.ideas-rest{grid-area:1/2}.into-rest{z-index:2;grid-area:2/2;position:relative;overflow:visible}.systems-word{grid-area:3/1/auto/3;margin-left:-.26em}.stage.is-active .lockup-i{animation:sharedLetterSet 1.4s var(--ease-premium) .32s both}.stage.is-active .ideas-rest{animation:typeBlockDock 1.25s var(--ease-premium) .42s both}.stage.is-active .into-rest{animation:typeBlockDock 1.35s var(--ease-premium) .56s both}.stage.is-active .systems-word{animation:typeBlockDock 1.45s var(--ease-premium) .72s both}.title-label{z-index:3;color:var(--ink);background:var(--paper);font:700 clamp(.36rem, .42vw, .52rem)/1 var(--mono);letter-spacing:.02em;white-space:nowrap;opacity:0;padding:.34rem .6rem;position:absolute;top:52%;left:52%;transform:translateY(-50%)rotate(-1.5deg);box-shadow:0 .15rem #00000047}.stage.is-active .title-label{animation:nameCardPlace 1.35s var(--ease-premium) .88s both}.signal-thread{z-index:4;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.signal-thread path{fill:none;stroke:#ece6d97a;stroke-width:.072rem;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 .0625rem .0625rem #000000e6)}.stage.is-active .signal-thread path{animation:threadDraw 4s var(--ease-premium) .55s forwards}.cutout{--tilt-x:0deg;--tilt-y:0deg;--shift-x:0rem;--shift-y:0rem;--enter-x:0%;--enter-y:0%;--enter-r:0deg;--enter-rx:0deg;--enter-ry:0deg;--snap-x:0rem;--snap-y:0rem;--snap-r:0deg;--echo-x:0rem;--echo-y:0rem;--echo-r:0deg;--arrival-delay:0s;z-index:5;cursor:grab;pointer-events:auto;touch-action:pan-y;will-change:transform, opacity;filter:drop-shadow(0 1.125rem .85rem #0000008c);opacity:0;outline:none;margin:0;position:absolute}.stage.is-active .cutout{animation:paperOrbitDock 1.25s var(--ease-premium) var(--arrival-delay) both}.cutout img{-webkit-user-select:none;user-select:none;width:100%;height:auto;transform:perspective(53rem) translate3d(var(--shift-x), var(--shift-y), 0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .35s var(--ease-premium), filter .35s ease;display:block}.cutout:hover img,.cutout:focus-visible img{filter:brightness(1.09)saturate(1.06);transform:perspective(53rem) translate3d(var(--shift-x), calc(var(--shift-y) - .35rem), 1.25rem) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.035)}.cutout:focus-visible{filter:drop-shadow(0 0 .25rem var(--paper)) drop-shadow(0 1.125rem .85rem #0000008c)}.cutout.is-grabbed{cursor:grabbing}.cutout.is-grabbed img{transform:perspective(53rem) translate3d(var(--shift-x), var(--shift-y), 1.75rem) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.98)}.guitar{--enter-x:-110%;--enter-y:-75%;--enter-r:-42deg;--enter-rx:-18deg;--enter-ry:24deg;--snap-x:1.6rem;--snap-y:.65rem;--snap-r:4deg;--echo-x:-.62rem;--echo-y:-.26rem;--echo-r:-1.8deg;--arrival-delay:80ms;width:clamp(19rem,29vw,36rem);top:-8%;left:4%;rotate:-14deg}.keyboard{--enter-x:115%;--enter-y:-85%;--enter-r:44deg;--enter-rx:-16deg;--enter-ry:-22deg;--snap-x:-1.65rem;--snap-y:.7rem;--snap-r:-4deg;--echo-x:.65rem;--echo-y:-.28rem;--echo-r:1.8deg;--arrival-delay:.18s;width:clamp(23rem,35vw,43rem);top:-5%;right:1%;rotate:8deg}.headphones{--enter-x:-120%;--enter-y:25%;--enter-r:-38deg;--enter-rx:14deg;--enter-ry:20deg;--snap-x:1.85rem;--snap-y:-.35rem;--snap-r:4.5deg;--echo-x:-.7rem;--echo-y:.16rem;--echo-r:-2deg;--arrival-delay:.3s;width:clamp(18rem,25vw,31rem);top:42%;left:-1%;rotate:-5deg}.sampler{--enter-x:120%;--enter-y:26%;--enter-r:40deg;--enter-rx:16deg;--enter-ry:-22deg;--snap-x:-1.85rem;--snap-y:-.4rem;--snap-r:-4.5deg;--echo-x:.72rem;--echo-y:.18rem;--echo-r:2deg;--arrival-delay:.42s;width:clamp(21rem,29vw,36rem);top:48%;right:-2%;rotate:11deg}.watch{--enter-x:0%;--enter-y:135%;--enter-r:25deg;--enter-rx:22deg;--enter-ry:-8deg;--snap-y:-1.3rem;--snap-r:-3deg;--echo-y:.5rem;--echo-r:1.35deg;--arrival-delay:.54s;width:clamp(20rem,30vw,38rem);bottom:2%;left:34%;rotate:-10deg}.contact-chip{z-index:13;color:var(--ink);background:var(--paper);font:700 .52rem/1 var(--mono);align-items:center;gap:.75rem;padding:.7rem .85rem;display:none;position:absolute;bottom:1rem;right:1rem}.contact-chip b{font-size:1rem}.scroll-cue{z-index:13;font:700 .52rem/1 var(--mono);letter-spacing:.16em;opacity:0;align-items:center;gap:.7rem;display:flex;position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%)}.stage.is-active .scroll-cue{animation:.9s 1.8s both cueIn}.scroll-cue i{font-size:1.1rem;font-style:normal}.stage.is-active .scroll-cue i{animation:1.6s ease-in-out 2.5s infinite cueBounce}.about-page{z-index:30;isolation:isolate;color:#151515;background:#ebe7de url(/textures/paper-grid.png) 0 0/32rem 32rem;width:100%;height:100svh;min-height:100svh;position:relative;overflow:hidden}.about-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 76% 16%,#ffffffa8,#0000 35%),linear-gradient(105deg,#3457d50d,#0000 32%);position:absolute;inset:0}.about-grain{z-index:19;opacity:.42;mix-blend-mode:multiply}.about-spread{z-index:2;height:calc(100svh - var(--about-ticker-height));grid-template-columns:minmax(30rem,44.5%) minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.about-visual{--art-scale:1.17;--art-shift:-18%;--astronaut-top:.15rem;--astronaut-right:0rem;--astronaut-bottom:.2rem;--astronaut-left:0rem;height:calc(100svh - var(--about-ticker-height));min-width:0;min-height:calc(100svh - var(--about-ticker-height));isolation:isolate;align-self:start;position:relative;overflow:clip}.about-visual:before{content:"";z-index:3;top:var(--astronaut-top);left:var(--astronaut-left);width:calc(100% - var(--astronaut-left) - var(--astronaut-right));height:calc(100% - var(--astronaut-top) - var(--astronaut-bottom));background:var(--about-accent);transform:translate(.7rem, .5rem) scale(var(--art-scale)) translateX(var(--art-shift));transform-origin:0 100%;position:absolute;-webkit-mask:url(/about/astronaut-cutout.png) 0 100%/contain no-repeat;mask:url(/about/astronaut-cutout.png) 0 100%/contain no-repeat}.astronaut-cutout{z-index:4;top:var(--astronaut-top);left:var(--astronaut-left);width:calc(100% - var(--astronaut-left) - var(--astronaut-right));height:calc(100% - var(--astronaut-top) - var(--astronaut-bottom));object-fit:contain;object-position:left bottom;transform:scale(var(--art-scale)) translateX(var(--art-shift));transform-origin:0 100%;filter:drop-shadow(.28rem 0 0 var(--paper-light)) drop-shadow(-.28rem 0 0 var(--paper-light)) drop-shadow(0 .3rem 0 var(--paper-light)) drop-shadow(0 -.28rem 0 var(--paper-light)) drop-shadow(.75rem .9rem 0 #23201b2e);position:absolute}.about-copy{--copy-pull:min(5vw, 6rem);z-index:5;height:100%;width:calc(100% + var(--copy-pull));min-width:0;min-height:0;margin-left:calc(0rem - var(--copy-pull));font-family:var(--hand);grid-template:"heading heading""intro facts"minmax(0,1fr)"photos photos"clamp(13.5rem,29svh,18rem)/minmax(0,.68fr) minmax(0,1.32fr);align-content:stretch;gap:clamp(.9rem,1.8vh,1.5rem) clamp(1.4rem,2.4vw,3rem);padding:clamp(1.25rem,2.4vh,2rem) clamp(1.2rem,2.3vw,2.8rem) clamp(.65rem,1.2vh,1rem) clamp(2rem,2.5vw,3rem);display:grid;position:relative;overflow:hidden}.about-copy *{font-family:var(--hand)}.about-heading{grid-area:heading;min-width:0;max-width:74rem;position:relative}.about-location-tags{align-items:flex-start;gap:.25rem;display:flex;position:absolute;top:.2rem;right:clamp(.25rem,2vw,2.5rem)}.about-location-tags span{color:#191919;letter-spacing:.08em;background:#f7f2e8f0;border:.0625rem solid #151515b8;padding:.32rem .55rem .25rem;display:block;transform:rotate(-4deg);box-shadow:.14rem .18rem #15151524;font:700 clamp(.68rem, .64vw, .84rem)/1 var(--mono)!important}.about-location-tags span:nth-child(2){margin-top:1rem;transform:rotate(2.5deg)}.about-location-tags span:nth-child(3){margin-top:.25rem;transform:rotate(-1.5deg)}.about-label{color:var(--paper-light);background:var(--about-accent);letter-spacing:.14em;margin:0 0 .75rem;padding:.38rem .68rem .32rem;display:inline-block;transform:rotate(-1.4deg);box-shadow:.2rem .24rem #15151533;font:700 clamp(.9rem, .88vw, 1.1rem)/1 var(--mono)!important}.about-heading h2{letter-spacing:-.055em;transition:color .35s ease, transform .5s var(--ease-premium);margin:0;font-size:clamp(4rem,4.5vw,5.8rem);font-weight:700;line-height:.92}.about-heading h2 em{color:var(--about-accent);font-style:normal;display:inline}.about-intro{grid-area:intro;align-self:start;min-width:0;max-width:55rem;padding-top:.3rem}.about-body{color:#4e4c47;max-width:50rem;transition:color .35s ease, transform .5s var(--ease-premium);margin:0;font-size:clamp(1.14rem,1.14vw,1.42rem);font-weight:500;line-height:1.52}.about-body-extra{margin-top:.65rem}.hand-note{max-width:39rem;text-decoration:underline;-webkit-text-decoration-color:var(--about-accent);-webkit-text-decoration-color:var(--about-accent);-webkit-text-decoration-color:var(--about-accent);text-decoration-color:var(--about-accent);text-underline-offset:.35rem;transition:color .35s ease, transform .5s var(--ease-premium);margin-top:1rem;font-size:clamp(1.18rem,1.25vw,1.52rem);line-height:1.1;display:inline-block;transform:rotate(-1deg)}.hand-note-desktop{z-index:7;color:#171717;background:#ebe7dee6;width:min(16.75rem,33vw);margin:0;padding:.42rem .55rem .5rem;font-size:clamp(1.08rem,1vw,1.25rem);line-height:1.12;position:absolute;bottom:clamp(6.75rem,12vh,8.5rem);right:clamp(7rem,8.5vw,10rem);transform:rotate(-7deg);box-shadow:.2rem .25rem #3457d533}.hand-note-flow{display:none}.about-facts{grid-area:facts;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-content:start;gap:clamp(.85rem,1.35vw,1.8rem);min-width:0;display:grid}.fact-block{min-width:0;transition:transform .5s var(--ease-premium)}.fact-block h3{letter-spacing:-.035em;margin:0 0 1rem;font-size:clamp(2.25rem,2.45vw,3.15rem);font-weight:700;line-height:.95}.experience-list{gap:.62rem;display:grid}.experience-list article{transition:transform .45s var(--ease-premium), color .35s ease;grid-template-columns:4.35rem minmax(0,1fr);align-items:start;gap:.55rem;display:grid}.experience-list article>b{color:var(--about-accent);font-size:clamp(.86rem,.8vw,1.02rem);line-height:1.35}.experience-list span,.experience-list strong,.experience-list small{display:block}.experience-list strong{font-size:clamp(1.08rem,1.05vw,1.3rem);line-height:1.25}.experience-list small{color:#65615a;margin-top:.18rem;font-size:clamp(.9rem,.84vw,1.08rem);line-height:1.3}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;margin:0;padding:0;list-style:none;display:grid}.skill-list li{transform-origin:0;min-width:0;transition:transform .4s var(--ease-premium), color .3s ease;grid-template-columns:1.5rem minmax(0,1fr);align-items:center;gap:.4rem;font-size:clamp(.9rem,.82vw,1.04rem);line-height:1.15;display:grid}.skill-mark{width:1.5rem;height:1.5rem;color:var(--skill-color);transition:transform .45s var(--ease-premium), box-shadow .35s ease, color .35s ease;background:#ffffff9e;border:.0625rem solid #15151524;place-items:center;display:grid;transform:rotate(-2deg);box-shadow:.14rem .16rem #15151521}.skill-mark svg{fill:currentColor;width:.88rem;height:.88rem}.skill-list li:hover,.skill-list li:focus-within{transform:translate(.3rem)}.skill-list li:hover .skill-mark,.skill-list li:focus-within .skill-mark{transform:translateY(-.15rem)rotate(3deg)scale(1.08);box-shadow:.24rem .28rem #15151529}.experience-list article:hover{transform:translate(.3rem)rotate(-.25deg)}.photo-story{grid-area:photos;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(.75rem,1.15vw,1.35rem);min-width:0;height:100%;min-height:0;display:grid}.story-frame{--frame-rotation:0deg;--photo-enter-x:0rem;--photo-enter-r:0deg;--photo-mid-x:0rem;background:var(--paper-light);width:100%;height:100%;min-height:0;transform:rotate(var(--frame-rotation));transform-origin:50% 110%;transition:transform .55s var(--ease-premium), box-shadow .55s ease;margin:0;padding:.6rem .6rem 2.15rem;position:relative;box-shadow:0 .8rem 1.6rem #32291f33}.story-frame:before{content:"";z-index:3;mix-blend-mode:multiply;background:#b59b698f;width:3rem;height:1.05rem;position:absolute;top:-.65rem;left:50%;transform:translate(-50%)rotate(-5deg)}.story-frame img{object-fit:cover;filter:saturate(.9)contrast(1.04);width:100%;height:100%;transition:filter .55s ease, transform .7s var(--ease-premium);display:block}.story-frame:hover,.story-frame:focus-within{z-index:4;transform:rotate(0)translateY(-.75rem)scale(1.025);box-shadow:0 1.2rem 2.4rem #32291f40}.story-frame:hover img{filter:saturate(1.02)contrast(1.06);transform:scale(1.025)}.story-frame figcaption{text-align:center;font-size:clamp(.84rem,.88vw,1.1rem);line-height:1;position:absolute;bottom:.5rem;left:0;right:0}.frame-child{--frame-rotation:-3deg;--photo-enter-x:-4rem;--photo-enter-r:-9deg;--photo-mid-x:.24rem}.frame-child img{object-position:center 58%}.frame-hat{--frame-rotation:1.5deg;--photo-enter-x:0rem;--photo-enter-r:4deg}.frame-hat img{object-position:center 48%}.frame-park{--frame-rotation:3deg;--photo-enter-x:4rem;--photo-enter-r:9deg;--photo-mid-x:-.24rem}.frame-park img{object-position:center 72%}.about-ticker{z-index:22;width:100%;height:var(--about-ticker-height);color:#f4f0e7;font:700 clamp(.78rem, .9vw, 1rem)/1 var(--mono);letter-spacing:.15em;white-space:nowrap;background:#151515;border-top:.0625rem solid #f4f0e729;border-bottom:.0625rem solid #f4f0e71f;align-items:center;display:flex;position:relative;overflow:clip}.about-ticker-track{will-change:transform;align-items:center;width:max-content;min-width:max-content;height:100%;animation:16s linear infinite ticker;display:flex}.about-ticker-run{flex:none;align-items:center;gap:clamp(1.1rem,1.5vw,1.75rem);min-width:max-content;padding-right:clamp(1.1rem,1.5vw,1.75rem);display:inline-flex}.about-ticker-cluster{align-items:center;gap:clamp(.72rem,.9vw,1rem);min-width:max-content;display:inline-flex}.about-ticker-cluster b{font:inherit;letter-spacing:inherit}.about-ticker-cluster svg{fill:currentColor;flex:none;width:clamp(1.15rem,1.45vw,1.55rem);height:auto}.skills-orbit-page{z-index:34;isolation:isolate;width:100%;height:100svh;min-height:max(42rem,100svh);color:var(--paper-light);background-color:#080a09;background-image:linear-gradient(#ebe7de09 .0625rem,#0000 .0625rem),linear-gradient(90deg,#ebe7de09 .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template:"orbit-signal orbit-signal orbit-signal""orbit-heading orbit-stage orbit-notes"minmax(0,1fr)/minmax(15rem,.68fr) minmax(27rem,1.45fr) minmax(13rem,.62fr);align-items:center;gap:clamp(1.25rem,2vw,2.5rem) clamp(1rem,2.2vw,3rem);padding:clamp(1.5rem,4vw,4.75rem);display:grid;position:relative;overflow:hidden}.skills-orbit-page:before{z-index:0;content:"";pointer-events:none;border:.0625rem solid #eee7d829;position:absolute;inset:1.1rem}.orbit-grain{z-index:20;pointer-events:none;opacity:.3;mix-blend-mode:screen;contain:paint;background-image:url(/textures/live-grain.png);background-size:13rem 13rem;position:absolute;inset:-20%}.orbit-signal-bar,.orbit-page-heading,.orbit-stage,.orbit-notes{z-index:3;position:relative}.orbit-signal-bar{border-bottom:.0625rem solid #eee7d833;grid-area:orbit-signal;grid-template-columns:minmax(15rem,.8fr) minmax(24rem,1.5fr) minmax(16rem,.8fr);align-items:end;gap:clamp(1rem,2.5vw,3rem);padding:0 .35rem clamp(1.15rem,1.8vw,1.75rem);display:grid}.orbit-signal-bar p{gap:.3rem;margin:0;display:grid}.orbit-signal-bar p span,.orbit-signal-bar small{color:#f7f2e894;font:700 clamp(.55rem, .56vw, .68rem)/1.2 var(--mono);letter-spacing:.12em}.orbit-signal-bar p strong{color:var(--paper-light);font-family:var(--hand);letter-spacing:-.035em;font-size:clamp(1.7rem,2.25vw,2.8rem);line-height:.92}.orbit-signal-route{min-width:0;color:var(--paper);font:700 clamp(.55rem, .6vw, .72rem)/1 var(--mono);letter-spacing:.09em;white-space:nowrap;justify-content:center;align-items:center;gap:clamp(.55rem,1.2vw,1.25rem);display:flex}.orbit-signal-route i{color:var(--blue);font-style:normal}.orbit-signal-bar small{text-align:right;justify-self:end}.orbit-page-heading{grid-area:orbit-heading;align-self:center;max-width:25rem}.orbit-page-heading>span,.orbit-note-title{color:var(--ink);background:var(--paper);font:700 .68rem/1 var(--mono);letter-spacing:.12em;box-shadow:.22rem .25rem 0 var(--blue);margin-bottom:1rem;padding:.45rem .65rem .36rem;display:inline-block;transform:rotate(-1.5deg)}.orbit-page-heading h2{max-width:22rem;font-family:var(--hand);letter-spacing:-.065em;margin:0;font-size:clamp(3.6rem,5.4vw,6.75rem);font-weight:700;line-height:.82}.orbit-page-heading h2 em{color:var(--paper-light);font-style:normal;display:block}.orbit-page-heading p{color:#f7f2e8ad;font-family:var(--hand);margin:1.6rem 0 0;font-size:clamp(.9rem,1vw,1.1rem);line-height:1.52}.orbit-stage{grid-area:orbit-stage;align-self:end;place-items:center;min-width:0;height:100%;min-height:clamp(32rem,70svh,46rem);display:grid;overflow:hidden}.skill-orbit-semicircle{contain:layout paint;width:100%;height:100%;position:relative;overflow:hidden}.semi-orbit-globe{z-index:5;aspect-ratio:1;pointer-events:none;width:clamp(20rem,33vw,38rem);position:absolute;bottom:0;left:50%;transform:translate(-50%,48%)}.particle-sphere-canvas{width:100%;height:100%;display:block}.semi-orbit-ring{aspect-ratio:1;border:.0625rem solid #ece6d926;border-radius:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.semi-orbit-ring:before{content:"";opacity:.72;border-top:.0625rem solid #ece6d95c;border-radius:50%;position:absolute;inset:0}.semi-orbit-ring-1{width:clamp(20rem,27vw,30rem)}.semi-orbit-ring-2{width:clamp(30rem,38vw,42rem)}.semi-orbit-ring-3{width:clamp(40rem,49vw,55rem)}.semi-orbit-ring-4{width:clamp(51rem,61vw,68rem)}.semi-orbit-spoke{transform-origin:bottom;will-change:transform;width:0;height:50%;position:absolute;top:0;left:50%}.semi-orbit-spoke[data-direction=clockwise]{animation:semiOrbitClockwise var(--orbit-duration) linear infinite}.semi-orbit-spoke[data-direction=counterclockwise]{animation:semiOrbitCounterclockwise var(--orbit-duration) linear infinite}.semi-orbit-icon{aspect-ratio:1;border:.0625rem solid var(--skill-color);place-items:center;width:clamp(3.15rem,3.6vw,4.1rem);display:grid;position:absolute;top:0;left:50%}@supports (color:color-mix(in lab, red, red)){.semi-orbit-icon{border:.0625rem solid color-mix(in srgb, var(--skill-color) 58%, var(--paper))}}.semi-orbit-icon{color:var(--skill-color);transform:translate(-50%, -50%) rotate(var(--counter-offset));transition:border-color .3s ease, background .3s ease, transform .3s var(--ease-premium);will-change:transform;background:#0d100f;border-radius:50%;box-shadow:0 .45rem 1.1rem #00000047}.semi-orbit-icon[data-direction=clockwise]{animation:semiCounterClockwise var(--orbit-duration) linear infinite}.semi-orbit-icon[data-direction=counterclockwise]{animation:semiCounterClockwiseReverse var(--orbit-duration) linear infinite}.semi-orbit-icon svg{fill:currentColor;width:56%;height:56%}.semi-orbit-wordmark{color:currentColor;font:800 clamp(.63rem, .75vw, .82rem)/1 var(--mono);letter-spacing:-.06em}.semi-orbit-icon>span{width:max-content;max-width:8rem;color:var(--paper);font:700 .54rem/1 var(--mono);letter-spacing:.05em;opacity:0;background:#080a09;border:.0625rem solid #ece6d92e;padding:.28rem .4rem .22rem;transition:opacity .25s,transform .25s;position:absolute;top:calc(100% + .45rem);left:50%;transform:translate(-50%,-.2rem)}.semi-orbit-icon:hover{border-color:var(--paper);background:#111412}.semi-orbit-icon:hover>span{opacity:1;transform:translate(-50%)}.orbit-notes{grid-area:orbit-notes;align-content:center;justify-items:start;gap:.75rem;display:grid}.orbit-note-title{box-shadow:.22rem .25rem 0 var(--red);margin-bottom:.4rem}.orbit-paper-tag{color:var(--paper-light);font:700 clamp(.58rem, .65vw, .76rem)/1.18 var(--mono);letter-spacing:.06em;transform:rotate(var(--tag-turn));background:#f7f2e80f;border:.0625rem solid #f7f2e842;padding:.58rem .7rem .48rem;display:inline-block}.skills-transfer-clone{z-index:120;pointer-events:none;color:#151515;font-family:var(--hand);font-size:var(--transfer-size,2rem);letter-spacing:-.035em;transform:translate3d(var(--transfer-x,0), var(--transfer-y,0), 0) rotate(var(--transfer-turn,0deg));transform-origin:0 0;will-change:transform, color;font-weight:700;line-height:.95;display:none;position:fixed;top:0;left:0}html[data-skills-transfer=active] .skills-transfer-clone{display:block}html[data-skills-transfer=active] .skills-handoff-source,html[data-skills-transfer=active] .skills-handoff-target{visibility:hidden}.skills-transfer-clone[data-phase=dark]{color:var(--paper-light)}.motion-ready .skills-orbit-page [data-orbit-reveal]{opacity:0}.motion-ready .skills-orbit-page [data-orbit-reveal].is-visible{opacity:1}.motion-ready .skills-orbit-page [data-orbit-reveal=gate].is-visible{animation:orbitGateSet .62s var(--ease-premium) both}.motion-ready .skills-orbit-page [data-orbit-reveal=heading].is-visible{animation:orbitHeadingSet .85s var(--ease-premium) both}.motion-ready .skills-orbit-page [data-orbit-reveal=signal].is-visible{animation:orbitSignalSet .7s var(--ease-premium) both}.motion-ready .skills-orbit-page [data-orbit-reveal=orbit].is-visible{animation:orbitMechanismSet 1.05s var(--ease-premium) 60ms both}.motion-ready .skills-orbit-page [data-orbit-reveal=notes].is-visible{animation:orbitNotesSet .78s var(--ease-premium) .1s both}@keyframes semiOrbitClockwise{0%{transform:rotate(var(--start-angle))}to{transform:rotate(calc(var(--start-angle) + 360deg))}}@keyframes semiOrbitCounterclockwise{0%{transform:rotate(var(--start-angle))}to{transform:rotate(calc(var(--start-angle) - 360deg))}}@keyframes semiCounterClockwise{0%{transform:translate(-50%, -50%) rotate(var(--counter-offset))}to{transform:translate(-50%, -50%) rotate(calc(var(--counter-offset) - 360deg))}}@keyframes semiCounterClockwiseReverse{0%{transform:translate(-50%, -50%) rotate(var(--counter-offset))}to{transform:translate(-50%, -50%) rotate(calc(var(--counter-offset) + 360deg))}}@keyframes orbitGateSet{0%{opacity:0;transform:translate(-50%)scaleX(.35)}to{opacity:1;transform:translate(-50%)scaleX(1)}}@keyframes orbitHeadingSet{0%{opacity:0;transform:translate(-3rem)rotate(-2deg)}55%{transform:translate(.45rem)rotate(.6deg)}to{opacity:1;transform:none}}@keyframes orbitSignalSet{0%{opacity:0;transform:translateY(-1.75rem)}62%{opacity:1;transform:translateY(.18rem)}to{opacity:1;transform:none}}@keyframes orbitMechanismSet{0%{opacity:0;transform:scale(.86)rotate(-4deg)}68%{opacity:1;transform:scale(1.018)rotate(.5deg)}to{opacity:1;transform:none}}@keyframes orbitNotesSet{0%{opacity:0;transform:translate(2rem,1rem)rotate(2deg)}65%{transform:translate(-.25rem,-.15rem)rotate(-.5deg)}to{opacity:1;transform:none}}.motion-ready .about-page [data-reveal]{opacity:0}.motion-ready .about-page [data-reveal].is-visible{opacity:1}.motion-ready .about-page [data-reveal=tag].is-visible{animation:paperTagSet .48s var(--ease-premium) both}.motion-ready .about-page [data-reveal=heading].is-visible{animation:headlineInkSet .62s var(--ease-premium) 20ms both}.motion-ready .about-page [data-reveal=copy].is-visible{animation:paragraphRegister .58s var(--ease-premium) 40ms both}.motion-ready .about-page [data-reveal=note].is-visible{animation:noteUnderlineSet .62s var(--ease-premium) 80ms both}.motion-ready .about-page [data-reveal=cutout].is-visible{animation:astronautPaperSet .95s var(--ease-premium) both}.motion-ready .about-page [data-reveal=cutout].is-visible:before{animation:shadowRegistration .95s var(--ease-premium) 40ms both}.motion-ready .about-page [data-reveal=card].is-visible{animation:catalogCardSet .68s var(--ease-premium) 60ms both}.motion-ready .about-page .fact-block h3,.motion-ready .about-page .experience-list article{opacity:0}.motion-ready .about-page .fact-block.is-visible h3{opacity:1;animation:headlineInkSet .5s var(--ease-premium) 80ms both}.motion-ready .about-page .fact-block.is-visible .experience-list article{opacity:1;animation:factLineSet .52s var(--ease-premium) both}.motion-ready .about-page .fact-block.is-visible .experience-list article:first-child{animation-delay:.1s}.motion-ready .about-page .fact-block.is-visible .experience-list article:nth-child(2){animation-delay:.14s}.motion-ready .about-page .fact-block.is-visible .experience-list article:nth-child(3){animation-delay:.18s}.motion-ready .about-page [data-reveal=skill].is-visible{animation:skillTileSet .48s var(--ease-premium) calc(80ms + var(--skill-order,0) * 18ms) both}.motion-ready .about-page .story-frame[data-reveal=photo].is-visible{animation:photoDevelopSet .85s var(--ease-premium) calc(60ms + var(--photo-order,0) * 70ms) both}.motion-ready .about-page .story-frame figcaption{opacity:0}.motion-ready .about-page .story-frame.is-visible figcaption{opacity:1;animation:captionWrite .48s var(--ease-premium) calc(.3s + var(--photo-order,0) * 60ms) both}@keyframes gridExposure{0%{opacity:0;transform:scale(1.025)}48%{opacity:.65}to{opacity:1;transform:none}}@keyframes typeBlockDock{0%{opacity:0;transform:translateY(-2.6rem)rotateX(-62deg)scaleY(.76)}48%{opacity:1;transform:translateY(.42rem)rotateX(7deg)scaleY(1.035)}72%{transform:translateY(-.15rem)rotateX(-2deg)scaleY(.993)}to{opacity:1;transform:none}}@keyframes sharedLetterSet{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-1.8rem)scaleY(.35)}58%{opacity:1;clip-path:inset(0);transform:translateY(.12rem)scaleY(1.88)}to{opacity:1;clip-path:inset(0);transform:scaleY(1.82)}}@keyframes nameCardPlace{0%{opacity:0;transform:translate(4rem,-1.5rem)rotate(18deg)scale(.72)}24%{opacity:1;transform:translate(-.75rem,-.1rem)rotate(-6deg)scale(1.08)}43%{transform:translate(.5rem,-.65rem)rotate(4deg)scale(.97)}61%{transform:translate(-.24rem,-.45rem)rotate(-2.3deg)scale(1.02)}78%{transform:translate(.12rem,-50%)rotate(-.8deg)scale(.995)}to{opacity:1;transform:translateY(-50%)rotate(-1.5deg)}}@keyframes headerDrop{0%{opacity:0;transform:translateY(-1.75rem)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes threadDraw{to{stroke-dashoffset:0}}@keyframes paperOrbitDock{0%{opacity:0;transform:perspective(70rem) translate3d(var(--enter-x), var(--enter-y), -8rem) rotateX(var(--enter-rx)) rotateY(var(--enter-ry)) rotateZ(var(--enter-r)) scale(.78)}45%{opacity:1;transform:perspective(70rem) translate3d(var(--snap-x), var(--snap-y), 1rem) rotateX(-2deg) rotateY(2deg) rotateZ(var(--snap-r)) scale(1.035)}68%{transform:perspective(70rem) translate3d(var(--echo-x), var(--echo-y), 0) rotateX(1deg) rotateY(-1deg) rotateZ(var(--echo-r)) scale(.988)}86%{transform:perspective(70rem)translate(.1rem,-.04rem)rotate(.16deg)scale(1.003)}to{opacity:1;transform:none}}@keyframes objectReturn{0%{opacity:1;transform:none}42%{opacity:1;transform:translate3d(var(--echo-x), calc(var(--echo-y) - .45rem), 0) rotate(var(--echo-r)) scale(1.018)}to{opacity:1;transform:none}}@keyframes stageReturn{0%{opacity:1;filter:saturate(.72)contrast(.88)}58%{opacity:1;filter:saturate(1.04)contrast(1.04)}to{opacity:1;filter:none}}@keyframes contentReturn{0%{opacity:1;filter:saturate(.78)contrast(.92)}55%{opacity:1;filter:saturate(1.04)contrast(1.03)}to{opacity:1;filter:none}}@keyframes paperTagSet{0%{opacity:0;transform:translate(-2.2rem,-1rem)rotate(-11deg)scale(.82)}36%{opacity:1;transform:translate(.18rem,.08rem)rotate(2deg)scale(1.035)}to{opacity:1;transform:rotate(-1.4deg)}}@keyframes headlineInkSet{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-1.5rem,.7rem)skew(-7deg)}38%{opacity:1;clip-path:inset(0);transform:translate(.12rem)skew(1deg)}to{opacity:1;transform:none}}@keyframes paragraphRegister{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(1.1rem)}40%{opacity:1;clip-path:inset(0);transform:translateY(-.08rem)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes noteUnderlineSet{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-1rem)rotate(-3deg)}68%{opacity:1;clip-path:inset(0);transform:translate(.08rem)rotate(-.6deg)}to{opacity:1;clip-path:inset(0);transform:rotate(-1deg)}}@keyframes factLineSet{0%{opacity:0;transform:translate(1.25rem,.35rem)rotate(1.5deg)}65%{opacity:1;transform:translate(-.12rem)rotate(-.2deg)}to{opacity:1;transform:none}}@keyframes captionWrite{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(.4rem)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes astronautPaperSet{0%{opacity:0;clip-path:inset(0 72% 0 0);transform:translate(-3.8rem,1rem)rotateY(18deg)rotate(-3deg)scale(.94)}56%{opacity:1;clip-path:inset(0);transform:translate(.42rem,-.12rem)rotateY(-2deg)rotate(.5deg)scale(1.008)}to{opacity:1;transform:none}}@keyframes shadowRegistration{0%{opacity:0;transform:translate(2rem, -.45rem) rotate(2deg) scale(var(--art-scale)) translateX(var(--art-shift))}62%{opacity:1;transform:translate(.5rem, .62rem) rotate(-.2deg) scale(var(--art-scale)) translateX(var(--art-shift))}to{opacity:1;transform:translate(.7rem, .5rem) scale(var(--art-scale)) translateX(var(--art-shift))}}@keyframes catalogCardSet{0%{opacity:0;clip-path:inset(0 0 100%);transform-origin:50% 0;transform:translateY(-1.4rem)rotateX(-18deg)}64%{opacity:1;clip-path:inset(0);transform:translateY(.14rem)rotateX(2deg)}to{opacity:1;transform:none}}@keyframes skillTileSet{0%{opacity:0;transform:translate(.85rem,.6rem)rotate(5deg)scale(.82)}62%{opacity:1;transform:translate(-.08rem,-.05rem)rotate(-.8deg)scale(1.025)}to{opacity:1;transform:none}}@keyframes photoDevelopSet{0%{opacity:0;filter:grayscale()contrast(.62);transform:perspective(52rem) translate3d(var(--photo-enter-x), 2.8rem, -3rem) rotateX(13deg) rotate(var(--photo-enter-r)) scale(.9)}58%{opacity:1;filter:grayscale(.18)contrast(1.06);transform:perspective(52rem) translate3d(var(--photo-mid-x), -.3rem, 0) rotateX(-1deg) rotate(calc(var(--frame-rotation) + .5deg)) scale(1.012)}to{opacity:1;transform:rotate(var(--frame-rotation))}}@keyframes signalPulse{0%,to{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.18)}}@keyframes cueIn{0%{opacity:0;transform:translate(-50%,.9rem)}to{opacity:1;transform:translate(-50%)}}@keyframes cueBounce{0%,to{transform:translateY(-.15rem)}50%{transform:translateY(.35rem)}}@keyframes ticker{to{transform:translate(-50%)}}.scroll-progress{right:clamp(.75rem,1.6vw,1.5rem);bottom:max(.75rem, env(safe-area-inset-bottom));z-index:90;pointer-events:none;-webkit-backdrop-filter:blur(.4rem);contain:layout paint;background:#050606f0;border:.0625rem solid #f2ecde1a;border-radius:.85rem;place-items:center;width:clamp(10rem,17vw,16.5rem);height:clamp(2.35rem,3vw,2.8rem);padding:.55rem .8rem;display:grid;position:fixed;overflow:hidden;box-shadow:0 .75rem 1.8rem #00000047}.scroll-progress-rail{background:repeating-linear-gradient(90deg,#efe8d861 0 .0625rem,#0000 .0625rem .43rem);width:100%;height:1.3rem;display:block;position:relative}.scroll-progress-rail:before{content:"";background:#efe8d81f;height:.0625rem;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scroll-progress-marker{z-index:3;background:var(--red);width:.32rem;height:1.65rem;transform:translate3d(var(--scroll-progress-x), -50%, 0);transform-origin:0;will-change:transform;border-radius:.18rem;position:absolute;top:50%;left:0}.scroll-progress-page{z-index:1;background:var(--red);opacity:.72;border-radius:.08rem;width:.14rem;height:1.35rem;position:absolute;top:50%;transform:translate(-50%,-50%)}.scroll-progress-page-start{left:0}.scroll-progress-page-about{left:calc(var(--about-progress) * 100%)}.scroll-progress-page-skills{left:calc(var(--skills-progress) * 100%)}.scroll-progress-page-work{left:calc(var(--work-progress) * 100%)}.scroll-progress-page-projects{left:calc(var(--projects-progress) * 100%)}.work-page{z-index:36;width:100%;height:100svh;min-height:max(42rem,100svh);color:var(--paper-light);isolation:isolate;background-color:#080a09;background-image:linear-gradient(#ece6d90b .0625rem,#0000 .0625rem),linear-gradient(90deg,#ece6d90b .0625rem,#0000 .0625rem);background-size:2.8rem 2.8rem;position:relative;overflow:hidden}.work-page:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.96%,#ece6d909 50%,#0000 50.04%),linear-gradient(#0000 49.96%,#ece6d909 50%,#0000 50.04%);position:absolute;inset:0}.work-page:after{z-index:16;content:"";pointer-events:none;border:.0625rem solid #eee7d829;position:absolute;inset:1.1rem}.work-grain{z-index:12;pointer-events:none;opacity:.32;mix-blend-mode:screen;contain:paint;background-image:url(/textures/live-grain.png);background-repeat:repeat;background-size:13rem 13rem;position:absolute;inset:-20%}.work-signature{z-index:18;color:var(--paper-light);font:700 clamp(1.25rem, 1.65vw, 2rem)/.66 var(--display);letter-spacing:-.08em;position:absolute;top:clamp(.85rem,1.35vw,1.7rem);left:clamp(.85rem,1.35vw,1.7rem)}.work-copy{z-index:18;top:50%;left:var(--page-gutter);width:min(31rem,34vw);position:absolute;transform:translateY(-45%)}.work-copy h2{color:var(--paper-light);font:700 clamp(4.1rem, 6.6vw, 7.7rem)/.78 var(--display);letter-spacing:-.075em;margin:0}.work-copy h2 em{color:var(--blue);font-style:normal}.electric-gaze{z-index:6;margin:0;position:absolute;inset:0 0 0 clamp(29rem,32vw,38rem);overflow:visible}.electric-gaze-media{z-index:1;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#0000002e 4%,#000 13% 100%);mask-image:linear-gradient(90deg,#0000 0,#0000002e 4%,#000 13% 100%)}.electric-gaze video{object-fit:cover;object-position:47% 50%;filter:contrast(.82)saturate(.74)brightness(.9)blur(.012rem);opacity:.94;width:100%;height:100%;display:block}.electric-gaze-media:after{z-index:3;content:"";pointer-events:none;background:linear-gradient(90deg,#080a09ad,#0000 22% 78%,#080a095c),linear-gradient(#080a0952,#0000 22% 80%,#080a0980);position:absolute;inset:0}.motion-ready .work-page [data-work-reveal]{opacity:0}.motion-ready .work-page [data-work-reveal].is-visible{opacity:1}.motion-ready .work-page [data-work-reveal=signature].is-visible{animation:workSignatureSet .62s var(--ease-premium) both}.motion-ready .work-page [data-work-reveal=copy].is-visible{animation:workCopySet .82s var(--ease-premium) 30ms both}.motion-ready .work-page [data-work-reveal=visual].is-visible{animation:workVisualSet .95s var(--ease-premium) 40ms both}@keyframes workSignatureSet{0%{opacity:0;transform:translateY(-1.4rem)}to{opacity:1;transform:none}}@keyframes workCopySet{0%{opacity:0;transform:translate(-2.5rem,-45%)}to{opacity:1;transform:translateY(-45%)}}@keyframes workVisualSet{0%{opacity:0;transform:translate(4rem)rotate(1deg)}68%{opacity:1;transform:translate(-.35rem)rotate(-.1deg)}to{opacity:1;transform:none}}.projects-page{--project-accent:#e05a3f;z-index:38;width:100%;min-height:100svh;padding:clamp(1rem, 2.2vw, 2.2rem) var(--page-gutter) clamp(3rem, 7vw, 7rem);color:#101211;isolation:isolate;transition:--project-accent .7s var(--ease-premium);background-color:#e9e2d4;background-image:linear-gradient(#1012110e .0625rem,#0000 .0625rem),linear-gradient(90deg,#1012110e .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2.75rem 2.75rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:clip}.projects-page:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(120deg,#ffffffb8,#0000 28%),linear-gradient(#0000 82%,#0d0f0e0d);position:absolute;inset:0}.projects-page:after{z-index:0;content:"";background:var(--project-accent);transform-origin:100%;width:min(24rem,34vw);height:.46rem;transition:background-color .65s var(--ease-premium);position:absolute;top:0;right:0}.projects-grain{z-index:20;pointer-events:none;opacity:.18;mix-blend-mode:multiply;background:url(/textures/live-grain.png) 0 0/13rem 13rem;width:124%;height:124%;animation:none;position:absolute;inset:-12%}.projects-aura{z-index:-1;aspect-ratio:1;pointer-events:none;background:var(--project-accent);filter:blur(7rem);opacity:.17;width:clamp(16rem,35vw,37rem);transition:background-color .7s var(--ease-premium);border-radius:50%;position:absolute;top:clamp(4rem,9vw,9rem);right:-9rem}.projects-masthead{z-index:4;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex;position:relative}.projects-masthead>a{font:700 clamp(1.25rem, 1.65vw, 2rem)/.66 var(--display);letter-spacing:-.08em}.projects-masthead p{font:700 clamp(.58rem, .62vw, .72rem)/1 var(--mono);letter-spacing:.13em;align-items:center;gap:clamp(.75rem,2vw,2rem);margin:0;display:flex}.projects-masthead p span{color:var(--paper-light);background:#101211;padding:.52rem .65rem .46rem}.projects-masthead p b{align-items:center;gap:.42rem;display:flex}.projects-masthead p i,.project-live-mark i{background:var(--project-accent);width:.46rem;height:.46rem;box-shadow:0 0 0 .2rem var(--project-accent);border-radius:50%;display:inline-block}@supports (color:color-mix(in lab, red, red)){.projects-masthead p i,.project-live-mark i{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--project-accent) 18%, transparent)}}.projects-masthead p i,.project-live-mark i{animation:1.8s ease-in-out infinite signalPulse}.projects-intro{z-index:3;grid-template-columns:minmax(0,1.2fr) minmax(15rem,.55fr);align-items:end;column-gap:clamp(2rem,7vw,8rem);padding-top:clamp(6rem,11vw,10.5rem);display:grid;position:relative}.projects-intro>span{font:700 clamp(.64rem, .68vw, .78rem)/1 var(--mono);letter-spacing:.14em;align-items:center;gap:.7rem;display:flex;position:absolute;top:clamp(3rem,6.2vw,6rem);left:0}.projects-intro>span i{background:var(--project-accent);width:clamp(2rem,4vw,4.5rem);height:.1rem;display:inline-block}.projects-intro h2{font:700 clamp(5rem, 10.7vw, 11.7rem)/.72 var(--display);letter-spacing:-.095em;margin:0}.projects-intro h2 em{z-index:0;color:var(--paper-light);-webkit-text-stroke:.12rem #101211;text-shadow:.28rem .28rem 0 var(--project-accent);transition:text-shadow .65s var(--ease-premium);font-style:normal;position:relative}.projects-intro p{max-width:31rem;margin:0 0 .55rem;font:500 clamp(1rem,1.25vw,1.35rem)/1.45 Arial,Helvetica,sans-serif}.projects-scroll-note{z-index:3;top:clamp(19rem,29vw,31rem);right:var(--page-gutter);font:700 .62rem/1 var(--mono);letter-spacing:.12em;writing-mode:vertical-rl;align-items:center;gap:.85rem;margin:0;display:flex;position:absolute}.projects-scroll-note i{font:1.2rem/1 Arial,sans-serif;animation:1.6s ease-in-out infinite cueBounce}.project-index{z-index:4;margin:clamp(4rem, 7vw, 7rem) calc(var(--page-gutter) * -1) 0;overscroll-behavior-inline:contain;scrollbar-width:none;background:#e9e2d4b8;border-top:.08rem solid #101211;border-bottom:.08rem solid #101211;grid-template-columns:repeat(7,minmax(8rem,1fr));display:grid;position:relative;overflow-x:auto}.project-index::-webkit-scrollbar{display:none}.project-index button{color:#101211;cursor:pointer;text-align:left;min-width:0;min-height:7.4rem;transition:color .4s var(--ease-premium), background-color .4s var(--ease-premium);background:0 0;border:0;border-right:.0625rem solid #10121152;padding:1rem .9rem .85rem;position:relative;overflow:hidden}.project-index button:before{content:"";background:var(--project-accent);transform-origin:0;height:.3rem;transition:transform .55s var(--ease-premium), background-color .65s var(--ease-premium);position:absolute;inset:auto 0 0;transform:scaleX(0)}.project-index button span,.project-index button i{font:700 .62rem/1 var(--mono);position:absolute;top:.85rem}.project-index button span{left:.9rem}.project-index button i{transition:transform .4s var(--ease-premium);font-style:normal;right:.9rem}.project-index button b{max-width:9rem;font:700 clamp(.86rem, 1vw, 1.08rem)/1 var(--display);letter-spacing:-.045em;margin-top:2.45rem;display:block}.project-index button:hover,.project-index button:focus-visible,.project-index button.is-active{color:var(--paper-light);background:#101211;outline:none}.project-index button:hover i,.project-index button:focus-visible i,.project-index button.is-active i{transform:translate(.16rem,-.16rem)}.project-index button.is-active:before{transform:scaleX(1)}.project-feature{z-index:3;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.6fr);align-items:center;gap:clamp(2rem,4.5vw,5.5rem);padding:clamp(4rem,8vw,8rem) 0 clamp(3rem,7vw,7rem);display:grid;position:relative}.project-projector{--project-tilt-x:0deg;--project-tilt-y:0deg;--project-pan-x:0rem;--project-pan-y:0rem;color:var(--paper-light);box-shadow:.85rem .85rem 0 var(--project-accent), 0 2.2rem 5rem #14120e3d;transform:perspective(85rem) rotateX(var(--project-tilt-x)) rotateY(var(--project-tilt-y));transform-style:preserve-3d;transition:transform .6s var(--ease-premium), box-shadow .65s var(--ease-premium);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#0b0d0c;margin:0;padding:clamp(.55rem,1vw,.9rem);position:relative}.project-projector:before,.project-projector:after{z-index:4;content:"";pointer-events:none;width:2.7rem;height:2.7rem;position:absolute}.project-projector:before{border-top:.12rem solid var(--paper-light);border-left:.12rem solid var(--paper-light);top:.4rem;left:.4rem}.project-projector:after{border-right:.12rem solid var(--paper-light);border-bottom:.12rem solid var(--paper-light);bottom:2.45rem;right:.4rem}.project-gate{aspect-ratio:16/9.7;clip-path:inset(0);animation:projectGateNext .85s var(--ease-premium) both;background:#161918;position:relative;overflow:hidden}.project-feature[data-direction=previous] .project-gate{animation-name:projectGatePrevious}.project-gate img{object-fit:cover;object-position:top center;filter:saturate(.88)contrast(.96);width:calc(100% + 1.2rem);height:calc(100% + .9rem);transform:translate3d(calc(-.6rem + var(--project-pan-x)), calc(-.45rem + var(--project-pan-y)), 1.5rem) scale(1.015);transition:transform .8s var(--ease-premium), filter .5s ease;display:block}.project-projector:hover .project-gate img{filter:saturate()contrast()}.project-scan{z-index:2;pointer-events:none;background:linear-gradient(transparent, var(--project-accent), transparent);height:20%;position:absolute;top:-25%;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.project-scan{background:linear-gradient(transparent, color-mix(in srgb, var(--project-accent) 22%, transparent), transparent)}}.project-scan{mix-blend-mode:screen;opacity:.7;animation:3.8s ease-in-out infinite projectScan}.project-projector figcaption{font:700 clamp(.55rem, .6vw, .68rem)/1 var(--mono);letter-spacing:.1em;justify-content:space-between;gap:1rem;padding:.75rem .15rem .05rem;display:flex}.project-live-mark{align-items:center;gap:.5rem;display:flex}.project-record{min-width:0;animation:projectRecordNext .78s var(--ease-premium) both}.project-feature[data-direction=previous] .project-record{animation-name:projectRecordPrevious}.project-record-meta{font:700 clamp(.61rem, .67vw, .75rem)/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;border-bottom:.08rem solid #101211;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.project-record-meta b{color:var(--paper-light);background:#101211;padding:.45rem .5rem .38rem}.project-record h3{max-width:13ch;font:700 clamp(2.8rem, 4.8vw, 5.8rem)/.79 var(--display);letter-spacing:-.085em;overflow-wrap:anywhere;margin:clamp(1.2rem,2.2vw,2rem) 0 0}.project-record>p{max-width:28rem;margin:clamp(1.4rem,2vw,2rem) 0 0;font:500 clamp(.94rem,1.05vw,1.16rem)/1.52 Arial,Helvetica,sans-serif}.project-record ul{flex-wrap:wrap;gap:.48rem;margin:1.35rem 0 0;padding:0;list-style:none;display:flex}.project-record li{font:700 .62rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;border:.075rem solid #101211a6;border-radius:100vmax;padding:.48rem .65rem .4rem}.project-record>a{width:fit-content;color:var(--paper-light);box-shadow:.32rem .32rem 0 var(--project-accent);font:700 clamp(.65rem, .72vw, .8rem)/1 var(--mono);letter-spacing:.09em;transition:transform .35s var(--ease-premium), box-shadow .35s var(--ease-premium);background:#101211;align-items:center;gap:1.2rem;margin-top:clamp(1.6rem,2.5vw,2.5rem);padding:.9rem 1rem .8rem;display:flex}.project-record>a b{transition:transform .35s var(--ease-premium);font-size:1rem}.project-record>a:hover,.project-record>a:focus-visible{box-shadow:.48rem .48rem 0 var(--project-accent);outline:none;transform:translate(-.15rem,-.15rem)}.project-record>a:hover b,.project-record>a:focus-visible b{transform:translate(.18rem,-.18rem)}.project-controls{border:.08rem solid #101211;grid-template-columns:2.7rem 1fr 2.7rem;align-items:center;width:min(14rem,100%);margin-top:clamp(2rem,4vw,4rem);display:grid}.project-controls button{color:#101211;cursor:pointer;background:0 0;border:0;width:2.7rem;height:2.7rem;padding:0;font:700 1.2rem/1 Arial,sans-serif;transition:color .3s,background-color .3s}.project-controls button:hover,.project-controls button:focus-visible{color:var(--paper-light);background:#101211;outline:none}.project-controls span{font:700 .62rem/1 var(--mono);letter-spacing:.08em;border-left:.08rem solid #101211;border-right:.08rem solid #101211;align-self:stretch;place-items:center;display:grid}.project-controls span b{color:var(--project-accent);font-size:.86rem}.project-contact-sheet{z-index:3;border-top:.08rem solid #10121166;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.35rem);padding:clamp(2rem,4vw,4rem) 0 clamp(5rem,9vw,9rem);display:grid;position:relative}.project-contact-sheet:before{content:"CONTACT SHEET / 01—07";color:var(--paper-light);font:700 .56rem/1 var(--mono);letter-spacing:.1em;background:#101211;padding:.35rem .5rem .3rem;position:absolute;top:-1.15rem;left:0}.project-contact-sheet button{color:#101211;background:var(--paper-light);cursor:pointer;min-width:0;transform:rotate(var(--contact-turn));transition:transform .5s var(--ease-premium), box-shadow .5s var(--ease-premium), background-color .4s ease;border:0;padding:.35rem .35rem 1.9rem;position:relative;box-shadow:0 .8rem 1.7rem #14120e26}.project-contact-sheet button:hover,.project-contact-sheet button:focus-visible,.project-contact-sheet button.is-active{z-index:2;background:var(--project-accent);outline:none;transform:translateY(-.65rem)rotate(0)scale(1.035);box-shadow:0 1.4rem 2.4rem #14120e3d}.project-contact-sheet img{aspect-ratio:1.42;object-fit:cover;object-position:top;filter:grayscale(.65)contrast(.9);width:100%;transition:filter .45s;display:block}.project-contact-sheet button:hover img,.project-contact-sheet button:focus-visible img,.project-contact-sheet button.is-active img{filter:none}.project-contact-sheet span{font:700 .58rem/1 var(--mono);position:absolute;bottom:.58rem;left:.45rem}.project-contact-sheet b{max-width:calc(100% - 2.4rem);font:700 clamp(.52rem, .56vw, .66rem)/1 var(--display);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;position:absolute;bottom:.52rem;right:.45rem;overflow:hidden}.projects-footer{z-index:3;border-top:.12rem solid #101211;grid-template-columns:1fr auto;align-items:end;gap:1rem 2rem;padding:clamp(3rem,6vw,6rem) 0 0;display:grid;position:relative}.projects-footer p{font:700 clamp(3.4rem, 8vw, 9rem)/.78 var(--display);letter-spacing:-.09em;grid-column:1/-1;margin:0}.projects-footer>a{border-bottom:.3rem solid var(--project-accent);width:fit-content;font:700 clamp(1rem, 1.65vw, 1.8rem)/1 var(--display);letter-spacing:-.04em;align-items:center;gap:clamp(1.2rem,4vw,5rem);padding-bottom:.4rem;display:flex}.projects-footer>a span{transition:transform .35s var(--ease-premium)}.projects-footer>a:hover span,.projects-footer>a:focus-visible span{transform:translate(.25rem,-.25rem)}.projects-footer>b{font:700 clamp(.56rem, .65vw, .72rem)/1.4 var(--mono);letter-spacing:.1em;text-align:right}.motion-ready .projects-page [data-project-reveal]{opacity:0}.motion-ready .projects-page [data-project-reveal].is-visible{opacity:1}.motion-ready .projects-page [data-project-reveal=masthead].is-visible{animation:projectMastheadSet .55s var(--ease-premium) both}.motion-ready .projects-page [data-project-reveal=intro].is-visible{animation:projectIntroSet .68s var(--ease-premium) 30ms both}.motion-ready .projects-page [data-project-reveal=index].is-visible{animation:projectIndexSet .65s var(--ease-premium) 50ms both}.motion-ready .projects-page [data-project-reveal=feature].is-visible{animation:projectFeatureSet .72s var(--ease-premium) 60ms both}.motion-ready .projects-page [data-project-reveal=card].is-visible{animation:projectCardSet .58s var(--ease-premium) calc(20ms + var(--reveal-order,0) * 10ms) both}.motion-ready .projects-page [data-project-reveal=contact-sheet].is-visible{animation:projectContactSet .72s var(--ease-premium) 80ms both}@keyframes projectMastheadSet{0%{opacity:0;transform:translateY(-1.5rem)}to{opacity:1;transform:none}}@keyframes projectIntroSet{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-2rem)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes projectIndexSet{0%{opacity:0;transform:translateY(2.3rem)}to{opacity:1;transform:none}}@keyframes projectFeatureSet{0%{opacity:0;transform:translateY(3.5rem)}to{opacity:1;transform:none}}@keyframes projectCardSet{0%{opacity:0;transform:translateY(1.5rem)scale(.99)}to{opacity:1;transform:none}}@keyframes projectContactSet{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}@keyframes projectGateNext{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(1.5rem)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes projectGatePrevious{0%{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(-1.5rem)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes projectRecordNext{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:none}}@keyframes projectRecordPrevious{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:none}}@keyframes projectScan{0%,14%{opacity:0;transform:translateY(0)}25%{opacity:.8}72%{opacity:.55}86%,to{opacity:0;transform:translateY(620%)}}@media (max-width:74rem){.projects-intro{grid-template-columns:minmax(0,1fr) minmax(14rem,.65fr)}.projects-intro h2{font-size:clamp(4.8rem,10.6vw,8.5rem)}.project-index{grid-template-columns:repeat(7,minmax(9.5rem,1fr))}.project-feature{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);gap:clamp(1.8rem,3.4vw,3rem)}.project-record h3{font-size:clamp(2.8rem,5vw,4.5rem)}.project-contact-sheet{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}}@media (max-width:60rem){.projects-intro{grid-template-columns:1fr}.projects-intro h2{font-size:clamp(5rem,15vw,8.5rem)}.projects-intro p{max-width:34rem;margin-top:2.2rem}.projects-scroll-note{display:none}.project-feature{grid-template-columns:1fr}.project-record{grid-template-columns:minmax(0,1fr) minmax(14rem,.75fr);align-items:start;gap:0 clamp(1.5rem,4vw,3rem);display:grid}.project-record-meta,.project-record h3{grid-column:1}.project-record>p{grid-area:1/2/span 2;margin-top:2.2rem}.project-record ul,.project-record>a,.project-controls{grid-column:1/-1}.project-record h3{max-width:16ch}.project-controls{width:14rem;margin-top:2.5rem}.project-contact-sheet{margin-right:calc(var(--page-gutter) * -1);padding-right:var(--page-gutter);scrollbar-width:none;grid-template-columns:repeat(4,minmax(8.5rem,1fr));overflow-x:auto}.project-contact-sheet::-webkit-scrollbar{display:none}}@media (max-width:42rem){.projects-page{background-size:2rem 2rem;padding-left:1rem;padding-right:1rem}.projects-page:after{width:38vw}.projects-grain{opacity:.12}.projects-masthead p{flex-direction:column;align-items:flex-end;gap:.45rem}.projects-masthead p span{padding:.42rem .5rem .38rem}.projects-masthead p b{font-size:.52rem}.projects-intro{padding-top:7.5rem}.projects-intro>span{font-size:.54rem;top:4.2rem}.projects-intro h2{font-size:clamp(4rem,22vw,6.4rem);line-height:.76}.projects-intro h2 em{-webkit-text-stroke-width:.08rem;text-shadow:.2rem .2rem 0 var(--project-accent)}.projects-intro p{margin-top:1.8rem;font-size:.98rem}.project-index{grid-template-columns:repeat(7,9.2rem);margin:3.5rem -1rem 0}.project-index button{min-height:6.5rem}.project-index button b{margin-top:2rem;font-size:.86rem}.project-feature{gap:2.5rem;padding-top:3.5rem}.project-projector{box-shadow:.45rem .45rem 0 var(--project-accent), 0 1.5rem 3rem #14120e38;padding:.42rem;transform:none}.project-projector figcaption{padding-top:.65rem;font-size:.5rem}.project-record{display:block}.project-record>p{margin-top:1.35rem}.project-record h3{margin-top:1rem;font-size:clamp(2.8rem,15vw,4.5rem)}.project-controls{margin-top:2.2rem}.project-contact-sheet{grid-template-columns:repeat(7,10rem);margin-right:-1rem;padding-top:2.4rem;padding-bottom:6rem;padding-right:1rem}.projects-footer{padding-top:3rem;display:block}.projects-footer p{font-size:clamp(3.4rem,17vw,5.4rem)}.projects-footer>a{margin-top:2rem}.projects-footer>b{text-align:left;margin-top:3rem;display:block}}@media (max-width:25rem){.projects-intro h2{font-size:clamp(3.55rem,21vw,5rem)}.project-projector figcaption{flex-direction:column;align-items:flex-start}.project-record h3{font-size:clamp(2.55rem,14.5vw,4rem)}.projects-footer p{font-size:clamp(3rem,16vw,4.7rem)}}@media (min-width:74.01rem) and (max-height:58rem){.about-heading h2{font-size:clamp(3.85rem,4.15vw,5.4rem)}.about-body{font-size:clamp(1.08rem,1.04vw,1.28rem);line-height:1.47}.hand-note{margin-top:.75rem;font-size:clamp(1.1rem,1.14vw,1.38rem)}.fact-block h3{margin-bottom:.75rem;font-size:clamp(2.08rem,2.2vw,2.9rem)}.experience-list{gap:.48rem}.experience-list strong{font-size:clamp(1.03rem,.98vw,1.2rem)}.experience-list small{font-size:clamp(.86rem,.78vw,1rem)}.skill-list li{font-size:clamp(.86rem,.76vw,.98rem)}}@media (max-width:74rem){.hero-copy{width:min(25rem,38vw)}.about-page{height:auto;overflow:clip}.about-spread{grid-template-rows:auto auto auto auto;grid-template-columns:42% 58%;height:auto;min-height:100svh;overflow:visible}.about-copy{display:contents}.about-heading{max-width:none;padding:clamp(2.5rem, 6vw, 5rem) var(--page-gutter) 1.5rem;grid-area:1/1/auto/-1}.about-heading h2{max-width:50rem;font-size:clamp(4.35rem,8.8vw,6.8rem)}.about-location-tags{top:2.8rem;right:var(--page-gutter)}.about-intro{max-width:none;padding:2.5rem var(--page-gutter) 1.5rem 1.5rem;grid-area:2/2}.about-body{font-size:clamp(1.1rem,1.75vw,1.38rem)}.hand-note{font-size:clamp(1.22rem,1.9vw,1.55rem)}.hand-note-desktop{display:none}.hand-note-flow{display:inline-block}.about-visual{grid-area:2/1/4;height:auto;min-height:clamp(34rem,60vw,46rem)}.about-facts{padding:2.5rem var(--page-gutter) 2.5rem 1.5rem;border-block:.0625rem solid #15151529;grid-area:3/2;align-content:center}.fact-block h3{font-size:clamp(2.45rem,3.75vw,3.45rem)}.experience-list strong,.skill-list li{font-size:clamp(1.05rem,1.6vw,1.28rem)}.experience-list small,.experience-list article>b{font-size:clamp(.88rem,1.25vw,1.04rem)}.photo-story{padding:3.5rem var(--page-gutter) 5rem;grid-area:4/1/auto/-1;gap:clamp(1.25rem,3vw,2.5rem);height:auto}.story-frame{aspect-ratio:1.42;height:auto}.skills-orbit-page{height:auto;min-height:100svh;padding:clamp(3rem, 6vw, 5rem) var(--page-gutter) clamp(5rem, 8vw, 7rem);grid-template-columns:minmax(0,.75fr) minmax(19rem,1.25fr);grid-template-areas:"orbit-signal orbit-signal""orbit-heading orbit-notes""orbit-stage orbit-stage";overflow:clip}.orbit-signal-bar{grid-template-columns:minmax(15rem,.8fr) minmax(16rem,.65fr)}.orbit-signal-route{grid-area:2/1/auto/-1;justify-content:flex-start}.orbit-page-heading{max-width:31rem}.orbit-page-heading h2{max-width:none}.orbit-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.orbit-note-title{grid-column:1/-1}.orbit-stage{width:100%;height:clamp(31rem,56vw,39rem);min-height:0}.skill-orbit-semicircle{width:min(58rem,94vw)}}@media (max-width:60rem){.stage{min-height:max(46rem,100svh)}.masthead{top:.85rem;left:.85rem;right:.85rem}.hero-copy{width:min(29rem,72vw)}.hero-copy h1{font-size:clamp(3.5rem,10.5vw,6rem)}.guitar{width:clamp(16rem,42vw,24rem);top:-3%;left:-6%}.keyboard{width:clamp(19rem,48vw,28rem);top:4%;right:-12%}.headphones{width:clamp(15rem,36vw,22rem);top:59%;left:-12%}.sampler{width:clamp(18rem,43vw,26rem);top:61%;right:-14%}.watch{width:clamp(18rem,48vw,27rem);bottom:3%;left:24%}.contact-chip{display:flex}.about-spread{grid-template-rows:auto auto auto auto auto;grid-template-columns:1fr}.about-heading{grid-area:1/1}.about-location-tags{flex-wrap:wrap;margin-top:1.25rem;position:relative;top:auto;right:auto}.about-location-tags span:nth-child(2),.about-location-tags span:nth-child(3){margin-top:0}.about-intro{padding:0 var(--page-gutter) 2.5rem;grid-area:2/1}.about-visual{--art-scale:1.1;--art-shift:-5%;grid-area:3/1;min-height:clamp(34rem,85vw,48rem)}.about-facts{padding:3rem var(--page-gutter);border-block:.0625rem solid #15151529;grid-area:4/1;grid-template-columns:repeat(2,minmax(0,1fr))}.photo-story{grid-area:5/1}.skills-orbit-page{grid-template-columns:1fr;grid-template-areas:"orbit-signal""orbit-heading""orbit-stage""orbit-notes";gap:clamp(2.5rem,6vw,3.5rem);padding-top:clamp(2.5rem,7vw,4rem)}.orbit-signal-bar{grid-template-columns:1fr auto}.orbit-page-heading{max-width:42rem;padding-right:clamp(0rem,6vw,4rem)}.orbit-notes{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,42rem)}.orbit-paper-tag{width:100%}}@media (max-width:42rem){:root{--page-gutter:1.1rem}.stage{min-height:max(44rem,100svh)}.scroll-progress{right:.7rem;bottom:max(.7rem, env(safe-area-inset-bottom));border-radius:.7rem;width:8.75rem;height:2.25rem;padding:.48rem .65rem}.scroll-progress-rail{background-size:.36rem 100%;height:1rem}.scroll-progress-marker{width:.28rem;height:1.35rem}.wordmark span{display:none}.wordmark b{font-size:1.2rem}.signal{top:.2rem}.about-link span{display:none}.hero-copy{width:82%;top:48%}.hero-copy h1{font-size:clamp(3.2rem,14vw,4.75rem)}.title-label{padding:.28rem .4rem;font-size:.34rem;left:52%}.guitar{width:58vw;top:1%;left:-14%}.keyboard{width:65vw;top:9%;right:-21%}.headphones{width:52vw;top:64%;left:-20%}.sampler{width:62vw;top:66%;right:-26%}.watch{width:66vw;bottom:5%;left:18%}.contact-chip{padding:.55rem .65rem;font-size:.46rem}.scroll-cue{font-size:.45rem;bottom:.8rem}.about-heading{padding:2.75rem var(--page-gutter) 2rem}.about-heading h2{font-size:clamp(3.45rem,15vw,5.2rem)}.about-location-tags{flex-wrap:wrap;margin-top:1.5rem;position:relative;top:auto;right:auto}.about-location-tags span:nth-child(2),.about-location-tags span:nth-child(3){margin-top:0}.about-body{font-size:clamp(1.12rem,4.6vw,1.28rem);line-height:1.58}.hand-note{font-size:clamp(1.2rem,5vw,1.42rem);line-height:1.18}.about-visual{--art-scale:1.04;--art-shift:0%;--astronaut-top:1rem;--astronaut-right:var(--page-gutter);--astronaut-bottom:1.5rem;--astronaut-left:var(--page-gutter);min-height:clamp(30rem,112vw,42rem)}.astronaut-cutout{object-position:center bottom}.about-visual:before{-webkit-mask-position:bottom;mask-position:bottom}.about-facts{padding:3rem var(--page-gutter);grid-template-columns:1fr;gap:2.75rem}.fact-block h3{font-size:clamp(2.85rem,12vw,3.5rem)}.experience-list{gap:1.2rem}.experience-list article{grid-template-columns:4.25rem minmax(0,1fr)}.experience-list strong,.skill-list li{font-size:1.12rem}.experience-list small,.experience-list article>b{font-size:.96rem}.photo-story{padding:3.5rem var(--page-gutter) 4.5rem;grid-template-columns:1fr;gap:2.75rem}.story-frame{aspect-ratio:1.45;justify-self:center;width:min(100%,35rem)}.story-frame figcaption{font-size:.95rem}.frame-child,.frame-hat,.frame-park{--frame-rotation:0deg}.about-ticker{height:3.5rem;font-size:.7rem}.skills-orbit-page{padding:2.75rem var(--page-gutter) 4rem;gap:2rem}.skills-orbit-page:before,.work-page:after{inset:.55rem}.orbit-signal-bar{padding-inline:0;grid-template-columns:1fr;gap:.85rem;padding-bottom:1rem}.orbit-signal-route{white-space:normal;flex-wrap:wrap;grid-area:auto;justify-content:flex-start}.orbit-signal-bar small{text-align:left;justify-self:start}.orbit-page-heading{padding-right:0}.orbit-page-heading h2{max-width:7ch;font-size:clamp(3.55rem,17vw,5rem)}.orbit-page-heading p{font-size:.95rem}.orbit-stage{height:clamp(23rem,96vw,31rem);min-height:0}.skill-orbit-semicircle{width:100%}.semi-orbit-globe{width:clamp(17rem,76vw,26rem)}.semi-orbit-ring-1{width:clamp(18rem,72vw,24rem)}.semi-orbit-ring-2{width:clamp(24rem,94vw,31rem)}.semi-orbit-ring-3{width:clamp(28rem,108vw,36rem)}.semi-orbit-ring-4{width:clamp(33rem,128vw,43rem)}.semi-orbit-icon{width:2.65rem}.orbit-notes{background:#f7f2e806;border:.0625rem solid #f7f2e833;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;gap:.55rem;width:100%;padding:.7rem}.orbit-note-title{grid-column:1/-1;justify-self:start;margin:0 0 .25rem}.orbit-paper-tag{background:#f7f2e80e;align-items:flex-end;min-height:5.8rem;padding:2.15rem .72rem .72rem;font-size:clamp(.58rem,2.65vw,.7rem);line-height:1.3;display:flex;position:relative;overflow:hidden;transform:none}.orbit-paper-tag:before{color:#f7f2e866;content:attr(data-proof);font:700 .5rem/1 var(--mono);letter-spacing:.12em;position:absolute;top:.68rem;left:.72rem}.orbit-paper-tag:after{content:"";border-top:.0625rem solid #f7f2e85c;border-right:.0625rem solid #f7f2e85c;width:.38rem;height:.38rem;position:absolute;top:.55rem;right:.6rem}}@media (max-width:25rem){.hero-copy h1{font-size:3rem}.about-heading h2{font-size:3.15rem}.about-body{font-size:1.1rem}.experience-list article{grid-template-columns:3.5rem minmax(0,1fr)}.skill-list{grid-template-columns:1fr}.semi-orbit-icon>span{display:none}}@media (max-width:74rem){.work-page{min-height:max(38rem,100svh)}.work-copy{width:min(25rem,38vw)}.work-copy h2{font-size:clamp(3.6rem,6.4vw,5.75rem)}.electric-gaze{left:clamp(21rem,35vw,28rem)}}@media (max-width:60rem){.work-copy{top:50%;bottom:auto;left:var(--page-gutter);clip-path:none;background:0 0;width:min(31rem,62vw);padding:0;transform:translateY(-42%)}.work-copy h2{font-size:clamp(3.7rem,10vw,6rem)}.electric-gaze{inset:0 0 0 13%}.motion-ready .work-page [data-work-reveal=copy].is-visible{animation-name:workCopySetNarrow}}@media (max-width:42rem){.work-page{min-height:max(34rem,100svh)}.electric-gaze{inset:0 -32% 0 0}.electric-gaze video{object-position:28% 50%}.work-copy{width:min(23rem,100% - 2rem);top:auto;bottom:4.2rem;left:1rem;transform:none}.work-copy h2{font-size:clamp(3.5rem,16vw,5.1rem)}}@keyframes workCopySetNarrow{0%{opacity:0;transform:translate(-2.5rem,-42%)}to{opacity:1;transform:translateY(-42%)}}@keyframes workCopySetMobile{0%{opacity:0;transform:translate(-2.5rem)}to{opacity:1;transform:none}}.projects-page.project-runway{--runway-paper:#f0eadf;z-index:38;min-height:100svh;color:var(--runway-paper);isolation:isolate;background-color:#070908;background-image:linear-gradient(#f0eadf09 .0625rem,#0000 .0625rem),linear-gradient(90deg,#f0eadf09 .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:0;position:relative;overflow:clip}.projects-page.project-runway:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.96%,#f0eadf0d 50%,#0000 50.04%),radial-gradient(circle at 15% 4%,#ef5a3c24,#0000 25rem);position:absolute;inset:0}.projects-page.project-runway:after{display:none}.project-runway .projects-grain{z-index:30;opacity:.2;mix-blend-mode:screen;contain:paint;pointer-events:none;background:url(/textures/live-grain.png) 0 0/14rem 14rem;width:120%;height:120%;animation:none;position:absolute;inset:-10%}.runway-masthead{z-index:12;top:clamp(1rem,1.6vw,1.8rem);right:var(--page-gutter);left:var(--page-gutter);grid-template-columns:1fr auto 1fr;align-items:start;gap:1.5rem;display:grid;position:absolute}.runway-masthead>a{width:fit-content;font:700 clamp(1.25rem, 1.65vw, 2rem)/.66 var(--display);letter-spacing:-.08em}.runway-masthead p,.runway-masthead>span{font:700 clamp(.55rem, .62vw, .7rem)/1.2 var(--mono);letter-spacing:.12em;margin:0}.runway-masthead p{color:#080a09;background:var(--runway-paper);align-items:center;gap:.55rem;padding:.55rem .72rem .5rem;display:flex}.runway-masthead p i{background:#ef5a3c;border-radius:50%;width:.42rem;height:.42rem;animation:1.7s ease-in-out infinite signalPulse;box-shadow:0 0 0 .18rem #ef5a3c33}.runway-masthead>span{justify-self:end;padding-top:.2rem}.runway-opening{z-index:2;min-height:max(48rem,108svh);padding:clamp(8rem, 13vw, 13rem) var(--page-gutter) clamp(6rem, 10vw, 9rem);grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);align-items:center;display:grid;position:relative}.runway-opening:before{z-index:-1;aspect-ratio:1;content:"";border:.0625rem solid #f0eadf1f;border-radius:50%;width:clamp(17rem,34vw,38rem);position:absolute;top:14%;left:-7%;box-shadow:0 0 0 clamp(2rem,5vw,5rem) #f0eadf05,0 0 0 clamp(5rem,11vw,11rem) #f0eadf03}.runway-opening-copy{z-index:5;position:relative}.runway-opening-copy>span{color:#f0eadf9e;font:700 clamp(.58rem, .7vw, .78rem)/1 var(--mono);letter-spacing:.16em;margin-bottom:clamp(1.5rem,3vw,3rem);display:block}.runway-opening h2{z-index:3;width:max-content;font:700 clamp(5rem, 10vw, 11.2rem)/.73 var(--display);letter-spacing:-.1em;margin:0;position:relative}.runway-opening h2 em{color:#0000;-webkit-text-stroke:clamp(.07rem, .09vw, .12rem) var(--runway-paper);font-style:normal}.runway-opening-copy>p{color:#f0eadfb3;max-width:36rem;margin:clamp(2rem,3.5vw,3.5rem) 0 0;font:500 clamp(.98rem,1.15vw,1.24rem)/1.55 Arial,Helvetica,sans-serif}.runway-collage{z-index:2;aspect-ratio:1.05;perspective:90rem;justify-self:end;width:min(48rem,46vw);position:relative}.runway-collage figure{--collage-index:0;top:calc(7% + var(--collage-index) * 14%);right:calc(var(--collage-index) * 8%);color:#0a0c0b;background:var(--runway-paper);width:77%;box-shadow:.65rem .65rem 0 var(--collage-accent), 0 2rem 5rem #00000073;transform:translate3d(calc(var(--collage-index) * -4%), 0, calc(var(--collage-index) * 1rem)) rotate(calc((var(--collage-index) - 1) * 4.5deg));transform-origin:50%;animation:runwayCardFloat 6s ease-in-out calc(var(--collage-index) * -.85s) infinite alternate;margin:0;padding:clamp(.32rem,.5vw,.55rem) clamp(.32rem,.5vw,.55rem) clamp(1.8rem,2.6vw,2.8rem);position:absolute}.runway-collage figure:first-child{z-index:3}.runway-collage figure:nth-child(2){z-index:2}.runway-collage figure:nth-child(3){z-index:1}.runway-collage img{aspect-ratio:16/9.7;object-fit:cover;object-position:top;filter:saturate(.86)contrast(.95);width:100%;display:block}.runway-collage figcaption{font:700 clamp(.5rem, .58vw, .67rem)/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:.7rem;display:flex;position:absolute;bottom:.55rem;left:.65rem;right:.65rem}.runway-enter{z-index:6;font:700 clamp(.58rem, .65vw, .74rem)/1 var(--mono);letter-spacing:.14em;align-items:center;gap:1rem;display:flex;position:absolute;bottom:clamp(1.5rem,2.5vw,2.7rem);left:50%;transform:translate(-50%)}.runway-enter i{border:.0625rem solid #f0eadf52;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;font:1rem/1 Arial,sans-serif;animation:1.7s ease-in-out infinite cueBounce;display:grid}.runway-index{z-index:18;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-backdrop-filter:blur(1rem);background:#070908db;border-top:.0625rem solid #f0eadf2e;border-bottom:.0625rem solid #f0eadf2e;grid-template-columns:repeat(7,minmax(8rem,1fr));width:100%;display:grid;position:sticky;top:0;overflow-x:auto}.runway-index::-webkit-scrollbar{display:none}.runway-index a{border-right:.0625rem solid #f0eadf24;align-items:center;gap:.6rem;min-height:3.7rem;padding:.75rem .8rem;transition:color .35s,background-color .35s;display:flex;position:relative}.runway-index a:after{content:"";height:.16rem;transition:transform .45s var(--ease-premium);background:#ef5a3c;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.runway-index a:hover,.runway-index a:focus-visible{color:#070908;background:var(--runway-paper);outline:none}.runway-index a:hover:after,.runway-index a:focus-visible:after{transform:scaleX(1)}.runway-index span{color:#ef5a3c;font:700 .56rem/1 var(--mono)}.runway-index b{max-width:9rem;font:700 clamp(.62rem, .66vw, .74rem)/.95 var(--display);letter-spacing:-.035em}.runway-chapters{z-index:2;position:relative}.project-chapter{--chapter-accent:#ef5a3c;min-height:max(48rem,112svh);padding:clamp(7rem, 11vw, 11rem) var(--page-gutter) clamp(6rem, 9vw, 9rem);isolation:isolate;border-bottom:.0625rem solid #f0eadf21;grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(1.5rem,3vw,3.5rem);scroll-margin-top:3.7rem;display:grid;position:relative;overflow:clip}.project-chapter:before{z-index:-2;content:"";background:linear-gradient(120deg, var(--chapter-accent), transparent 34%), linear-gradient(90deg, transparent 49.95%, #f0eadf0b 50%, transparent 50.05%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-chapter:before{background:linear-gradient(120deg, color-mix(in srgb, var(--chapter-accent) 8%, transparent), transparent 34%), linear-gradient(90deg, transparent 49.95%, #f0eadf0b 50%, transparent 50.05%)}}.project-chapter:nth-child(2n):before{background:linear-gradient(240deg, var(--chapter-accent), transparent 34%), linear-gradient(90deg, transparent 49.95%, #f0eadf0b 50%, transparent 50.05%)}@supports (color:color-mix(in lab, red, red)){.project-chapter:nth-child(2n):before{background:linear-gradient(240deg, color-mix(in srgb, var(--chapter-accent) 8%, transparent), transparent 34%), linear-gradient(90deg, transparent 49.95%, #f0eadf0b 50%, transparent 50.05%)}}.chapter-light{z-index:-1;aspect-ratio:1;background:var(--chapter-accent);filter:blur(clamp(7rem,13vw,14rem));opacity:.12;border-radius:50%;width:clamp(17rem,43vw,48rem);position:absolute;top:50%;left:19%;transform:translate(-50%,-50%)}.project-chapter[data-side=right] .chapter-light{left:auto;right:4%;transform:translateY(-50%)}.chapter-ghost{z-index:-1;color:#0000;font:700 clamp(15rem, 34vw, 40rem)/.65 var(--display);letter-spacing:-.13em;-webkit-text-stroke:.0625rem var(--chapter-accent);position:absolute;top:50%;right:-1vw}@supports (color:color-mix(in lab, red, red)){.chapter-ghost{-webkit-text-stroke:.0625rem color-mix(in srgb, var(--chapter-accent) 30%, transparent)}}.chapter-ghost{opacity:.6;-webkit-user-select:none;user-select:none;transform:translateY(-50%)}.project-chapter[data-side=right] .chapter-ghost{left:-3vw;right:auto}.chapter-heading{z-index:6;grid-area:1/1/auto/span 7;align-self:end;position:relative}.project-chapter[data-side=right] .chapter-heading{text-align:right;grid-column:6/-1}.chapter-heading p{color:#f0eadfa6;font:700 clamp(.58rem, .68vw, .76rem)/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:1rem;margin:0 0 clamp(1rem,2vw,2rem);display:flex}.project-chapter[data-side=right] .chapter-heading p{justify-content:flex-end}.chapter-heading p b{color:#070908;background:var(--chapter-accent);padding:.42rem .5rem .36rem}.chapter-heading h3{font:700 clamp(4rem, 8.8vw, 10rem)/.75 var(--display);letter-spacing:-.1em;text-wrap:balance;margin:0}.runway-screen{--runway-x:0;--runway-y:0;z-index:4;color:#070908;min-width:0;transform:perspective(95rem) rotateX(calc(var(--runway-y) * -2.2deg)) rotateY(calc(var(--runway-x) * 2.8deg)) rotate(-1.2deg);transform-style:preserve-3d;transition:transform .7s var(--ease-premium);grid-area:2/2/span 2/span 8;display:block;position:relative}.project-chapter[data-side=right] .runway-screen{transform:perspective(95rem) rotateX(calc(var(--runway-y) * -2.2deg)) rotateY(calc(var(--runway-x) * 2.8deg)) rotate(1.2deg);grid-column:4/span 8}.runway-screen:before{z-index:-2;content:"";background:var(--chapter-accent);clip-path:polygon(0 0,100% 3%,98.5% 100%,1% 97%);transition:transform .65s var(--ease-premium);position:absolute;inset:1.2rem -1.1rem -1.1rem 1.1rem}.runway-screen:hover:before,.runway-screen:focus-visible:before{transform:translate(.45rem,.45rem)}.runway-screen figure{background:var(--runway-paper);clip-path:polygon(.7% 1%,99.2% 0,100% 98.4%,0 100%);margin:0;padding:clamp(.45rem,.72vw,.72rem) clamp(.45rem,.72vw,.72rem) clamp(2.6rem,3.5vw,3.6rem);position:relative;overflow:hidden;transform:translateZ(1.2rem);box-shadow:0 2.5rem 6rem #0000006b}.runway-screen figure:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(transparent, var(--chapter-accent), transparent);height:20%;position:absolute;top:-30%;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.runway-screen figure:after{background:linear-gradient(transparent, color-mix(in srgb, var(--chapter-accent) 22%, transparent), transparent)}}.runway-screen figure:after{mix-blend-mode:screen;opacity:0;transition:opacity .35s}.runway-screen:hover figure:after,.runway-screen:focus-visible figure:after{opacity:.8;animation:2.8s ease-in-out infinite runwayScan}.runway-screen img{aspect-ratio:16/9.6;object-fit:cover;object-position:top center;filter:saturate(.78)contrast(.94);width:100%;transition:filter .55s ease, transform .8s var(--ease-premium);display:block}.runway-screen:hover img,.runway-screen:focus-visible img{filter:saturate()contrast();transform:scale(1.018)}.runway-screen:focus-visible{outline:.12rem solid var(--chapter-accent);outline-offset:.8rem}.runway-screen figcaption{font:700 clamp(.54rem, .63vw, .72rem)/1 var(--mono);letter-spacing:.1em;justify-content:space-between;gap:1rem;display:flex;position:absolute;bottom:clamp(.75rem,1vw,1.05rem);left:clamp(.65rem,1vw,1rem);right:clamp(.65rem,1vw,1rem)}.runway-screen figcaption b{color:var(--chapter-accent)}@supports (color:color-mix(in lab, red, red)){.runway-screen figcaption b{color:color-mix(in srgb, var(--chapter-accent) 86%, #070908)}}.runway-screen-edge{z-index:4;background:var(--chapter-accent);width:.5rem;height:46%;box-shadow:0 0 1.8rem var(--chapter-accent);position:absolute;top:12%;right:-.4rem;transform:translateZ(2rem)}.chapter-story{z-index:7;color:#090b0a;background:var(--runway-paper);grid-area:2/9/span 2/-1;align-self:end;max-width:30rem;padding:clamp(1.2rem,2.2vw,2.2rem);position:relative}@supports (color:color-mix(in lab, red, red)){.chapter-story{background:color-mix(in srgb, var(--runway-paper) 95%, var(--chapter-accent))}}.chapter-story{box-shadow:.6rem .6rem 0 var(--chapter-accent), 0 1.8rem 4rem #00000059;transform:rotate(1.4deg)}.project-chapter[data-side=right] .chapter-story{grid-column:1/span 4;transform:rotate(-1.4deg)}.chapter-story blockquote{font:700 clamp(1.55rem, 2.2vw, 2.5rem)/.95 var(--display);letter-spacing:-.065em;margin:0}.chapter-story>p{margin:clamp(1.2rem,2vw,1.8rem) 0 0;font:500 clamp(.9rem,.96vw,1.05rem)/1.48 Arial,Helvetica,sans-serif}.chapter-story ul{flex-wrap:wrap;gap:.42rem;margin:1.2rem 0 0;padding:0;list-style:none;display:flex}.chapter-story li{font:700 .57rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:.0625rem solid #090b0a94;border-radius:100vmax;padding:.42rem .54rem .36rem}.chapter-story>a{font:700 clamp(.62rem, .68vw, .76rem)/1 var(--mono);letter-spacing:.08em;border-top:.1rem solid #090b0a;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:.85rem;display:flex}.chapter-story>a span{transition:transform .35s var(--ease-premium)}.chapter-story>a:hover span,.chapter-story>a:focus-visible span{transform:translate(.2rem,-.2rem)}.project-chapter:not(.is-in-view) .chapter-heading,.project-chapter:not(.is-in-view) .runway-screen,.project-chapter:not(.is-in-view) .chapter-story{opacity:0}.project-chapter:not(.is-in-view) .chapter-heading{transform:translateY(3rem)}.project-chapter:not(.is-in-view) .runway-screen{clip-path:inset(0 100% 0 0);transform:translate(4rem)rotate(-3deg)}.project-chapter[data-side=right]:not(.is-in-view) .runway-screen{clip-path:inset(0 0 0 100%);transform:translate(-4rem)rotate(3deg)}.project-chapter:not(.is-in-view) .chapter-story{transform:translateY(3rem)rotate(4deg)}.project-chapter .chapter-heading,.project-chapter .runway-screen,.project-chapter .chapter-story{transition:opacity 1s var(--ease-premium), transform 1.15s var(--ease-premium), clip-path 1.15s var(--ease-premium)}.project-chapter .runway-screen{transition-delay:80ms}.project-chapter .chapter-story{transition-delay:.18s}.runway-footer{z-index:3;min-height:max(40rem,92svh);padding:clamp(7rem, 12vw, 12rem) var(--page-gutter) clamp(3rem, 5vw, 5rem);color:#080a09;background:var(--runway-paper);isolation:isolate;position:relative;overflow:hidden}.runway-footer:before{z-index:-1;aspect-ratio:1;content:"";opacity:.88;background:#ef5a3c;border-radius:50%;width:52vw;position:absolute;top:-18vw;right:-8vw}.runway-footer:after{z-index:-1;content:"";background:linear-gradient(#0000,#080a090f);height:35%;position:absolute;bottom:0;left:0;right:0}.runway-footer>span,.runway-footer small{font:700 clamp(.57rem, .68vw, .76rem)/1.4 var(--mono);letter-spacing:.12em}.runway-footer p{max-width:12ch;font:700 clamp(4.6rem, 10.5vw, 12rem)/.74 var(--display);letter-spacing:-.1em;margin:clamp(4rem,8vw,8rem) 0 0}.runway-footer p em{color:#ef5a3c;-webkit-text-stroke:.08rem #080a09;font-style:normal}.runway-footer>a{width:fit-content;color:var(--runway-paper);font:700 clamp(.68rem, .8vw, .9rem)/1 var(--mono);letter-spacing:.1em;transition:transform .4s var(--ease-premium), box-shadow .4s var(--ease-premium);background:#080a09;align-items:center;gap:clamp(2rem,8vw,9rem);margin-top:clamp(3rem,5vw,5rem);padding:1rem 1.15rem .9rem;display:flex;box-shadow:.45rem .45rem #ef5a3c}.runway-footer>a:hover,.runway-footer>a:focus-visible{outline:none;transform:translate(-.2rem,-.2rem);box-shadow:.7rem .7rem #ef5a3c}.runway-footer>a b{font-size:1.1rem}.runway-footer small{right:var(--page-gutter);position:absolute;bottom:clamp(2rem,3vw,3rem)}@keyframes runwayCardFloat{0%{margin-top:-.45rem}to{margin-top:.55rem}}@keyframes runwayScan{0%{transform:translateY(0)}to{transform:translateY(720%)}}@media (max-width:74rem){.runway-opening{grid-template-columns:minmax(0,1fr) minmax(22rem,.75fr)}.runway-opening h2{font-size:clamp(5rem,9.6vw,8.5rem)}.runway-index{grid-template-columns:repeat(7,9.5rem)}.chapter-heading{grid-column:1/span 8}.project-chapter[data-side=right] .chapter-heading{grid-column:5/-1}.runway-screen{grid-column:1/span 9}.project-chapter[data-side=right] .runway-screen{grid-column:4/span 9}.chapter-story{grid-column:9/-1}.project-chapter[data-side=right] .chapter-story{grid-column:1/span 4}}@media (max-width:60rem){.runway-masthead{grid-template-columns:1fr auto}.runway-masthead p{display:none}.runway-opening{grid-template-columns:1fr;align-content:center;padding-bottom:11rem}.runway-opening-copy{width:min(42rem,86%)}.runway-opening h2{font-size:clamp(5.5rem,15vw,9rem)}.runway-collage{opacity:.7;width:min(34rem,56vw);position:absolute;bottom:5rem;right:-12vw}.runway-opening-copy>p{max-width:31rem}.project-chapter{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:2.5rem;min-height:auto;padding-top:8rem;padding-bottom:8rem;display:grid}.chapter-heading,.project-chapter[data-side=right] .chapter-heading{text-align:left;grid-area:1/1}.project-chapter[data-side=right] .chapter-heading p{justify-content:flex-start}.runway-screen,.project-chapter[data-side=right] .runway-screen{grid-area:2/1;width:min(52rem,100% - 2rem);transform:rotate(-.7deg)}.project-chapter[data-side=right] .runway-screen{justify-self:end;transform:rotate(.7deg)}.chapter-story,.project-chapter[data-side=right] .chapter-story{grid-area:3/1;justify-self:end;width:min(34rem,82%);max-width:none;transform:rotate(.7deg)}.project-chapter[data-side=right] .chapter-story{justify-self:start;transform:rotate(-.7deg)}.chapter-heading h3{font-size:clamp(4rem,12vw,7.5rem)}.chapter-ghost{font-size:50vw;top:42%}}@media (max-width:42rem){.projects-page.project-runway{background-size:2rem 2rem}.project-runway .projects-grain{opacity:.13}.runway-masthead{left:1rem;right:1rem}.runway-masthead>span{text-align:right;max-width:8rem;font-size:.5rem}.runway-opening{align-content:start;min-height:max(44rem,100svh);padding:7.5rem 1rem 12rem}.runway-opening-copy{width:100%}.runway-opening-copy>span{margin-bottom:1.6rem;font-size:.53rem}.runway-opening h2{width:auto;font-size:clamp(4.25rem,22vw,6.5rem);line-height:.76}.runway-opening-copy>p{width:88%;margin-top:1.8rem;font-size:.95rem}.runway-collage{opacity:.62;width:24rem;bottom:4rem;right:-6rem}.runway-collage figure{width:72%;box-shadow:.35rem .35rem 0 var(--collage-accent), 0 1.5rem 3rem #00000080;padding-bottom:1.8rem}.runway-collage figcaption{font-size:.48rem}.runway-enter{bottom:1.1rem;left:1rem;transform:none}.runway-index{grid-template-columns:repeat(7,8.5rem)}.runway-index a{min-height:3.3rem}.project-chapter{gap:2rem;padding:6.5rem 1rem 6rem;scroll-margin-top:3.3rem}.chapter-heading h3{font-size:clamp(3.65rem,18vw,5.8rem)}.chapter-heading p{margin-bottom:1rem;font-size:.52rem}.runway-screen,.project-chapter[data-side=right] .runway-screen{width:calc(100% - .5rem);transform:none}.runway-screen:before{inset:.65rem -.55rem -.55rem .55rem}.runway-screen figure{padding:.35rem .35rem 2.15rem}.runway-screen figcaption{font-size:.48rem;bottom:.62rem;left:.5rem;right:.5rem}.runway-screen-edge{width:.3rem}.chapter-story,.project-chapter[data-side=right] .chapter-story{width:calc(100% - 1.4rem);padding:1.25rem}.chapter-story blockquote{font-size:clamp(1.65rem,7.4vw,2.15rem)}.chapter-story>p{font-size:.9rem}.chapter-ghost{font-size:65vw;top:34%;right:-1rem}.project-chapter[data-side=right] .chapter-ghost{left:-1rem}.runway-footer{min-height:max(40rem,90svh);padding:6rem 1rem 4rem}.runway-footer:before{width:24rem;top:-6rem;right:-9rem}.runway-footer p{margin-top:6rem;font-size:clamp(4rem,19vw,6.2rem)}.runway-footer>a{gap:1.5rem;margin-top:3rem;padding:.9rem .85rem .8rem;font-size:.6rem}.runway-footer small{font-size:.5rem;bottom:1.5rem;left:1rem;right:auto}}@media (max-width:25rem){.runway-opening h2{font-size:clamp(3.85rem,21vw,5.4rem)}.runway-collage{right:-8rem}.chapter-heading h3{font-size:clamp(3.25rem,17.5vw,4.8rem)}.runway-screen figcaption{flex-direction:column;align-items:flex-start;gap:.35rem}.runway-footer p{font-size:clamp(3.6rem,18vw,5rem)}}.projects-page.ascii-projects{z-index:38;min-height:100svh;padding:clamp(1rem, 1.7vw, 1.8rem) var(--page-gutter) 0;color:#efede7;isolation:isolate;background-color:#080a09;background-image:linear-gradient(#ece6d90b .0625rem,#0000 .0625rem),linear-gradient(90deg,#ece6d90b .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2.8rem 2.8rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:clip}.projects-page.ascii-projects:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.96%,#ece6d909 50%,#0000 50.04%),linear-gradient(#0000 49.96%,#ece6d909 50%,#0000 50.04%);position:absolute;inset:0}.projects-page.ascii-projects:after{display:none}.ascii-projects .projects-grain{z-index:50;opacity:.32;mix-blend-mode:screen;contain:paint;pointer-events:none;background:url(/textures/live-grain.png) 0 0/13rem 13rem;position:absolute;inset:-20%}.ascii-masthead{z-index:4;grid-template-columns:1fr auto 1fr;align-items:start;gap:1rem;margin-top:clamp(1.7rem,2.4vw,2.7rem);display:grid;position:relative}.ascii-masthead>a{width:fit-content;font:700 clamp(1.25rem, 1.65vw, 2rem)/.66 var(--display);letter-spacing:-.08em}.ascii-masthead p{color:#efede7;min-width:clamp(15rem,18vw,19rem);font:700 clamp(.88rem, 1vw, 1.15rem)/1 var(--mono);letter-spacing:.28em;text-indent:.28em;background:#efede709;border:.0625rem solid #efede761;justify-content:center;justify-self:center;align-items:center;margin:0;padding:.92rem 1.35rem .8rem;display:flex;position:relative;box-shadow:inset 0 0 0 .22rem #080a09}.ascii-masthead p:before,.ascii-masthead p:after{content:"";background:#efede7;width:.34rem;height:.34rem;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.ascii-masthead p:before{left:-.2rem}.ascii-masthead p:after{right:-.2rem}.ascii-intro{z-index:3;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.48fr);align-items:end;gap:clamp(2rem,7vw,8rem);padding:clamp(8rem,13vw,13rem) 0 clamp(5rem,8vw,8rem);display:grid;position:relative}.ascii-intro>span{color:#efede785;font:700 clamp(.55rem, .65vw, .74rem)/1 var(--mono);letter-spacing:.15em;position:absolute;top:clamp(4.5rem,7vw,7rem);left:0}.ascii-intro h2{font:700 clamp(4.7rem, 8.6vw, 9.6rem)/.78 var(--display);letter-spacing:-.09em;margin:0}.ascii-intro h2 em{color:#0000;-webkit-text-stroke:clamp(.065rem, .08vw, .1rem) #efede7;font-style:normal}.ascii-intro>p{color:#efede7ab;max-width:33rem;margin:0 0 .35rem;font:500 clamp(.96rem,1.08vw,1.18rem)/1.52 Arial,Helvetica,sans-serif}.ascii-project-grid{z-index:3;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(4.5rem,8vw,9rem) clamp(1.5rem,3vw,3.5rem);padding:0 0 clamp(7rem,13vw,13rem);display:grid;position:relative}.ascii-project-entry{content-visibility:auto;contain-intrinsic-size:auto 34rem;min-width:0;display:flex}.ascii-project-card{color:#efede7;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-rows:auto auto 4.2rem 1rem;align-content:start;width:100%;height:100%;padding:0;display:grid;position:relative;overflow:visible}.ascii-preview{width:100%;aspect-ratio:var(--ascii-ratio,8 / 5);isolation:isolate;background:#080a09;border:.0625rem solid #efede71f;position:relative;overflow:hidden}.ascii-preview:before,.ascii-preview:after{z-index:5;content:"";pointer-events:none;opacity:.28;width:2.4rem;height:2.4rem;transition:opacity .45s,border-color .45s;position:absolute}.ascii-preview:before{border-top:.0625rem solid #efede7;border-left:.0625rem solid #efede7;top:.45rem;left:.45rem}.ascii-preview:after{border-bottom:.0625rem solid #efede7;border-right:.0625rem solid #efede7;bottom:.45rem;right:.45rem}.ascii-preview canvas,.ascii-source-image{width:100%;height:100%;display:block;position:absolute;inset:0}.ascii-preview canvas{z-index:1;opacity:1;transition:opacity .75s var(--ease-premium), filter .75s var(--ease-premium), transform .9s var(--ease-premium)}.ascii-source-image{z-index:2;object-fit:contain;object-position:top center;opacity:0;filter:grayscale()contrast(.72)brightness(.72)blur(.28rem);transition:opacity .72s var(--ease-premium), filter .82s var(--ease-premium), transform 1.05s var(--ease-premium);transform:scale(1.025)}@media (hover:hover) and (pointer:fine){.ascii-project-card:hover .ascii-preview canvas{opacity:0;filter:blur(.18rem);transform:scale(.985)}.ascii-project-card:hover .ascii-source-image{opacity:1;filter:none;transform:none}.ascii-project-card:hover .ascii-preview:before,.ascii-project-card:hover .ascii-preview:after{border-color:var(--ascii-accent);opacity:1}}.ascii-project-card:focus-visible{outline:none}.ascii-project-card:focus-visible .ascii-preview{outline:.1rem solid var(--ascii-accent);outline-offset:.5rem}.ascii-project-card:focus-visible .ascii-preview canvas{opacity:0;filter:blur(.18rem);transform:scale(.985)}.ascii-project-card:focus-visible .ascii-source-image{opacity:1;filter:none;transform:none}.ascii-project-meta{color:#efede780;font:700 clamp(.54rem, .6vw, .68rem)/1 var(--mono);letter-spacing:.1em;justify-content:space-between;gap:1rem;margin-top:.8rem;display:flex}.ascii-project-meta b{color:var(--ascii-accent)}.ascii-project-meta i{font-style:normal}.ascii-project-title{min-height:0;font:700 clamp(1.35rem, 2vw, 2.25rem)/1 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin-top:.42rem;display:block}.ascii-hover-instruction{color:#efede757;min-height:.75rem;font:700 clamp(.48rem, .53vw, .6rem)/1 var(--mono);letter-spacing:.09em;opacity:.66;transition:opacity .4s ease, transform .4s var(--ease-premium);justify-self:end;margin-top:.55rem;display:block;position:static;transform:none}.ascii-instruction-touch{display:none}.ascii-project-card:hover .ascii-hover-instruction,.ascii-project-card:focus-visible .ascii-hover-instruction{opacity:1;transform:none}.ascii-footer{z-index:3;min-height:max(48rem,100svh);margin:0 calc(var(--page-gutter) * -1);padding:clamp(2rem, 3.5vw, 4rem) var(--page-gutter) clamp(1.5rem, 2.8vw, 3rem);color:#efede7;isolation:isolate;background-color:#080a09;background-image:linear-gradient(#ece6d90b .0625rem,#0000 .0625rem),linear-gradient(90deg,#ece6d90b .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2.8rem 2.8rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;display:flex;position:relative;overflow:hidden}.ascii-footer:before{z-index:0;content:"";pointer-events:none;border:.0625rem solid #efede721;position:absolute;inset:clamp(1rem,1.4vw,1.5rem)}.ascii-footer-grain{z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.32;contain:paint;background:url(/textures/live-grain.png) 0 0/13rem 13rem;position:absolute;inset:-20%}.ascii-footer-top,.ascii-footer-main,.ascii-footer-bottom{z-index:3;position:relative}.ascii-footer-top,.ascii-footer-bottom{color:#efede794;font:700 clamp(.54rem, .62vw, .7rem)/1.35 var(--mono);letter-spacing:.12em;justify-content:space-between;align-items:center;gap:1rem;display:flex}.ascii-footer-top small{font:inherit}.ascii-footer-top{border-bottom:.0625rem solid #efede729;padding-bottom:1rem}.ascii-footer-top>span{align-items:center;gap:.6rem;display:inline-flex}.ascii-footer-top i{background:#efede7b8;border-radius:50%;width:.38rem;height:.38rem}.ascii-footer-main{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(1rem,1.6vw,1.8rem);margin:auto 0;padding:clamp(3.25rem,5.5vw,6rem) 0 clamp(2.5rem,4vw,4.5rem);display:grid}.ascii-footer-statement{flex-direction:column;grid-column:span 8;min-width:0;display:flex}.ascii-footer-statement>span{color:#efede785;font:700 clamp(.54rem, .62vw, .7rem)/1.35 var(--mono);letter-spacing:.14em;margin-bottom:clamp(1.5rem,2.4vw,2.6rem);display:block}.ascii-footer-statement>p{max-width:11.5ch;font:700 clamp(4.2rem, 7vw, 8rem)/.79 var(--display);letter-spacing:-.09em;margin:0}.ascii-footer-statement>p em{color:#0000;-webkit-text-stroke:clamp(.065rem, .08vw, .1rem) #efede7;font-style:normal}.ascii-footer-manifest{border:.0625rem solid #efede72e;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2rem,3vw,3.2rem);display:grid}.ascii-footer-manifest>span{align-content:space-between;min-width:0;min-height:6rem;padding:clamp(.8rem,1.1vw,1.15rem);display:grid}.ascii-footer-manifest>span+span{border-left:.0625rem solid #efede72e}.ascii-footer-manifest small{color:#efede770;font:700 clamp(.46rem, .5vw, .56rem)/1 var(--mono);letter-spacing:.12em}.ascii-footer-manifest b{max-width:12ch;font:700 clamp(.68rem, .82vw, .9rem)/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ascii-footer-console{color:#efede7;background:#efede709;border:.0625rem solid #efede747;grid-column:span 4;min-width:0;padding:clamp(.75rem,1vw,1rem);display:grid;position:relative;overflow:hidden}.ascii-footer-console:before,.ascii-footer-console:after{content:"";pointer-events:none;width:.72rem;height:.72rem;position:absolute}.ascii-footer-console:before{border-top:.0625rem solid #efede77a;border-right:.0625rem solid #efede77a;top:.35rem;right:.35rem}.ascii-footer-console:after{border-bottom:.0625rem solid #efede77a;border-left:.0625rem solid #efede77a;bottom:.35rem;left:.35rem}.ascii-footer-console-label{color:#efede780;font:700 .54rem/1 var(--mono);letter-spacing:.12em;margin:.3rem .35rem .8rem}.ascii-footer-contact{color:#080a09;min-height:11rem;font-family:var(--mono);transition:color .4s ease, background-color .4s ease, transform .5s var(--ease-premium);background:#efede7;border:.0625rem solid #efede7;align-content:space-between;padding:1.25rem 1.3rem 1.15rem;display:grid;position:relative}.ascii-footer-contact span{letter-spacing:.12em;font-size:clamp(.58rem,.7vw,.78rem);font-weight:700}.ascii-footer-contact strong{overflow-wrap:normal;white-space:nowrap;max-width:100%;font-size:clamp(1rem,1.55vw,1.6rem);line-height:1.05}.ascii-footer-contact b{font:400 1.35rem/1 var(--display);transition:transform .4s var(--ease-premium);position:absolute;top:.9rem;right:1rem}.ascii-footer-contact:hover,.ascii-footer-contact:focus-visible{color:#080a09;outline-offset:.2rem;background:#d9d6ce;outline:.125rem solid #efede7;transform:translateY(-.25rem)}.ascii-footer-contact:hover b,.ascii-footer-contact:focus-visible b{transform:translate(.18rem,-.18rem)}.ascii-footer-coordinates{border:.0625rem solid #efede72e;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.75rem;display:grid}.ascii-footer-coordinates>span{gap:.35rem;min-width:0;padding:.85rem .9rem;display:grid}.ascii-footer-coordinates>span+span{border-left:.0625rem solid #efede72e}.ascii-footer-coordinates small{color:#efede76b;font:700 .48rem/1 var(--mono);letter-spacing:.12em}.ascii-footer-coordinates b{color:#efede7db;font:700 .58rem/1.25 var(--mono);letter-spacing:.08em}.ascii-footer-socials{z-index:3;border-top:.0625rem solid #efede729;border-bottom:.0625rem solid #efede729;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:clamp(2rem,3.2vw,3.5rem);display:grid;position:relative}.ascii-footer-socials a{color:#efede7;min-height:5.25rem;font-family:var(--mono);border-right:.0625rem solid #efede729;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:1rem clamp(.75rem,1.2vw,1.25rem);transition:color .35s,background-color .35s;display:grid}.ascii-footer-socials a:last-child{border-right:0}.ascii-footer-socials small{color:#efede76b;font:700 .54rem/1 var(--mono)}.ascii-footer-socials span{font:700 clamp(.64rem, .74vw, .82rem)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.ascii-footer-socials b{font:400 1rem/1 var(--display);transition:transform .35s var(--ease-premium)}.ascii-footer-socials a:hover,.ascii-footer-socials a:focus-visible{color:#080a09;background:#efede7;outline:none}.ascii-footer-socials a:hover small,.ascii-footer-socials a:focus-visible small{color:#080a0985}.ascii-footer-socials a:hover b,.ascii-footer-socials a:focus-visible b{transform:translate(.18rem,-.18rem)}.ascii-footer-bottom{border-top:.0625rem solid #efede729;padding-top:1.1rem}.project-dialog-backdrop{z-index:200;overscroll-behavior:contain;touch-action:none;background:#080a09;animation:.24s both projectBackdropIn;position:fixed;inset:0;overflow:hidden}.project-dialog{--dialog-accent:#c9c5bc;color:#111311;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;width:100%;height:100%;animation:projectDialogIn .42s var(--ease-premium) both;background:#efede7;position:relative;overflow:hidden auto}.project-dialog::-webkit-scrollbar{display:none}.project-dialog-open .scroll-progress{display:none}.project-dialog-grain{z-index:30;pointer-events:none;mix-blend-mode:normal;opacity:.16;contain:paint;background:url(/textures/live-grain.png) 0 0/13rem 13rem;position:fixed;inset:0}.project-dialog-header{z-index:12;color:#efede7;-webkit-backdrop-filter:blur(.8rem);min-height:4.25rem;font:700 .58rem/1 var(--mono);letter-spacing:.1em;background:#080a09f5;border-bottom:.0625rem solid #efede72e;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.65rem clamp(1rem,3.2vw,3.5rem);display:grid;position:sticky;top:0}.project-dialog-header>p{color:#efede794;margin:0}.project-dialog-close{color:#111311;border:.0625rem solid var(--dialog-accent);background:var(--dialog-accent);cursor:pointer;min-width:6.5rem;min-height:3rem;font:700 .6rem/1 var(--mono);letter-spacing:.1em;justify-content:center;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.project-dialog-close span{font-size:1.2rem}.project-dialog-close:focus-visible{outline:.12rem solid var(--dialog-accent);outline-offset:.2rem}.project-dialog-body{background:#080a09;grid-template-columns:minmax(0,1.32fr) minmax(23rem,.68fr);min-height:calc(100svh - 4.25rem);display:grid}.project-dialog-media-panel{background:#080a09;border-right:.0625rem solid #efede729;flex-direction:column;align-self:start;min-width:0;height:calc(100svh - 4.25rem);display:flex;position:sticky;top:4.25rem;overflow:hidden}.project-dialog-visual{background-color:#080a09;background-image:linear-gradient(#efede709 .0625rem,#0000 .0625rem),linear-gradient(90deg,#efede709 .0625rem,#0000 .0625rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:3rem 3rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex:auto;place-items:center;width:100%;min-height:0;padding:clamp(.8rem,1.5vw,1.5rem);display:grid;position:relative;overflow:hidden}.project-dialog-visual img{width:100%;height:100%;max-height:100%;aspect-ratio:var(--dialog-ratio,8 / 5);object-fit:contain;object-position:center;display:block;box-shadow:0 2rem 5rem #0000006b}.project-dialog-visual>span{color:#111311;background:var(--dialog-accent);font:700 .58rem/1 var(--mono);letter-spacing:.09em;padding:.62rem .8rem .52rem;position:absolute;bottom:clamp(1.2rem,2vw,2.2rem);right:clamp(1.2rem,2vw,2.2rem)}.project-gallery-strip{z-index:10;color:#efede7;overscroll-behavior-inline:contain;scrollbar-width:none;background:#111311;border-top:.0625rem solid #efede724;border-bottom:.0625rem solid #efede724;flex:none;grid-auto-columns:minmax(9rem,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.project-gallery-strip::-webkit-scrollbar{display:none}.project-gallery-strip button{color:#efede794;cursor:pointer;min-height:3.5rem;font:700 .55rem/1 var(--mono);letter-spacing:.08em;white-space:nowrap;background:0 0;border:0;border-right:.0625rem solid #efede724;justify-content:center;align-items:center;gap:.7rem;padding:.75rem 1rem;display:flex}.project-gallery-strip button span{color:var(--dialog-accent)}.project-gallery-strip button:hover,.project-gallery-strip button:focus-visible,.project-gallery-strip button.is-active{color:#111311;background:var(--dialog-accent);outline:none}.project-gallery-strip button.is-active span,.project-gallery-strip button:hover span,.project-gallery-strip button:focus-visible span{color:#111311}.project-dialog-copy{background:#efede7;flex-direction:column;gap:0;min-width:0;padding:clamp(2.5rem,4vw,4.75rem) clamp(1.4rem,3.2vw,3.6rem) 3.5rem;display:flex;position:relative}.project-dialog-title-block{padding-bottom:clamp(1.7rem,3vw,2.8rem);position:relative}.project-dialog-title-block>p{color:var(--dialog-accent);margin:0}@supports (color:color-mix(in lab, red, red)){.project-dialog-title-block>p{color:color-mix(in srgb, var(--dialog-accent) 68%, #111311)}}.project-dialog-title-block>p{font:700 .65rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.project-dialog-title-block h3{font:700 clamp(3.4rem, 5.2vw, 6.7rem)/.77 var(--display);letter-spacing:-.09em;overflow-wrap:anywhere;margin:.85rem 0 0}.project-dialog-title-block>span{color:#11131185;font:700 .56rem/1 var(--mono);letter-spacing:.12em;margin-top:1.35rem;display:block}.project-dialog-copy dl{margin:0}.project-dialog-copy dl div{border-top:.0625rem solid #11131152;grid-template-columns:6.2rem minmax(0,1fr);gap:clamp(.8rem,2vw,1.8rem);padding:1.25rem 0;display:grid}.project-dialog-copy dt{font:700 .58rem/1.2 var(--mono);letter-spacing:.1em}.project-dialog-copy dd{margin:0;font:500 clamp(.92rem,1vw,1.08rem)/1.48 Arial,Helvetica,sans-serif}.project-dialog-copy ul{flex-wrap:wrap;gap:.42rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.project-dialog-copy li{font:700 .57rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:.0625rem solid #1113118c;border-radius:100vmax;padding:.55rem .7rem .48rem}.project-metrics{border-top:.0625rem solid #11131152;border-bottom:.0625rem solid #11131152;margin:1.35rem 0 0;padding:1.15rem 0 1.25rem}.project-metrics figcaption{grid-template-columns:minmax(8rem,.42fr) minmax(0,1fr);align-items:baseline;gap:1rem;display:grid}.project-metrics figcaption span{font:700 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.project-metrics figcaption small{color:#111311a3;font:500 .76rem/1.35 Arial,Helvetica,sans-serif}.project-metrics-legend{color:#111311a6;font:700 .5rem/1 var(--mono);letter-spacing:.08em;justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.project-metrics-legend span{align-items:center;gap:.35rem;display:flex}.project-metrics-legend i{background:#454a45;width:.65rem;height:.28rem}.project-metrics-legend i.is-finetuned{background:var(--dialog-accent)}@supports (color:color-mix(in lab, red, red)){.project-metrics-legend i.is-finetuned{background:color-mix(in srgb, var(--dialog-accent) 72%, #111311)}}.project-metrics-chart{gap:.9rem;margin-top:.85rem;display:grid}.project-metric-row{grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.project-metric-row>strong{font:700 .62rem/1 var(--mono);letter-spacing:.08em}.project-metric-bars{gap:.34rem;display:grid}.project-metric-bars>span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:.78rem;display:grid;position:relative}.project-metric-bars>span:before{z-index:0;content:"";background:#11131114;height:.42rem;position:absolute;left:0;right:3.25rem}.project-metric-bars i{z-index:1;width:var(--metric-width);background:#454a45;height:.42rem;display:block;position:relative}.project-metric-bars .is-finetuned i{background:var(--dialog-accent)}@supports (color:color-mix(in lab, red, red)){.project-metric-bars .is-finetuned i{background:color-mix(in srgb, var(--dialog-accent) 72%, #111311)}}.project-metric-bars b{z-index:1;min-width:3rem;font:700 .56rem/1 var(--mono);text-align:right;position:relative}.project-metrics>p{font:700 .55rem/1.4 var(--mono);letter-spacing:.04em;margin:.95rem 0 0 3.15rem}.project-data-figure{border-top:.0625rem solid #11131152;margin:1.35rem 0 0;padding:1.15rem 0 0}.project-data-figure figcaption{grid-template-columns:minmax(8rem,.42fr) minmax(0,1fr);align-items:baseline;gap:1rem;margin-bottom:1rem;display:grid}.project-data-figure figcaption span{font:700 .62rem/1.2 var(--mono);letter-spacing:.1em}.project-data-figure figcaption small{color:#111311a3;font:500 .76rem/1.35 Arial,Helvetica,sans-serif}.project-data-figure img{background:#fff;border:.0625rem solid #11131138;width:100%;height:auto;display:block}.project-dialog-links{gap:.7rem;padding-top:1.5rem;display:grid}.project-dialog-links a{border-bottom:.22rem solid var(--dialog-accent);min-height:3rem;font:700 clamp(.68rem, .78vw, .88rem)/1 var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 .25rem;display:flex}.project-dialog-links a span{transition:transform .35s var(--ease-premium)}.project-dialog-links a:hover span,.project-dialog-links a:focus-visible span{transform:translate(.22rem,-.22rem)}.project-dialog-pagination{color:#efede7;background:#080a09;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-dialog-pagination button{min-height:10rem;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-right:.0625rem solid #efede72e;align-content:center;gap:.8rem;padding:clamp(1.4rem,3vw,3.5rem);display:grid}.project-dialog-pagination button:last-child{text-align:right;border-right:0}.project-dialog-pagination button:hover,.project-dialog-pagination button:focus-visible{color:#111311;background:var(--dialog-accent);outline:none}.project-dialog-pagination span{font:700 .56rem/1 var(--mono);letter-spacing:.1em}.project-dialog-pagination b{font:700 clamp(1.8rem, 3.5vw, 4rem)/.82 var(--display);letter-spacing:-.06em}@keyframes projectBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes projectDialogIn{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}@media (max-width:60rem){.ascii-masthead{grid-template-columns:1fr auto}.ascii-masthead p{min-width:11rem;padding:.78rem 1rem .68rem;font-size:.78rem}.ascii-intro{grid-template-columns:1fr}.ascii-intro h2{font-size:clamp(4.8rem,12vw,7.5rem)}.ascii-intro>p{max-width:38rem;margin-top:2rem}.ascii-footer-main{grid-template-columns:minmax(0,1fr);gap:3rem}.ascii-footer-statement,.ascii-footer-console{grid-column:1}.ascii-footer-statement>p{font-size:clamp(4rem,10vw,6.4rem)}.ascii-footer-console{justify-self:end;width:min(100%,28rem)}.project-dialog-body{grid-template-columns:1fr}.project-dialog-media-panel{border-right:0;height:auto;position:relative;top:auto}.project-dialog-visual{aspect-ratio:var(--dialog-ratio,8 / 5);flex:none}.project-dialog-visual img{max-height:none}.project-dialog-copy{min-height:auto}}@media (max-width:42rem){.projects-page.ascii-projects{background-size:2.8rem 2.8rem;padding-left:1rem;padding-right:1rem}.ascii-projects .projects-grain{opacity:.32}.ascii-intro{padding-top:8.5rem;padding-bottom:4.5rem}.ascii-intro>span{font-size:.52rem;top:4.6rem}.ascii-intro h2{font-size:clamp(3.8rem,18vw,5.7rem)}.ascii-intro>p{margin-top:1.6rem;font-size:.94rem}.ascii-project-grid{grid-template-columns:1fr;gap:4.8rem}.ascii-project-title{font-size:clamp(1.35rem,7vw,1.9rem)}.ascii-hover-instruction{display:none}.ascii-footer{min-height:max(48rem,100svh);margin-left:-1rem;margin-right:-1rem;padding:1.6rem 1rem 1.25rem}.ascii-footer:before{inset:.55rem}.ascii-footer-top{align-items:flex-start}.ascii-footer-top small{text-align:right;max-width:10rem}.ascii-footer-main{grid-template-columns:minmax(0,1fr);gap:2.25rem;padding:3.4rem 0 3rem}.ascii-footer-statement>p{font-size:clamp(3.6rem,16.5vw,5.4rem)}.ascii-footer-manifest{margin-top:2rem}.ascii-footer-manifest>span{min-height:5.25rem;padding:.72rem}.ascii-footer-manifest b{max-width:9ch;font-size:.62rem}.ascii-footer-console{justify-self:stretch;width:100%}.ascii-footer-contact{width:min(100%,24rem);min-height:8.5rem}.ascii-footer-socials{grid-template-columns:repeat(2,minmax(0,1fr))}.ascii-footer-socials a:nth-child(2n){border-right:0}.ascii-footer-socials a:nth-child(n+3){border-top:.0625rem solid #efede729}.ascii-footer-bottom{align-items:flex-end}.ascii-footer-bottom span:first-child{max-width:13rem}.ascii-footer-bottom span:last-child{text-align:right}.project-dialog-header{grid-template-columns:1fr auto;min-height:3.75rem;padding:.45rem .75rem}.project-dialog-header>p{display:none}.project-dialog-close{min-width:5.6rem;min-height:2.8rem;padding:.55rem .75rem}.project-dialog-visual{background-size:2rem 2rem;min-height:0;padding:.55rem}.project-dialog-visual img{max-height:none}.project-dialog-visual>span{bottom:.75rem;right:.75rem}.project-gallery-strip{grid-auto-columns:minmax(8.5rem,1fr)}.project-gallery-strip button{min-height:3.25rem}.project-dialog-copy{padding:2.7rem 1rem 3.5rem}.project-dialog-title-block h3{font-size:clamp(3.4rem,16vw,5.8rem)}.project-dialog-copy dl div{grid-template-columns:1fr;gap:.5rem}.project-metrics figcaption,.project-data-figure figcaption{grid-template-columns:1fr;gap:.45rem}.project-metrics>p{margin-left:0}.project-dialog-pagination{grid-template-columns:1fr}.project-dialog-pagination button,.project-dialog-pagination button:last-child{text-align:left;border-bottom:.0625rem solid #efede72e;border-right:0;min-height:7rem}.project-dialog-pagination button:last-child{border-bottom:0}}@media (max-width:25rem){.ascii-intro h2{font-size:clamp(3.4rem,17vw,4.8rem)}.ascii-footer-statement>p{font-size:clamp(3rem,14.2vw,4.1rem)}.ascii-footer-manifest{grid-template-columns:1fr}.ascii-footer-manifest>span{min-height:3.9rem}.ascii-footer-manifest>span+span{border-top:.0625rem solid #efede72e;border-left:0}.ascii-footer-console{width:100%}.ascii-footer-coordinates{grid-template-columns:1fr}.ascii-footer-coordinates>span+span{border-top:.0625rem solid #efede72e;border-left:0}.ascii-footer-socials{grid-template-columns:1fr}.ascii-footer-socials a{border-top:.0625rem solid #efede729;border-right:0}.ascii-footer-socials a:first-child{border-top:0}.ascii-footer-bottom{flex-direction:column;align-items:flex-start}.ascii-footer-bottom span:last-child{text-align:left}.project-dialog-copy{padding-left:.8rem;padding-right:.8rem}}@media (hover:none),(pointer:coarse),(max-width:64rem){.ascii-project-card{grid-template-rows:auto auto minmax(4.2rem,auto) minmax(2.5rem,auto)}.ascii-project-card.is-touch-revealed .ascii-preview canvas{opacity:0;filter:blur(.18rem);transform:scale(.985)}.ascii-project-card.is-touch-revealed .ascii-source-image{opacity:1;filter:none;transform:none}.ascii-project-card.is-touch-revealed .ascii-preview:before,.ascii-project-card.is-touch-revealed .ascii-preview:after{border-color:var(--ascii-accent);opacity:1}.ascii-project-card:focus-visible:not(.is-touch-revealed) .ascii-preview canvas{opacity:1;filter:none;transform:none}.ascii-project-card:focus-visible:not(.is-touch-revealed) .ascii-source-image{opacity:0}.ascii-hover-instruction{letter-spacing:.08em;opacity:.82;justify-content:flex-end;align-items:center;min-height:2.5rem;margin-top:.35rem;padding:.65rem 0 .35rem;font-size:clamp(.82rem,2.4vw,1rem);line-height:1.25;display:flex;transform:none}.ascii-project-card.is-touch-revealed .ascii-hover-instruction{color:var(--ascii-accent);opacity:1}.ascii-instruction-desktop{display:none}.ascii-instruction-touch{display:inline-block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.grain,.about-grain,.orbit-grain,.work-grain,.projects-grain,.ascii-footer-grain,.project-dialog-grain,.global-live-grain{display:none}.motion-ready .about-page [data-reveal],.motion-ready .skills-orbit-page [data-orbit-reveal],.motion-ready .work-page [data-work-reveal]{opacity:1;filter:none;transform:none}.motion-ready .projects-page [data-project-reveal],.project-gate,.project-record{opacity:1;clip-path:none;filter:none;transform:none}.project-projector{transform:none}.project-scan{display:none}}@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-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}
