body.pointer-idle .menu-trigger{appearance:none;box-shadow:none;background:0 0;border:0;outline:none;padding:0}body.pointer-idle .menu-trigger .menu-icon:after,body.pointer-idle .menu-trigger:hover .menu-icon:after,body.pointer-idle .menu-trigger:focus .menu-icon:after,body.pointer-idle .menu-trigger:focus-visible .menu-icon:after{width:0!important;transition:none!important}
@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/barlow-condensed-300-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/barlow-condensed-300-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-condensed-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-condensed-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-condensed-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-condensed-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#040507;--line:#ffffff1a;--text:#ffffffeb;--text-dim:#ffffffad;--font:"Barlow Condensed", "Avenir Next Condensed", "Arial Narrow", sans-serif;--text-display:clamp(2.6rem, 1.6rem + 5vw, 3.75rem);--text-title:clamp(1.9rem, 1.3rem + 3vw, 2.5rem);--text-subtitle:clamp(1.25rem, 1rem + 1.2vw, 1.5rem);--text-lead:clamp(1.08rem, 1rem + .4vw, 1.28rem);--text-body:clamp(.98rem, .94rem + .2vw, 1.06rem);--text-label:clamp(.7rem, .68rem + .1vw, .74rem);--text-body-leading:1.56;--text-tight-leading:1.05;--space-section:clamp(56px, 18px + 5vw, 84px);--space-title-body:clamp(20px, 16px + 1vw, 30px);--space-lead-display:clamp(34px, 26px + 1.6vw, 50px);--space-item:clamp(13px, 11px + .4vw, 16px);--space-rail-gap:clamp(28px, 4vw, 72px);--text-edge:0px;--viewport-height:100vh;--viewport-height-max:100vh;--grid-float-distance:calc(var(--viewport-height) - 32px);--menu-scan-distance:var(--viewport-height);--menu-scan-band-distance:calc(var(--viewport-height) - 80px);--ui-grid-edge:calc(max(0px, calc((100vw - 1440px) / 2)) + min(12.5vw, 180px))}@supports (height:100dvh){:root{--viewport-height:100dvh}}@media (min-width:768px) and (max-width:991px){:root{--text-edge:60px}}@media (max-width:767px){:root{--text-edge:30px}}.about-hero-copy,.contact-hero-copy{display:none}@media (max-width:991px){@supports (height:100svh){:root{--viewport-height:100svh}}}@supports (height:100lvh){:root{--viewport-height-max:100lvh}}*{box-sizing:border-box}html,body{width:100%;height:100%;color:var(--text);font-family:var(--font);background:radial-gradient(circle at 30% 24%,#ffffff0a,#0000 20%),radial-gradient(circle at 64% 36%,#ffffff07,#0000 28%),linear-gradient(#050608 0%,#030406 100%);margin:0;overflow:hidden}@media (min-width:992px){html{scrollbar-gutter:stable}body.home-page{background:radial-gradient(circle at 30% 24%,#ffffff0a,#0000 20%),linear-gradient(#050608 0%,#030406 100%)}}@media (max-width:991px){body.home-page .grid-lines,body.about-page .grid-lines,body.contact-page .grid-lines,body.project-page .grid-lines{height:var(--viewport-height-max)!important;z-index:6!important;opacity:.34!important;mix-blend-mode:difference!important;pointer-events:none!important;position:fixed!important;inset:0!important}#globe-root{z-index:8!important}body.about-page .globe-action,body.contact-page .globe-action{display:none!important}body.about-page{transition:background .5s}body.contact-page #globe-root{width:100%!important;height:var(--viewport-height)!important;pointer-events:none!important;position:fixed!important;inset:0!important}body.about-page .ui-shell,body.about-page .ui-inner,body.contact-page .ui-shell,body.contact-page .ui-inner{height:var(--viewport-height)}.about-hero-copy,.contact-hero-copy{display:none}body.about-page .about-hero-copy,body.contact-page .contact-hero-copy{left:var(--mobile-edge);right:var(--mobile-edge);top:auto;bottom:max(56px, calc(env(safe-area-inset-bottom) + 46px));text-align:left;z-index:9;pointer-events:none;align-items:end;gap:0;width:auto;transition:opacity .36s,transform .52s cubic-bezier(.22,1,.36,1),filter .52s cubic-bezier(.22,1,.36,1);display:none;position:fixed}.about-hero-heading,.contact-hero-heading{color:#fffffff5;gap:0;display:grid}.about-hero-title,.contact-hero-title{color:#fffffff5;letter-spacing:.005em;text-transform:uppercase;max-width:min(100%,420px);margin:0;font-size:clamp(3.4rem,16vw,5.6rem);font-weight:600;line-height:.84;position:relative}.about-hero-title-base,.contact-hero-title-base{z-index:2;opacity:0;display:block;position:relative;transform:translateY(18px)}.about-hero-title-layer,.contact-hero-title-layer{z-index:1;opacity:0;pointer-events:none;display:block;position:absolute;inset:0}body.about-page #stars,body.contact-page #stars{transition:opacity .4s!important}body.contact-page #stars{height:var(--viewport-height-max)!important;z-index:0!important;opacity:1!important;position:fixed!important;inset:0!important}body.about-page #stars{opacity:0!important}body.home-page .grid-line,body.about-page .grid-line,body.contact-page .grid-line,body.project-page .grid-line{background:#ffffff57!important}body.home-page .grid-marker,body.home-page .grid-marker:before,body.home-page .grid-marker:after,body.about-page .grid-marker,body.about-page .grid-marker:before,body.about-page .grid-marker:after,body.contact-page .grid-marker,body.contact-page .grid-marker:before,body.contact-page .grid-marker:after,body.project-page .grid-marker,body.project-page .grid-marker:before,body.project-page .grid-marker:after{background:#ffffffeb!important}body.home-page .menu-trigger,body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body:not(.home-page) .menu-trigger,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-trigger{top:max(20px, calc(env(safe-area-inset-top) + 14px))!important;align-items:center!important;min-height:34px!important}body.home-page .bottom-logo,body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo,body:not(.home-page) .bottom-logo,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo{top:max(20px, calc(env(safe-area-inset-top) + 14px))!important;opacity:1!important;width:34px!important;height:34px!important;animation:none!important;transform:translate(0,0)!important}body.home-page .bottom-logo-base,body:not(.home-page) .bottom-logo-base{width:100%!important;height:100%!important}body.menu-open .menu-panel,body.menu-closing .menu-panel{background:linear-gradient(#050608fa,#030406fe)!important}body.menu-open .menu-trigger,body.menu-closing .menu-trigger,body.menu-open .menu-link,body.menu-closing .menu-link,body.menu-open .menu-art,body.menu-closing .menu-art{color:#ffffffeb!important;filter:none!important}body.menu-open .menu-icon span,body.menu-open .menu-icon:after,body.menu-open .menu-link:after,body.menu-closing .menu-icon span,body.menu-closing .menu-icon:after,body.menu-closing .menu-link:after{background:#fffffff2!important}body.menu-open .bottom-logo,body.menu-closing .bottom-logo{opacity:0!important;pointer-events:none!important}body.menu-open .grid-lines,body.menu-closing .grid-lines{opacity:0!important}body.home-page.home-mobile-scrolled:not(.home-mobile-chrome-bar):not(.menu-open) .menu-trigger,body.home-page.home-mobile-scrolled:not(.home-mobile-chrome-bar):not(.menu-open) .bottom-logo,body:not(.home-page).home-mobile-chrome-hidden:not(.home-mobile-chrome-bar):not(.menu-open) .menu-trigger,body:not(.home-page).home-mobile-chrome-hidden:not(.home-mobile-chrome-bar):not(.menu-open) .bottom-logo{opacity:0!important;pointer-events:none!important;transform:translateY(-22px)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-trigger{opacity:1!important;pointer-events:auto!important;color:#fffffff0!important;transform:translate(0,0)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-icon:after{background:#fffffff0!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo{opacity:1!important;pointer-events:auto!important;transform:translate(0,0)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base{filter:none!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer{display:block!important}body.home-page .menu-trigger,body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger{top:max(20px, calc(env(safe-area-inset-top) + 14px))!important;align-items:center!important;min-height:34px!important}body.home-page .bottom-logo,body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo{top:max(20px, calc(env(safe-area-inset-top) + 14px))!important;width:34px!important;height:34px!important;animation:none!important;transform:translate(0,0)!important}body.home-page .bottom-logo-base{width:100%!important;height:100%!important}body.home-page .hero-subtitle{text-align:right!important;width:min(100%,420px)!important;max-width:none!important}body.home-page .grid-lines{height:var(--viewport-height-max)!important;z-index:6!important;opacity:.34!important;mix-blend-mode:difference!important;pointer-events:none!important;position:fixed!important;inset:0!important}body.home-page .grid-line{background:#ffffff57!important}body.home-page .grid-marker,body.home-page .grid-marker:before,body.home-page .grid-marker:after{background:#ffffffeb!important}.home-mobile-footer-social a{width:48px!important;height:48px!important}.home-mobile-footer-social img{object-fit:contain!important;filter:brightness(0)invert()!important;opacity:.92!important;place-self:center!important;width:22px!important;height:22px!important;margin:0!important;display:block!important}.home-mobile-footer-social a[aria-label=GitHub] img{width:20px;height:20px}.home-mobile-footer-social a[aria-label=LinkedIn] img{width:18px!important;height:18px!important}.home-mobile-top{place-items:center!important}.home-mobile-top span{background:0 0!important;border-top:1.4px solid!important;border-left:1.4px solid!important;width:18px!important;height:18px!important;position:relative!important;top:0!important;left:0!important;transform:translateY(4px)rotate(45deg)!important}.home-mobile-top span:before,.home-mobile-top span:after{content:none!important}}body{position:relative}body:before{content:"";z-index:0;opacity:0;pointer-events:none;background:#050608;transition:opacity 1ms linear;position:fixed;inset:0}body.is-loading{overflow:hidden}body.is-loading .project-panel,body.is-loading .project-panel-edge-line{display:none!important}html.menu-open,body.menu-open{overflow:hidden}body.menu-open{cursor:default}body.menu-open:before{opacity:1}button{font:inherit}img,video,canvas,svg{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#stars,#globe-root,#globe-root canvas{width:100%;height:100%;position:absolute;inset:0}#stars,.overlay{pointer-events:none}#globe-root{z-index:2;opacity:1;transform:translate(0,0)scale(1)}body.about-page #globe-root{pointer-events:none}.site-loader{z-index:20;opacity:1;visibility:visible;pointer-events:auto;background:#050608;place-items:center;transition:opacity .62s,visibility .62s;display:grid;position:fixed;inset:0}body.is-ready .site-loader{opacity:0;visibility:hidden;pointer-events:none}.site-loader-inner{z-index:1;justify-items:center;gap:22px;transition:opacity .42s,transform .72s cubic-bezier(.22,1,.36,1);display:grid;position:relative}body.is-revealing .site-loader-inner{opacity:0;transform:translateY(-10px)scale(.94)}.site-loader-mark{aspect-ratio:1;isolation:isolate;will-change:transform, opacity;place-items:center;width:clamp(52px,4.8vw,72px);display:grid;position:relative;transform:translateZ(0)}.site-loader-glitch{animation:1.4s steps(2,end) infinite loader-mark-shift}.site-loader-logo-base{opacity:1;will-change:transform, opacity;width:100%;height:100%;animation:1.2s steps(2,end) infinite loader-base-flicker;display:block;transform:translate(0,0)}.site-loader-logo-layer,.site-loader-logo-flash{pointer-events:none;will-change:transform, opacity;position:absolute;inset:0;transform:translate(0,0)}.site-loader-logo-layer{opacity:0}.site-loader-logo-base,.site-loader-logo-layer{font-family:var(--font);text-transform:uppercase;color:#fff;place-items:center;font-size:clamp(40px,3.7vw,56px);font-weight:600;line-height:1;display:grid}.site-loader-logo-layer-a{clip-path:polygon(0 0,100% 0,100% 28%,0 18%);animation:1.1s steps(2,end) infinite loader-glitch-a}.site-loader-logo-layer-b{clip-path:polygon(0 28%,100% 20%,100% 72%,0 70%);animation:.95s steps(2,end) infinite loader-glitch-b}.site-loader-logo-layer-c{clip-path:polygon(0 72%,100% 64%,100% 100%,0 100%);animation:1.2s steps(2,end) infinite loader-glitch-c}.site-loader-logo-layer-d{clip-path:polygon(0 6%,100% 0,100% 18%,0 24%);animation:1.05s steps(2,end) infinite loader-glitch-d}.site-loader-logo-flash,.site-loader-glitch:after,.site-loader-glitch:before{display:none}.site-loader-label{text-transform:uppercase;letter-spacing:.36em;font-size:var(--text-label);color:#ffffffb8;margin:0;line-height:1;animation:1.4s ease-in-out infinite loader-label;position:relative}.site-loader-label-glitch{will-change:transform, opacity;transform:translateZ(0)}.site-loader-label-base,.site-loader-label-layer{display:block}.site-loader-label-base{z-index:1;will-change:transform, opacity;animation:.72s steps(2,end) infinite loader-label-base-flicker;position:relative}.site-loader-label-layer{opacity:0;will-change:transform, opacity;position:absolute;inset:0}.site-loader-label-layer-a{clip-path:polygon(0 0,100% 0,100% 46%,0 38%);animation:.76s steps(2,end) infinite loader-label-glitch-a}.site-loader-label-layer-b{clip-path:polygon(0 54%,100% 46%,100% 100%,0 100%);animation:.62s steps(2,end) infinite loader-label-glitch-b}.overlay{z-index:3;position:fixed;inset:0}body.is-loading #stars,body.is-loading .grid-lines,body.is-loading #globe-root,body.is-loading .overlay{opacity:0;transform:translateY(14px)scale(1.015)}body.is-loading #stars,body.is-loading .grid-lines,body.is-loading #globe-root,body.is-loading .overlay,body.is-revealing #stars,body.is-revealing .grid-lines,body.is-revealing #globe-root,body.is-revealing .overlay,body.is-ready #stars,body.is-ready .grid-lines,body.is-ready #globe-root,body.is-ready .overlay{transition:opacity .9s,transform 1.2s cubic-bezier(.22,1,.36,1),visibility .9s}body.is-revealing #stars,body.is-revealing .grid-lines,body.is-revealing #globe-root,body.is-revealing .overlay,body.is-ready #stars,body.is-ready .grid-lines,body.is-ready #globe-root,body.is-ready .overlay{opacity:1;transform:translate(0,0)scale(1)}.grid-lines{z-index:1;pointer-events:none;grid-template-columns:repeat(4,1fr);justify-items:center;width:min(100%,1440px);margin:0 auto;display:grid;position:absolute;inset:0}.grid-line{background:#ffffff1a;width:1px;height:100%;position:relative}.grid-marker{background:#fff;width:1px;height:32px;margin-left:-.5px;position:absolute;top:0;left:50%;overflow:visible;box-shadow:0 0 12px #ffffff26}.grid-marker:before,.grid-marker:after{content:"";opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.grid-line:first-child .grid-marker{animation:22s ease-in-out infinite float-line-a}.grid-line:nth-child(2) .grid-marker{animation:19.5s ease-in-out -2.3s infinite float-line-b}.grid-line:nth-child(3) .grid-marker{animation:24s ease-in-out -5.1s infinite float-line-c}.grid-line:nth-child(4) .grid-marker{animation:18s ease-in-out -3.7s infinite float-line-d}.grid-line:first-child .grid-marker:before{animation:2.4s steps(2,end) infinite marker-slice-a}.grid-line:nth-child(2) .grid-marker:before{animation:2.05s steps(2,end) -.8s infinite marker-slice-b}.grid-line:nth-child(3) .grid-marker:before{animation:2.8s steps(2,end) -1.1s infinite marker-slice-c}.grid-line:nth-child(4) .grid-marker:before{animation:1.95s steps(2,end) -.5s infinite marker-slice-d}.grid-line:first-child .grid-marker:after,.grid-line:nth-child(3) .grid-marker:after{animation:3.8s steps(2,end) infinite marker-echo}.grid-line:nth-child(2) .grid-marker:after,.grid-line:nth-child(4) .grid-marker:after{animation:3.2s steps(2,end) -1.4s infinite marker-echo}.ui-shell{pointer-events:none;z-index:2;width:min(100%,1440px);height:100%;margin:0 auto;position:relative}.ui-inner{position:absolute;inset:0 12.5%}.menu-trigger{pointer-events:auto;color:var(--text);text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-label);box-shadow:none;cursor:pointer;z-index:41;pointer-events:auto;background:0 0;border:0;outline:none;align-items:center;gap:12px;padding:0;font-weight:500;display:inline-flex;position:absolute;top:66px;left:0}body.using-keyboard .menu-trigger:focus,body.using-keyboard .menu-trigger:focus-visible{outline-offset:6px;box-shadow:none;outline:1px solid}.menu-icon{flex-direction:column;gap:4px;width:20px;height:13px;display:inline-flex;position:relative}.menu-icon:after{content:"";pointer-events:none;background:#fff;width:0;height:1px;transition:width .18s;position:absolute;top:6px;left:0}.menu-icon span{background:#fffffff2;width:20px;height:1px;transition:transform .22s,opacity .22s,top .22s;display:block;position:absolute;left:0}.menu-icon span:first-child{top:0}.menu-icon span:nth-child(2){top:6px}.menu-icon span:nth-child(3){top:12px}.menu-label{opacity:.92;position:relative}.menu-hover-enabled .menu-trigger:hover .menu-icon:after,.menu-hover-enabled .menu-trigger:focus-visible .menu-icon:after{width:calc(100% + 54px)}body.is-loading .menu-trigger .menu-icon:after{width:0!important}body.pointer-idle .menu-trigger:hover .menu-icon:after,body.pointer-idle .menu-trigger:focus-visible .menu-icon:after,body.pointer-idle .menu-trigger:focus .menu-icon:after{width:0}body.menu-open .menu-icon span:first-child{top:6px;transform:rotate(45deg)}body.menu-open .menu-icon span:nth-child(2){opacity:0}body.menu-open .menu-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}body.menu-closing .menu-icon span:first-child{top:0;transform:rotate(0)}body.menu-closing .menu-icon span:nth-child(2){opacity:1}body.menu-closing .menu-icon span:nth-child(3){top:12px;transform:rotate(0)}.menu-panel{z-index:40;opacity:0;visibility:hidden;pointer-events:none;background:0 0;transition:opacity .26s,visibility .26s;position:fixed;inset:0}.menu-panel:before,.menu-panel:after{content:"";pointer-events:none;opacity:0;width:100%;position:fixed;left:0}.menu-panel:before{z-index:2;background:#fffffff5;height:1px;top:0;box-shadow:0 0 18px #ffffff2e}.menu-panel:after{z-index:1;background:linear-gradient(#ffffff1f,#ffffff08 38%,#fff0);height:120px;top:0}.menu-art{left:var(--ui-grid-edge);aspect-ratio:1;color:#fff;opacity:0;clip-path:inset(0 0 100%);isolation:isolate;pointer-events:auto;width:140px;transition:none;position:absolute;top:110px;transform:none;container-type:size}.menu-art-base,.menu-art-layer{font-family:var(--font);text-transform:uppercase;color:currentColor;transform-origin:50%;pointer-events:none;place-content:center;padding-bottom:.1027em;font-size:138cqw;font-weight:600;line-height:1;display:grid;position:absolute;inset:0;transform:rotate(-90deg)}.menu-art-base{z-index:1;transition:filter .26s,opacity .26s}.menu-art-layer{opacity:0;will-change:transform, opacity, filter}.menu-art-layer-a{clip-path:polygon(0 0,100% 0,100% 44%,0 34%)}.menu-art-layer-b{clip-path:polygon(0 54%,100% 46%,100% 100%,0 100%)}.menu-art-line{opacity:0;pointer-events:none;transform-origin:50%;will-change:transform, opacity;background:currentColor;width:108%;height:1px;position:absolute;left:50%}.menu-art-line-a{top:28%;transform:translate(-50%)}.menu-art-line-b{top:66%;transform:translate(-50%)}.menu-art:hover .menu-art-base,.menu-art:focus-within .menu-art-base{filter:drop-shadow(0 0 10px #ffffff14)}.menu-art:hover .menu-art-layer-a,.menu-art:focus-within .menu-art-layer-a{animation:.76s steps(2,end) infinite menu-logo-glitch-a}.menu-art:hover .menu-art-layer-b,.menu-art:focus-within .menu-art-layer-b{animation:.69s steps(2,end) infinite menu-logo-glitch-b}.menu-art:hover .menu-art-line-a,.menu-art:focus-within .menu-art-line-a{animation:.92s steps(2,end) infinite menu-logo-line-a}.menu-art:hover .menu-art-line-b,.menu-art:focus-within .menu-art-line-b{animation:.76s steps(2,end) infinite menu-logo-line-b}.menu-nav{right:var(--ui-grid-edge);opacity:0;clip-path:inset(0 0 100%);flex-direction:column;gap:40px;width:min(280px,24vw);transition:none;display:flex;position:absolute;top:20.5%;transform:none}.menu-link{color:#ffffffeb;text-transform:uppercase;letter-spacing:.04em;opacity:1;align-items:center;width:100%;font-size:clamp(1.52rem,1.7vw,1.9rem);font-weight:500;line-height:.95;text-decoration:none;display:inline-flex;position:relative;transform:none}.menu-link:after{content:"";transform-origin:0;background:#fffffff2;flex:auto;width:auto;min-width:0;height:2px;margin-left:12px;transition:transform .26s;transform:scaleX(0)}.menu-link:hover:after,.menu-link:focus-visible:after{transform:scaleX(1)}body.using-keyboard .menu-link:focus-visible{outline-offset:6px;outline:1px solid}.menu-link.is-active:after{transform:scaleX(0)}.menu-link.is-active:hover:after,.menu-link.is-active:focus-visible:after{transform:scaleX(1)}.menu-link.is-active{opacity:.62}.menu-link-label{flex:none;display:inline-block}body.menu-open .menu-panel{opacity:1;visibility:visible;pointer-events:auto}body.menu-open .menu-art,body.menu-open .menu-nav{opacity:1;animation:.42s cubic-bezier(.22,1,.36,1) both menu-reveal-vertical}body.menu-open .menu-art{animation-delay:90ms}body.menu-open .menu-nav{animation-delay:.15s}body.menu-open .menu-panel:before{animation:.52s cubic-bezier(.22,1,.36,1) both menu-scan-line}body.menu-open .menu-panel:after{animation:.52s cubic-bezier(.22,1,.36,1) both menu-scan-band}body.menu-closing .menu-panel{opacity:1;visibility:visible;pointer-events:none}body.menu-closing .menu-art,body.menu-closing .menu-nav{opacity:1;animation:.36s cubic-bezier(.55,0,.45,1) both menu-hide-vertical}body.menu-closing .menu-art{animation-delay:0s}body.menu-closing .menu-nav{animation-delay:40ms}body.menu-closing .menu-panel:before{animation:.42s cubic-bezier(.55,0,.45,1) both menu-scan-line-out}body.menu-closing .menu-panel:after{animation:.42s cubic-bezier(.55,0,.45,1) both menu-scan-band-out}body.menu-open .hero-copy{opacity:0;pointer-events:none}body.menu-open.home-page .corner-text,body.menu-closing.home-page .corner-text,body.menu-open.portfolio-page .corner-text,body.menu-closing.portfolio-page .corner-text,body.menu-open.home-page .bottom-logo,body.menu-closing.home-page .bottom-logo,body.menu-open.portfolio-page .bottom-logo,body.menu-closing.portfolio-page .bottom-logo{opacity:1}body.menu-open #globe-root,body.menu-open #stars,body.menu-open .title-glitch,body.menu-open .hero-subtitle{opacity:0}.portfolio-hero-title-layer{display:none}body.menu-closing.menu-home-reveal .hero-copy{opacity:1;pointer-events:auto;animation:.42s cubic-bezier(.22,1,.36,1) both menu-home-copy-return}body.menu-closing.menu-home-reveal .title-glitch,body.menu-closing.menu-home-reveal .hero-subtitle{opacity:1;filter:none}.hero-copy{pointer-events:auto;width:min(420px,34vw);position:absolute;top:50%;right:56px;transform:translateY(-50%)}.title-glitch{cursor:default;isolation:isolate;--mx:50%;--my:50%;width:100%;position:relative}.title-glitch.title-intro-pending{opacity:0;filter:blur(10px)}.title-glitch.is-title-visible{animation:.98s cubic-bezier(.22,1,.36,1) both home-title-enter}.title-art,.title-layer{font-family:var(--font);letter-spacing:.005em;text-transform:uppercase;white-space:pre-line;color:#fffffff5;margin:0;font-size:clamp(2.6rem,7.4vw,5.4rem);font-weight:600;line-height:.82}.title-art{z-index:1;width:100%;transition:filter .26s,opacity .26s;display:block;position:relative}.title-layer{opacity:0;mix-blend-mode:screen;pointer-events:none;-webkit-mask-image:radial-gradient(circle 92px at var(--mx) var(--my), #000 0, #000000f2 52%, #0000 76%);mask-image:radial-gradient(circle 92px at var(--mx) var(--my), #000 0, #000000f2 52%, #0000 76%);-webkit-mask-image:radial-gradient(circle 92px at var(--mx) var(--my), #000 0, #000000f2 52%, #0000 76%);position:absolute;inset:0}.title-layer-a{clip-path:polygon(0 0,100% 0,100% 28%,0 20%)}.title-layer-b{clip-path:polygon(0 32%,100% 24%,100% 68%,0 72%)}.title-layer-c{clip-path:polygon(0 74%,100% 66%,100% 100%,0 100%)}.title-glitch.is-title-visible .title-art{animation:.98s steps(2,end) both home-title-art-glitch}.title-glitch.is-title-visible .title-layer-a{animation:.76s steps(2,end) 90ms both home-title-layer-a}.title-glitch.is-title-visible .title-layer-b{animation:.68s steps(2,end) .14s both home-title-layer-b}.title-glitch.is-title-visible .title-layer-c{animation:.82s steps(2,end) .11s both home-title-layer-c}.title-glitch:hover .title-art{filter:drop-shadow(0 0 12px #ffffff14)}.title-glitch:hover .title-layer{opacity:.9}.title-glitch:hover .title-layer-a{animation:.82s steps(2,end) infinite glitch-slice-a}.title-glitch:hover .title-layer-b{animation:.64s steps(2,end) infinite glitch-slice-b}.title-glitch:hover .title-layer-c{animation:.91s steps(2,end) infinite glitch-slice-c}.hero-subtitle{text-align:right;text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-label);color:#ffffffeb;margin:14px 0 0;font-weight:500;line-height:1}.hero-subtitle.title-intro-pending{opacity:0;filter:blur(8px)}.hero-subtitle.is-title-visible{animation:.76s cubic-bezier(.22,1,.36,1) .14s both home-subtitle-enter}.personal-constellation{--personal-constellation-drift-x:clamp(14px, 2.2vw, 36px);--personal-constellation-drift-y:clamp(4px, .8vh, 10px);--personal-constellation-current-x:var(--personal-constellation-drift-x);--personal-constellation-current-y:var(--personal-constellation-drift-y);--personal-constellation-scale:1;z-index:3;aspect-ratio:220/150;color:#ffffffd6;opacity:0;width:clamp(168px,13vw,218px);transform:translate3d(var(--personal-constellation-current-x), calc(var(--personal-constellation-current-y) + 10px), 0) scale(var(--personal-constellation-scale));pointer-events:auto;isolation:isolate;transition:opacity .42s,filter .32s;position:absolute;top:clamp(92px,17vh,158px);right:clamp(28px,4.4vw,76px)}body.is-ready .personal-constellation{opacity:.66;transform:translate3d(var(--personal-constellation-current-x), var(--personal-constellation-current-y), 0) scale(var(--personal-constellation-scale));transition-delay:.68s,0s}.personal-constellation:hover,.personal-constellation:focus-within{opacity:1;filter:drop-shadow(0 0 16px #ffffff14)}body.home-projects-focus .personal-constellation{opacity:.56;transform:translate3d(var(--personal-constellation-current-x), var(--personal-constellation-current-y), 0) scale(var(--personal-constellation-scale));transition-delay:.24s,0s}body.home-projects-focus .personal-constellation:hover,body.home-projects-focus .personal-constellation:focus-within{opacity:.92}body.menu-open .personal-constellation,body.project-panel-open .personal-constellation,body.is-loading .personal-constellation{opacity:0;pointer-events:none;transition-delay:0s;transform:translateY(8px)}.site-mobile-footer{display:none}.personal-constellation-map,.personal-constellation-lines,.personal-star-list{position:absolute;inset:0}.personal-constellation-lines{width:100%;height:100%;overflow:visible}.personal-constellation-line{fill:none;stroke:#ffffff70;stroke-width:.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke .22s,opacity .22s}body.is-ready .personal-constellation-line{animation:1.24s cubic-bezier(.22,1,.36,1) .82s both constellation-line-in}.personal-constellation:hover .personal-constellation-line,.personal-constellation:focus-within .personal-constellation-line{stroke:#ffffffc7;opacity:1;animation:.88s cubic-bezier(.22,1,.36,1) both constellation-line-trace}.personal-constellation-kicker{color:#ffffff94;font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:.66;margin:0;font-weight:500;line-height:1;transition:opacity .22s,transform .22s cubic-bezier(.22,1,.36,1);position:absolute;top:-28px;right:-2px;transform:translateY(4px)}.personal-constellation-kicker:before{content:"";opacity:.5;transform-origin:100%;background:currentColor;width:18px;height:1px;margin:0 8px 2px 0;transition:transform .26s cubic-bezier(.22,1,.36,1);display:inline-block;transform:scaleX(.62)}.personal-constellation:hover .personal-constellation-kicker,.personal-constellation:focus-within .personal-constellation-kicker{opacity:1;transform:translate(0,0)}.personal-constellation:hover .personal-constellation-kicker:before,.personal-constellation:focus-within .personal-constellation-kicker:before{transform:scaleX(1)}.personal-star-list{margin:0;padding:0;list-style:none}.personal-star{left:var(--star-x);top:var(--star-y);width:0;height:0;position:absolute}.personal-star-acubens{--star-x:18.2%;--star-y:57.3%}.personal-star-asellus-borealis{--star-x:39.1%;--star-y:42.7%}.personal-star-altarf{--star-x:80.9%;--star-y:28%}.personal-star-button{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:30px;height:30px;padding:0;text-decoration:none;display:grid;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.personal-star-button:before,.personal-star-button:after{content:"";border-radius:inherit;opacity:0;border:1px solid;transition:opacity .22s,transform .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:9px;transform:scale(.28)}.personal-star-button:after{border-color:#ffffff4d;transition-delay:40ms;inset:4px}.personal-star-core{width:3px;height:3px;animation:4.8s ease-in-out infinite constellation-star-pulse;animation-delay:var(--star-delay,0s);background:currentColor;border-radius:50%;display:block;position:relative;box-shadow:0 0 10px #ffffff57,0 0 2px #ffffffe6}.personal-star-asellus-borealis .personal-star-core{--star-delay:.6s}.personal-star-altarf .personal-star-core{--star-delay:1.2s}.personal-star-preview{color:#ffffffdb;font-size:var(--text-label);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;align-items:center;gap:8px;padding:0;font-weight:500;line-height:1;transition:opacity .18s,transform .26s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;top:50%;left:50%;transform:translateY(-50%)translate(4px)}.personal-star-preview:before{content:"";opacity:.48;width:22px;height:1px;transform-origin:var(--preview-line-origin,right center);background:currentColor;transition:transform .26s cubic-bezier(.22,1,.36,1);transform:scaleX(.35)}.personal-star-index{color:#ffffff70}.personal-star-title{color:#ffffffd6}.personal-star-button:hover:before,.personal-star-button:hover:after,.personal-star-button:focus-visible:before,.personal-star-button:focus-visible:after{opacity:.58;transform:scale(1)}.personal-star-button:hover .personal-star-core,.personal-star-button:focus-visible .personal-star-core{animation:.78s steps(2,end) infinite constellation-star-signal;transform:scale(1.5)}.personal-star-button:hover .personal-star-preview,.personal-star-button:focus-visible .personal-star-preview{opacity:1;transform:translateY(-50%)translate(10px)}.personal-star-button:hover .personal-star-preview:before,.personal-star-button:focus-visible .personal-star-preview:before{transform:scaleX(1)}body.using-keyboard .personal-star-button:focus-visible{outline-offset:4px;outline:1px solid #ffffffb8}.corner-text{text-transform:uppercase;letter-spacing:.12em;width:fit-content;max-width:120px;font-size:var(--text-label);color:#ffffffeb;white-space:pre-line;opacity:0;will-change:transform, opacity, filter, clip-path;margin:0;font-weight:500;line-height:1;position:absolute;bottom:74px}.corner-text-left{text-align:left;left:0}.corner-text-right{text-align:right;right:0}.corner-text-right-audio{white-space:pre-line;max-width:120px}.corner-text:before,.corner-text:after{pointer-events:none;position:absolute}.corner-text:before{content:"";opacity:0;background:currentColor;width:30px;height:1px;top:50%}.corner-text-left:before{transform-origin:100%;right:calc(100% + 12px);transform:translateY(-50%)scaleX(.02)}.corner-text-right:before{transform-origin:0;left:calc(100% + 12px);transform:translateY(-50%)scaleX(.02)}.corner-text:after{content:attr(data-corner-text);color:currentColor;opacity:0;white-space:inherit;text-align:inherit;inset:0}.globe-action{color:#ffffffeb;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font);font-size:var(--text-label);white-space:nowrap;opacity:0;visibility:hidden;will-change:transform, opacity, filter;z-index:2;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;position:absolute}.globe-orbit-indicator{opacity:0;visibility:hidden;pointer-events:none;z-index:2;will-change:transform, opacity;width:220px;height:220px;position:absolute;top:0;left:0}.globe-orbit-indicator-svg{width:100%;height:100%;overflow:visible}.globe-orbit-indicator-track{stroke:#ffffff1a;stroke-width:1px}.globe-orbit-indicator-track-back{stroke:#ffffff13}.globe-orbit-indicator-marker{stroke:#fffffffa;stroke-width:1px;stroke-linecap:round;filter:drop-shadow(0 0 12px #ffffff26)}.globe-action-line{pointer-events:none;z-index:0;background:currentColor;width:0;height:1px;transition:width .18s;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.globe-action-label{z-index:1;position:relative}.globe-action:hover .globe-action-line,.globe-action:focus-visible .globe-action-line{width:calc(100% + 10px)}body.using-keyboard .globe-action:focus-visible{outline-offset:6px;outline:1px solid}@media (min-width:992px){.globe-action{margin-top:-15px;margin-bottom:-15px;padding:15px 33px}.globe-action .globe-action-line{display:none}.globe-action-bracket{pointer-events:none;opacity:0;z-index:0;position:absolute;inset:0}.globe-action-bracket:before,.globe-action-bracket:after{content:"";background:#ffffff2a;transition:width .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1),background-color .4s;position:absolute}.globe-action-bracket:before{width:15px;height:1px}.globe-action-bracket:after{width:1px;height:15px}.globe-action .gb1:before,.globe-action .gb1:after{top:0;left:0}.globe-action .gb2:before,.globe-action .gb2:after{top:0;right:0}.globe-action .gb3:before,.globe-action .gb3:after{bottom:0;right:0}.globe-action .gb4:before,.globe-action .gb4:after{bottom:0;left:0}.globe-action.is-globe-action-visible .globe-action-bracket{animation:1.7s both globe-neon-in,3.6s 1.7s infinite globe-neon-ambient,24s 2.5s infinite globe-neon-surge}.globe-action:hover .globe-action-bracket:before,.globe-action:focus-visible .globe-action-bracket:before{width:50%}.globe-action:hover .globe-action-bracket:after,.globe-action:focus-visible .globe-action-bracket:after{height:50%}.globe-action:hover .globe-action-bracket:before,.globe-action:hover .globe-action-bracket:after,.globe-action:focus-visible .globe-action-bracket:before,.globe-action:focus-visible .globe-action-bracket:after{background:#ffffff4e}}@keyframes globe-neon-in{0%,9%{opacity:0}10%{opacity:.7}12%{opacity:0}17%{opacity:.9}20%{opacity:.08}27%{opacity:1}30%{opacity:.25}34%{opacity:1}37%{opacity:.55}41%{opacity:1}to{opacity:1}}@keyframes globe-neon-ambient{0%,30%,76%,to{opacity:1}31%{opacity:.4}32%{opacity:1}34%{opacity:.7}35%{opacity:1}77%{opacity:.45}78%{opacity:1}80%{opacity:.6}81%{opacity:1}}@keyframes globe-neon-surge{0%,22%,52%,80%,to{filter:drop-shadow(0 0 #fff0)}24%{filter:drop-shadow(0 0 5px #ffffff8c)}26%{filter:drop-shadow(0 0 2px #ffffff4d)}29%{filter:drop-shadow(0 0 4px #ffffff73)}31%{filter:drop-shadow(0 0 #fff0)}54%{filter:drop-shadow(0 0 5px #ffffff80)}57%{filter:drop-shadow(0 0 3px #ffffff4d)}60%{filter:drop-shadow(0 0 #fff0)}82%{filter:drop-shadow(0 0 5px #ffffff8c)}84%{filter:drop-shadow(0 0 1px #ffffff40)}87%{filter:drop-shadow(0 0 4px #fff6)}89%{filter:drop-shadow(0 0 #fff0)}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.globe-action.is-globe-action-visible .globe-action-bracket{opacity:1;animation:none}.globe-action-bracket:before,.globe-action-bracket:after{transition:none}}.portfolio-esc-hint{z-index:5;color:#ffffff8f;font-family:var(--font);font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;flex-direction:column;align-items:flex-start;gap:4px;max-width:min(190px,100vw - 40px);margin:0;font-weight:500;line-height:1.12;transition:opacity .26s,color .22s,transform .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s;display:inline-flex;position:fixed;bottom:clamp(124px,15vh,176px);left:clamp(20px,4vw,56px);transform:translateY(10px)}.portfolio-esc-hint:before{content:"";opacity:.52;transform-origin:0;background:currentColor;width:28px;height:1px;margin:0 0 5px;transition:transform .36s cubic-bezier(.22,1,.36,1);display:block;transform:scaleX(.46)}body.home-projects-focus .portfolio-esc-hint{opacity:.42;visibility:visible;pointer-events:auto;transition-delay:.42s,.42s,.42s,0s;transform:translate(0,0)}body.home-projects-focus .portfolio-esc-hint:before{transition-delay:.46s;transform:scaleX(1)}body.home-projects-focus .portfolio-esc-hint:hover{color:#ffffffd6;opacity:.92;transition-delay:0s;transform:translateY(-2px)}body.home-projects-focus .portfolio-esc-hint:hover:before{opacity:.78;transition-delay:0s;transform:scaleX(1.22)}body.menu-open .portfolio-esc-hint,body.project-panel-open .portfolio-esc-hint{opacity:0;visibility:hidden;transition-delay:0s;transform:translateY(10px)}.globe-pin-trail{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.globe-pin-trail-line{fill:none;stroke:#ffffffeb;stroke-width:1px;stroke-linecap:round;filter:drop-shadow(0 0 10px #ffffff1f)}.globe-pin-trail-line.is-tracing{stroke-dasharray:1;animation:.42s cubic-bezier(.22,1,.36,1) both globe-pin-trail-draw}.globe-pin-label{opacity:0;visibility:hidden;pointer-events:none;z-index:3;will-change:transform, opacity;position:absolute;top:0;left:0}.globe-pin-label.is-visible{opacity:1;visibility:visible}.globe-pin-label.is-selected{z-index:5}.globe-pin-label-line{width:var(--pin-label-line-length,120px);transform-origin:0;height:1px;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(.08);opacity:0;background:#ffffffeb;position:absolute;top:0;left:0;box-shadow:0 0 10px #ffffff1f}.globe-pin-label-card{left:var(--pin-label-offset-x,88px);top:var(--pin-label-offset-y,-70px);text-transform:uppercase;min-width:142px;max-width:clamp(168px,16vw,238px);font-family:var(--font);letter-spacing:.14em;opacity:0;filter:blur(7px);gap:5px;padding-left:14px;line-height:.98;display:grid;position:absolute;transform:translateY(8px)}.globe-pin-label-title{color:#fffffff5;font-size:var(--text-label);letter-spacing:.12em;text-wrap:balance;font-weight:600;line-height:1.08;display:block}.globe-pin-label.is-visible .globe-pin-label-line{animation:.34s cubic-bezier(.22,1,.36,1) forwards globe-pin-label-line-in}.globe-pin-label.is-visible .globe-pin-label-card{animation:.42s cubic-bezier(.22,1,.36,1) 60ms forwards globe-pin-label-card-in}.globe-pin-label.is-selected .globe-pin-label-line{background:#ffffffeb;animation:.64s cubic-bezier(.2,.9,.22,1) forwards globe-pin-line-extend;box-shadow:0 0 12px #ffffff1f}.globe-pin-label.is-selected .globe-pin-label-card{visibility:hidden;opacity:0!important;animation:none!important}.project-panel{height:var(--viewport-height-max);opacity:0;visibility:hidden;pointer-events:none;z-index:30;clip-path:inset(0 100% 0 0);will-change:opacity, transform, clip-path, filter;background:#050608;border-left:1px solid #ffffff24;position:fixed;top:0;left:calc(50% + min(100vw,1440px)/8);right:0;overflow:visible;transform:translate(14px);box-shadow:-22px 0 70px #0006,inset 1px 0 #ffffff08}.project-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;animation:.86s cubic-bezier(.16,1,.3,1) both project-panel-reveal}.project-panel.is-closing{opacity:1;visibility:visible;pointer-events:none;animation:.56s cubic-bezier(.16,1,.3,1) both project-panel-hide}.project-panel:before,.project-panel:after{content:"";pointer-events:none;display:none;position:absolute;inset:0}.project-panel-scanline,.project-panel-grid{pointer-events:none;position:absolute;inset:0}.project-panel-scanline{opacity:0;background:linear-gradient(#0000 0%,#ffffff1f 48%,#0000 100%);transform:translateY(-100%)}.project-panel.is-open .project-panel-scanline{animation:1.5s cubic-bezier(.22,1,.36,1) .1s both project-panel-scanline}.project-panel-grid{opacity:.18;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:100% 44px,44px 100%;-webkit-mask-image:linear-gradient(#000c,#0000);mask-image:linear-gradient(#000c,#0000)}.project-panel-shell{z-index:1;height:100%;position:relative;overflow:hidden}.project-panel.is-open .project-panel-shell{animation:.78s steps(2,end) both project-panel-shell-glitch}.project-panel-anchor{width:1px;height:26px;box-shadow:none;z-index:1;background:0 0;position:absolute;top:62px;left:0;transform:translate(-2px)}.project-panel-edge-line{opacity:0;pointer-events:none;z-index:38;background:#fffffffa;width:1px;height:26px;position:fixed;top:0;left:0;box-shadow:0 0 8px #ffffff1f}.project-panel-edge-line[hidden]{display:none!important}.project-panel-edge-line.is-open{opacity:1}.project-panel-edge-line.is-closing{opacity:1;animation:.56s cubic-bezier(.16,1,.3,1) both project-panel-edge-line-hide}.project-panel-body{z-index:2;height:100%;padding:66px 26px 48px 18px;display:block;position:relative;overflow:hidden}.project-panel-close{cursor:pointer;color:#ffffffeb;z-index:6;pointer-events:auto;background:0 0;border:0;width:20px;height:20px;margin-top:0;padding:0;position:absolute;top:66px;left:18px}.project-panel-close-icon{display:block;position:absolute;inset:0}.project-panel-close-icon:after{content:"";opacity:1;background:currentColor;width:0;height:1px;transition:width .22s,transform .22s;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.project-panel-close-icon span{background:currentColor;width:20px;height:1px;transition:top .22s,transform .22s,opacity .22s;position:absolute;left:0}.project-panel-close-icon span:first-child{top:1px;transform:translateY(8px)rotate(45deg)}.project-panel-close-icon span:nth-child(2){opacity:0;top:9px}.project-panel-close-icon span:nth-child(3){top:17px;transform:translateY(-8px)rotate(-45deg)}.project-panel-close:hover .project-panel-close-icon:after,.project-panel-close:focus-visible .project-panel-close-icon:after{width:20px;transform:translate(-50%,-50%)}.project-panel-close:hover .project-panel-close-icon span:first-child,.project-panel-close:focus-visible .project-panel-close-icon span:first-child{top:9px;transform:translateY(0)rotate(0)scaleX(0)}.project-panel-close:hover .project-panel-close-icon span:nth-child(2),.project-panel-close:focus-visible .project-panel-close-icon span:nth-child(2){opacity:0}.project-panel-close:hover .project-panel-close-icon span:nth-child(3),.project-panel-close:focus-visible .project-panel-close-icon span:nth-child(3){top:9px;transform:translateY(0)rotate(0)scaleX(0)}body.using-keyboard .project-panel-close:focus-visible{outline-offset:6px;outline:1px solid}.project-panel-scroll{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:22px;height:100%;padding-top:0;padding-left:62px;padding-right:18px;display:flex;overflow-y:auto}.project-panel-scroll::-webkit-scrollbar{width:0;height:0}.project-panel-copy{gap:22px;max-width:min(100%,540px);margin-top:auto;display:grid}.glitch-heading-line{opacity:0;filter:blur(7px);transform:translateY(22px)}.project-panel.is-open .project-panel-title .glitch-heading-line{animation:.82s cubic-bezier(.22,1,.36,1) forwards heading-reveal}.project-panel.is-open .project-panel-title .glitch-heading-line:first-of-type{animation-delay:80ms}.project-panel.is-open .project-panel-title .glitch-heading-line:nth-of-type(2){animation-delay:.15s}.project-panel.is-open .project-panel-title .glitch-heading-line:nth-of-type(3){animation-delay:.22s}.project-panel-copy>*{opacity:0;filter:blur(8px);transform:translateY(18px)}.project-panel.is-open .project-panel-copy>*{animation:.76s cubic-bezier(.22,1,.36,1) forwards project-panel-copy-reveal}.project-panel.is-open .project-panel-copy>:first-child{animation-delay:.12s}.project-panel.is-open .project-panel-copy>:nth-child(2){animation-delay:.19s}.project-panel.is-open .project-panel-copy>:nth-child(3){animation-delay:.26s}.project-panel.is-open .project-panel-copy>:nth-child(4){animation-delay:.33s}.project-panel.is-open .project-panel-copy>:nth-child(5){animation-delay:.4s}.project-panel.is-open .project-panel-copy>:nth-child(6){animation-delay:.47s}.project-panel-section-label,.project-panel-meta-item{text-transform:uppercase;letter-spacing:.18em}.project-panel-title{color:#fffffffa;max-width:470px;font-size:var(--text-display);letter-spacing:.005em;text-transform:uppercase;font-weight:500;line-height:.92;font-family:var(--title-font);flex-direction:column;align-items:flex-start;gap:2px;margin:-8px 0 0;display:flex;position:relative}.project-panel-title:before,.project-panel-title:after{content:attr(data-text);color:#fffffffa;opacity:0;pointer-events:none;white-space:pre-wrap;position:absolute;inset:0}.project-panel.is-open .project-panel-title:before,.project-panel.is-open .project-panel-title:after{animation-duration:.76s;animation-timing-function:steps(2,end);animation-fill-mode:both}.project-panel.is-open .project-panel-title:before{animation-name:heading-glitch-a}.project-panel.is-open .project-panel-title:after{animation-name:heading-glitch-b;animation-delay:80ms}.project-panel-meta{flex-wrap:wrap;gap:14px;display:flex}.project-panel-meta-item{color:#ffffff9e;min-height:0;font-size:var(--text-label);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.project-panel-meta-item+.project-panel-meta-item:before{content:"/";color:#ffffff47;margin-right:14px}.project-panel-summary,.project-panel-client-name,.project-panel-client-meta{color:#ffffffc2;font-size:var(--text-body);letter-spacing:-.01em;line-height:1.56;font-family:var(--body-font);margin:0}.project-panel-summary{max-width:42rem}.project-panel-section{border-top:1px solid #ffffff1f;gap:10px;padding-top:18px;display:grid}.project-panel-section-label{color:#ffffff8a;font-size:var(--text-label);letter-spacing:.14em;align-items:center;gap:9px;font-weight:500;display:inline-flex}.project-panel-section-label:before{content:"";background:currentColor;width:30px;height:1px}.project-panel-client{gap:12px;display:grid}.project-panel-client-name,.project-panel-client-meta{opacity:0;filter:blur(6px);transform:translateY(18px)}.project-panel-client-meta{color:#ffffff8a;font-size:var(--text-label);letter-spacing:.14em;margin:0;font-weight:500;line-height:1.2}.project-panel-client-meta .project-panel-meta-item{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.project-panel.is-open .project-panel-client-name,.project-panel.is-open .project-panel-client-meta{animation:.76s cubic-bezier(.22,1,.36,1) forwards body-reveal}.project-panel.is-open .project-panel-client-name{animation-delay:.46s}.project-panel.is-open .project-panel-client-meta{animation-delay:.62s}.project-panel-scroll-rail{pointer-events:none;width:10px;position:absolute;top:66px;bottom:42px;right:18px}.project-panel-scroll-rail:before{content:"";background:#ffffff1f;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.project-panel-scroll-thumb{opacity:0;background:#ffffffd6;width:1px;min-height:44px;margin-left:0;position:absolute;top:20px;left:50%;transform:translate(0,0)}body.is-ready .corner-text-left:not(.corner-text-deferred){animation:.72s cubic-bezier(.22,1,.36,1) .12s both corner-text-reveal-left}body.is-ready .corner-text-right:not(.corner-text-deferred){animation:.72s cubic-bezier(.22,1,.36,1) .18s both corner-text-reveal-right}body.is-ready .corner-text-left:not(.corner-text-deferred):before{animation:.42s cubic-bezier(.22,1,.36,1) 60ms both corner-line-build-left}body.is-ready .corner-text-right:not(.corner-text-deferred):before{animation:.42s cubic-bezier(.22,1,.36,1) .12s both corner-line-build-right}body.is-ready .corner-text-left:not(.corner-text-deferred):after{animation:.52s steps(2,end) .15s both corner-text-glitch-left}body.is-ready .corner-text-right:not(.corner-text-deferred):after{animation:.52s steps(2,end) .21s both corner-text-glitch-right}body.home-projects-focus .hero-copy{pointer-events:none}body.home-projects-focus .title-glitch{animation:.64s cubic-bezier(.22,1,.36,1) both home-title-exit}body.home-projects-focus .hero-subtitle{animation:.54s cubic-bezier(.22,1,.36,1) both home-subtitle-exit}body.home-projects-focus .title-glitch.title-intro-pending,body.home-projects-focus .hero-subtitle.title-intro-pending{opacity:0!important;animation:none!important}@media (min-width:992px){body.route-leaving #route-shell,body.route-leaving #page-root{pointer-events:none;animation:.6s cubic-bezier(.22,1,.36,1) both page-shell-leave}}@media (prefers-reduced-motion:reduce){body.route-leaving #route-shell,body.route-leaving #page-root{animation:none}}@media (min-width:992px){body.route-pan-exit-left #route-shell,body.route-pan-exit-left #page-root,body.route-pan-exit-left #globe-root{pointer-events:none;animation:1s cubic-bezier(.4,0,1,1) both page-pan-exit-left}body.route-pan-exit-right #route-shell,body.route-pan-exit-right #page-root,body.route-pan-exit-right #globe-root{pointer-events:none;animation:1s cubic-bezier(.4,0,1,1) both page-pan-exit-right}body.portfolio-page #globe-root{transition:opacity .7s cubic-bezier(.22,1,.36,1)}body.route-pan-exit-left #route-shell,body.route-pan-exit-right #route-shell,body.about-page.route-pan-exit-left #page-root,body.about-page.route-pan-exit-right #page-root{min-height:var(--viewport-height-max,100vh)}body.about-page.route-pan-exit-left #route-shell,body.about-page.route-pan-exit-right #route-shell{position:fixed;inset:0}body.about-page.route-leaving #route-shell,body.about-page.route-leaving #page-root{animation:.56s cubic-bezier(.22,1,.36,1) both page-pan-exit-fade}body.project-page.route-pan-exit-left #route-shell,body.project-page.route-pan-exit-right #route-shell,body.project-page.route-pan-exit-left #page-root,body.project-page.route-pan-exit-right #page-root{min-height:var(--viewport-height-max,100vh);position:fixed;inset:0}html.menu-open body.route-pan-exit-left #route-shell,html.menu-open body.route-pan-exit-right #route-shell,html.menu-open body.route-leaving #route-shell{min-height:0;animation:none;position:static;inset:auto;transform:none}}@media (prefers-reduced-motion:reduce){body.route-pan-exit-left #route-shell,body.route-pan-exit-left #page-root,body.route-pan-exit-left #globe-root,body.route-pan-exit-right #route-shell,body.route-pan-exit-right #page-root,body.route-pan-exit-right #globe-root{animation:none}}.bottom-logo{aspect-ratio:1;isolation:isolate;opacity:0;will-change:transform, opacity, clip-path;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.bottom-logo.footer-mark-deferred{opacity:0}.site-legal{white-space:nowrap;font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;pointer-events:none;opacity:0;z-index:12;align-items:baseline;gap:9px;transition:opacity .7s;display:flex;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}body.is-ready .site-legal,body.menu-open.home-page .site-legal,body.menu-closing.home-page .site-legal,body.menu-open.portfolio-page .site-legal,body.menu-closing.portfolio-page .site-legal{opacity:1}body.about-page .site-legal{opacity:0}body.menu-open.about-page .site-legal,body.menu-closing.about-page .site-legal,body.menu-open.contact-page .site-legal,body.menu-closing.contact-page .site-legal,body.menu-open.project-page .site-legal,body.menu-closing.project-page .site-legal{transition:opacity .3s}body.menu-open:not(.menu-closing).about-page .site-legal,body.menu-open:not(.menu-closing).contact-page .site-legal,body.menu-open:not(.menu-closing).project-page .site-legal{opacity:1}.site-legal-mark{align-items:baseline;display:inline-flex}.site-legal-symbol{text-transform:none;font-family:Arial,Helvetica,sans-serif;transform:translateY(.04em)}.site-legal-sep{color:#ffffff52}.site-legal-link{color:#ffffffd1;pointer-events:auto;text-decoration:none;transition:color .22s;display:inline-block;position:relative}.site-legal-link-line{pointer-events:none;z-index:0;background:currentColor;width:0;height:1px;transition:width .18s;position:absolute;top:51%;left:-1px;transform:translateY(-50%)}.site-legal-link-label{z-index:1;position:relative}.site-legal-link:hover,.site-legal-link:focus-visible{color:#fff}.site-legal-link:hover .site-legal-link-line,.site-legal-link:focus-visible .site-legal-link-line{width:calc(100% + 10px)}body.using-keyboard .site-legal-link:focus-visible{outline-offset:4px;outline:1px solid}@media (max-width:991px){.site-legal{display:none}}.bottom-logo-base,.bottom-logo-layer{font-family:var(--font);letter-spacing:.02em;text-transform:uppercase;color:#fffffff5;place-items:center;font-size:19px;font-weight:600;line-height:1;display:grid}.bottom-logo-base{z-index:1;opacity:1;width:100%;height:100%;position:relative}.bottom-logo-layer{opacity:0;pointer-events:none;will-change:transform, opacity, filter;position:absolute;inset:0}.bottom-logo-layer-a{clip-path:polygon(0 0,100% 0,100% 34%,0 26%)}.bottom-logo-layer-b{clip-path:polygon(0 34%,100% 24%,100% 72%,0 72%)}.bottom-logo-layer-c{clip-path:polygon(0 74%,100% 66%,100% 100%,0 100%)}body.is-ready .bottom-logo:not(.footer-mark-deferred){animation:.72s cubic-bezier(.22,1,.36,1) .14s both bottom-logo-rise}body.is-ready .bottom-logo:not(.footer-mark-deferred) .bottom-logo-layer-a{animation:.56s steps(2,end) .22s both bottom-logo-glitch-a}body.is-ready .bottom-logo:not(.footer-mark-deferred) .bottom-logo-layer-b{animation:.52s steps(2,end) .26s both bottom-logo-glitch-b}body.is-ready .bottom-logo:not(.footer-mark-deferred) .bottom-logo-layer-c{animation:.62s steps(2,end) .3s both bottom-logo-glitch-c}@keyframes float-line-a{0%,to{transform:translateY(0)}50%{transform:translateY(var(--grid-float-distance))}}@keyframes float-line-b{0%,to{transform:translateY(var(--grid-float-distance))}50%{transform:translateY(0)}}@keyframes float-line-c{0%,to{transform:translateY(0)}50%{transform:translateY(var(--grid-float-distance))}}@keyframes float-line-d{0%,to{transform:translateY(var(--grid-float-distance))}50%{transform:translateY(0)}}@keyframes marker-slice-a{0%,to{opacity:0;clip-path:inset(0);transform:translate(0)}9%{opacity:.45;clip-path:inset(3px 0 14px);transform:translate(-1px)}14%{opacity:.18;clip-path:inset(0 0 19px);transform:translate(1px)}19%{opacity:0;clip-path:inset(0);transform:translate(0)}}@keyframes marker-slice-b{0%,to{opacity:0;clip-path:inset(0);transform:translate(0)}11%{opacity:.4;clip-path:inset(10px 0 6px);transform:translate(1px)}17%{opacity:.16;clip-path:inset(1px 0 17px);transform:translate(-1px)}23%{opacity:0;clip-path:inset(0);transform:translate(0)}}@keyframes marker-slice-c{0%,to{opacity:0;clip-path:inset(0);transform:translate(0)}8%{opacity:.35;clip-path:inset(4px 0 12px);transform:translate(-1px)}13%{opacity:.14;clip-path:inset(13px 0 5px);transform:translate(1px)}18%{opacity:0;clip-path:inset(0);transform:translate(0)}}@keyframes marker-slice-d{0%,to{opacity:0;clip-path:inset(0);transform:translate(0)}10%{opacity:.42;clip-path:inset(8px 0);transform:translate(1px)}16%{opacity:.18;clip-path:inset(0 0 18px);transform:translate(-1px)}21%{opacity:0;clip-path:inset(0);transform:translate(0)}}@keyframes marker-echo{0%,to{opacity:0;transform:translate(0)}6%{opacity:.14;transform:translate(1px)}10%{opacity:0;transform:translate(0)}}@keyframes home-title-enter{0%{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(10px);transform:translate(34px)}18%{opacity:.42;clip-path:inset(0 0 0 68%);filter:blur(4px);transform:translate(18px)}48%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(-2px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes home-title-art-glitch{0%,to{opacity:1;filter:none;transform:translate(0,0)}12%{opacity:.38;filter:blur(.45px);transform:translate(0,0)}18%{opacity:1;filter:none;transform:translate(0,0)}26%{opacity:.56;filter:blur(.75px);transform:translate(0,0)}34%{opacity:1;filter:none;transform:translate(0,0)}58%{opacity:.68;filter:blur(.35px);transform:translate(0,0)}66%{opacity:1;filter:none;transform:translate(0,0)}74%{opacity:.78;filter:blur(.2px);transform:translate(0,0)}}@keyframes home-title-ghost{0%,to{opacity:0;filter:none;transform:translate(0,0)}12%{opacity:.18;filter:blur(.7px);transform:translate(-6px)}22%{opacity:.68;filter:blur(.35px);transform:translate(4px)}32%{opacity:.12;transform:translate(-3px)}44%{opacity:.54;filter:blur(.18px);transform:translate(2px)}56%{opacity:0;filter:none;transform:translate(0,0)}}@keyframes home-title-layer-a{0%,to{opacity:0;transform:translate(0,0)}14%{opacity:.28;transform:translate(-3px,-1px)}24%{opacity:.96;transform:translate(4px)}36%{opacity:.22;transform:translate(-4px,1px)}46%{opacity:0;transform:translate(0,0)}58%{opacity:.42;transform:translate(2px)}66%{opacity:0;transform:translate(0,0)}}@keyframes home-title-layer-b{0%,to{opacity:0;transform:translate(0,0)}10%{opacity:.22;transform:translate(3px)}18%{opacity:.92;transform:translate(-4px)skew(4deg)}28%{opacity:.18;transform:translate(4px,1px)}42%{opacity:.62;transform:translate(-3px)}50%{opacity:0;transform:translate(0,0)}62%{opacity:.34;transform:translate(2px)skew(-2deg)}70%{opacity:0;transform:translate(0,0)}}@keyframes home-title-layer-c{0%,to{opacity:0;transform:translate(0,0)}12%{opacity:.16;transform:translate(-2px)}20%{opacity:.82;transform:translate(4px)}32%{opacity:.22;transform:translate(-4px,1px)}44%{opacity:.38;transform:translate(3px)}54%{opacity:0;transform:translate(0,0)}64%{opacity:.26;transform:translate(-2px)}72%{opacity:0;transform:translate(0,0)}}@keyframes home-title-exit{0%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(8px);transform:translate(32px)}}@keyframes home-subtitle-enter{0%{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(6px);transform:translate(18px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes home-subtitle-exit{0%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(6px);transform:translate(18px)}}@keyframes page-shell-leave{0%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(8px);transform:translate(32px)}}@keyframes page-pan-exit-left{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-4vw)}}@keyframes page-pan-exit-right{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(4vw)}}@keyframes page-pan-exit-fade{0%{opacity:1}to{opacity:0}}@keyframes page-pan-enter-from-right-translate{0%{transform:translate(4vw)}to{transform:translate(0,0)}}@keyframes page-pan-enter-from-left-translate{0%{transform:translate(-4vw)}to{transform:translate(0,0)}}@keyframes page-pan-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes stars-drift-left{0%{transform:translate(0,0)}to{transform:translate(-20px)}}@keyframes stars-drift-right{0%{transform:translate(0,0)}to{transform:translate(20px)}}@keyframes constellation-line-in{0%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:0;opacity:.72}}@keyframes constellation-line-trace{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes constellation-star-pulse{0%,to{opacity:.56;transform:scale(.86)}42%{opacity:1;transform:scale(1.22)}58%{opacity:.72;transform:scale(.96)}}@keyframes constellation-star-signal{0%,to{opacity:1;filter:none}38%{opacity:.46;filter:blur(1px)}52%{opacity:1;filter:drop-shadow(3px 0 #ffffff2e)}}@keyframes menu-home-copy-return{0%{opacity:0;filter:blur(7px);transform:translate(10px)translateY(-50%)}to{opacity:1;filter:blur();transform:translate(0,0)translateY(-50%)}}@keyframes corner-text-reveal-left{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(6px);transform:translate(-14px)}54%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes page-shell-enter{0%{opacity:0;filter:blur(10px);transform:translateY(22px)}60%{opacity:1;filter:blur();transform:translate(0,0)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes globe-pin-trail-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes globe-pin-label-line-in{0%{opacity:0;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(.08)}35%{opacity:1}to{opacity:1;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(1)}}@keyframes globe-pin-label-card-in{0%{opacity:0;filter:blur(7px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes globe-pin-line-extend{0%{opacity:.12;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(.08)}52%{opacity:1;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(1.02)}to{opacity:1;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(1)}}@keyframes project-panel-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(10px);transform:translate(14px)}12%{opacity:.42;clip-path:inset(0 84% 0 0);filter:blur(7px);transform:translate(8px)}24%{opacity:.94;clip-path:inset(0 14% 0 0);filter:blur(1px);transform:translate(-6px)}34%{opacity:.72;clip-path:inset(0 18% 0 0);filter:blur(.5px);transform:translate(4px)}62%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes project-panel-hide{0%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}38%{opacity:.72;clip-path:inset(0 18% 0 0);filter:blur(.5px);transform:translate(4px)}52%{opacity:.94;clip-path:inset(0 14% 0 0);filter:blur(1px);transform:translate(-6px)}74%{opacity:.42;clip-path:inset(0 84% 0 0);filter:blur(7px);transform:translate(8px)}to{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(10px);transform:translate(14px)}}@keyframes project-panel-shell-glitch{0%,to{opacity:1;transform:translate(0,0)}10%{opacity:.68;transform:translate(9px)}16%{opacity:.94;transform:translate(-7px)}22%{opacity:.76;transform:translate(6px)}30%{opacity:.9;transform:translate(-4px)}38%{opacity:1;transform:translate(0,0)}}@keyframes project-panel-scanline{0%{opacity:0;transform:translateY(-100%)}10%{opacity:.85}to{opacity:0;transform:translateY(100%)}}@keyframes project-panel-copy-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes project-panel-edge-line-fade{0%{opacity:0}to{opacity:1}}@keyframes project-panel-edge-line-hide{0%{opacity:1}to{opacity:0}}@keyframes project-panel-media-glitch-a{0%,to{opacity:0;clip-path:inset(0 0 100%);transform:translate(0,0)}6%{opacity:0;clip-path:inset(12% 0 78%)}7.5%{opacity:.28;clip-path:inset(12% 0 78%);transform:translate(-20px)}8.5%{opacity:.16;clip-path:inset(52% 0 30%);transform:translate(14px)}9.5%{opacity:0;clip-path:inset(52% 0 30%);transform:translate(0,0)}47%{opacity:0;clip-path:inset(68% 0 16%)}48.5%{opacity:.2;clip-path:inset(68% 0 16%);transform:translate(18px)}49.5%{opacity:.1;clip-path:inset(24% 0 58%);transform:translate(-12px)}50.5%{opacity:0;clip-path:inset(24% 0 58%);transform:translate(0,0)}}@keyframes project-panel-media-glitch-b{0%,to{opacity:0;clip-path:inset(100% 0 0);transform:translate(0,0)}18%{opacity:0;clip-path:inset(36% 0 44%)}19.5%{opacity:.24;clip-path:inset(36% 0 44%);transform:translate(22px)}20.5%{opacity:.14;clip-path:inset(8% 0 82%);transform:translate(-14px)}21.5%{opacity:0;clip-path:inset(8% 0 82%);transform:translate(0,0)}72%{opacity:0;clip-path:inset(58% 0 22%)}73.5%{opacity:.18;clip-path:inset(58% 0 22%);transform:translate(-18px)}74.5%{opacity:.1;clip-path:inset(74% 0 10%);transform:translate(12px)}75.5%{opacity:0;clip-path:inset(74% 0 10%);transform:translate(0,0)}}@keyframes project-panel-media-edge-fracture-a{0%,to{opacity:0;clip-path:polygon(-4% -4%,18% 0,8% 12%,-3% 20%);transform:translate(0,0)}9%{opacity:0;clip-path:polygon(-4% -4%,18% 0,8% 12%,-3% 20%)}10.3%{opacity:.56;clip-path:polygon(-7% -6%,24% -1%,11% 22%,-6% 29%);transform:translate(-14px,-5px)}11.4%{opacity:.42;clip-path:polygon(-4% -3%,20% 0,10% 24%,-3% 31%);transform:translate(-8px,2px)}12.5%{opacity:.24;clip-path:polygon(74% -2%,104% 0,103% 25%,84% 35%);transform:translate(10px,2px)}13.7%{opacity:0;clip-path:polygon(74% -2%,104% 0,103% 25%,84% 35%);transform:translate(0,0)}55%{opacity:0;clip-path:polygon(-3% 80%,15% 66%,25% 104%,-4% 102%)}56.2%{opacity:.48;clip-path:polygon(-6% 72%,19% 56%,30% 106%,-7% 103%);transform:translate(-11px,3px)}57.2%{opacity:.32;clip-path:polygon(-3% 78%,16% 62%,26% 104%,-3% 102%);transform:translate(-6px,-1px)}58.2%{opacity:.2;clip-path:polygon(76% 56%,104% 66%,103% 104%,62% 103%);transform:translate(9px,-2px)}59.5%{opacity:0;clip-path:polygon(76% 56%,104% 66%,103% 104%,62% 103%);transform:translate(0,0)}}@keyframes project-panel-media-edge-fracture-b{0%,to{opacity:0;clip-path:polygon(-3% -3%,103% -3%,103% 6%,-3% 14%);transform:translate(0,0)}18%{opacity:0;clip-path:polygon(-3% -3%,103% -3%,103% 6%,-3% 14%)}19.4%{opacity:.42;clip-path:polygon(-6% -8%,106% -8%,106% 8%,-5% 18%);transform:translateY(-10px)}20.4%{opacity:.26;clip-path:polygon(-3% -4%,103% -4%,103% 8%,-3% 16%);transform:translateY(-4px)}21.4%{opacity:.18;clip-path:polygon(-3% 82%,103% 88%,103% 104%,-3% 103%);transform:translateY(8px)}22.6%{opacity:0;clip-path:polygon(-3% 82%,103% 88%,103% 104%,-3% 103%);transform:translate(0,0)}74%{opacity:0;clip-path:polygon(-3% 10%,11% 0,8% 100%,-3% 92%)}75.2%{opacity:.32;clip-path:polygon(-6% 2%,15% -4%,11% 104%,-6% 98%);transform:translate(-10px)}76.1%{opacity:.22;clip-path:polygon(-3% 8%,11% 0,8% 101%,-3% 94%);transform:translate(-4px)}77.1%{opacity:.18;clip-path:polygon(84% -8%,116% 2%,116% 98%,88% 108%);transform:translate(20px)}78.3%{opacity:0;clip-path:polygon(84% -8%,116% 2%,116% 98%,88% 108%);transform:translate(0,0)}}@keyframes project-panel-media-corner-chip-tl{0%,to{opacity:0;transform:translate(0,0)scale(1)}12%{opacity:0;transform:translate(0,0)scale(1)}13.2%{opacity:.68;transform:translate(-24px,-16px)scale(1.1)}14.1%{opacity:.46;transform:translate(-10px,-7px)scale(1.04)}15%{opacity:.24;transform:translate(12px,8px)scale(.97)}16.2%{opacity:0;transform:translate(0,0)scale(1)}60%{opacity:0}61.2%{opacity:.34;transform:translate(-12px,-8px)scale(1.03)}62.1%{opacity:.16;transform:translate(7px,4px)scale(.98)}63.1%{opacity:0;transform:translate(0,0)scale(1)}}@keyframes project-panel-media-corner-chip-br{0%,to{opacity:0;transform:translate(0,0)scale(1)}29%{opacity:0}30.2%{opacity:.62;transform:translate(20px,15px)scale(1.1)}31.1%{opacity:.4;transform:translate(8px,6px)scale(1.03)}32%{opacity:.22;transform:translate(-10px,-7px)scale(.97)}33.2%{opacity:0;transform:translate(0,0)scale(1)}84%{opacity:0}85.1%{opacity:.3;transform:translate(12px,8px)scale(1.03)}85.9%{opacity:.15;transform:translate(-6px,-4px)scale(.98)}86.8%{opacity:0;transform:translate(0,0)scale(1)}}@keyframes heading-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(28px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes body-reveal{0%{opacity:0;filter:blur(6px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes heading-glitch-a{0%,to{opacity:0;transform:translate(0,0)}12%{opacity:.82;transform:translate(-2px,-1px)}24%{opacity:.18;transform:translate(3px,1px)}38%{opacity:.74;transform:translate(-1px)}52%{opacity:0;transform:translate(0,0)}}@keyframes heading-glitch-b{0%,to{opacity:0;transform:translate(0,0)}14%{opacity:.24;transform:translate(3px)}26%{opacity:.72;transform:translate(-2px,1px)}42%{opacity:.14;transform:translate(2px,-1px)}56%{opacity:0;transform:translate(0,0)}}@keyframes line-build-in{0%{opacity:0;transform:scaleX(.015)}16%{opacity:1;transform:scaleX(.015)}24%{opacity:.3;transform:scaleX(.015)}36%{opacity:1;transform:scaleX(.05)}to{opacity:1;transform:scaleX(1)}}@keyframes line-build-up{0%{opacity:0;height:1px}18%{opacity:1;height:1px}28%{opacity:.35;height:1px}to{opacity:1;height:22px}}@keyframes line-build-down{0%{opacity:0;height:1px}18%{opacity:1;height:1px}28%{opacity:.35;height:1px}to{opacity:1;height:22px}}@keyframes project-cta-line-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes project-cta-line-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes menu-page-cover-up{0%{opacity:1;clip-path:inset(0)}to{opacity:1;clip-path:inset(0 0 100%)}}@keyframes corner-text-reveal-right{0%{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(6px);transform:translate(14px)}54%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes corner-line-build-left{0%{opacity:0;transform:translateY(-50%)scaleX(.02)}26%{opacity:1}to{opacity:.82;transform:translateY(-50%)scaleX(1)}}@keyframes corner-line-build-right{0%{opacity:0;transform:translateY(-50%)scaleX(.02)}26%{opacity:1}to{opacity:.82;transform:translateY(-50%)scaleX(1)}}@keyframes corner-text-glitch-left{0%,to{opacity:0;transform:translate(0,0)}12%{opacity:.28;clip-path:inset(0 0 55%);transform:translate(-5px)}22%{opacity:.1;clip-path:inset(44% 0 18%);transform:translate(2px)}30%{opacity:0;clip-path:inset(0);transform:translate(0,0)}}@keyframes corner-text-glitch-right{0%,to{opacity:0;transform:translate(0,0)}12%{opacity:.28;clip-path:inset(0 0 55%);transform:translate(5px)}22%{opacity:.1;clip-path:inset(44% 0 18%);transform:translate(-2px)}30%{opacity:0;clip-path:inset(0);transform:translate(0,0)}}@keyframes footer-mark-reveal{0%{opacity:0;filter:blur(6px);transform:translate(-50%,12px)}60%{opacity:1;filter:blur();transform:translate(-50%)}to{opacity:1;filter:blur();transform:translate(-50%)}}@keyframes bottom-logo-rise{0%{opacity:0;clip-path:inset(100% 0 0);transform:translate(-50%,14px)}54%{opacity:1;clip-path:inset(0);transform:translate(-50%)}to{opacity:1;clip-path:inset(0);transform:translate(-50%)}}@keyframes bottom-logo-glitch-a{0%,to{opacity:0;transform:translate(0,0)}14%{opacity:.34;filter:blur(.3px);transform:translate(-5px,-3px)}24%{opacity:.12;transform:translate(3px,1px)}34%{opacity:0;transform:translate(0,0)}}@keyframes bottom-logo-glitch-b{0%,to{opacity:0;transform:translate(0,0)}12%{opacity:.26;transform:translate(4px,-2px)}22%{opacity:.08;filter:blur(.35px);transform:translate(-2px,2px)}30%{opacity:0;transform:translate(0,0)}}@keyframes bottom-logo-glitch-c{0%,to{opacity:0;transform:translate(0,0)}16%{opacity:.3;transform:translate(-3px,-1px)}26%{opacity:.1;filter:blur(.35px);transform:translate(5px,2px)}36%{opacity:0;transform:translate(0,0)}}@keyframes glitch-slice-a{0%,to{opacity:0;filter:none;transform:translate(0,0)}8%{opacity:.35;filter:blur(.4px);transform:translate(-18px,-3px)}16%{opacity:.9;transform:translate(14px)}26%{opacity:.55;transform:translate(-22px,2px)}40%{opacity:.15;transform:translate(9px,-2px)skew(-6deg)}55%{opacity:0;transform:translate(0,0)}}@keyframes glitch-slice-b{0%,to{opacity:0;filter:none;transform:translate(0,0)}10%{opacity:.3;transform:translate(20px)}21%{opacity:.95;filter:blur(.5px);transform:translate(-12px,1px)skew(10deg)}34%{opacity:.45;transform:translate(26px,-2px)}49%{opacity:.1;transform:translate(-3px)}63%{opacity:0;transform:translate(0,0)}}@keyframes glitch-slice-c{0%,to{opacity:0;filter:none;transform:translate(0,0)}14%{opacity:.32;transform:translate(-15px,2px)}24%{opacity:.88;transform:translate(19px,-4px)skew(-7deg)}37%{opacity:.42;filter:blur(.5px);transform:translate(-28px,3px)}52%{opacity:.12;transform:translate(5px)}68%{opacity:0;transform:translate(0,0)}}@keyframes loader-label{0%,to{opacity:.45;letter-spacing:.32em}50%{opacity:.9;letter-spacing:.4em}}@keyframes loader-glitch-a{0%,to{opacity:0;transform:translate(0,0)}8%{opacity:.88;transform:translate(-8px,-2px)skew(-8deg)}14%{opacity:.36;transform:translate(6px,1px)}19%{opacity:0;transform:translate(0,0)}44%{opacity:.62;transform:translate(5px,-1px)}50%{opacity:0;transform:translate(0,0)}70%{opacity:.76;transform:translate(-7px)skew(8deg)}76%{opacity:0;transform:translate(0,0)}}@keyframes loader-glitch-b{0%,to{opacity:0;transform:translate(0,0)}10%{opacity:.22;transform:translate(7px)}18%{opacity:.88;transform:translate(-9px,1px)skew(10deg)}24%{opacity:.42;transform:translate(8px,-1px)}29%{opacity:0;transform:translate(0,0)}54%{opacity:.7;transform:translate(-6px,2px)skew(-8deg)}60%{opacity:0;transform:translate(0,0)}78%{opacity:.54;transform:translate(8px,-1px)skew(-8deg)}84%{opacity:0;transform:translate(0,0)}}@keyframes loader-glitch-c{0%,to{opacity:0;transform:translate(0,0)}7%{opacity:.56;transform:translate(6px,1px)skew(-6deg)}12%{opacity:.24;transform:translate(-7px,-1px)}17%{opacity:0;transform:translate(0,0)}40%{opacity:.62;transform:translate(-7px,2px)}46%{opacity:.28;transform:translate(4px,-1px)}52%{opacity:0;transform:translate(0,0)}72%{opacity:.66;transform:translate(-6px,3px)skew(6deg)}78%{opacity:0;transform:translate(0,0)}}@keyframes loader-glitch-d{0%,to{opacity:0;transform:translate(0,0)scaleX(1)}16%{opacity:.7;transform:translate(-8px,-2px)scaleX(1.02)}24%{opacity:.28;transform:translate(7px,1px)scaleX(.99)}30%{opacity:0;transform:translate(0,0)scaleX(1)}56%{opacity:.62;transform:translate(8px,-2px)}62%{opacity:0;transform:translate(0,0)}}@keyframes loader-glitch-flash{0%,to{opacity:0;transform:translate(-120%)skew(-18deg)}22%{opacity:0;transform:translate(-120%)skew(-18deg)}28%{opacity:.74;transform:translate(12%)skew(-18deg)}32%{opacity:0;transform:translate(110%)skew(-18deg)}66%{opacity:0;transform:translate(-120%)skew(18deg)}72%{opacity:.62;transform:translate(20%)skew(18deg)}76%{opacity:0;transform:translate(110%)skew(18deg)}}@keyframes loader-glow-pulse{0%,to{opacity:.08;transform:scale(.98)}50%{opacity:.26;transform:scale(1.06)}}@keyframes loader-base-flicker{0%,to{opacity:1;transform:translate(0,0)}8%{opacity:.08;transform:translate(0,0)}12%{opacity:1;transform:translate(1px)}16%{opacity:.16;transform:translate(-1px)}20%{opacity:1;transform:translate(0,0)}34%{opacity:0;transform:translate(0,0)}38%{opacity:1;transform:translate(0,0)}54%{opacity:.12;transform:translate(0,0)}58%{opacity:1;transform:translate(-1px)}62%{opacity:.18;transform:translate(1px)}68%{opacity:1;transform:translate(0,0)}82%{opacity:.04;transform:translate(0,0)}86%{opacity:1;transform:translate(0,0)}}@keyframes loader-tear{0%,to{opacity:0;transform:translateY(0)}18%{opacity:.34;transform:translateY(-4px)}24%{opacity:0;transform:translateY(2px)}48%{opacity:.3;transform:translateY(5px)}56%{opacity:0;transform:translateY(-2px)}72%{opacity:.38;transform:translateY(-5px)}80%{opacity:0;transform:translateY(0)}}@keyframes loader-mark-shift{0%,to{transform:translate(0,0)}18%{transform:translate(1px)}20%{transform:translate(-1px)}22%{transform:translate(0,0)}58%{transform:translate(-1px)}60%{transform:translate(1px)}62%{transform:translate(0,0)}}@keyframes loader-label-base-flicker{0%,to{opacity:1;transform:translate(0,0)}12%{opacity:.24}16%{opacity:1;transform:translate(1px)}20%{opacity:.5;transform:translate(-1px)}24%{opacity:1;transform:translate(0,0)}58%{opacity:.2}64%{opacity:1}}@keyframes loader-label-glitch-a{0%,to{opacity:0;transform:translate(0,0)}14%{opacity:.72;transform:translate(-5px)skew(-10deg)}20%{opacity:0;transform:translate(0,0)}54%{opacity:.58;transform:translate(4px)}60%{opacity:0;transform:translate(0,0)}}@keyframes loader-label-glitch-b{0%,to{opacity:0;transform:translate(0,0)}10%{opacity:.5;transform:translate(4px)}16%{opacity:0;transform:translate(0,0)}44%{opacity:.68;transform:translate(-4px)skew(8deg)}50%{opacity:0;transform:translate(0,0)}74%{opacity:.42;transform:translate(3px)}80%{opacity:0;transform:translate(0,0)}}@keyframes menu-logo-glitch-a{0%,to{opacity:0;filter:none;transform:rotate(-90deg)translate(0,0)}10%{opacity:.3;filter:blur(.35px);transform:rotate(-90deg)translate(-8px,-2px)}20%{opacity:.85;transform:rotate(-90deg)translate(7px)}32%{opacity:.2;transform:rotate(-90deg)translate(-11px,1px)}46%{opacity:0;transform:rotate(-90deg)translate(0,0)}}@keyframes menu-logo-glitch-b{0%,to{opacity:0;filter:none;transform:rotate(-90deg)translate(0,0)}14%{opacity:.25;transform:rotate(-90deg)translate(10px)}24%{opacity:.8;filter:blur(.4px);transform:rotate(-90deg)translate(-6px,1px)}36%{opacity:.18;transform:rotate(-90deg)translate(12px,-1px)}48%{opacity:0;transform:rotate(-90deg)translate(0,0)}}@keyframes menu-logo-line-a{0%,to{opacity:0;transform:translate(-50%)translateY(0)}12%{opacity:.85;transform:translate(-50%)translateY(-2px)}22%{opacity:.18;transform:translate(-50%)translateY(1px)}30%{opacity:0;transform:translate(-50%)translateY(0)}}@keyframes menu-logo-line-b{0%,to{opacity:0;transform:translate(-50%)translateY(0)}16%{opacity:.72;transform:translate(-50%)translateY(2px)}24%{opacity:.12;transform:translate(-50%)translateY(-1px)}34%{opacity:0;transform:translate(-50%)translateY(0)}}@keyframes menu-reveal-vertical{0%{opacity:0;clip-path:inset(0 0 100%);filter:blur(4px)}to{opacity:1;clip-path:inset(0);filter:blur()}}@keyframes menu-hide-vertical{0%{opacity:1;clip-path:inset(0);filter:blur()}to{opacity:0;clip-path:inset(100% 0 0);filter:blur(4px)}}@keyframes menu-scan-line{0%{opacity:0;transform:translateY(-20px)}8%{opacity:1}to{opacity:1;transform:translateY(var(--menu-scan-distance))}}@keyframes menu-scan-line-out{0%{opacity:1;transform:translateY(var(--menu-scan-distance))}to{opacity:0;transform:translateY(0)}}@keyframes menu-scan-band{0%{opacity:0;transform:translateY(-140px)}10%{opacity:1}to{opacity:0;transform:translateY(var(--menu-scan-band-distance))}}@keyframes menu-scan-band-out{0%{opacity:0;transform:translateY(var(--menu-scan-band-distance))}10%{opacity:1}to{opacity:0;transform:translateY(-140px)}}@media (prefers-reduced-motion:reduce){.grid-marker,.grid-marker:before,.grid-marker:after,.site-loader-glitch,.site-loader *,.site-loader :before,.site-loader :after,.menu-art-layer-a,.menu-art-layer-b,.menu-art-line-a,.menu-art-line-b,.title-glitch .title-layer-a,.title-glitch .title-layer-b,.title-glitch .title-layer-c{animation:none!important}.title-glitch,.hero-subtitle,.corner-text:not(.corner-text-deferred){opacity:1;clip-path:none;filter:none;transform:none}.corner-text:not(.corner-text-deferred):before,.corner-text:not(.corner-text-deferred):after{opacity:0}.bottom-logo:not(.footer-mark-deferred){opacity:1;filter:none;transform:translate(-50%)}.bottom-logo-layer{opacity:0}.globe-pin-label,.globe-pin-label-line,.globe-pin-label-card,.personal-constellation,.personal-constellation-line,.personal-star-core,.personal-star-preview,.project-panel,.project-panel-scanline{transition:none!important;animation:none!important}.globe-pin-label.is-visible .globe-pin-label-line{opacity:1;transform:rotate(var(--pin-label-line-angle,-38deg)) scaleX(1)}.globe-pin-label.is-visible .globe-pin-label-card{opacity:1;filter:none;transform:translate(0,0)}.personal-constellation{opacity:.68;filter:none;transform:none}.personal-constellation-line{stroke-dashoffset:0;opacity:.72}.personal-star-core{opacity:.86;transform:none}.project-panel.is-open{opacity:1;visibility:visible;filter:none;clip-path:none;transform:none}body.menu-open .menu-art,body.menu-open .menu-nav{clip-path:none}}@media (max-width:991px){:root{--mobile-edge:clamp(18px, 5.2vw, 24px)}.personal-constellation{display:none}.site-loader-inner{gap:18px}#globe-root{transform:translate(-6vw,5vh)}.project-panel{width:min(100vw,100%);left:0}.project-panel-body{padding:24px 18px 28px}.project-panel-scroll{gap:22px;padding-left:38px;padding-right:12px}.project-panel-scroll-rail{top:24px;bottom:24px;right:8px}.project-panel-anchor{width:1px;height:22px;top:24px;transform:translate(-2px)}.project-panel-edge-line{width:1px;height:22px;top:0;left:0}.project-panel-close{width:36px;height:36px;margin-top:0}.globe-pin-label.is-selected .globe-pin-label-card{min-width:120px;padding:10px 12px}.site-loader-mark{width:50px}.ui-shell{width:100%;padding:0 var(--mobile-edge)}.ui-inner{inset:0 var(--mobile-edge)}.hero-copy{width:min(272px,58vw);top:22%;left:auto;right:0;transform:none}.title-glitch{margin-left:auto}.hero-subtitle{font-size:var(--text-label);letter-spacing:.16em;margin-top:10px}.corner-text{font-size:var(--text-label);max-width:86px;bottom:28px}.corner-text:before{width:18px}.corner-text-left:before{right:calc(100% + 9px)}.corner-text-right:before{left:calc(100% + 9px)}.bottom-logo{width:18px;height:18px;bottom:28px}.menu-trigger{top:28px;left:0}.menu-art{width:100px;top:108px;left:0}.menu-nav{gap:30px;width:220px;top:22%}.menu-link{font-size:1.32rem}.menu-trigger{top:max(22px, env(safe-area-inset-top));gap:11px;min-height:44px;left:0}.menu-icon{width:22px}.menu-label{font-size:var(--text-label);letter-spacing:.16em}.menu-panel{background:linear-gradient(#050608fa,#030406fe)}.menu-art{opacity:.72;width:clamp(76px,24vw,104px);top:126px;left:0}.menu-nav{top:auto;right:0;bottom:max(112px, calc(env(safe-area-inset-bottom) + 94px));gap:24px;width:min(78vw,292px)}.menu-link{letter-spacing:.015em;min-height:44px;font-size:clamp(2.1rem,11.8vw,3.15rem);line-height:.86}.menu-link:after{height:1px;margin-left:14px}}@media (max-width:767px){body:not(.about-page) .grid-lines{opacity:.52}body:not(.about-page) .grid-line:nth-child(2),body:not(.about-page) .grid-line:nth-child(4){opacity:.34}.ui-shell{padding:0 var(--mobile-edge)}.ui-inner{inset:0 var(--mobile-edge)}#globe-root{transform:none}.hero-copy{left:var(--mobile-edge);right:var(--mobile-edge);width:auto;top:46%;transform:translateY(-50%)}.title-glitch{width:min(100%,390px);margin-left:auto;margin-right:auto}.hero-subtitle{text-align:center;font-size:var(--text-label);letter-spacing:.18em;margin-top:14px}.globe-action{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:44px;font-size:var(--text-label);letter-spacing:.16em;background:#05060842;border:1px solid #ffffff24;padding:0 12px}.globe-action-line{left:12px;right:12px}.corner-text{bottom:max(22px, calc(env(safe-area-inset-bottom) + 18px));font-size:var(--text-label);letter-spacing:.13em;opacity:.76}.corner-text-left{max-width:70px}.corner-text-right{max-width:78px}.bottom-logo{bottom:max(24px, calc(env(safe-area-inset-bottom) + 20px));width:18px;height:18px}.portfolio-esc-hint{left:var(--mobile-edge);bottom:max(86px, calc(env(safe-area-inset-bottom) + 78px));max-width:min(248px, calc(100vw - (var(--mobile-edge) * 2)));font-size:var(--text-label);letter-spacing:.14em;white-space:normal}.globe-pin-label-card{letter-spacing:.12em;min-width:104px;padding-left:10px}.project-panel{width:100%;height:var(--viewport-height-max);clip-path:inset(100% 0 0);border-top:1px solid #ffffff29;border-left:0;inset:0;transform:translateY(18px);box-shadow:0 -28px 80px #0000009e}.project-panel:before{opacity:.58;background:linear-gradient(#ffffff14,#0000 92px),radial-gradient(circle at 50% 0,#ffffff14,#0000 38%);display:block}.project-panel-body{padding:max(58px, calc(env(safe-area-inset-top) + 48px)) var(--mobile-edge) max(34px, calc(env(safe-area-inset-bottom) + 28px))}.project-panel.is-open{animation:.72s cubic-bezier(.16,1,.3,1) both mobile-project-panel-reveal}.project-panel.is-closing{animation:.48s cubic-bezier(.55,0,.45,1) both mobile-project-panel-hide}.project-panel-close{left:var(--mobile-edge);top:max(22px, calc(env(safe-area-inset-top) + 16px));width:44px;height:44px}.project-panel-close-icon{inset:12px}.project-panel-scroll{gap:20px;padding:0 10px 0 0}.project-panel-copy{gap:18px;max-width:100%;margin-top:auto}.project-panel-title{max-width:min(100%,360px);font-size:var(--text-display);line-height:.88}.project-panel-meta{gap:9px 12px}.project-panel-summary,.project-panel-client-name,.project-panel-client-meta{font-size:var(--text-body);line-height:1.5}.project-panel-scroll-rail,.project-panel-edge-line,.project-panel-anchor{display:none!important}}@keyframes mobile-project-panel-reveal{0%{opacity:0;clip-path:inset(100% 0 0);filter:blur(10px);transform:translateY(28px)}42%{opacity:1;clip-path:inset(18% 0 0);filter:blur(2px);transform:translateY(8px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}}@keyframes mobile-project-panel-hide{0%{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)}to{opacity:0;clip-path:inset(100% 0 0);filter:blur(8px);transform:translateY(22px)}}@media (max-width:991px){html{height:auto;overflow:hidden auto}body.home-page{touch-action:pan-y;background:#050608;height:auto;min-height:100%;overflow:hidden auto}body.home-page #stars,body.home-page #globe-root,body.home-page .grid-lines{height:var(--viewport-height-max);position:absolute;top:0;bottom:auto}body.home-page #stars{height:var(--viewport-height-max);z-index:0;position:fixed;inset:0}body.home-page .grid-lines{z-index:1;opacity:.42}body.home-page #globe-root{z-index:2;opacity:.98;pointer-events:auto;transform:none}body.home-page #globe-root canvas{pointer-events:auto;touch-action:pan-y}body.home-page .overlay{z-index:20;pointer-events:none}body.home-page:after,body.about-page:after,body.contact-page:after,body.project-page:after{content:"";z-index:19;height:max(78px, calc(env(safe-area-inset-top) + 70px));opacity:0;pointer-events:none;background:#030406e6;transition:opacity .24s,transform .32s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;right:0;transform:translateY(-18px)}body.home-page.home-mobile-chrome-bar:after,body.about-page.home-mobile-chrome-bar:after,body.contact-page.home-mobile-chrome-bar:after,body.project-page.home-mobile-chrome-bar:after{opacity:1;transform:translate(0,0)}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body.about-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body.contact-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body.project-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger{color:#fffffff0}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after,body.about-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.about-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after,body.contact-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.contact-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after,body.project-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.project-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after{background:#fffffff0}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base,body.about-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base,body.contact-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base,body.project-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base{filter:none}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer,body.about-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer,body.contact-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer,body.project-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer{display:block}body.home-page .ui-shell,body.home-page .ui-inner{height:var(--viewport-height)}body.home-page .menu-trigger{left:auto;right:0;top:max(24px, calc(env(safe-area-inset-top) + 18px));transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),color .22s}body.home-page .menu-trigger .menu-label{order:1}body.home-page .menu-trigger .menu-icon{order:2}body:not(.home-page) .menu-trigger{left:auto;right:0;top:max(24px, calc(env(safe-area-inset-top) + 18px));transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),color .22s}body:not(.home-page) .menu-trigger .menu-label{order:1}body:not(.home-page) .menu-trigger .menu-icon{order:2}body.home-page .bottom-logo,body:not(.home-page) .bottom-logo{left:0;top:max(24px, calc(env(safe-area-inset-top) + 18px));width:28px;height:28px;transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),filter .22s;bottom:auto;transform:none}body:not(.home-page) .bottom-logo{opacity:1;clip-path:inset(0);pointer-events:auto;display:block}body.home-page.home-mobile-chrome-hidden:not(.menu-open) .menu-trigger,body.home-page.home-mobile-chrome-hidden:not(.menu-open) .bottom-logo,body:not(.home-page).home-mobile-chrome-hidden:not(.menu-open) .menu-trigger,body:not(.home-page).home-mobile-chrome-hidden:not(.menu-open) .bottom-logo{opacity:0;pointer-events:none;transform:translateY(-22px)}body.home-page .corner-text,body:not(.home-page) .corner-text{display:none}body.home-page .hero-copy{left:var(--mobile-edge);right:var(--mobile-edge);top:auto;bottom:max(56px, calc(env(safe-area-inset-bottom) + 46px));width:auto;transform:none}body.home-page .title-glitch{width:min(100%,420px);margin:0}body.home-page .hero-subtitle{text-align:left;max-width:220px;font-size:var(--text-label);letter-spacing:.18em;margin-top:16px;line-height:1.18}body.home-page .hero-copy{transition:opacity .36s,transform .52s cubic-bezier(.22,1,.36,1),filter .52s cubic-bezier(.22,1,.36,1)}body.home-page.home-mobile-scrolled .hero-copy{opacity:0;pointer-events:none;filter:blur(8px);transform:translateY(-18px)}body.home-page #globe-root{opacity:var(--home-mobile-globe-opacity,1);transition:opacity .18s linear}body.home-page.home-mobile-scrolled:not(.menu-open) .menu-trigger{color:#090b10eb}body.home-page.home-mobile-scrolled:not(.menu-open) .menu-icon span,body.home-page.home-mobile-scrolled:not(.menu-open) .menu-icon:after{background:#090b10eb}body.home-page.home-mobile-scrolled:not(.menu-open) .bottom-logo-base{filter:brightness(0)}body.home-page.home-mobile-scrolled:not(.menu-open) .bottom-logo-layer{display:none}body.home-page .globe-action,body.home-page .portfolio-esc-hint,body.home-page .globe-pin-label,body.home-page .project-panel,body.home-page .project-panel-edge-line{display:none!important}.home-mobile-page{z-index:2;color:#090b10eb;min-height:100vh;font-family:var(--font);pointer-events:none;display:block;position:relative}.home-mobile-hero-spacer{min-height:var(--viewport-height);pointer-events:none}.home-mobile-services,.home-mobile-projects,.home-mobile-footer{z-index:2;padding-left:var(--mobile-edge);padding-right:var(--mobile-edge);pointer-events:auto;background:linear-gradient(#f3f3ef 0%,#e8e8e2 100%);position:relative}.home-mobile-kicker{color:#090b1099;text-transform:uppercase;letter-spacing:.17em;font-size:var(--text-label);align-items:center;gap:10px;margin:0 0 22px;font-weight:600;line-height:1;display:inline-flex;position:relative}.home-mobile-kicker:before{content:"";background:currentColor;width:28px;height:1px}.home-mobile-heading{color:#090b10f5;text-transform:uppercase;max-width:9.2em;font-size:var(--text-display);letter-spacing:.005em;margin:0;font-weight:600;line-height:.86}.home-mobile-copy{color:#090b10ad;max-width:none;font-size:var(--text-body);letter-spacing:-.01em;margin:24px 0 0;line-height:1.5}.home-mobile-services{padding-top:clamp(58px,18vw,94px);padding-bottom:clamp(64px,18vw,102px)}.home-mobile-section-head{gap:0;margin-bottom:clamp(30px,9vw,48px);display:grid}.home-mobile-service-list{border-top:1px solid #090b102e;gap:0;display:grid}.home-mobile-service{border-bottom:1px solid #090b1024;grid-template-columns:42px minmax(0,1fr);gap:10px 18px;padding:22px 0;display:grid}.home-mobile-service>span{color:#090b1070;font-size:var(--text-label);letter-spacing:.14em;grid-row:1/span 2;font-weight:600}.home-mobile-service h3{color:#090b10f0;text-transform:uppercase;font-size:var(--text-title);margin:0;font-weight:600;line-height:.95}.home-mobile-service p{color:#090b10a3;max-width:24rem;font-size:var(--text-body);margin:0;line-height:1.5}.home-mobile-cta,.home-mobile-all-projects{color:#090b10f0;text-transform:uppercase;letter-spacing:.15em;min-height:54px;font-size:var(--text-label);justify-content:center;align-items:center;margin-top:34px;padding:18px 28px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:visible}.home-mobile-cta-fill,.home-mobile-cta-segment{pointer-events:none;position:absolute}.home-mobile-cta-fill{opacity:0;z-index:0;background:#090b10f0;transition:opacity .18s .18s;inset:0}.home-mobile-cta-segment{z-index:1;background:#090b10f0}.home-mobile-cta-segment-top,.home-mobile-cta-segment-bottom{width:calc(100% - 1px);height:1px;left:0}.home-mobile-cta-segment-top{top:0}.home-mobile-cta-segment-bottom{bottom:0}.home-mobile-cta-segment-left,.home-mobile-cta-segment-right{width:1px;height:22px}.home-mobile-cta-segment-left{bottom:0;left:0}.home-mobile-cta-segment-right{top:0;right:0}.home-mobile-cta-label{z-index:2;position:relative}.home-mobile-cta:hover,.home-mobile-cta:focus-visible{color:#f3f3ef}.home-mobile-cta:hover .home-mobile-cta-fill,.home-mobile-cta:focus-visible .home-mobile-cta-fill{opacity:1}.home-mobile-projects{padding-top:clamp(58px,18vw,94px);padding-bottom:clamp(64px,18vw,104px)}.home-mobile-project-list{gap:28px;display:grid}.home-mobile-project{color:#090b10eb;gap:12px;text-decoration:none;display:grid}.home-mobile-project-meta{color:#090b1085;text-transform:uppercase;letter-spacing:.16em;font-size:var(--text-label);margin-top:4px;font-weight:600}.home-mobile-project strong{color:#090b10f5;text-transform:uppercase;font-size:var(--text-title);font-weight:600;line-height:.92}.home-mobile-project>span:last-child{color:#090b10a3;max-width:28rem;font-size:var(--text-body);line-height:1.5}.home-mobile-all-projects{margin-top:38px;padding-left:0;padding-right:0}.home-mobile-all-projects:before{content:"";background:currentColor;width:34px;height:1px;margin-right:12px}.home-mobile-footer{min-height:42vh;padding-top:clamp(66px,20vw,112px);padding-bottom:max(34px, calc(env(safe-area-inset-bottom) + 28px));justify-items:start;gap:18px;display:grid}.home-mobile-footer img{filter:brightness(0);width:36px;height:36px}.home-mobile-footer p{color:#090b108f;text-transform:uppercase;letter-spacing:.16em;font-size:var(--text-label);align-self:end;margin:0;font-weight:600}.home-mobile-page .reveal-block{opacity:0;filter:blur(10px);transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .92s cubic-bezier(.22,1,.36,1),filter .92s cubic-bezier(.22,1,.36,1);transform:translateY(34px)}.home-mobile-page .reveal-block.is-visible{opacity:1;filter:blur();transform:translate(0,0)}}@media (min-width:992px){.home-mobile-page{display:none}}@media (max-width:991px){body.home-page{scroll-behavior:auto;overscroll-behavior-y:auto}body.home-page.home-mobile-dark-zone #globe-root{opacity:0}body.home-page.home-mobile-dark-zone:not(.menu-open) .menu-trigger{color:#ffffffeb}body.home-page.home-mobile-dark-zone:not(.menu-open) .menu-icon span,body.home-page.home-mobile-dark-zone:not(.menu-open) .menu-icon:after{background:#ffffffeb}body.home-page.home-mobile-dark-zone:not(.menu-open) .bottom-logo-base{filter:none}body.home-page.home-mobile-dark-zone:not(.menu-open) .bottom-logo-layer{display:block}.home-mobile-services,.home-mobile-projects,.home-mobile-footer{overflow:hidden}.home-mobile-services{background:linear-gradient(#f5f5f0 0%,#e6e6df 100%);padding-top:clamp(58px,18vw,92px);padding-bottom:clamp(66px,20vw,106px);box-shadow:0 -32px 80px #00000061}.home-mobile-services .home-mobile-section-head{margin-bottom:clamp(32px,10vw,52px)}.home-mobile-services .home-mobile-heading{max-width:8.7em;font-size:var(--text-display)}.home-mobile-service-list{border-top-color:#090b1038}.home-mobile-service{grid-template-columns:34px minmax(0,1fr);padding:clamp(24px,7.4vw,34px) 0}.home-mobile-service h3{font-size:var(--text-title)}.home-mobile-service p{max-width:20rem;font-size:var(--text-body)}.home-mobile-projects,.home-mobile-footer{color:#ffffffeb;background-color:#0000;background-image:radial-gradient(circle at 12% 10%,#ffffff1b,#0000 26%),radial-gradient(circle at 86% 32%,#ffffff0f,#0000 24%),linear-gradient(#050608fa,#020305);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.home-mobile-projects:before,.home-mobile-footer:before{content:"";opacity:.44;pointer-events:none;background-image:radial-gradient(circle,#ffffffdb 0 1px,#0000 1.4px),radial-gradient(circle,#ffffff57 0 1px,#0000 1.35px);background-position:7vw 12vw,18vw 4vw;background-size:36vw 43vw,58vw 61vw;position:absolute;inset:0}.home-mobile-projects>*,.home-mobile-footer>*{z-index:1;position:relative}.home-mobile-projects{padding-top:clamp(76px,22vw,122px);padding-bottom:clamp(42px,14vw,72px)}.home-mobile-projects-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:18px;margin-bottom:clamp(22px,7vw,36px)}.home-mobile-projects .home-mobile-kicker,.home-mobile-projects .home-mobile-heading,.home-mobile-footer{color:#fffffff0}.home-mobile-projects .home-mobile-kicker{color:#ffffff9e}.home-mobile-projects .home-mobile-heading{max-width:5.7em;font-size:var(--text-display)}.home-mobile-project-fields{color:#ffffff85;text-transform:uppercase;letter-spacing:.14em;width:max-content;font-size:var(--text-label);gap:10px;margin:0 0 clamp(36px,11vw,56px);animation:22s linear infinite mobile-field-drift;display:flex}.home-mobile-project-fields span{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.home-mobile-project-fields span:after{content:"|";color:#ffffff47}.home-mobile-project-list{gap:clamp(44px,14vw,78px)}.home-mobile-project{color:#ffffffeb;gap:14px}.home-mobile-project-date{color:#ffffff85;text-transform:uppercase;letter-spacing:.16em;font-size:var(--text-label);font-weight:600}.home-mobile-project-meta{color:#ffffff8a;margin-top:2px}.home-mobile-project strong{color:#fffffff5;max-width:none;font-size:var(--text-title);line-height:.84}.home-mobile-project:nth-child(2n) strong,.home-mobile-project:nth-child(2n) .home-mobile-project-meta,.home-mobile-project:nth-child(2n) .home-mobile-project-date{margin-left:clamp(28px,11vw,54px)}.home-mobile-all-projects{color:#ffffffe6;margin-top:clamp(48px,15vw,80px)}.home-mobile-footer{border-top:1px solid #ffffff1f;min-height:48vh;padding-top:clamp(46px,14vw,72px)}.home-mobile-footer img{filter:none}.home-mobile-footer p{color:#ffffff8f}.home-mobile-page .reveal-block{filter:blur(12px);transition-duration:.68s,.86s,.86s;transform:translateY(42px)}}@keyframes mobile-field-drift{0%{transform:translate(0,0)}to{transform:translate(-42%)}}@media (max-width:991px){html{min-height:100%;height:auto!important;overflow:hidden auto!important}body.home-page{-webkit-overflow-scrolling:touch;touch-action:pan-y;width:100%;min-height:100%;position:relative;height:auto!important;overflow:hidden auto!important}body.home-page #globe-root canvas{pointer-events:auto!important;touch-action:pan-y!important}body.home-page #globe-root{opacity:var(--home-mobile-globe-opacity,1);transition:opacity .18s linear;transform:none;pointer-events:auto!important}body.home-page.home-mobile-scrolled #globe-root{pointer-events:none!important}body.home-page.home-mobile-scrolled #globe-root canvas{pointer-events:none!important;touch-action:pan-y!important}body.home-page.home-mobile-dark-zone #globe-root{opacity:0!important;pointer-events:none!important}body.home-page.home-mobile-dark-zone #globe-root canvas{pointer-events:none!important;touch-action:pan-y!important}body.home-page .bottom-logo{top:max(20px, calc(env(safe-area-inset-top) + 14px));width:34px;height:34px}.home-mobile-services{padding-top:clamp(44px,13vw,68px)}.home-mobile-services .home-mobile-section-head{margin-top:0;margin-bottom:clamp(26px,8vw,42px)}.home-mobile-services .home-mobile-heading{max-width:6.2em;font-size:var(--text-display)}.home-mobile-services .home-mobile-copy{max-width:22rem}.home-mobile-projects,.home-mobile-footer{color:#ffffffeb;background:#0304065c}.home-mobile-projects:before,.home-mobile-footer:before{content:none}.home-mobile-projects>*,.home-mobile-footer>*{z-index:1;position:relative}.home-mobile-projects{padding-top:clamp(72px,22vw,118px);padding-bottom:clamp(54px,16vw,88px)}.home-mobile-projects-head{grid-template-columns:1fr;gap:16px;margin-bottom:clamp(24px,8vw,40px);display:grid}.home-mobile-projects .home-mobile-kicker{color:#ffffffad;margin-bottom:0}.home-mobile-projects .home-mobile-heading{max-width:6.8em;font-size:var(--text-display)}.home-mobile-project-fields{color:#ffffff94;width:auto;font-size:var(--text-label);flex-wrap:wrap;gap:8px 10px;margin:0 0 clamp(34px,11vw,58px);animation:none;display:flex}.home-mobile-project-fields span{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.home-mobile-project-fields span:after{content:"|";color:#ffffff47}.home-mobile-project-list{gap:clamp(52px,16vw,86px)}.home-mobile-project{gap:13px}.home-mobile-project-info{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.home-mobile-project-meta,.home-mobile-project-date{color:#ffffff8f;text-transform:uppercase;letter-spacing:.15em;font-size:var(--text-label);margin:0;font-weight:600;line-height:1.35}.home-mobile-project-date{text-align:right;white-space:nowrap}.home-mobile-project strong,.home-mobile-project:nth-child(2n) strong,.home-mobile-project:nth-child(2n) .home-mobile-project-meta,.home-mobile-project:nth-child(2n) .home-mobile-project-date{margin-left:0}.home-mobile-project strong{max-width:none;font-size:var(--text-title);line-height:.88}.home-mobile-all-projects{color:#ffffffeb;width:min(100%,268px);min-height:60px;margin-top:clamp(56px,17vw,92px);padding-left:34px;padding-right:34px}.home-mobile-all-projects:before{content:none}.home-mobile-projects .home-mobile-cta-fill,.home-mobile-projects .home-mobile-cta-segment{background:#ffffffeb}.home-mobile-projects .home-mobile-cta:hover,.home-mobile-projects .home-mobile-cta:focus-visible{color:#050608f5}.home-mobile-footer{min-height:auto;padding-top:0;padding-bottom:max(22px, calc(env(safe-area-inset-bottom) + 18px));border-top:0;align-content:start;justify-items:stretch;gap:clamp(34px,10vw,54px);margin-top:-1px;display:grid}.home-mobile-footer-contact{gap:20px;padding-top:clamp(42px,12vw,68px);display:grid;position:relative}.home-mobile-footer-contact:before{content:"";transform-origin:0;background:#ffffff2e;height:1px;transition:transform .82s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.home-mobile-footer-contact.is-visible:before{transform:scaleX(1)}.home-mobile-footer-contact .home-mobile-kicker{color:#ffffffa8;margin-bottom:0}.home-mobile-footer-contact h2{color:#fffffff5;text-transform:uppercase;font-size:var(--text-display);margin:0;font-weight:600;line-height:.84}.home-mobile-footer-details{gap:10px;margin-bottom:clamp(24px,8vw,42px);padding-top:10px;display:grid}.home-mobile-footer-details a{color:#ffffffc7;font-size:var(--text-body);line-height:1.2;text-decoration:none}.home-mobile-social-title{color:#ffffffa8;text-transform:uppercase;letter-spacing:.17em;font-size:var(--text-label);align-items:center;gap:10px;margin:0;font-weight:600;line-height:1;display:inline-flex;position:relative}.home-mobile-social-title:before{content:"";background:currentColor;width:28px;height:1px}.home-mobile-footer-social{flex-wrap:wrap;gap:12px;padding-top:0;display:flex}.home-mobile-footer-social a{color:#ffffffe0;border:1px solid #ffffff52;border-radius:50%;place-items:center;width:46px;height:46px;text-decoration:none;display:inline-grid}.home-mobile-footer-social span{text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-label);font-weight:700}.home-mobile-footer img{filter:none;justify-self:center;width:clamp(64px,19vw,86px);height:clamp(64px,19vw,86px);margin-top:clamp(28px,9vw,52px)}.home-mobile-footer-bottom{grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:16px;display:grid}.site-mobile-footer{z-index:2;padding:clamp(42px, 12vw, 68px) var(--mobile-edge) max(28px, calc(env(safe-area-inset-bottom) + 24px));color:#ffffffeb;background:0 0;gap:clamp(26px,8vw,42px);display:grid;position:relative}.site-mobile-footer:before{content:"";left:var(--mobile-edge);right:var(--mobile-edge);background:#ffffff2e;height:1px;position:absolute;top:0}.site-mobile-footer img{justify-self:center;width:clamp(64px,19vw,86px);height:clamp(64px,19vw,86px)}.home-mobile-footer p,.site-mobile-footer p{color:#ffffff94;text-align:left;align-self:auto;line-height:1}.home-mobile-copyright-symbol{font-family:Arial,Helvetica,sans-serif;font-size:.96em;font-weight:400;line-height:1;display:inline-block;transform:translateY(.04em)}.home-mobile-footer-bottom p{line-height:1.4}.home-mobile-footer-sep{opacity:.5;margin:0 5px}.home-mobile-footer-legal{color:#ffffffdb;border-bottom:1px solid #fff6;padding-bottom:1px;text-decoration:none;transition:color .22s,border-color .22s}.home-mobile-footer-legal:hover,.home-mobile-footer-legal:focus-visible{color:#fff;border-bottom-color:#fff}.home-mobile-top{color:#fff;background:#000;border:0;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f}.home-mobile-top span{background:0 0;width:28px;height:22px;display:block;position:relative}.home-mobile-top span:before,.home-mobile-top span:after{content:"";transform-origin:0;background:currentColor;width:17px;height:1.2px;position:absolute;top:50%;left:50%}.home-mobile-top span:before{transform:translate(-1px)rotate(135deg)}.home-mobile-top span:after{transform:translate(-1px)rotate(45deg)}body.home-page.home-mobile-scrolled:not(.home-mobile-chrome-bar):not(.menu-open) .menu-trigger,body.home-page.home-mobile-scrolled:not(.home-mobile-chrome-bar):not(.menu-open) .bottom-logo,body:not(.home-page).home-mobile-chrome-hidden:not(.home-mobile-chrome-bar):not(.menu-open) .menu-trigger,body:not(.home-page).home-mobile-chrome-hidden:not(.home-mobile-chrome-bar):not(.menu-open) .bottom-logo{opacity:0!important;pointer-events:none!important;transform:translateY(-22px)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-trigger,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-trigger{opacity:1!important;pointer-events:auto!important;color:#fffffff0!important;transform:translate(0,0)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body.home-page.home-mobile-chrome-bar:not(.menu-open) .menu-icon:after,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-icon span,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .menu-icon:after{background:#fffffff0!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo{opacity:1!important;pointer-events:auto!important;transform:translate(0,0)!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo-base{filter:none!important}body.home-page.home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer,body:not(.home-page).home-mobile-chrome-bar:not(.menu-open) .bottom-logo-layer{display:block!important}.home-mobile-kicker:before,.home-mobile-social-title:before,.home-mobile-cta-segment-top,.home-mobile-cta-segment-bottom,.home-mobile-cta-segment-left,.home-mobile-cta-segment-right,.home-mobile-service:before,.home-mobile-service:after{transform-origin:0;transition:transform .82s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.home-mobile-kicker:before,.home-mobile-social-title:before{flex:0 0 28px}.reveal-block.is-visible .home-mobile-kicker:before,.home-mobile-footer-contact.is-visible .home-mobile-kicker:before,.home-mobile-footer-contact.is-visible .home-mobile-social-title:before,.home-mobile-cta.is-visible .home-mobile-cta-segment-top,.home-mobile-cta.is-visible .home-mobile-cta-segment-bottom{transform:scaleX(1)}.home-mobile-service{position:relative}.home-mobile-service:first-child:before{content:"";background:#090b1029;height:1px;position:absolute;top:0;left:0;right:0}.home-mobile-service.is-visible:before,.home-mobile-service.is-visible:after{transform:scaleX(1)}.home-mobile-service{border-bottom-color:#0000!important}.home-mobile-service:after{content:"";background:#090b1024;height:1px;position:absolute;bottom:0;left:0;right:0}.home-mobile-footer-contact:before{transition-duration:.9s!important}.home-mobile-footer-social a{width:48px!important;height:48px!important}.home-mobile-footer-social img{object-fit:contain!important;filter:brightness(0)invert()!important;opacity:.92!important;width:22px!important;height:22px!important;display:block!important}.home-mobile-footer-social a[aria-label=LinkedIn] img{width:18px!important;height:18px!important}.home-mobile-top{place-items:center!important}.home-mobile-top span{background:0 0!important;border-top:1.4px solid!important;border-left:1.4px solid!important;width:18px!important;height:18px!important;position:relative!important;top:0!important;left:0!important;transform:translateY(4px)rotate(45deg)!important}.home-mobile-top span:before,.home-mobile-top span:after{content:none!important}}@media (max-width:991px) and (prefers-reduced-motion:reduce){.home-mobile-kicker:before,.home-mobile-social-title:before,.home-mobile-cta-segment-top,.home-mobile-cta-segment-bottom,.home-mobile-service:before,.home-mobile-service:after,.home-mobile-footer-contact:before{transition:none!important;transform:scaleX(1)!important}body.portfolio-page .portfolio-hero-copy .home-mobile-kicker,body.portfolio-page .portfolio-hero-title-base{opacity:1!important;filter:none!important;transition:none!important;animation:none!important;transform:none!important}body.portfolio-page .portfolio-hero-title-layer{opacity:0!important;transition:none!important;animation:none!important}}@media (max-width:991px){.home-mobile-page{z-index:2!important}body.home-page .hero-copy{pointer-events:none!important}body.home-page .hero-copy .title-glitch{cursor:pointer;pointer-events:auto!important}body.home-page .grid-lines{z-index:9!important}body.home-page .grid-line,body.home-page .grid-line:nth-child(2),body.home-page .grid-line:nth-child(4){opacity:1!important;background:#ffffff61!important}body.home-page #globe-root{z-index:10!important;pointer-events:auto!important}.home-mobile-cta-segment-top{transform-origin:0!important;transition:transform .52s cubic-bezier(.22,1,.36,1)!important;transform:scaleX(0)!important}.home-mobile-cta-segment-right{transform-origin:top!important;transition:transform .28s cubic-bezier(.22,1,.36,1) .5s!important;transform:scaleY(0)!important}.home-mobile-cta-segment-left{transform-origin:top!important;transition:transform .28s cubic-bezier(.22,1,.36,1)!important;transform:scaleY(0)!important}.home-mobile-cta-segment-bottom{transform-origin:0!important;transition:transform .52s cubic-bezier(.22,1,.36,1) .26s!important;transform:scaleX(0)!important}.home-mobile-cta.is-visible .home-mobile-cta-segment-top,.home-mobile-cta.is-visible .home-mobile-cta-segment-right,.home-mobile-cta.is-visible .home-mobile-cta-segment-bottom,.home-mobile-cta.is-visible .home-mobile-cta-segment-left{transform:scale(1)!important}.home-mobile-service-list{border-top-color:#0000!important}.home-mobile-kicker:before,.home-mobile-social-title:before,.home-mobile-service:before,.home-mobile-service:after,.home-mobile-footer-contact:before{transition-duration:1.04s!important;transition-delay:.22s!important}.home-mobile-cta-segment-top{transition:transform .68s cubic-bezier(.22,1,.36,1) .22s!important}.home-mobile-cta-segment-right{transition:transform .34s cubic-bezier(.22,1,.36,1) .86s!important}.home-mobile-cta-segment-left{transition:transform .34s cubic-bezier(.22,1,.36,1) .22s!important}.home-mobile-cta-segment-bottom{transition:transform .68s cubic-bezier(.22,1,.36,1) .54s!important}body.home-page .grid-lines{z-index:3!important;opacity:.34!important}body.home-page:not(.home-mobile-scrolled) .grid-lines,body.home-page.home-mobile-scrolled .grid-lines{-webkit-mask-image:none!important;mask-image:none!important}body.home-page.menu-open .grid-lines,body.home-page.menu-closing .grid-lines{opacity:0!important;visibility:hidden!important}body.menu-open .grid-lines,body.menu-closing .grid-lines{opacity:0!important;visibility:hidden!important;transition:none!important}body.home-page #globe-root{z-index:10!important}body.home-page .overlay{z-index:20!important}body.portfolio-page .personal-constellation,body.portfolio-page .globe-action,body.portfolio-page .portfolio-esc-hint,body.portfolio-page .corner-text{display:none!important}body.portfolio-page .portfolio-hero-copy{left:var(--mobile-edge);right:var(--mobile-edge);bottom:max(66px, calc(env(safe-area-inset-bottom) + 56px));text-align:left;align-items:end;gap:0;display:grid}body.portfolio-page .portfolio-hero-heading{color:#fffffff5;gap:16px;display:grid}body.portfolio-page .portfolio-hero-title{color:#fffffff5;letter-spacing:.005em;text-transform:uppercase;max-width:6.8em;margin:0;font-size:clamp(3.05rem,15.6vw,5.25rem);font-weight:600;line-height:.86;position:relative}body.portfolio-page .portfolio-hero-title-base{z-index:2;opacity:0;display:block;position:relative;transform:translateY(18px)}body.portfolio-page .portfolio-hero-title-layer{z-index:1;opacity:0;pointer-events:none;display:block;position:absolute;inset:0}body.portfolio-page.is-ready .portfolio-hero-title-base{opacity:1;transition:opacity .36s .14s,transform .52s cubic-bezier(.22,1,.36,1) .14s;animation:.98s steps(2,end) both home-title-art-glitch;transform:translate(0,0)}body.portfolio-page.is-ready .portfolio-hero-title-layer-a{animation:.76s steps(2,end) .21s both home-title-layer-a}body.portfolio-page.is-ready .portfolio-hero-title-layer-b{animation:.68s steps(2,end) .26s both home-title-layer-b}body.portfolio-page.is-ready .portfolio-hero-title-layer-c{animation:.82s steps(2,end) .23s both home-title-layer-c}body.portfolio-page .portfolio-hero-copy .home-mobile-kicker{color:#ffffffad;opacity:0;margin-bottom:0;transition:opacity .36s 60ms,transform .52s cubic-bezier(.22,1,.36,1) 60ms;transform:translateY(14px)}body.portfolio-page .portfolio-hero-copy .home-mobile-kicker:before{background:#ffffffad}body.portfolio-page.is-ready .portfolio-hero-copy .home-mobile-kicker:before{transform:scaleX(1)}body.portfolio-page.is-ready .portfolio-hero-copy .home-mobile-kicker{opacity:1;transform:translate(0,0)}body.portfolio-page .portfolio-mobile-projects{color:#090b10eb;background:linear-gradient(#fbfbf8 0%,#f0f0ea 100%)!important}.home-mobile-page,.home-mobile-project-list,.home-mobile-project{overflow-anchor:none}body.portfolio-page .portfolio-mobile-projects:before{opacity:0}body.portfolio-page .portfolio-mobile-projects .home-mobile-kicker,body.portfolio-page .portfolio-mobile-projects .home-mobile-heading,body.portfolio-page .portfolio-mobile-projects .home-mobile-copy,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-meta,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-date,body.portfolio-page .portfolio-mobile-projects .home-mobile-project strong,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-fields span{color:#090b10eb!important}body.portfolio-page .portfolio-mobile-projects .home-mobile-copy,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-meta,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-date,body.portfolio-page .portfolio-mobile-projects .home-mobile-project-fields span{color:#090b109e!important}body.portfolio-page .portfolio-mobile-footer{color:#090b10eb;background:linear-gradient(#f0f0ea 0%,#fbfbf8 100%)!important}body.portfolio-page .portfolio-mobile-footer:before{background:#090b1029}body.portfolio-page .portfolio-mobile-footer img{filter:brightness(0)}body.portfolio-page .portfolio-mobile-footer p,body.portfolio-page .portfolio-mobile-footer .home-mobile-top{color:#090b10b8}body.portfolio-page .portfolio-mobile-footer .home-mobile-top{box-shadow:none;background:0 0;border-color:#090b10b8}}
