*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,Helvetica Neue,Arial,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.flex{display:flex}.hidden{display:none}.resize{resize:both}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}:root{--background:0 0% 4%;--foreground:0 0% 94%;--card:0 0% 7%;--card-foreground:0 0% 94%;--primary:6 100% 56%;--primary-foreground:0 0% 96%;--muted:0 0% 57%;--muted-foreground:0 0% 68%;--border:0 0% 18%;--radius:.5rem}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0a0a0a}body{color:#f0f0f0;background:#0a0a0a;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}body::selection{color:#f8f8f8;background:#ff2b1f}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.site-shell{isolation:isolate;min-height:100vh;position:relative}.preloader{z-index:80;color:#0a0a0a;pointer-events:none;background:#f0f0f0;place-items:center;width:100vw;height:100dvh;padding:1.25rem;font-size:clamp(1.8rem,8vw,9rem);font-weight:700;animation:2.35s forwards preloader-fallback;display:grid;position:fixed;top:0;left:0;overflow:hidden}.preloader-logo{text-align:center;white-space:nowrap;width:100%;line-height:.95;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.preloader-logo-text{will-change:transform;display:inline-block}@keyframes preloader-fallback{0%,82%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(-110%)}}.fixed-rail{z-index:20;color:#f0f0f0b8;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;gap:1rem;font-size:.7rem;display:flex;position:fixed;top:50%}.left-rail{left:1.2rem;transform:translateY(-50%)rotate(180deg)}.right-rail{right:1.2rem;transform:translateY(-50%)}.right-rail a{transition:color .18s}.right-rail a:hover{color:#ff2b1f}.scroll-meter{z-index:25;background:#f0f0f02e;width:2px;height:18vh;position:fixed;bottom:1rem;right:.7rem;overflow:hidden}.scroll-progress{transform-origin:50% 0;background:#ff2b1f;width:100%;height:100%;display:block;transform:scaleY(0)}.hero-section{min-height:185svh;position:relative;overflow:hidden}.hero-stage{min-height:100svh;padding:clamp(1rem,2vw,1.4rem) clamp(1.3rem,4vw,4rem) clamp(1.5rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.top-nav{z-index:6;text-transform:uppercase;justify-content:flex-end;gap:clamp(1rem,3vw,2.8rem);font-size:clamp(.8rem,1vw,.95rem);display:flex;position:relative}.hero-title{z-index:4;color:#f0f0f0;letter-spacing:0;flex-wrap:wrap;align-self:center;align-items:baseline;gap:.03em .12em;max-width:12ch;margin-top:-8vh;font-size:clamp(5.2rem,12vw,12rem);font-weight:700;line-height:.78;display:flex;position:relative}.hero-title span{display:inline-block}.hero-word-primary,.hero-word-secondary{backface-visibility:hidden;will-change:transform;align-items:baseline;gap:.12em;display:inline-flex!important}.hero-word-secondary{flex-basis:100%;gap:.02em;margin-left:clamp(0rem,11vw,9rem)}.accent-dot,em{color:#ff2b1f;font-style:normal}.hero-word-secondary .accent-dot{margin-left:.08em}.hero-scroll-image{z-index:3;aspect-ratio:4/5;opacity:0;will-change:transform, clip-path, opacity;width:clamp(220px,26vw,430px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.hero-scroll-image img{-o-object-fit:cover;object-fit:cover;filter:saturate(.78)contrast(1.12);width:100%;height:100%}.hero-content{z-index:5;align-self:end;width:min(100%,1100px);margin-left:auto;padding-top:1rem;position:relative}.hero-tagline{color:#f0f0f0e0;will-change:transform, opacity;max-width:670px;margin-left:auto;font-size:clamp(1.25rem,2.45vw,2.55rem);line-height:1.04}.hero-rule{background:#f0f0f03d;height:1px;margin:clamp(1.2rem,3vw,2.2rem) 0 0}.hero-bar{color:#f0f0f0d1;min-height:56px;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;will-change:transform, opacity;justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(.7rem,1vw,.88rem);display:flex}.hero-bar>span,.hero-bar>div{align-items:center;gap:.72rem;display:flex}.hover-text{vertical-align:top;display:inline-flex;overflow:hidden}.hover-letter{height:1.2em;display:grid;position:relative;overflow:hidden}.hover-letter span{grid-area:1/1;transition:transform .36s cubic-bezier(.22,1,.36,1)}.hover-letter span:nth-child(2){color:#ff2b1f;transform:translateY(112%)}a:hover .hover-letter span:first-child,button:hover .hover-letter span:first-child,.hover-text:hover .hover-letter span:first-child{transform:translateY(-112%)}a:hover .hover-letter span:nth-child(2),button:hover .hover-letter span:nth-child(2),.hover-text:hover .hover-letter span:nth-child(2){transform:translateY(0)}.reveal-section{place-items:center;min-height:120vh;padding:12vh clamp(1.3rem,4vw,4rem);display:grid;position:relative}.reveal-card{aspect-ratio:4/5;clip-path:inset(0);width:min(58vw,520px);position:relative;overflow:hidden}.reveal-card img,.contact-frame img,.gallery-card img,.project-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.reveal-section p{text-align:center;margin-top:2rem;font-size:clamp(1.8rem,5vw,6rem);font-weight:700;line-height:.95}.frame-corner{border-color:#f0f0f0;width:22px;height:22px;position:absolute}.frame-corner.tl{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.frame-corner.tr{border-top:1px solid;border-right:1px solid;top:12px;right:12px}.frame-corner.bl{border-bottom:1px solid;border-left:1px solid;bottom:12px;left:12px}.frame-corner.br{border-bottom:1px solid;border-right:1px solid;bottom:12px;right:12px}.about-section{align-items:center;min-height:86vh;padding:clamp(5rem,12vw,10rem) clamp(1.3rem,8vw,9rem);display:grid}.about-copy{width:min(100%,980px);margin-left:auto}.about-copy h2{font-size:clamp(2.2rem,6vw,7.6rem);font-weight:700;line-height:.96}.about-copy p{color:#f0f0f09e;max-width:700px;margin-top:1.6rem;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.45}.text-link{color:#f0f0f0;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;align-items:center;gap:.55rem;margin-top:2rem;font-size:.86rem;display:inline-flex}.architecture-trigger{color:#0a0a0a;background:#f0f0f0;width:100vw;min-height:100svh;position:relative;overflow:hidden}.architecture-flow-copy{z-index:4;pointer-events:none;width:min(520px,100% - 2.6rem);position:absolute;bottom:clamp(1.4rem,5vw,4rem);right:clamp(1.3rem,6vw,6rem)}.architecture-flow-copy p{color:#ff2b1f;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:clamp(.72rem,1vw,.9rem)}.architecture-flow-copy h2{text-transform:uppercase;margin-top:.55rem;font-size:clamp(2.1rem,4.8vw,6rem);font-weight:700;line-height:.98}.architecture-direction{z-index:3;color:#f0f0f0;text-align:center;text-transform:uppercase;mix-blend-mode:difference;width:50%;font-size:clamp(2.2rem,4.5vw,4.4rem);font-weight:900;line-height:.9;display:block;position:absolute;top:calc(50vh - 56px)}.architecture-direction-down{left:0}.architecture-direction-up{right:0}.architecture-bars{z-index:1;flex-direction:column;height:100svh;display:flex;position:relative}.architecture-box{transform-origin:100%;will-change:transform;background:#0a0a0a;width:50vw;height:1.04167svh;display:block}.three-text-section{color:#f0f0f0;background:#0a0a0a;min-height:220vh;position:relative;overflow:visible}.three-text-wrap{min-height:100vh;position:sticky;top:0;overflow:hidden}.three-text-canvas{pointer-events:none;touch-action:pan-y;position:absolute;inset:0}.three-text-canvas canvas{pointer-events:none;touch-action:pan-y;width:100%;height:100%;display:block}.three-text-instructions{pointer-events:none;color:#f0f0f085;font-family:var(--font-geist-mono), monospace;text-align:center;text-transform:uppercase;padding:0 1rem .8rem;font-size:.72rem;position:absolute;bottom:0;left:0;right:0}.projects-section{min-height:100vh;padding:clamp(5rem,12vw,9rem) clamp(1.3rem,8vw,8rem);position:relative;overflow:hidden}.fluid-svg{z-index:-1;opacity:.42;width:100%;height:100%;position:absolute;inset:0}.fluid-line{fill:none;stroke:#ff2b1f;stroke-dasharray:2700;stroke-dashoffset:2700px;stroke-linecap:round;stroke-width:1.4px}.swirl-svg{pointer-events:none;z-index:0;opacity:.98;width:min(42vw,620px);height:125vh;position:absolute;top:-12vh;left:20vw;overflow:visible}.swirl-path{fill:none;stroke:#ff2b1f;stroke-dasharray:1300;stroke-dashoffset:1300px;stroke-linecap:round;stroke-width:clamp(52px,7vw,108px)}.section-label{z-index:2;color:#f0f0f075;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.78rem;position:relative}.projects-count{z-index:5;color:#f0f0f0;font-size:clamp(1.1rem,1.8vw,1.55rem);font-weight:700;position:absolute;top:50%;left:2.2rem}.projects-side-label,.gallery-side-label{z-index:5;color:#f0f0f0;font-size:clamp(1rem,1.6vw,1.45rem);font-weight:700;position:absolute;top:50%;right:4.2rem}.projects-side-label:before,.gallery-side-label:before{content:"";background:#f0f0f0;width:2px;height:22vh;position:absolute;top:-28vh;right:-1.7rem}.projects-side-label:after,.gallery-side-label:after{content:"";background:#f0f0f01f;width:2px;height:28vh;position:absolute;top:2.7rem;right:-1.7rem}.projects-inner{z-index:2;align-items:center;width:min(53vw,900px);min-height:86vh;display:grid;position:relative;overflow:visible}.projects-list{will-change:transform;gap:clamp(2rem,4.4vh,3.6rem);width:min(100%,980px);display:grid}.project-item{color:#f0f0f02e;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f0f021;justify-content:space-between;align-items:baseline;gap:1rem;min-height:82px;padding:.55rem 0 .8rem;transition:color .26s,opacity .26s,transform .26s;display:flex}.project-item span:first-child{font-size:clamp(2.65rem,5.6vw,6.7rem);font-weight:700;line-height:.92}.project-item span:last-child{color:#f0f0f061;font-family:var(--font-geist-mono), monospace;flex:none;font-size:.78rem}.project-item.is-active{color:#f0f0f0;opacity:1;transform:translate(0)}.project-item.is-before,.project-item.is-after{opacity:.42}.project-item:hover,.project-item:focus-visible{color:#f0f0f0;outline:0;transform:translate(0)}.project-preview{pointer-events:none;z-index:35;aspect-ratio:4/3;opacity:0;background:#111;border:1px solid #f0f0f038;width:min(330px,36vw);transition:opacity .18s,transform .18s;position:fixed;top:0;left:0;overflow:hidden;transform:translate(0,0)scale(.96);box-shadow:0 28px 80px #00000075}.project-preview-docked{width:min(30vw,540px);position:absolute;top:42%;left:auto;right:clamp(2.4rem,4.8vw,5.5rem);transform:translateY(-50%)scale(.96)}.project-preview.visible{opacity:1;transform:translateY(-50%)scale(1)}.project-preview-meta{z-index:2;color:#f0f0f0;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;text-shadow:0 1px 12px #000c;justify-content:space-between;font-size:.66rem;display:flex;position:absolute;top:.65rem;left:.65rem;right:.65rem}.gallery-section{background:#050505;padding:clamp(7rem,13vw,14rem) clamp(1.3rem,8vw,8rem);position:relative}.gallery-header{width:min(1120px,100%);margin:0 auto clamp(5rem,11vw,10rem)}.gallery-index{color:#ff2b1f;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:clamp(1.5rem,4vw,3.5rem);font-size:.72rem;display:block}.gallery-header h2{letter-spacing:-.075em;text-transform:uppercase;margin:0;font-size:clamp(4rem,11vw,12rem);font-weight:700;line-height:.78}.gallery-header p{color:#f0f0f094;width:min(420px,100%);margin:clamp(2rem,5vw,4.5rem) 0 0 auto;font-size:clamp(.9rem,1.2vw,1.08rem);line-height:1.6}.shader-gallery-list{gap:clamp(5rem,16vh,12rem);width:min(1120px,100%);margin:0 auto;display:grid}.shader-gallery-frame{aspect-ratio:16/9;background:#111;border:1px solid #f0f0f02b;width:min(82vw,920px);margin:0;position:relative;overflow:hidden;box-shadow:0 40px 100px #0000006b}.shader-gallery-frame:nth-child(2n){margin-left:auto}.shader-gallery-frame canvas{z-index:1;pointer-events:none;touch-action:pan-y;width:100%;height:100%;display:block;position:absolute;inset:0}.shader-gallery-fallback{z-index:0;-o-object-fit:cover;object-fit:cover}.shader-gallery-frame:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0000 62%,#000000b8);position:absolute;inset:0}.shader-gallery-frame figcaption{z-index:3;color:#f0f0f0;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;grid-template-columns:auto 1fr auto;align-items:end;gap:1rem;font-size:clamp(.62rem,.9vw,.76rem);display:grid;position:absolute;bottom:clamp(.9rem,2vw,1.4rem);left:clamp(1rem,2vw,1.6rem);right:clamp(1rem,2vw,1.6rem)}.shader-gallery-frame figcaption strong{letter-spacing:-.04em;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:clamp(1rem,2.2vw,2rem);line-height:.9}.skills-section{grid-template-columns:minmax(0,.9fr) minmax(320px,1fr);gap:clamp(2rem,8vw,8rem);min-height:100vh;padding:clamp(5rem,11vw,9rem) clamp(1.3rem,8vw,8rem);display:grid}.skills-left>span{color:#f0f0f085;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.78rem}.skills-left h2{text-transform:uppercase;margin-top:1.4rem;font-size:clamp(1.7rem,3.4vw,4.6rem);font-weight:700;line-height:1}.skills-right{border-top:1px solid #f0f0f02b}.skill-row{border-bottom:1px solid #f0f0f02b}.skill-row button{color:#f0f0f0;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:1.25rem 0;display:flex}.skill-row button span:first-child{font-size:clamp(1.2rem,2.3vw,2.5rem);font-weight:700}.skill-body{grid-template-rows:0fr;transition:grid-template-rows .32s;display:grid}.skill-body ul{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex;overflow:hidden}.skill-body li{color:#f0f0f0a8;font-family:var(--font-geist-mono), monospace;border:1px solid #f0f0f029;border-radius:999px;padding:.36rem .64rem;font-size:.72rem}.skill-row.open .skill-body{grid-template-rows:1fr;padding-bottom:1.25rem}.awards-section{padding:clamp(5rem,10vw,9rem) clamp(1.3rem,8vw,8rem)}.awards-list{border-top:1px solid #f0f0f02e;margin-top:2rem}.award-row{color:#f0f0f0d1;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;border-bottom:1px solid #f0f0f02e;grid-template-columns:.7fr 1fr 1fr .7fr;gap:1rem;padding:1.1rem 0;font-size:clamp(.72rem,1.1vw,.95rem);display:grid}.contact-section{min-height:120vh;padding:clamp(5rem,10vw,9rem) clamp(1.3rem,5vw,5rem);overflow:hidden}.contact-title{font-size:clamp(5.2rem,18vw,19rem);font-weight:700;line-height:.8;display:flex;overflow:hidden}.contact-title span{display:inline-block}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(220px,.45fr) minmax(0,.85fr) minmax(220px,.45fr);align-items:center;gap:clamp(1rem,3vw,3rem);margin-top:clamp(3rem,7vw,7rem);display:grid}.contact-grid p{color:#f0f0f0b8;font-size:clamp(1.1rem,2.2vw,2.35rem);font-weight:700;line-height:1.08}.contact-frame{aspect-ratio:4/5;background:#141414;position:relative;overflow:hidden}.contact-bottom{color:#f0f0f0;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(4rem,8vw,8rem);font-size:clamp(.76rem,1vw,.95rem);display:flex}.contact-bottom nav{gap:1rem;display:flex}.footer-section{color:#0a0a0a;background:#f0f0f0;min-height:100vh;padding:clamp(2rem,4vw,4rem);overflow:hidden}.footer-top{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:1.2rem 2rem;font-size:.8rem;display:flex}.ascii{font-family:var(--font-geist-mono), monospace;justify-content:space-between;margin-top:14vh;font-size:clamp(.7rem,1.4vw,1rem);display:flex}.footer-name{flex-wrap:wrap;align-items:baseline;gap:.06em .14em;margin-top:8vh;font-size:clamp(4.8rem,19vw,19rem);font-weight:700;line-height:.78;display:flex}.footer-name>span:last-child{margin-left:auto}.footer-name span span{color:#ff2b1f}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.fixed-rail{display:none}.three-text-section{min-height:220svh}.project-preview-docked{width:min(42vw,280px);top:22%;right:1.3rem;transform:scale(.96)}.project-preview.visible{transform:scale(1)}.project-preview-meta{font-size:.58rem}.projects-inner{width:min(68vw,620px)}.hero-title{max-width:10ch;margin-top:-4vh;font-size:clamp(4.4rem,21vw,9rem)}.hero-word-secondary{margin-left:0}.hero-scroll-image{width:clamp(190px,44vw,340px)}.hero-bar,.contact-bottom{flex-direction:column;align-items:flex-start}.architecture-flow-copy{width:min(360px,100% - 2.6rem);bottom:1.4rem;left:1.3rem;right:auto}.architecture-flow-copy h2{font-size:clamp(2.2rem,10vw,4.4rem)}.skills-section,.contact-grid{grid-template-columns:1fr}.award-row{grid-template-columns:1fr 1fr}}@media (max-width:560px){.top-nav{justify-content:space-between}.hero-section{min-height:125svh}.hero-stage{min-height:100svh;padding:1rem 1.1rem 1.25rem}.hero-tagline{font-size:clamp(1.15rem,7vw,2.1rem)}.architecture-direction{font-size:clamp(1.7rem,10vw,3rem);top:calc(50svh - 36px)}.architecture-flow-copy p{font-size:.68rem}.architecture-flow-copy h2{font-size:clamp(2rem,12vw,3.8rem)}.reveal-card{width:min(84vw,380px)}.project-item{transform:none!important}.project-preview-docked{border-color:#f0f0f057;width:46vw;max-width:190px;top:16%;right:1rem}.projects-inner{width:78vw}.project-item span:first-child{font-size:clamp(2rem,13vw,4rem)}.gallery-section{padding-left:1.1rem;padding-right:1.1rem}.gallery-header h2{letter-spacing:-.065em;max-width:100%;font-size:clamp(2.75rem,12.8vw,5.4rem);line-height:.86}.gallery-header p{margin-left:0}.shader-gallery-list{gap:18vh}.shader-gallery-frame{aspect-ratio:4/5;width:100%}.shader-gallery-frame figcaption{grid-template-columns:auto 1fr}.shader-gallery-frame figcaption span:last-child{display:none}.award-row{grid-template-columns:1fr;gap:.45rem}.ascii{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
