@font-face{font-family:Commune;src:url(/assets/fonts/Commune.otf)format("opentype");font-display:block;font-style:normal;font-weight:400}:root{--background:#050605;--foreground:#e7e8e6;--muted:#9ea19c;--red:#e2382e;--cyan:#9bdde0;--mouse-x:.5;--mouse-y:.5;--fluid-x:.52;--fluid-y:.22;--fluid-vx:0;--fluid-vy:0;--fluid-speed:0;--fluid-wave-a:0;--fluid-wave-b:0;--fluid-wave-c:0;--cursor-x:50vw;--cursor-y:50vh;--scroll-progress:0;--title-exit:0;--image-reveal:0;--image-expand:0;--hero-fade:1;--nav-fade:1;--hero-scene-blur:0px;--hero-image-y:0vh;--hero-edge-feather:0vh;--hero-overlay-opacity:0;--hero-overlay-blur:0px;--hero-about-opacity:0;--pixel-logo-lock:0;--pixel-logo-flash:0;--pixel-logo-brightness:1;--pixel-logo-glow:0px;--pixel-piece-opacity:1;--pixel-stage-opacity:1;--pixel-stage-y:0vh;--pixel-scan-opacity:0;--pixel-scan-y:-12%;--about-progress:0;--about-entry-progress:0;--about-photo-entry:0;--about-title-progress:0;--about-details-progress:0;--about-scene-blur:18px;--about-photo-y:82px;--projects-progress:0;--projects-entry:0;--gallery-progress:0;--active-project:0;--project-shift:0px;--project-line-dash:1;--project-line-opacity:0;--project-line-y:0px;--projects-content-opacity:1;--gallery-copy-opacity:0;--gallery-copy-y:44px;--projects-scene-blur:0px;--gallery-scene-blur:14px;--skills-progress:0;--skills-rail-opacity:0;--skills-scene-blur:16px;--skills-arrow-x:0px;--awards-scene-blur:0px;--contact-progress:0;--contact-dot-scale:.002;--contact-content-opacity:0;--contact-title-x:112vw;--contact-first-opacity:0;--contact-second-opacity:0;--contact-bottom-opacity:0;--contact-first-y:92vh;--contact-second-y:118vh;--contact-scene-blur:16px;--footer-progress:0;--footer-logo-lock:0;--footer-logo-brightness:1;--footer-logo-glow:0px;--footer-piece-opacity:1;--footer-scan-opacity:0;--footer-scan-y:-12%}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--cyan);color:#07100f}html.opening-active,html.opening-active body{overscroll-behavior:none;overflow:hidden}html.opening-active .hero-name{animation:4.8s linear both opening-hero-name-swap}html.opening-active .intro-copy{animation:4.8s cubic-bezier(.22,1,.36,1) both opening-copy-reveal}html.opening-active .hero-rule{transform-origin:0;animation:4.8s linear both opening-rule-draw}html.opening-active .hero-nav{animation:4.8s linear both opening-nav-shell}html.opening-active .hero-nav>.version,html.opening-active .hero-nav>.socials,html.opening-active .hero-nav>.sections{white-space:nowrap;overflow:hidden}html.opening-active .hero-nav>.version{animation:4.8s steps(14,end) both opening-nav-version-reveal}html.opening-active .hero-nav>.socials{animation:4.8s steps(28,end) both opening-nav-socials-reveal}html.opening-active .hero-nav>.sections{animation:4.8s steps(22,end) both opening-nav-sections-reveal}.opening-loader{z-index:50000;isolation:isolate;pointer-events:auto;touch-action:none;color:#e8e9e7;position:fixed;inset:0;overflow:hidden}.opening-loader-black,.opening-loader-red{will-change:transform;position:absolute;inset:0}.opening-loader-black{z-index:0;background:#070807;animation:4.8s cubic-bezier(.76,0,.24,1) both opening-panel-exit}.opening-loader-red{z-index:1;background:var(--red);transform-origin:50% 100%;animation:4.8s cubic-bezier(.76,0,.24,1) both opening-red-sweep}.opening-loader-wordmark{z-index:2;white-space:nowrap;transform-origin:50%;color:#e8e9e7;will-change:transform;justify-content:space-between;align-items:baseline;gap:clamp(22px,4.6vw,80px);line-height:.78;animation:4.8s cubic-bezier(.76,0,.24,1) both opening-wordmark-sequence;display:flex;position:absolute;bottom:clamp(122px,17vh,176px);left:clamp(22px,3.4vw,60px);right:clamp(22px,3.4vw,60px)}.opening-loader-wordmark-cyan{z-index:3;color:#12b7c4;will-change:transform, clip-path;animation:4.8s cubic-bezier(.76,0,.24,1) both opening-wordmark-sequence,4.8s cubic-bezier(.76,0,.24,1) both opening-cyan-red-clip}.opening-loader-first,.opening-loader-last,.opening-loader-period{letter-spacing:0;align-items:baseline;display:inline-flex}.opening-loader-first{flex:0 auto;font-size:clamp(102px,16vw,280px);font-weight:800}.opening-loader-last{flex:0 auto;font-family:Commune,Arial,Helvetica,sans-serif;font-size:clamp(94px,13.3vw,244px);font-style:normal;font-weight:400}.opening-loader-period{flex:0 auto;margin-left:-.58em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(94px,13.3vw,244px);font-style:normal;font-weight:400}.opening-loader-letter{opacity:0;filter:blur(1px);transform:translateY(var(--opening-letter-rise));animation:.62s cubic-bezier(.16,1,.3,1) both opening-letter-arrive;animation-delay:var(--opening-letter-delay);will-change:transform, opacity, filter;display:inline-block}.opening-loader-period .opening-loader-letter{filter:none;animation:.18s ease-out both opening-period-appear;animation-delay:calc(var(--opening-letter-delay) + .6s);transform:none}@keyframes opening-period-appear{0%,42%{opacity:0}to{opacity:1}}@keyframes opening-letter-arrive{0%{opacity:0;filter:blur(1px);transform:translateY(var(--opening-letter-rise))}28%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes opening-wordmark-sequence{0%,35%{opacity:1;transform:translateY(-22vh)scale(.27)}55%,to{opacity:1;transform:translateY(0)scale(1)}}@keyframes opening-cyan-red-clip{0%,45%{clip-path:inset(100% 0 0)}58%,68%{clip-path:inset(0)}82%,to{clip-path:inset(0 0 100%)}}@keyframes opening-panel-exit{0%,68%{transform:translateY(0)}82%,to{transform:translateY(-102%)}}@keyframes opening-red-sweep{0%,45%{transform:translateY(0)scaleY(0)}58%,68%{transform:translateY(0)scaleY(1)}82%,to{transform:translateY(-102%)scaleY(1)}}@keyframes opening-hero-name-swap{0%,77%{opacity:0}78%,to{opacity:1}}@keyframes opening-rule-draw{0%,80%{opacity:0;transform:scaleX(0)}81%{opacity:1;transform:scaleX(0)}85%{opacity:1;transform:scaleX(.02)}96%,to{opacity:var(--nav-fade);transform:scaleX(1)}}@keyframes opening-nav-shell{0%,87%{opacity:0;transform:translateY(10px)}89%,to{opacity:var(--nav-fade);transform:translateY(calc((1 - var(--nav-fade)) * 34px))}}@keyframes opening-nav-version-reveal{0%,88%{opacity:0;clip-path:inset(0 100% 0 0)}90%{opacity:1;clip-path:inset(0 98% 0 0)}96%,to{opacity:1;clip-path:inset(0)}}@keyframes opening-nav-socials-reveal{0%,90%{opacity:0;clip-path:inset(0 100% 0 0)}92%{opacity:1;clip-path:inset(0 98% 0 0)}98.5%,to{opacity:1;clip-path:inset(0)}}@keyframes opening-nav-sections-reveal{0%,92%{opacity:0;clip-path:inset(0 100% 0 0)}94%{opacity:1;clip-path:inset(0 98% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes opening-copy-reveal{0%,86%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(8px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.opening-loader{animation:.52s both opening-reduced-exit}.opening-loader-red{display:none}.opening-loader-black,.opening-loader-wordmark,.opening-loader-wordmark-cyan,.opening-loader-letter,html.opening-active .hero-name,html.opening-active .intro-copy,html.opening-active .hero-rule,html.opening-active .hero-nav,html.opening-active .hero-nav>.version,html.opening-active .hero-nav>.socials,html.opening-active .hero-nav>.sections{animation:none}.opening-loader-wordmark{opacity:1;transform:none}.opening-loader-wordmark-cyan{display:none}.opening-loader-letter{opacity:1;filter:none;transform:none}}@keyframes opening-reduced-exit{0%,58%{opacity:1}to{opacity:0}}.experience{background:#030403;min-height:100vh}.grain,.cursor-orb{pointer-events:none;z-index:50;position:fixed;inset:0}.grain{opacity:.19;mix-blend-mode:overlay;background-image:linear-gradient(115deg,#ffffff0a 0 1px,#0000 1px),radial-gradient(circle at 20% 30%,#ffffff1f,#0000 18%),radial-gradient(circle at 80% 70%,#0000004d,#0000 22%);background-size:4px 4px,100% 100%,100% 100%}.cursor-orb{left:var(--cursor-x);top:var(--cursor-y);opacity:.28;filter:blur(32px);background:radial-gradient(circle,#9fe8e86b,#0000 62%);border-radius:999px;width:240px;height:240px;transition:width .25s,height .25s;inset:auto;transform:translate(-50%,-50%)}.intro-scroll{height:560vh;position:relative}.hero-pin{height:100vh;min-height:640px;opacity:var(--hero-fade);filter:blur(var(--hero-scene-blur));will-change:filter;background:#040504;position:sticky;top:0;overflow:hidden}.light-field{isolation:isolate;background:radial-gradient(at 74% 4%,#84131647,#0000 48%),radial-gradient(at 18% 82%,#47070a33,#0000 44%),linear-gradient(#080706 0%,#050504 62%,#020302 100%);position:absolute;inset:-10vh -8vw;overflow:hidden}.light-field:before,.light-field:after{content:"";pointer-events:none;will-change:transform;position:absolute}.light-field:before{z-index:0;border-radius:calc(46% + var(--fluid-wave-a) * 12%) calc(54% - var(--fluid-wave-b) * 11%) calc(38% + var(--fluid-wave-c) * 13%) calc(62% - var(--fluid-wave-a) * 10%);filter:blur(58px);width:66vw;height:112vh;opacity:calc(.58 + var(--fluid-speed) * .18);transform:translate(calc((var(--fluid-x) - .5) * 28vw + var(--fluid-vx) * 12vw + var(--fluid-wave-c) * 5vw), calc((var(--fluid-y) - .5) * 16vh + var(--fluid-vy) * 10vh + var(--fluid-wave-b) * 4vh)) rotate(calc(-5deg + var(--fluid-vx) * 13deg + var(--fluid-wave-a) * 8deg)) skewX(calc(var(--fluid-vx) * -8deg + var(--fluid-wave-b) * 7deg)) scaleX(calc(1.02 + var(--fluid-speed) * .14 + var(--fluid-wave-a) * .12)) scaleY(calc(1 + var(--fluid-wave-b) * .15));background:radial-gradient(at 64% 16%,#ff5a43 0%,#e93631 28%,#89151ce0 50%,#0000 76%),radial-gradient(at 28% 34%,#f0362ad1 0%,#7e1219a8 42%,#0000 70%);top:-32vh;left:22vw}.light-field:after{z-index:0;border-radius:calc(58% + var(--fluid-wave-b) * 13%) calc(42% - var(--fluid-wave-a) * 12%) calc(62% + var(--fluid-wave-c) * 11%) calc(38% - var(--fluid-wave-b) * 12%);filter:blur(68px);width:48vw;height:104vh;opacity:calc(.52 + var(--fluid-speed) * .18);transform:translate(calc((var(--fluid-x) - .5) * -24vw + var(--fluid-vx) * -12vw + var(--fluid-wave-a) * 8vw), calc((var(--fluid-y) - .5) * 16vh + var(--fluid-vy) * 8vh + var(--fluid-wave-c) * 6vh)) rotate(calc(8deg + var(--fluid-vx) * -11deg + var(--fluid-wave-b) * 9deg)) scaleX(calc(1 + var(--fluid-wave-b) * .18)) scaleY(calc(1 - var(--fluid-wave-a) * .12));background:radial-gradient(at 58% 24%,#ff4c37e0 0%,#bd2227c7 35%,#3e090e7a 65%,#0000 82%);top:-20vh;right:-4vw}.light-field span{z-index:1;filter:blur(52px);will-change:transform, border-radius;display:block;position:absolute}.light{opacity:.84;background:radial-gradient(at 50% 34%,#f45240 0%,#bd2430 42%,#3c070d8a 68%,#0000 82%)}.light-a{border-radius:calc(54% + var(--fluid-wave-b) * 13%) calc(46% - var(--fluid-wave-a) * 12%) calc(34% + var(--fluid-wave-c) * 14%) calc(66% - var(--fluid-wave-b) * 12%);width:54vw;height:102vh;transform:translate(calc((var(--fluid-x) - .5) * 34vw + var(--fluid-vx) * 13vw + var(--fluid-wave-b) * 6vw), calc((var(--fluid-y) - .5) * 14vh + var(--fluid-vy) * 8vh + var(--fluid-wave-c) * 4vh)) rotate(calc(-14deg + var(--fluid-vx) * 11deg + var(--fluid-wave-a) * 10deg)) skewX(calc(var(--fluid-vx) * -7deg + var(--fluid-wave-c) * 5deg)) scaleX(calc(1 + var(--fluid-speed) * .13 + var(--fluid-wave-a) * .16)) scaleY(calc(1 + var(--scroll-progress) * .06 + var(--fluid-wave-b) * .14));top:-24vh;left:-8vw}.light-b{opacity:.72;border-radius:calc(42% + var(--fluid-wave-a) * 15%) calc(58% - var(--fluid-wave-c) * 12%) calc(64% + var(--fluid-wave-b) * 13%) calc(36% - var(--fluid-wave-a) * 12%);width:46vw;height:94vh;transform:translate(calc((var(--fluid-x) - .5) * -32vw + var(--fluid-vx) * -12vw + var(--fluid-wave-c) * 7vw), calc((var(--fluid-y) - .5) * 18vh + var(--fluid-vy) * 7vh + var(--fluid-wave-a) * 5vh)) rotate(calc(12deg + var(--fluid-vx) * -12deg + var(--fluid-wave-b) * 13deg)) scaleX(calc(1 + var(--fluid-speed) * .12 + var(--fluid-wave-c) * .18)) scaleY(calc(1 + var(--fluid-wave-a) * .14));top:-13vh;right:4vw}.light-c{opacity:.52;border-radius:calc(32% + var(--fluid-wave-c) * 13%) calc(68% - var(--fluid-wave-a) * 14%) calc(48% + var(--fluid-wave-b) * 12%) calc(52% - var(--fluid-wave-c) * 12%);width:34vw;height:118vh;transform:translate(calc((var(--fluid-x) - .5) * 26vw + var(--fluid-vx) * 9vw + var(--fluid-wave-a) * -7vw), calc((var(--fluid-y) - .5) * -18vh + var(--fluid-vy) * -8vh + var(--fluid-wave-b) * 6vh)) rotate(calc(24deg + var(--fluid-vx) * 9deg + var(--fluid-wave-c) * 15deg)) scaleX(calc(1 + var(--fluid-wave-a) * .2)) scaleY(calc(1 - var(--fluid-wave-b) * .15));top:-28vh;left:42vw}.shadow{opacity:.78;mix-blend-mode:multiply;background:radial-gradient(#000000f5 0%,#030303d1 42%,#04030447 68%,#0000 84%)}.shadow-a{border-radius:calc(62% + var(--fluid-wave-a) * 13%) calc(38% - var(--fluid-wave-b) * 15%) calc(56% + var(--fluid-wave-c) * 14%) calc(44% - var(--fluid-wave-a) * 13%);width:94vw;height:52vh;transform:translate(calc((var(--fluid-x) - .5) * 42vw + var(--fluid-vx) * -13vw + var(--fluid-wave-c) * 11vw), calc((var(--fluid-y) - .5) * 17vh + var(--fluid-vy) * 7vh + var(--fluid-wave-b) * 8vh)) rotate(calc(-12deg + var(--fluid-vx) * -10deg + var(--fluid-wave-c) * 12deg)) skewX(calc(var(--fluid-vx) * 8deg + var(--fluid-wave-a) * 7deg)) scaleX(calc(1 + var(--fluid-wave-b) * .2)) scaleY(calc(1 - var(--fluid-wave-a) * .13));top:34vh;left:-26vw}.shadow-b{border-radius:calc(44% + var(--fluid-wave-b) * 15%) calc(56% - var(--fluid-wave-a) * 14%) calc(36% + var(--fluid-wave-c) * 13%) calc(64% - var(--fluid-wave-b) * 12%);filter:blur(66px);width:54vw;height:112vh;transform:translate(calc((var(--fluid-x) - .5) * -38vw + var(--fluid-vx) * -10vw + var(--fluid-wave-a) * -9vw), calc((var(--fluid-y) - .5) * 20vh + var(--fluid-vy) * 8vh + var(--fluid-wave-c) * 7vh)) rotate(calc(9deg + var(--fluid-wave-a) * 14deg)) scaleX(calc(1 + var(--fluid-speed) * .12 + var(--fluid-wave-c) * .21)) scaleY(calc(1 - var(--fluid-wave-b) * .16));top:-8vh;right:-16vw}.intro-copy{z-index:3;color:#f4f5f3f0;max-width:340px;transform:translateY(calc(var(--title-exit) * -34px));opacity:calc(1 - var(--title-exit) * .9);margin:0;font-size:clamp(15px,1.05vw,19px);line-height:1.55;position:absolute;top:clamp(28px,7.2vh,68px);left:clamp(22px,3.4vw,60px)}.intro-copy em{font-family:Georgia,Times New Roman,serif;font-style:italic}.hero-name{z-index:4;color:#e4e6e4;white-space:nowrap;mix-blend-mode:screen;justify-content:space-between;align-items:baseline;gap:clamp(22px,4.6vw,80px);line-height:.78;display:flex;position:absolute;bottom:clamp(122px,17vh,176px);left:clamp(22px,3.4vw,60px);right:clamp(22px,3.4vw,60px)}.hero-name .first{letter-spacing:0;transform:translateX(calc(var(--title-exit) * -84vw));flex:0 auto;font-size:clamp(102px,16vw,280px);font-weight:800}.hero-name .last{color:color-mix(in srgb, var(--cyan) calc(var(--scroll-progress) * 64%), #e5e6e3);transform:translateX(calc(var(--title-exit) * 42vw));flex:0 auto;font-family:Commune,Arial,Helvetica,sans-serif;font-size:clamp(94px,13.3vw,244px);font-style:normal;font-weight:400}.hero-name .period{color:color-mix(in srgb, var(--cyan) calc(var(--scroll-progress) * 64%), #e5e6e3);transform:translateX(calc(var(--title-exit) * 42vw));flex:0 auto;margin-left:-.58em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(94px,13.3vw,244px);font-style:normal;font-weight:400}.hero-rule{z-index:4;height:1px;opacity:var(--nav-fade);background:#e6e8e57a;position:absolute;bottom:clamp(92px,13.7vh,126px);left:clamp(22px,3.4vw,60px);right:clamp(22px,3.4vw,60px)}.hero-nav{z-index:5;color:#e5e6e3e0;text-transform:uppercase;opacity:var(--nav-fade);transform:translateY(calc((1 - var(--nav-fade)) * 34px));grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;font-size:clamp(13px,1.4vw,22px);font-weight:800;display:grid;position:absolute;bottom:clamp(34px,7.5vh,70px);left:clamp(22px,3.4vw,60px);right:clamp(22px,3.4vw,60px)}.version{justify-self:start}.socials,.sections{align-items:center;gap:clamp(16px,2.2vw,34px);display:flex}.sections{justify-self:end}.nav-pair{align-items:center;gap:clamp(14px,2vw,28px);display:inline-flex}.slash{opacity:.36}.split-link{height:1.1em;display:inline-grid;position:relative;overflow:hidden}.split-link span{grid-area:1/1;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.split-link span:last-child{color:var(--cyan);transform:translateY(112%)}.split-link:hover span:first-child{transform:translateY(-112%)}.split-link:hover span:last-child{transform:translateY(0)}.image-transition{z-index:6;width:calc(48vw + var(--image-expand) * 52vw);height:calc(11vw + var(--image-expand) * (100vh - 11vw));max-width:none;opacity:var(--image-reveal);-webkit-mask-image:linear-gradient(180deg, #000 0%, #000 calc(100% - var(--hero-edge-feather)), transparent 100%);-webkit-mask-image:linear-gradient(180deg, #000 0%, #000 calc(100% - var(--hero-edge-feather)), transparent 100%);mask-image:linear-gradient(180deg, #000 0%, #000 calc(100% - var(--hero-edge-feather)), transparent 100%);transform:translate(-50%, -50%) translateY(var(--hero-image-y)) scale(calc(.64 + var(--image-reveal) * .16 + var(--image-expand) * .2));clip-path:inset(calc((1 - var(--image-reveal)) * 50%) calc((1 - var(--image-reveal)) * 44%) calc((1 - var(--image-reveal)) * 50%) calc((1 - var(--image-reveal)) * 44%));background:#000;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 32px 90px #00000075}.hero-pixel-logo{background:#000;position:absolute;inset:0;overflow:hidden}.hero-pixel-grid{aspect-ratio:2400/516;width:min(84vw,1540px);opacity:var(--pixel-stage-opacity);transform:translate(-50%, calc(-50% + var(--pixel-stage-y))) scale(calc(.84 + var(--image-expand) * .16));isolation:isolate;will-change:opacity, transform;background:#000;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(24,1fr);display:grid;position:absolute;top:50%;left:50%}.hero-tetromino-layer{z-index:2;opacity:var(--pixel-piece-opacity);will-change:opacity;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(24,1fr);display:grid;position:absolute;inset:0}.hero-tetromino{opacity:0;transform-origin:50%;will-change:opacity, filter, transform;width:100%;height:100%;display:block;position:relative}.hero-tetromino-block{image-rendering:pixelated;background-color:#000;background-repeat:no-repeat;outline:1px solid #ffffff1a;display:block;position:absolute;box-shadow:inset 0 0 0 1px #000000b8,inset 0 0 7px #ffffff14}.hero-pixel-final{z-index:3;object-fit:fill;width:100%;height:100%;opacity:var(--pixel-logo-lock);filter:brightness(var(--pixel-logo-brightness)) drop-shadow(0 0 var(--pixel-logo-glow) #ffffffeb);pointer-events:none;will-change:opacity, filter;position:absolute;inset:0}.hero-pixel-logo:before{z-index:4;left:0;right:0;top:var(--pixel-scan-y);content:"";height:2px;opacity:var(--pixel-scan-opacity);pointer-events:none;will-change:top, opacity;background:#fff;position:absolute;box-shadow:0 0 18px #ffffffb8}.hero-pixel-logo:after{z-index:5;content:"";pointer-events:none;opacity:calc(1 - var(--pixel-logo-lock));background:repeating-linear-gradient(0deg,#0000 0 5px,#ffffff08 5px 6px),linear-gradient(90deg,#00000047,#0000 18% 82%,#00000047);position:absolute;inset:0}.corner{width:10px;height:10px;position:absolute}.corner:before,.corner:after{content:"";background:#ffffff94;position:absolute}.corner:before{width:1px;height:10px}.corner:after{width:10px;height:1px}.top-left{top:16px;left:16px}.top-right{top:16px;right:16px;transform:rotate(90deg)}.bottom-left{bottom:16px;left:16px;transform:rotate(-90deg)}.bottom-right{bottom:16px;right:16px;transform:rotate(180deg)}.scroll-index{z-index:8;color:#fff;opacity:calc(var(--image-expand) * .92);font-size:18px;position:absolute;top:50%;left:clamp(22px,2.4vw,40px)}.hero-transition-overlay{z-index:7;pointer-events:none;opacity:var(--hero-overlay-opacity);-webkit-backdrop-filter:blur(var(--hero-overlay-blur));backdrop-filter:blur(var(--hero-overlay-blur));will-change:opacity, backdrop-filter;background:#020302b3;position:absolute;inset:0}.hero-reveal-phrase{z-index:9;color:#eff1eedb;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3vw,58px);font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-reveal-char{--hero-char-opacity:0;--hero-char-blur:10px;--hero-char-y:14px;opacity:var(--hero-char-opacity);filter:blur(var(--hero-char-blur));transform:translateY(var(--hero-char-y));will-change:opacity, filter, transform;display:inline-block}.hero-about-label{z-index:9;opacity:var(--hero-about-opacity);filter:blur(calc((1 - var(--hero-about-opacity)) * 8px));color:#ffffffdb;will-change:opacity, filter;font-size:clamp(14px,1.15vw,20px);position:absolute;top:16vh;right:clamp(24px,4vw,70px)}.hero-about-label:before{content:"";background:#ffffff9e;width:1px;height:86px;position:absolute;top:-44px;right:-18px}.eyebrow{color:#ffffffad;text-transform:uppercase;margin:0 0 28px;font-size:clamp(14px,1.25vw,22px);font-weight:800}.about-stage{background:#030403;height:270vh;position:relative}.about-pin{isolation:isolate;height:100vh;min-height:680px;filter:blur(var(--about-scene-blur));will-change:filter;background:linear-gradient(#050605 0%,#030403 42vh 100%);position:sticky;top:0;overflow:hidden}.about-pin:before{z-index:0;content:"";pointer-events:none;opacity:calc(var(--about-entry-progress) * .94);filter:blur(calc((1 - var(--about-entry-progress)) * 50px));transform:scale(calc(1.13 - var(--about-entry-progress) * .13));will-change:filter, opacity, transform;background:radial-gradient(at 88% 14%,#dd352a7a,#0000 42%),radial-gradient(at 73% 48%,#88181433,#0000 50%);position:absolute;inset:0 -18% -18%;-webkit-mask-image:linear-gradient(#0000 0%,#0000002e 14%,#000 48%);mask-image:linear-gradient(#0000 0%,#0000002e 14%,#000 48%)}.about-pin:after{z-index:3;content:"";pointer-events:none;height:52vh;opacity:calc(1 - var(--about-entry-progress));filter:blur(calc((1 - var(--about-entry-progress)) * 20px));will-change:filter, opacity;background:linear-gradient(#050605 0%,#030403e0 34%,#03040357 72%,#0000 100%);position:absolute;top:-8vh;left:0;right:0}.about-title{z-index:4;letter-spacing:0;width:min(61vw,1050px);margin:0;font-size:clamp(48px,4.55vw,78px);font-weight:400;line-height:1.16;position:absolute;top:clamp(62px,8vh,82px);left:clamp(72px,4.7vw,82px)}.about-title>span{opacity:clamp(0, calc((var(--about-title-progress) - var(--about-line-delay)) * 5.5), 1);filter:blur(calc((1 - clamp(0, calc((var(--about-title-progress) - var(--about-line-delay)) * 5.5), 1)) * 8px));transform:translateY(calc((1 - clamp(0, calc((var(--about-title-progress) - var(--about-line-delay)) * 5.5), 1)) * 12px));will-change:filter, opacity;display:block}.about-title .about-line:first-child,.about-title .about-line:last-child{font-family:Georgia,Times New Roman,serif;font-style:italic}.about-portrait{z-index:2;width:min(46vw,780px);height:106vh;min-height:700px;opacity:calc(var(--about-photo-entry) * (.46 + var(--about-details-progress) * .54));filter:blur(calc((1 - var(--about-details-progress)) * 12px + (1 - var(--about-photo-entry)) * 12px));transform:translateY(var(--about-photo-y));will-change:filter, opacity, transform;background:#d53027;border-top-left-radius:48%;border-bottom-left-radius:48%;position:absolute;top:3vh;right:0;overflow:hidden}.about-portrait img{object-fit:cover;filter:grayscale()contrast(1.1);mix-blend-mode:multiply;opacity:.9;width:100%;height:100%;transform:translateX(calc((var(--about-progress) - .5) * -36px)) scale(1.24)}.about-portrait:after{content:"";background:linear-gradient(90deg,#e2382e99,#0000 48%),radial-gradient(circle at 68% 12%,#ff524480,#0000 36%);position:absolute;inset:0}.about-detail{z-index:5;width:min(32vw,560px);opacity:var(--about-details-progress);filter:blur(calc((1 - var(--about-details-progress)) * 12px));transform:translateY(calc((1 - var(--about-details-progress)) * 42px));will-change:filter, opacity, transform;position:absolute;top:73vh;left:clamp(280px,23vw,400px)}.about-detail p{color:#eff1eeeb;margin:0;font-size:clamp(18px,1.35vw,24px);line-height:1.5}.about-detail span{color:#ffffffb3;text-transform:uppercase;margin-top:42px;font-size:15px;font-weight:800;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projects-stage{z-index:3;background:#050605;height:660vh;position:relative;overflow:visible}.projects-pin,.circle-gallery-pin{background:#050605;height:100vh;min-height:680px;position:sticky;top:0;overflow:hidden}.projects-pin{filter:blur(var(--projects-scene-blur));will-change:filter;overflow:visible}.circle-gallery-pin{filter:blur(var(--gallery-scene-blur));will-change:filter}.scene-index{z-index:12;color:#ffffffe0;font-size:clamp(14px,1.1vw,20px);position:absolute;top:50%;left:clamp(24px,2.4vw,42px);transform:translateY(-50%)}.scene-label{z-index:12;color:#ffffffe6;font-size:clamp(15px,1.2vw,20px);position:absolute;top:27%;right:clamp(34px,3.4vw,58px)}.scene-label:before,.scene-label:after{content:"";background:#ffffff7a;width:1px;position:absolute;right:-18px}.scene-label:before{height:118px;top:-140px}.scene-label:after{opacity:.26;height:450px;top:48px}.project-ribbon{pointer-events:none;z-index:2;width:100vw;height:214vh;opacity:var(--project-line-opacity);transform:translateY(var(--project-line-y));will-change:transform, opacity;transition:opacity 70ms linear;position:absolute;top:-8vh;left:0;overflow:visible}.projects-list-kinetic,.projects-stage .scene-index,.projects-stage .scene-label{opacity:var(--projects-content-opacity);will-change:opacity;transition:opacity 90ms linear}.project-preview{opacity:calc(var(--projects-content-opacity) * var(--projects-entry));will-change:opacity, transform;transition:opacity 90ms linear}.project-ribbon path{fill:none;stroke:var(--red);stroke-width:74px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--project-line-dash);will-change:stroke-dashoffset}.projects-list-kinetic{z-index:4;width:min(44vw,720px);transform:translateY(calc(-87px + var(--project-shift)));transition:transform 80ms linear;position:absolute;top:50%;left:clamp(82px,13vw,230px)}.kinetic-project{color:#ffffff24;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff1a;align-items:center;width:100%;height:174px;padding:0;display:flex;position:relative}.kinetic-project:last-child{border-bottom:1px solid #ffffff1a}.kinetic-project:after{content:"";transform-origin:0;background:#ffffff6b;height:1px;transition:transform .62s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.kinetic-project.active:after,.kinetic-project:hover:after{transform:scaleX(1)}.project-title{letter-spacing:0;font-size:clamp(58px,5.2vw,94px);font-weight:500;line-height:.92;transition:color .62s,opacity .62s,transform .62s cubic-bezier(.2,.8,.2,1),filter .62s;display:block;transform:translate(28px)}.kinetic-project.active .project-title{color:#f5f7f5f0;opacity:calc(.18 + var(--project-line-opacity) * .82);filter:blur();transform:translate(0)}.kinetic-project:hover .project-title{color:#f5f7f5f0;opacity:1;filter:blur();transform:translate(0)}.kinetic-project:not(.active) .project-title{filter:blur(.2px)}.project-preview{z-index:5;width:min(31vw,440px);transform:translateY(-50%) translateX(calc((var(--mouse-x) - .5) * -18px)) translateY(calc((var(--mouse-y) - .5) * -12px));position:absolute;top:50%;right:clamp(120px,12vw,212px)}.preview-meta{color:#ffffff80;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;margin-bottom:14px;font-size:clamp(12px,1vw,16px);font-weight:800;display:flex}.project-preview p{color:#ffffff5c;letter-spacing:.14em;text-transform:uppercase;margin:18px 0 0;font-size:13px;font-weight:800}.project-visual{perspective:900px;background:#000;height:min(25vw,360px);min-height:260px;position:relative;overflow:hidden;box-shadow:0 34px 90px #0000006b}.project-cover-image{z-index:1;object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scale(1.01)}.project-cover-collage{z-index:1;background:#000;position:absolute;inset:0;overflow:hidden}.project-cover-collage img{object-fit:contain;max-width:100%;max-height:100%;display:block}.cover-mode-cards{perspective:1100px}.cover-mode-cards img{left:var(--cover-left);width:25.5%;height:88%;transform:translate(-50%, -50%) translateY(var(--cover-lift-px)) rotate(var(--cover-rotation));transform-origin:50% 86%;filter:drop-shadow(0 22px 24px #00000094);position:absolute;top:50%}.cover-mode-icons,.cover-mode-badges{place-items:center;display:grid}.cover-mode-icons{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:2% 4%;padding:6% 7%}.cover-mode-icons img{filter:drop-shadow(0 16px 18px #0000008a);width:88%;height:88%}.cover-mode-badges{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5% 2.5%;padding:3% 4%}.cover-mode-badges img{filter:drop-shadow(0 12px 16px #0000009e);width:86%;height:86%}.project-visual:before{z-index:2;content:"";mix-blend-mode:screen;opacity:0;background:linear-gradient(100deg,#ffffff24,#0000 32%),repeating-linear-gradient(110deg,#ffffff14 0 2px,#0000 2px 28px);position:absolute;inset:0}.project-visual.has-image:before{opacity:0}.visual-variation-1 .project-cover-image{transform:translate(-3%)scale(1.12)}.visual-variation-2 .project-cover-image{transform:translateY(-3%)scale(1.16)}.visual-variation-3 .project-cover-image{transform:translate(3%)scale(1.09)}.project-visual.fit-contain{background:#000}.project-visual.fit-contain .project-cover-image{object-fit:contain;padding:10px;transform:none}.detail-selected-visual .project-visual.fit-contain .project-cover-image{padding:clamp(22px,4vh,48px)}.visual-variation-1 .mock-lid{transform:rotateX(4deg)rotateY(15deg)rotate(-2deg)}.visual-variation-2 .mock-lid{top:17%;transform:rotateX(8deg)rotateY(-7deg)rotate(4deg)scale(1.08)}.visual-variation-3 .mock-lid{left:15%;transform:rotateX(3deg)rotateY(-22deg)rotate(-3deg)scale(.92)}.mock-lid{width:58%;height:45%;transform-style:preserve-3d;background:#090b0d;border:5px solid #0c0d0ed9;border-radius:8px;position:absolute;top:22%;left:21%;transform:rotateX(5deg)rotateY(-16deg)rotate(2deg);box-shadow:0 20px 36px #00000073}.mock-screen{background:radial-gradient(circle at 75% 65%, var(--visual-c), transparent 28%), linear-gradient(145deg, #050607, #15191d);padding:13px;position:absolute;inset:8px}.mock-screen span{background:#fff3;border-radius:999px;height:5px;margin-bottom:8px;display:block}.mock-screen span:first-child{width:35%}.mock-screen span:nth-child(2){width:76%}.mock-screen span:nth-child(3){width:58%}.mock-screen strong{color:#ffffffb8;font-size:clamp(16px,2vw,26px);line-height:.9;position:absolute;bottom:10px;left:13px}.mock-base{background:linear-gradient(#d9dee3,#868b91);border-radius:3px 3px 18px 18px;width:52%;height:8%;position:absolute;top:68%;left:26%;transform:rotate(2deg)skew(-20deg);box-shadow:0 24px 34px #00000057}.visual-ice{--visual-a:#dfeaf2;--visual-b:#97a9b6;--visual-c:#eb3349}.visual-ember{--visual-a:#b46a3d;--visual-b:#17100d;--visual-c:#f9d0a4}.visual-noir{--visual-a:#090909;--visual-b:#666;--visual-c:#c61860}.visual-violet{--visual-a:#0b0812;--visual-b:#23136b;--visual-c:#b54cff}.visual-blue{--visual-a:#0b1530;--visual-b:#1d3e70;--visual-c:#79b6ff}.visual-mono{--visual-a:#d7d7d7;--visual-b:#111;--visual-c:#fff}.visual-silver{--visual-a:#f1f1ed;--visual-b:#72736e;--visual-c:#2b2f36}.visual-green{--visual-a:#07140f;--visual-b:#386350;--visual-c:#7effba}.project-detail-overlay{z-index:100;color:#f2f2ef;opacity:0;visibility:hidden;pointer-events:none;background:#050605;grid-template-columns:45% 55%;width:100%;height:100vh;min-height:680px;transition:opacity .68s cubic-bezier(.22,1,.36,1),visibility 0s linear .68s;display:grid;position:fixed;inset:0;overflow:hidden}.project-detail-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .68s cubic-bezier(.22,1,.36,1),visibility linear}.detail-back-button{z-index:4;color:#f5f5f2f0;font:inherit;text-transform:uppercase;cursor:pointer;opacity:0;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:clamp(15px,1.25vw,21px);font-weight:800;transition:color .2s,opacity .52s,transform .62s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;top:clamp(28px,6vh,58px);left:clamp(28px,3.5vw,64px);transform:translateY(16px)}.detail-back-button:hover{color:var(--red)}.project-detail-overlay.open .detail-back-button{opacity:1;transition-delay:.16s;transform:translateY(0)}.detail-info-panel{opacity:0;filter:blur(10px);flex-direction:column;justify-content:center;min-width:0;padding:16vh clamp(42px,4.6vw,80px) 10vh;transition:opacity .62s,filter .62s,transform .76s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(34px)}.project-detail-overlay.open .detail-info-panel{opacity:1;filter:blur();transition-delay:.22s;transform:translateY(0)}.detail-title-row{align-items:baseline;gap:clamp(14px,1.6vw,28px);min-width:0;display:flex}.detail-title-row h2{max-width:min(760px,34vw);margin:0;font-size:clamp(58px,5.45vw,98px);font-weight:500;line-height:.94}.detail-title-row time{color:#ffffffe6;flex:none;font-size:clamp(13px,1vw,17px);font-weight:800}.detail-description{color:#ffffff75;max-width:600px;margin:clamp(48px,7vh,72px) 0 0;font-size:clamp(17px,1.3vw,22px);line-height:1.65}.detail-tags{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.detail-tags span{color:#ffffff7a;text-transform:uppercase;border:1px solid #ffffff2b;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.detail-gallery-panel{opacity:0;grid-template-columns:minmax(96px,14%) minmax(0,1fr);align-items:stretch;gap:clamp(12px,1.2vw,22px);min-width:0;height:100vh;padding:5vh 0;transition:opacity .68s,transform .88s cubic-bezier(.22,1,.36,1);display:grid;transform:translate(8%)}.project-detail-overlay.open .detail-gallery-panel{opacity:1;transition-delay:.3s;transform:translate(0)}.detail-thumbnails{overscroll-behavior:contain;scrollbar-color:#ffffff61 transparent;scrollbar-width:thin;grid-auto-rows:142px;align-self:stretch;gap:10px;width:100%;height:90vh;padding-right:6px;display:grid;overflow:hidden auto}.detail-thumbnails button{cursor:pointer;opacity:.42;background:#101210;border:1px solid #0000;min-width:0;min-height:0;padding:0;transition:border-color .22s,opacity .22s;position:relative;overflow:hidden}.detail-thumbnails button:hover,.detail-thumbnails button.active{opacity:1;border-color:#ffffffad}.detail-thumbnails .project-visual,.detail-selected-visual .project-visual{width:100%;height:100%;min-height:0;box-shadow:none}.detail-selected-visual{background:#000;height:90vh;position:relative;overflow:hidden}.detail-card-group{--group-x:0px;--group-y:0px;--group-rx:0deg;--group-ry:0deg;perspective:1500px;touch-action:pan-y;background:#000;width:100%;height:100%;position:relative;overflow:hidden}.detail-card-group-plane{transform:translate3d(var(--group-x), var(--group-y), 0) rotateX(var(--group-rx)) rotateY(var(--group-ry));transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out;animation:.72s cubic-bezier(.22,1,.36,1) both detail-group-enter;position:absolute;inset:0}.detail-single-card-stage{perspective:1500px;background:#000;width:100%;height:100%;animation:.72s cubic-bezier(.22,1,.36,1) both detail-group-enter;position:relative;overflow:hidden}.detail-card-3d{--card-rx:0deg;--card-ry:0deg;--card-lift:0px;--shine-x:50%;--shine-y:50%;z-index:var(--card-z);left:var(--card-x);top:var(--card-y);aspect-ratio:378/529;width:clamp(160px,31%,270px);transform:translate(-50%, -50%) translate3d(0, var(--card-lift), calc(var(--card-z) * 8px)) rotateZ(var(--card-angle)) rotateX(var(--card-rx)) rotateY(var(--card-ry));transform-origin:50% 68%;transform-style:preserve-3d;cursor:default;will-change:transform;transition:transform .17s ease-out,filter .22s;position:absolute}.detail-card-3d:hover{--card-lift:-12px;z-index:20;filter:drop-shadow(0 28px 22px #0000007a)}.detail-card-single{width:auto;height:min(76%,720px);aspect-ratio:var(--image-ratio,.714);filter:drop-shadow(0 30px 26px #0000008a)}.detail-card-single.is-landscape{width:min(88%,920px);height:auto}.detail-card-single.is-square{width:auto;height:min(68%,560px)}.detail-card-single:hover{--card-lift:-8px}.detail-card-3d img{object-fit:contain;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.detail-card-face{z-index:1}.detail-card-depth{z-index:0;display:none}.detail-card-single.material-metal{--light-active:0;--shadow-x:0px;--shadow-y:16px;transform-origin:50% 54%}.detail-card-single.material-metal .detail-card-depth{opacity:.72;filter:brightness(.13)saturate(.9)drop-shadow(0 22px 22px #000000c2);display:block;transform:translate3d(8px,11px,-24px)scale(.995)}.detail-card-single.material-metal .detail-card-face{filter:contrast(1.04) saturate(1.04) drop-shadow(var(--shadow-x) var(--shadow-y) 20px #0000009e);transition:filter .18s;transform:translateZ(18px)}.detail-card-single.material-metal:before,.detail-card-single.material-metal:after{content:"";-webkit-mask:var(--badge-image) center / contain no-repeat;-webkit-mask:var(--badge-image) center / contain no-repeat;mask:var(--badge-image) center / contain no-repeat;pointer-events:none;position:absolute;inset:0}.detail-card-single.material-metal:before{display:none}.detail-card-single.material-metal:after{z-index:3;background:radial-gradient(circle at var(--shine-x) var(--shine-y), #ffffffe0 0%, #ffe7ae85 9%, #ffffff29 22%, transparent 43%);mix-blend-mode:screen;opacity:var(--light-active);transition:opacity .11s ease-out;transform:translateZ(26px)}.detail-card-single.material-metal:hover{--card-lift:-11px;filter:drop-shadow(0 34px 30px #000000b8)}.detail-card-single.material-metal:hover .detail-card-face{filter:brightness(1.03) contrast(1.08) saturate(1.08) drop-shadow(var(--shadow-x) var(--shadow-y) 22px #000000b8)}.detail-card-3d:after{z-index:2;content:"";background:radial-gradient(circle at var(--shine-x) var(--shine-y), #ffffff6b, #ffffff14 22%, transparent 50%);mix-blend-mode:soft-light;opacity:0;pointer-events:none;border-radius:5%;transition:opacity .18s;position:absolute;inset:1.2%}.detail-card-3d:hover:after{opacity:.48}.detail-frame-count{z-index:30;color:#ffffff7a;letter-spacing:.12em;font-size:12px;font-weight:800;position:absolute;bottom:18px;right:20px}@keyframes detail-group-enter{0%{opacity:0;filter:blur(10px);transform:translate3d(calc(var(--group-x) + 54px), var(--group-y), -120px) rotateY(-5deg)}to{opacity:1;filter:blur();transform:translate3d(var(--group-x), var(--group-y), 0) rotateX(var(--group-rx)) rotateY(var(--group-ry))}}.circle-gallery{z-index:2;background:#050605;height:4000vh;position:relative}.circle-gallery-pin{background:#050605}.circle-gallery .scene-label{top:50%;transform:translateY(-50%)}.gallery-statement{--gallery-copy-glow-core:2px;--gallery-copy-glow-soft:12px;--gallery-copy-glow-alpha:0;--gallery-copy-glow-soft-alpha:0;z-index:600;width:min(680px,72vw);transform:translate(-50%, -50%) translateY(var(--gallery-copy-y));opacity:var(--gallery-copy-opacity);color:#f7f8f5f0;text-align:center;-webkit-text-stroke:1.4px #020302f0;paint-order:stroke fill;text-shadow:0 0 7px #000000f5, 0 3px 16px #000000eb, 0 0 var(--gallery-copy-glow-core) rgb(255 255 255/var(--gallery-copy-glow-alpha)), 0 0 var(--gallery-copy-glow-soft) rgb(255 255 255/var(--gallery-copy-glow-soft-alpha));filter:blur(calc((1 - var(--gallery-copy-opacity)) * 8px));margin:0;font-size:clamp(42px,4vw,68px);line-height:1.14;transition:opacity .14s linear,filter .14s linear,transform .14s linear,text-shadow .14s linear;position:absolute;top:50%;left:50%}.gallery-statement span{display:inline-block}.gallery-statement em{font-family:Georgia,Times New Roman,serif;font-style:italic}.floating-gallery{--gallery-card-width:clamp(150px, 12.2vw, 220px);--gallery-card-height:clamp(100px, 8.2vw, 148px);z-index:4;perspective:1200px;perspective-origin:50%;transform-style:preserve-3d;position:absolute;inset:0}.gallery-three-scene{pointer-events:none;position:absolute;inset:0}.gallery-three-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-three-canvas--rear{z-index:5;filter:blur(5px)}.gallery-three-canvas--front{z-index:601}.gallery-project-label{z-index:7;color:#f7f8f5;opacity:0;grid-template-columns:auto auto;width:min(520px,72vw);margin:0;transition:opacity .1s linear;display:grid;position:absolute;bottom:clamp(26px,5vh,58px);left:50%;transform:translate(-50%)}.gallery-project-label span,.gallery-project-label em{color:#f7f8f594;text-transform:uppercase;font-size:10px;font-style:normal;line-height:1}.gallery-project-label em{justify-self:end}.gallery-project-label strong{text-align:center;grid-column:1/-1;margin-top:8px;font-size:clamp(18px,1.5vw,26px);font-weight:500;line-height:1.08}.floating-tile{--gallery-depth-blur:0px;width:var(--gallery-card-width);height:var(--gallery-card-height);opacity:0;transform:translate(-50%, -50%) translate3d(var(--gallery-x), var(--gallery-y), var(--gallery-z)) rotateX(var(--gallery-rotate-x)) rotateY(var(--gallery-rotate-y)) rotateZ(var(--gallery-rotate-z)) scale(var(--gallery-scale));filter:blur(var(--gallery-depth-blur)) drop-shadow(0 18px 22px #0000008a);transform-style:preserve-3d;will-change:transform, opacity, filter;transition:filter .12s linear;position:absolute;top:50%;left:50%}.floating-tile.is-model-ready .gallery-slice{visibility:hidden}.gallery-kind-card{--gallery-card-width:clamp(96px, 7.5vw, 138px);--gallery-card-height:clamp(134px, 10.5vw, 193px)}.gallery-kind-icon{--gallery-card-width:clamp(112px, 9.3vw, 168px);--gallery-card-height:clamp(112px, 9.3vw, 168px)}.gallery-kind-badge{--gallery-card-width:clamp(118px, 9.7vw, 176px);--gallery-card-height:clamp(118px, 9.7vw, 176px)}.gallery-slice{width:calc(10% + 1.5px);height:100%;transform:rotateY(var(--gallery-slice-angle));transform-origin:50% 50% calc(0px - var(--gallery-curve-depth));transform-style:preserve-3d;-webkit-backface-visibility:visible;backface-visibility:visible;margin-left:-.75px;position:absolute;top:0;left:45%;overflow:hidden}.gallery-slice-content{width:var(--gallery-card-width);height:var(--gallery-card-height);background:transparent var(--gallery-image) center / contain no-repeat;transform:translateX(var(--gallery-slice-shift));display:block;position:absolute;top:0;left:0}.awards-stage{background:#050605;align-items:center;min-height:150vh;padding:18vh clamp(24px,4.6vw,80px) 16vh;display:flex;position:relative;overflow:clip}.awards-inner{width:100%}.awards-inner h2{margin:0 0 clamp(42px,6vh,72px);font-size:clamp(44px,3.4vw,62px);font-weight:400;line-height:1}.awards-list{border-top:1px solid #ffffff47}.award-row{--award-fill:0;isolation:isolate;color:#fff;border-bottom:1px solid #ffffff47;grid-template-columns:minmax(0,1fr) auto;min-height:clamp(92px,13vh,118px);display:grid;position:relative;overflow:hidden}.award-row:before{z-index:-1;content:"";clip-path:polygon(0 0, calc(var(--award-fill) * 100%) 0, calc(var(--award-fill) * 100%) 100%, 0 100%);will-change:clip-path;background:#f0f0ef;position:absolute;inset:0}.award-row>*{color:#fff;mix-blend-mode:difference;align-items:center;min-width:0;padding:18px 20px;font-size:clamp(20px,2vw,36px);line-height:1.05;display:flex}.award-row .regards-index{white-space:nowrap;justify-content:flex-end;min-width:96px}.work-section{background:#050605;padding:clamp(72px,12vw,160px) clamp(22px,5vw,88px)}.work-section h2,.contact-section h2{margin:0 0 clamp(38px,7vw,90px);font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,9vw,150px);font-style:italic;font-weight:400;line-height:.95}.project-list{border-top:1px solid #ffffff38}.project-row{border-bottom:1px solid #ffffff2e;grid-template-columns:70px minmax(180px,1fr) minmax(140px,260px) 80px;align-items:center;gap:24px;padding:clamp(24px,4vw,54px) 0;display:grid;position:relative;overflow:hidden}.project-row:before{content:"";opacity:0;background:#9bdde017;transition:transform .52s cubic-bezier(.2,.8,.2,1),opacity .52s;position:absolute;inset:0;transform:translateY(100%)}.project-row:hover:before{opacity:1;transform:translateY(0)}.project-row span,.project-row p,.project-row time{z-index:1;color:#ffffff94;text-transform:uppercase;font-size:clamp(13px,1.1vw,18px);position:relative}.project-row h3{z-index:1;margin:0;font-size:clamp(38px,7.8vw,132px);font-weight:800;line-height:.9;transition:color .35s,transform .52s cubic-bezier(.2,.8,.2,1);position:relative}.project-row:hover h3{color:var(--cyan);transform:translate(18px)}.skills-stage{background:#050605;grid-template-columns:60% 40%;min-height:235vh;display:grid;position:relative}.skills-stage>.scene-index,.skills-stage>.scene-label{pointer-events:none;opacity:var(--skills-rail-opacity);position:fixed}.skills-left-panel{height:100vh;min-height:680px;filter:blur(var(--skills-scene-blur));will-change:filter;padding:clamp(90px,14vh,132px) clamp(44px,9vw,160px);position:sticky;top:0}.skills-left-content{flex-direction:column;height:100%;display:flex;position:relative}.skills-kicker{margin:0 0 58px;font-size:20px}.skills-left-content h2{text-transform:uppercase;max-width:800px;margin:0;font-size:clamp(42px,3.8vw,68px);font-weight:800;line-height:1.05}.skills-left-content>a{color:#ffffffe6;text-transform:uppercase;width:fit-content;margin-top:auto;margin-bottom:118px;font-size:18px;font-weight:800}.skills-arrow{color:#ff2f1f;width:fit-content;height:auto;transform:translateX(var(--skills-arrow-x));will-change:transform;margin:0;font-size:clamp(160px,18vw,310px);font-weight:400;line-height:.58;display:block;position:absolute;bottom:-36px;left:clamp(30px,7vw,120px)}.skills-groups{min-height:235vh;filter:blur(var(--skills-scene-blur));will-change:filter;padding:38vh 80px 42vh 40px}.skill-group{border-top:1px solid #ffffff21;padding:28px 0 36px}.skill-group:last-child{border-bottom:1px solid #ffffff21}.skill-group header{justify-content:space-between;align-items:center;gap:24px;display:flex}.skill-group h3{margin:0;font-size:clamp(42px,3.2vw,60px);font-weight:400;line-height:1}.skill-group header>span{color:#ffffffad;font-size:36px;transition:transform .32s,color .32s}.skill-group:hover header>span{color:#ff2f1f;transform:rotate(45deg)}.skill-items{opacity:0;flex-wrap:wrap;gap:12px 24px;max-height:0;transition:max-height .52s,opacity .32s,margin .52s;display:flex;overflow:hidden}.skill-items.expanded,.skill-group:hover .skill-items{opacity:1;max-height:180px;margin-top:30px}.skill-items span{color:#ffffff75;font-size:clamp(18px,1.5vw,26px)}.contact-stage{background:#050605;height:320vh;position:relative;overflow:clip}.contact-pin{height:100vh;min-height:680px;padding:0;position:sticky;top:0}.contact-dot-wrap{z-index:1;background:#050605;position:absolute;inset:0;overflow:hidden}.contact-dot{width:300vmax;height:300vmax;transform:translate(-50%, -50%) scale(var(--contact-dot-scale));transform-origin:50%;will-change:transform;background:#f0f0ef;border-radius:50%;position:absolute;top:100%;left:50%}.contact-canvas{z-index:2;color:#080908;opacity:var(--contact-content-opacity);filter:blur(var(--contact-scene-blur));will-change:opacity, filter;background:0 0;border-radius:0 0 44px 44px;position:absolute;inset:0;overflow:hidden}.contact-canvas h2{z-index:3;transform:translateX(var(--contact-title-x));will-change:transform;margin:0;font-size:clamp(150px,17vw,300px);font-weight:800;line-height:.9;position:absolute;top:2vh;left:6vw}.contact-copy{z-index:4;width:min(15vw,250px);margin:0;font-size:clamp(19px,1.45vw,28px);line-height:1.05;position:absolute}.contact-copy-one{opacity:var(--contact-first-opacity);transform:translateY(var(--contact-first-y));top:7vh;left:56.3vw}.contact-copy-two{opacity:var(--contact-second-opacity);transform:translateY(var(--contact-second-y));top:56vh;right:6.2vw}.contact-copy:first-line{font-family:Georgia,Times New Roman,serif;font-style:italic}.contact-frame{z-index:2;aspect-ratio:2/3;background:#8d1f18;width:min(25vw,432px);margin:0;position:absolute;overflow:hidden;box-shadow:0 28px 70px #0000002e}.contact-frame img{object-fit:cover;filter:hue-rotate(185deg)saturate(1.35)contrast(1.08);width:100%;max-width:none;height:145%}.contact-frame:before,.contact-frame:after{z-index:2;color:#fff;content:"+";font-size:22px;position:absolute;top:12px}.contact-frame:before{left:12px}.contact-frame:after{right:12px}.contact-frame-one{opacity:var(--contact-first-opacity);transform:translateY(var(--contact-first-y));top:1vh;right:0}.contact-frame-one img{transform:translateY(calc(var(--contact-progress) * -24%)) scale(1.08)}.contact-frame-two{opacity:var(--contact-second-opacity);transform:translateY(var(--contact-second-y));top:62vh;left:50%}.contact-frame-two img{transform:translateY(calc(var(--contact-progress) * -30%)) scale(1.12) rotate(180deg)}.contact-bottom{z-index:4;opacity:var(--contact-bottom-opacity);transform:translateY(calc((1 - var(--contact-bottom-opacity)) * 48px));gap:28px;display:grid;position:absolute;bottom:5vh;left:6vw}.contact-bottom nav{gap:4px;display:grid}.contact-bottom nav a{width:fit-content;font-size:28px;font-weight:800}.contact-email{font-size:20px}.contact-rail{z-index:6;font-size:18px;position:absolute;top:50%;right:3.3vw;transform:translateY(-50%)}.contact-rail:after{content:"";background:#0000004d;width:1px;height:84vh;position:absolute;top:-42vh;right:-18px}.footer-transition{z-index:0;pointer-events:none;background:0 0;height:82vh;position:relative}.site-footer{z-index:1;color:#f0f1ef;height:100vh;min-height:680px;opacity:clamp(0, calc(var(--footer-progress) * 4), 1);visibility:visible;background:#070807;position:fixed;inset:0;overflow:hidden}.footer-topline{z-index:3;opacity:var(--footer-progress);transform:translateY(calc((1 - var(--footer-progress)) * 42px));text-transform:uppercase;will-change:opacity, transform;grid-template-columns:1fr 1fr auto;gap:clamp(34px,8vw,150px);font-size:clamp(16px,1.35vw,24px);font-weight:700;line-height:1.6;display:grid;position:absolute;top:clamp(30px,5.8vh,54px);left:clamp(24px,3.4vw,60px);right:clamp(24px,3.4vw,60px)}.footer-meta,.footer-socials,.footer-navigation{flex-direction:column;align-items:flex-start;display:flex}.footer-meta a{text-transform:none}.footer-pixel-logo{z-index:1;aspect-ratio:2400/516;width:min(78vw,1500px);transform:translate(-50%, -50%) translateY(calc((1 - var(--footer-progress)) * 64px)) scale(calc(.92 + var(--footer-progress) * .08));will-change:opacity, transform;isolation:isolate;position:absolute;top:39vh;left:50%;overflow:visible}.footer-pixel-grid,.footer-tetromino-layer{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(24,1fr);display:grid;position:absolute;inset:0}.footer-tetromino-layer{z-index:2;opacity:var(--footer-piece-opacity);will-change:opacity}.footer-tetromino{opacity:0;transform-origin:50%;will-change:opacity, filter, transform;width:100%;height:100%;display:block;position:relative}.footer-tetromino-block{image-rendering:pixelated;background-color:#0000;background-repeat:no-repeat;outline:1px solid #ffffff1a;display:block;position:absolute;box-shadow:inset 0 0 0 1px #00000094,inset 0 0 7px #ffffff17}.footer-pixel-final{z-index:3;object-fit:fill;width:100%;height:100%;opacity:var(--footer-logo-lock);filter:brightness(var(--footer-logo-brightness)) drop-shadow(0 0 var(--footer-logo-glow) #ffffffeb);pointer-events:none;will-change:opacity, filter;position:absolute;inset:0}.footer-pixel-logo:before{z-index:4;left:0;right:0;top:var(--footer-scan-y);content:"";height:2px;opacity:var(--footer-scan-opacity);pointer-events:none;background:#fff;position:absolute;box-shadow:0 0 18px #ffffffb8}.site-footer.is-logo-assembled .footer-pixel-final{animation:4.8s linear infinite footer-logo-double-flash}@keyframes footer-logo-double-flash{0%,63%,70%,to{opacity:1;filter:brightness()drop-shadow(0 0 #0000)}65%,68%{opacity:.28;filter:brightness(2.7)drop-shadow(0 0 22px #fffffff5)}66.5%,69.5%{opacity:1;filter:brightness(1.75)drop-shadow(0 0 10px #ffffffc2)}}.footer-name{z-index:4;white-space:nowrap;opacity:var(--footer-progress);transform:translateY(calc((1 - var(--footer-progress)) * 24vh));will-change:opacity, transform;justify-content:space-between;align-items:baseline;gap:4vw;margin:0;line-height:.74;display:flex;position:absolute;bottom:0;left:clamp(24px,2.7vw,48px);right:clamp(24px,2.7vw,48px)}.footer-first-name{font-size:clamp(138px,18vw,315px);font-weight:500}.footer-last-name{font-family:Commune,Arial,Helvetica,sans-serif;font-size:clamp(126px,17vw,295px);font-style:normal;font-weight:400}.footer-last-name i{color:var(--red);font-family:Arial,Helvetica,sans-serif;font-style:normal}@media (max-width:900px){.hero-pin{min-height:620px}.hero-name{grid-template-columns:1fr;justify-content:start;align-items:start;gap:8px;display:grid;bottom:170px}.hero-name .first,.hero-name .last,.hero-name .period{font-size:clamp(76px,22vw,170px)}.hero-name .first{transform:translateX(calc(var(--title-exit) * -116vw))}.hero-name .last{transform:translateX(calc(var(--title-exit) * 116vw))}.hero-name .period{display:none}.hero-nav{grid-template-columns:1fr;align-items:start;gap:14px}.socials,.sections{flex-wrap:wrap;justify-self:start}.image-transition{width:calc(84vw + var(--image-expand) * 16vw);height:calc(19vw + var(--image-expand) * (100vh - 19vw))}.hero-pixel-grid{width:92vw}.about-stage{height:250vh}.about-pin{min-height:620px}.about-title{width:84vw;font-size:clamp(30px,8.4vw,44px);line-height:1.14;top:8vh;left:24px}.about-portrait{width:76vw;height:72vh;min-height:470px;opacity:calc(.8 + var(--about-details-progress) * .2);filter:blur(calc((1 - var(--about-details-progress)) * 7px));top:30vh;right:-14vw}.about-detail{width:66vw;top:auto;bottom:7vh;left:24px}.about-detail p{font-size:clamp(18px,5vw,24px)}.about-stage .scene-label{top:5vh;right:18px}.about-stage .scene-index{top:5vh;transform:none}.project-row{grid-template-columns:44px 1fr}.project-row p,.project-row time{grid-column:2}.projects-stage{height:590vh}.projects-pin,.circle-gallery-pin{min-height:620px}.scene-index{font-size:15px;left:22px}.scene-label{top:27%;right:54px}.project-ribbon path,.gallery-ribbon path{stroke-width:76px}.projects-list-kinetic{z-index:6;width:70vw;transform:translateY(calc(-71px + var(--project-shift)));top:55%;left:82px}.kinetic-project{height:142px}.project-title{font-size:clamp(48px,15vw,62px);line-height:.98}.project-preview{z-index:4;width:34vw;opacity:var(--projects-content-opacity);top:34%;right:74px}.preview-meta{gap:8px;font-size:11px}.project-preview p{font-size:10px;line-height:1.35}.project-visual{height:46vw;min-height:170px}.mock-lid{width:68%;left:16%}.mock-screen strong{font-size:16px}.circle-gallery{height:4600vh}.floating-gallery{--gallery-card-width:clamp(90px, 30vw, 132px);--gallery-card-height:clamp(64px, 21vw, 96px)}.gallery-kind-card{--gallery-card-width:clamp(64px, 20vw, 82px);--gallery-card-height:clamp(90px, 28vw, 115px)}.gallery-kind-icon,.gallery-kind-badge{--gallery-card-width:clamp(76px, 24vw, 96px);--gallery-card-height:clamp(76px, 24vw, 96px)}.gallery-project-label{width:min(310px,72vw);bottom:30px}.gallery-project-label strong{font-size:17px}.circle-gallery .scene-label{right:18px}.gallery-statement{width:64vw;font-size:clamp(36px,10.8vw,48px);line-height:1.08}.skills-stage{min-height:230vh;display:block}.skills-stage>.scene-index,.skills-stage>.scene-label{display:none}.skills-left-panel{height:100vh;min-height:620px;padding:92px 24px 58px;position:relative}.skills-left-content h2{font-size:clamp(38px,10vw,52px)}.skills-arrow{font-size:44vw;bottom:-12px;left:22px}.skills-left-content>a{margin-bottom:96px}.skills-groups{min-height:125vh;padding:12vh 24px 28vh}.skill-group h3{font-size:clamp(34px,9vw,48px)}.awards-stage{min-height:180vh;padding:14vh 24px}.awards-inner h2{margin-bottom:42px;font-size:clamp(38px,11vw,52px)}.award-row{grid-template-columns:1fr auto;min-height:108px;padding:12px 0}.award-row>*{padding:8px 10px;font-size:clamp(17px,5.2vw,22px)}.award-row .regards-index{grid-area:1/2;min-width:0}.contact-stage{height:310vh}.contact-pin{min-height:620px}.contact-canvas{border-radius:0 0 24px 24px}.contact-dot{width:330vmax;height:330vmax}.contact-canvas h2{font-size:clamp(82px,25vw,116px);top:4vh;left:18px}.contact-copy{width:38vw;font-size:clamp(15px,4vw,19px)}.contact-copy-one{top:24vh;left:8vw}.contact-copy-two{top:61vh;right:7vw}.contact-frame{width:48vw}.contact-frame-one{top:20vh;right:-8vw}.contact-frame-two{top:62vh;left:-7vw}.contact-bottom{gap:16px;bottom:5vh;left:24px}.contact-bottom nav a{font-size:21px}.contact-email{font-size:16px}.contact-rail{font-size:14px;right:18px}.footer-transition{height:88vh}.site-footer{min-height:620px}.footer-topline{grid-template-columns:1fr 1fr;gap:18px 20px;font-size:13px;line-height:1.5;top:26px;left:24px;right:24px}.footer-socials{grid-area:2/1}.footer-navigation{grid-area:1/2/span 2;justify-self:end}.footer-pixel-logo{width:92vw;top:40vh}.footer-name{grid-template-columns:1fr;gap:2px;line-height:.76;display:grid;bottom:22px;left:20px;right:20px}.footer-first-name{font-size:clamp(94px,28vw,118px)}.footer-last-name{justify-self:end;font-size:clamp(90px,27vw,114px)}.project-detail-overlay{min-height:0;display:block;overflow-y:auto}.detail-back-button{position:fixed;top:24px;left:24px}.detail-info-panel{min-height:54vh;padding:112px 24px 54px}.detail-title-row{display:block}.detail-title-row h2{max-width:92vw;font-size:clamp(48px,14vw,74px)}.detail-title-row time{margin-top:18px;display:block}.detail-description{margin-top:36px;font-size:17px}.detail-gallery-panel{grid-template-columns:1fr;gap:12px;height:auto;padding:0 0 44px 24px}.detail-thumbnails{scroll-snap-type:x proximity;order:2;gap:8px;width:calc(100% - 24px);height:138px;padding:0 0 8px;display:flex;overflow:auto hidden}.detail-thumbnails button{scroll-snap-align:start;flex:0 0 98px}.detail-selected-visual{height:58vh;min-height:420px}.detail-card-3d{width:clamp(118px,39%,176px)}.detail-card-single{width:auto;height:min(78%,500px)}.detail-card-single.is-landscape{width:92%;height:auto}.detail-card-single.is-square{width:auto;height:min(65%,300px)}.detail-frame-count{bottom:12px;right:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.model-preview-page{color:#f5f5f2;isolation:isolate;background:#050505;width:100%;height:100svh;min-height:680px;position:relative;overflow:hidden}.model-preview-canvas{cursor:grab;touch-action:none;position:absolute;inset:0}.model-preview-canvas:active{cursor:grabbing}.model-preview-canvas canvas{width:100%;height:100%;display:block}.model-preview-header{z-index:2;pointer-events:none;align-items:flex-start;gap:18px;display:flex;position:absolute;top:30px;left:30px}.model-preview-back{color:#fff;pointer-events:auto;border:1px solid #ffffff57;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:23px;line-height:1;text-decoration:none;transition:color .18s,background-color .18s;display:grid}:is(.model-preview-back:hover,.model-preview-back:focus-visible){color:#050505;background:#fff;outline:none}.model-preview-heading p,.model-preview-heading h1,.model-preview-heading span,.model-preview-status{letter-spacing:0;margin:0}.model-preview-heading p{color:#ffffff85;margin-bottom:8px;font-size:11px;line-height:1}.model-preview-heading h1{max-width:min(520px,58vw);font-size:clamp(26px,3vw,44px);font-weight:500;line-height:.98}.model-preview-heading span{color:#ffffff94;margin-top:9px;font-size:13px;line-height:1.25;display:block}.model-preview-switch{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;border:1px solid #ffffff4d;grid-template-columns:1fr 1fr;width:190px;height:44px;display:grid;position:absolute;top:30px;right:30px}.model-preview-switch button{color:#ffffff94;font:inherit;letter-spacing:0;cursor:pointer;background:0 0;border:0;font-size:12px;transition:color .18s,background-color .18s}.model-preview-switch button+button{border-left:1px solid #fff3}:is(.model-preview-switch button:hover,.model-preview-switch button:focus-visible){color:#fff;outline:none}.model-preview-switch button.is-active{color:#050505;background:#f4f4f0}.model-preview-status{z-index:2;color:#ffffff85;pointer-events:none;font-size:11px;line-height:1;position:absolute;bottom:28px;right:30px}.model-preview-status.is-loading:before{content:"";background:currentColor;width:6px;height:6px;margin-right:8px;animation:.7s steps(2,end) infinite model-preview-pulse;display:inline-block}.model-preview-status.is-error{color:#ff645e}@keyframes model-preview-pulse{50%{opacity:.2}}@media (max-width:700px){.model-preview-page{min-height:600px}.model-preview-header{top:18px;left:18px}.model-preview-heading h1{max-width:58vw;font-size:25px}.model-preview-heading span{display:none}.model-preview-switch{width:174px;top:auto;bottom:18px;right:18px}.model-preview-status{bottom:35px;left:18px;right:auto}}
