@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_c4a10090-module__lwhxgW__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_c4a10090-module__lwhxgW__variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_82b88a35-module__ZPh7LW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_82b88a35-module__ZPh7LW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#e4dcc9;--bg-2:#dbd2bd;--ink:#16130f;--ink-dim:#5b554b;--ink-faint:#948c7c;--line:#c9c0aa;--accent:#16130f;--accent-soft:#3a352d;--particle:22, 19, 15;--font-display:ui-sans-serif, system-ui;--font-mono:ui-monospace, monospace;--pad:clamp(1.25rem, 5vw, 4.5rem);--maxw:1320px;--ease:cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg:#16181d;--bg-2:#1b1e25;--ink:#ecedf0;--ink-dim:#9aa0ac;--ink-faint:#5c626f;--line:#2a2e38;--accent:#ecedf0;--accent-soft:#cfd2da;--particle:236, 237, 240}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:radial-gradient(135% 105% at 12% -5%, #ffffff12, transparent 55%), radial-gradient(120% 110% at 88% 108%, #140e040f, transparent 55%), radial-gradient(90% 70% at 70% 35%, #140e0409, transparent 60%), var(--bg);color:var(--ink);font-family:var(--font-mono);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;transition:background-color .6s var(--ease), color .6s var(--ease);background-attachment:fixed;font-size:15px;line-height:1.5;overflow-x:hidden}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}body:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(120% 120% at 50% 0,#0000 60%,#5046321f 100%);position:fixed;inset:0}body:after{content:"";z-index:2;pointer-events:none;opacity:.11;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:-50%}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem}.sectionHead{border-bottom:1px solid var(--line);align-items:baseline;gap:.9rem;margin-bottom:2.5rem;padding-bottom:1.75rem;display:flex}.sectionHead h2{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700}.sectionHead .num{color:var(--accent);font-size:.8rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.chrome{z-index:30}.chromeTop{padding:1.4rem var(--pad);view-transition-name:chrome;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.markWrap{flex-direction:column;gap:3px;line-height:1.05;display:inline-flex}.mark{font-family:var(--font-display);letter-spacing:-.04em;transition:opacity .3s var(--ease);font-size:1rem;font-weight:800}.markWrap:hover .mark{opacity:.7}.markDim{color:var(--ink-faint)}.markDot{cursor:pointer;transition:color .2s var(--ease)}.markDot:hover{color:var(--accent)}.markCursorTag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);vertical-align:middle;margin-left:.5rem;font-size:.58rem;font-weight:400}.markNote{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.01em;color:var(--ink-faint);text-transform:none;font-size:.58rem;line-height:1.35}.themeToggle{font:inherit;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .85rem;font-size:.72rem;display:inline-flex}.themeToggle:hover{border-color:var(--ink-dim);color:var(--ink)}.themeToggle:active{transform:scale(.97)}.themeDot{background:var(--ink);width:9px;height:9px;box-shadow:inset 0 0 0 2px var(--bg);border:1px solid var(--ink-dim);border-radius:50%}.chromeStamp{left:var(--pad);z-index:25;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);view-transition-name:stamp;font-size:.7rem;position:fixed;bottom:clamp(1.4rem,4vh,2.2rem)}@keyframes chromeIn{0%{opacity:0}to{opacity:1}}@keyframes unmaskUp{0%{clip-path:inset(106% 0 -12%);opacity:0}to{clip-path:inset(0 0 -12%);opacity:1}}@keyframes lineWipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}html.intro-first .chromeTop{opacity:0;animation:chromeIn .9s var(--ease) both;animation-delay:3.1s}html.intro-first .chromeStamp{opacity:0;animation:chromeIn .9s var(--ease) both;animation-delay:3.25s}.srOnly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home{min-height:100dvh;padding:clamp(6rem, 14vh, 9rem) var(--pad) clamp(5rem, 10vh, 7rem);place-items:center;display:grid}.homeInner{width:100%;max-width:var(--maxw)}.home .nameLetters{view-transition-name:hero-name}.nameLetters{cursor:default;-webkit-user-select:none;user-select:none;width:100%}.nameLetters canvas{display:block}.rippleBg{z-index:-1;pointer-events:none;position:fixed;inset:0}.homeRole{margin-bottom:1.2rem}.homePitch{max-width:34ch;color:var(--ink-dim);margin-top:1.4rem;font-size:clamp(.95rem,1.4vw,1.1rem)}.homeIndex{border-top:1px solid var(--line);flex-wrap:wrap;gap:clamp(1.4rem,5vw,3.4rem);margin-top:clamp(2rem,5vw,3.4rem);padding-top:1.5rem;display:flex}html.intro-first .homeRole{animation:unmaskUp .7s var(--ease) both;animation-delay:3.05s}html.intro-first .homePitch{animation:unmaskUp .85s var(--ease) both;animation-delay:3.3s}html.intro-first .homeIndex{animation:lineWipe 1.1s var(--ease) both;animation-delay:3.45s}.indexLink{cursor:pointer;flex-direction:column;gap:.3rem;padding:.2rem 0;display:flex;position:relative}.indexKicker{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);font-size:.6rem}.indexLabel{font-family:var(--font-display);letter-spacing:-.03em;transition:transform .4s var(--ease);font-size:clamp(1.35rem,3.6vw,2.1rem);font-weight:600;line-height:1}.indexArrow{color:var(--accent);opacity:0;transition:opacity .3s var(--ease), transform .4s var(--ease);position:absolute;bottom:.15rem;right:-1.1rem;transform:translate(-6px)}.indexLink:hover .indexLabel{transform:translate(.3rem)}.indexLink:hover .indexArrow{opacity:1;transform:translate(0)}.scene{min-height:100dvh;max-width:var(--maxw);padding:clamp(6rem, 14vh, 8.5rem) var(--pad) clamp(6rem, 12vh, 8rem);flex-direction:column;justify-content:center;margin-inline:auto;display:flex;position:relative}.sceneRail{z-index:25;align-items:center;gap:clamp(1rem,4vw,2.2rem);display:flex;position:fixed;bottom:clamp(1.3rem,4vh,2.1rem);left:50%;transform:translate(-50%)}.railLink{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);transition:color .3s var(--ease);align-items:center;gap:.5rem;font-size:.72rem;display:inline-flex}.railLink:hover{color:var(--ink)}.railArrow{transition:transform .35s var(--ease)}.railLink:hover .railArrow{transform:translate(-3px)}.railNext:hover .railArrow{transform:translate(3px)}.railPos{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-faint);font-size:.72rem}.railSlash{color:var(--line)}.sceneKicker{right:var(--pad);z-index:20;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;position:fixed;bottom:clamp(1.4rem,4vh,2.2rem)}.aboutTop{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,6vw,5.5rem);width:100%;display:grid}.aboutWrap{min-width:0}.aboutEyebrow{margin-bottom:clamp(1.6rem,4vw,2.6rem)}.aboutPhotos{aspect-ratio:1/1.04;width:100%;max-width:30rem;margin-inline:auto;position:relative}.aboutPhoto{transition:transform .55s var(--ease);will-change:transform;margin:0;position:absolute}.aboutPhoto:hover{z-index:6;transform:translateY(-10px)scale(1.035)}.aboutPhoto1{z-index:3;--rot:-5deg;width:52%;top:1%;left:0}.aboutPhoto2{z-index:4;--rot:5deg;width:50%;top:15%;right:0}.aboutPhoto3{z-index:2;--rot:-2.5deg;width:47%;bottom:0;left:25%}.aboutPhotoInner{aspect-ratio:4/5;background:var(--bg-2);outline:1px solid color-mix(in srgb, var(--ink) 8%, transparent);outline-offset:-1px;animation:photoFloat var(--dur,7s) ease-in-out infinite var(--d,0s);border-radius:22px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff24,0 2px 6px -1px #0000002e,0 26px 50px -22px #2820148c}.aboutPhoto1 .aboutPhotoInner{--dur:7.5s;--d:0s}.aboutPhoto2 .aboutPhotoInner{--dur:6.5s;--d:-1.6s}.aboutPhoto3 .aboutPhotoInner{--dur:8.2s;--d:-3.4s}.aboutPhoto img{object-fit:cover;width:100%;height:100%;display:block}.aboutPhotoEmpty{background:radial-gradient(120% 120% at 30% 15%, color-mix(in srgb, var(--ink) 6%, transparent), transparent 60%), var(--bg-2);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);place-items:center;font-size:.66rem;display:grid;position:absolute;inset:0}@keyframes photoFloat{0%,to{transform:translateY(0) rotate(var(--rot))}50%{transform:translateY(-12px) rotate(var(--rot))}}.aboutSkills{border-top:1px solid var(--line);width:100%;margin-top:clamp(3rem,8vh,5.5rem);padding-top:clamp(2rem,5vw,3rem)}.aboutSkillsEyebrow{margin-bottom:clamp(1.6rem,4vw,2.4rem)}.aboutBody{flex-direction:column;gap:1.2rem;display:flex}.aboutPara{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.5rem,4.2vw,2.6rem);font-weight:400;line-height:1.26}.aboutPara:not(:first-child){color:var(--ink-dim);font-size:clamp(1.15rem,2.6vw,1.7rem);line-height:1.45}.aboutWord{will-change:transform, filter;display:inline-block}.aboutMeta{border-top:1px solid var(--line);flex-wrap:wrap;gap:clamp(1.6rem,5vw,3.2rem);margin-top:clamp(2.2rem,5vw,3.4rem);padding-top:1.5rem;display:flex}.aboutMeta dt{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem;font-size:.62rem}.aboutMeta dd{color:var(--ink);font-size:.92rem}.aboutMail{border-bottom:1px solid var(--line);transition:border-color .3s var(--ease)}.aboutMail:hover{border-color:var(--ink)}.expScene{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:start;gap:clamp(2rem,6vw,5rem);width:100%;display:grid}.expStream{min-width:0;padding-bottom:34vh}.expEyebrow{margin-bottom:clamp(2rem,5vw,3.2rem)}.expTrack{--chip:2.8rem;position:relative}.expLine,.expLineFill{top:1.4rem;bottom:1.4rem;left:calc(var(--chip) / 2 - 1px);width:2px;position:absolute}.expLine{background:var(--line)}.expLineFill{background:var(--accent);transform-origin:top;transform:scaleY(0)}.expList{flex-direction:column;gap:clamp(2rem,5vw,3.4rem);list-style:none;display:flex}.expItem{grid-template-columns:var(--chip) 1fr;cursor:pointer;opacity:.5;transition:opacity .5s var(--ease);align-items:start;gap:clamp(1rem,3vw,1.8rem);display:grid;position:relative}.expItem.is-active{opacity:1}.expLogo{z-index:1;width:var(--chip);height:var(--chip);border:1px solid var(--line);background:var(--bg-2);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 5%, transparent);transition:transform .5s var(--ease), border-color .4s var(--ease);border-radius:11px;place-items:center;display:grid;position:relative;overflow:hidden}.expItem.is-active .expLogo{border-color:var(--ink-dim);transform:scale(1.08)}.expLogo img{object-fit:contain;filter:grayscale()contrast(1.05);opacity:.7;width:64%;height:64%;transition:filter .4s var(--ease), opacity .4s var(--ease)}.expItem.is-active .expLogo img{filter:none;opacity:1}.expMono{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-dim);transition:color .3s var(--ease);font-size:.92rem;font-weight:700}.expItem.is-active .expMono{color:var(--ink)}.expItem.is-current .expLogo:after{content:"";background:var(--accent);border:2px solid var(--bg);width:9px;height:9px;animation:statusPulse 2.4s var(--ease) infinite;border-radius:50%;position:absolute;top:-3px;right:-3px}.expBody{flex-direction:column;gap:.25rem;padding-top:.1rem;display:flex}.expSpan{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);font-size:.74rem}.expTitle{font-family:var(--font-display);letter-spacing:-.025em;margin-top:.15rem;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;line-height:1.12}.expOrg{color:var(--ink-dim);font-size:.9rem}.expNote{color:var(--ink-dim);max-width:50ch;margin-top:.35rem;font-size:.85rem;line-height:1.5}.expStage{border-left:1px solid var(--line);flex-direction:column;justify-content:center;height:68vh;padding-left:clamp(1.5rem,4vw,3.5rem);display:flex;position:sticky;top:16vh;overflow:hidden}.stageGhost{z-index:0;font-family:var(--font-display);letter-spacing:-.06em;color:color-mix(in srgb, var(--ink) 5%, transparent);pointer-events:none;font-size:clamp(10rem,26vw,21rem);font-weight:800;line-height:1;position:absolute;top:50%;right:-.06em;transform:translateY(-50%)}.stageRing{border:1px solid var(--line);z-index:0;pointer-events:none;border-radius:50%;position:absolute;top:50%;left:clamp(1.5rem,4vw,3.5rem)}.stageRing1{opacity:.5;border-style:dashed;width:23rem;height:23rem;margin:-11.5rem 0 0 -4rem;animation:40s linear infinite ringSpin}.stageRing2{opacity:.4;width:14rem;height:14rem;margin:-7rem 0 0 -1rem;animation:26s linear infinite reverse ringSpin}.stageGlow{background:radial-gradient(circle, color-mix(in srgb, var(--ink) 9%, transparent), transparent 70%);filter:blur(22px);z-index:0;pointer-events:none;width:18rem;height:18rem;animation:glowBreathe 5.5s var(--ease) infinite;border-radius:50%;margin:-9rem 0 0 -4rem;position:absolute;top:50%;left:clamp(1.5rem,4vw,3.5rem)}.stageCard{z-index:1;flex-direction:column;align-items:flex-start;gap:.55rem;max-width:30ch;display:flex;position:relative}.stageLogo{border:1px solid var(--line);background:var(--bg-2);border-radius:18px;place-items:center;width:clamp(4rem,9vw,5.6rem);height:clamp(4rem,9vw,5.6rem);margin-bottom:.9rem;display:grid;overflow:hidden;box-shadow:0 24px 55px -26px #00000080}.stageLogo img{object-fit:contain;width:62%;height:62%}.stageMono{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700}.stageSpan{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.76rem}.stageTitle{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:700;line-height:1.02}.stageOrg{color:var(--ink-dim);font-size:1rem}.stageBullets{flex-direction:column;gap:.6rem;max-width:46ch;margin-top:1.1rem;list-style:none;display:flex}.stageBullets li{color:var(--ink-dim);padding-left:1.15rem;font-size:.92rem;line-height:1.5;position:relative}.stageBullets li:before{content:"";background:var(--accent);width:5px;height:5px;position:absolute;top:.62em;left:0;transform:rotate(45deg)}.stageTags{flex-wrap:wrap;gap:.45rem;margin-top:.9rem;list-style:none;display:flex}.stageTags li{font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 55%, transparent);border-radius:999px;padding:.26rem .7rem;font-size:.7rem}.stageCount{z-index:1;font-family:var(--font-mono);align-items:baseline;gap:.35rem;display:flex;position:absolute;bottom:0;left:clamp(1.5rem,4vw,3.5rem)}.stageCountNow{color:var(--ink);font-size:1.4rem}.stageCountAll{color:var(--ink-faint);font-size:.85rem}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes glowBreathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.13)}}@media (max-width:900px){.expScene{grid-template-columns:1fr}.expStage{display:none}.expStream{padding-bottom:0}.expItem{opacity:1;cursor:default}.expItem .expLogo img{filter:none;opacity:1}}.skillsScene{width:100%}.skillsIntro{max-width:46ch}.skillsTitle{font-family:var(--font-display);letter-spacing:-.04em;margin-top:.9rem;font-size:clamp(2.2rem,7vw,4rem);font-weight:700;line-height:1}.skillsSub{color:var(--ink-dim);margin-top:.9rem;font-size:clamp(.98rem,2vw,1.2rem)}.skillMarquee{margin:clamp(2.4rem, 6vw, 4rem) calc(var(--pad) * -1);flex-direction:column;gap:.1rem;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.skillMarqueeRow{white-space:nowrap;width:max-content;display:flex}.skillMarqueeRow.is-left{animation:42s linear infinite skillMarqueeL}.skillMarqueeRow.is-right{animation:52s linear infinite skillMarqueeR}.skillMarquee:hover .skillMarqueeRow{animation-play-state:paused}.skillMarqueeTrack{align-items:center;display:flex}.skillMarqueeWord{font-family:var(--font-display);letter-spacing:-.03em;color:#0000;-webkit-text-stroke:1px var(--ink-faint);transition:-webkit-text-stroke-color .3s var(--ease), color .3s var(--ease);font-size:clamp(2rem,6vw,4.4rem);font-weight:800;line-height:1.1}.skillMarqueeRow:hover .skillMarqueeWord:hover{color:var(--ink);-webkit-text-stroke-color:var(--ink)}.skillMarqueeDot{font-family:var(--font-display);color:var(--line);padding:0 clamp(.7rem,2vw,1.4rem);font-size:clamp(2rem,6vw,4.4rem);font-weight:800}.skillCloud{margin-top:clamp(1.8rem,4vw,2.6rem)}.skillFilter{flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.6rem,4vw,2.4rem);display:flex}.skillPill{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .8rem;font-size:.66rem;display:inline-flex}.skillPill:hover{color:var(--ink);border-color:var(--ink-faint)}.skillPill.is-on{color:var(--bg);background:var(--ink);border-color:var(--ink)}.skillPillCount{opacity:.6;font-size:.58rem}.skillField{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:clamp(.6rem,1.4vw,.9rem);list-style:none;display:grid}.skillTile{aspect-ratio:1;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, transparent);transform-style:preserve-3d;cursor:default;transition:border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), transform .12s var(--ease);will-change:transform;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:.7rem .5rem;display:flex;position:relative}.skillTile:hover{border-color:var(--ink);background:var(--bg);box-shadow:0 14px 30px -18px #16130f80}.skillTileMark{width:clamp(28px,5vw,38px);height:clamp(28px,5vw,38px);position:relative;transform:translateZ(22px)}.skillTileMark img{object-fit:contain;width:100%;height:100%;transition:opacity .32s var(--ease), transform .32s var(--ease);position:absolute;inset:0}.skillLogoMono{opacity:.82}.skillLogoColor{opacity:0;transform:scale(.86)}.skillTile:hover .skillLogoMono{opacity:0}.skillTile:hover .skillLogoColor{opacity:1;transform:scale(1)}.skillLogoLocal{filter:grayscale()brightness(.22)contrast(1.05);opacity:.82}.skillTile:hover .skillLogoLocal{filter:none;opacity:1}.skillTileName{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);text-align:center;transition:color .3s var(--ease);font-size:.6rem;line-height:1.25;transform:translateZ(12px)}.skillTile:hover .skillTileName{color:var(--ink)}.skillTile.is-word .skillTileName{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(.92rem,1.7vw,1.08rem);font-weight:500}@keyframes skillMarqueeL{to{transform:translate(-50%)}}@keyframes skillMarqueeR{0%{transform:translate(-50%)}to{transform:translate(0)}}.workWrap{width:100%;max-width:880px}.workEyebrow{margin-bottom:clamp(1.4rem,3.5vw,2.2rem)}.workList{border-top:1px solid var(--line);list-style:none}.workItem{border-bottom:1px solid var(--line);cursor:pointer}.workHead{grid-template-columns:2.6rem 1fr auto 1.6rem;align-items:center;gap:1rem;padding:clamp(1rem,2.5vw,1.6rem) 0;display:grid}.workNum{font-family:var(--font-mono);color:var(--ink-faint);transition:color .3s var(--ease);font-size:.78rem}.workTitle{font-family:var(--font-display);letter-spacing:-.03em;transition:transform .4s var(--ease);font-size:clamp(1.4rem,4vw,2.4rem);font-weight:600}.workYear{font-family:var(--font-mono);color:var(--ink-faint);font-size:.78rem}.workToggle{color:var(--ink-dim);text-align:center;transition:color .3s var(--ease);font-size:1.2rem}.workItem:hover .workNum,.workItem.isOpen .workNum{color:var(--accent)}.workItem:hover .workTitle{transform:translate(.4rem)}.workReveal{overflow:hidden}.workRevealInner{flex-direction:column;gap:1rem;max-width:60ch;padding:0 0 1.5rem 3.6rem;display:flex}.workBlurb{color:var(--ink-dim);font-size:1.02rem;line-height:1.6}.workFoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.workTags{flex-wrap:wrap;gap:.45rem;list-style:none;display:flex}.workTags li{font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.24rem .65rem;font-size:.7rem}.workLink{color:var(--accent);white-space:nowrap;transition:border-color .3s var(--ease);border-bottom:1px solid #0000;font-size:.82rem}.workLink:hover{border-color:var(--accent)}.contactWrap{width:100%;max-width:var(--maxw);flex-direction:column;gap:clamp(1.6rem,4vw,2.6rem);display:flex}.contactStatus{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);align-self:flex-start;align-items:center;gap:.55rem;font-size:.72rem;display:inline-flex}.statusDot{background:var(--accent);width:8px;height:8px;animation:statusPulse 2.4s var(--ease) infinite;border-radius:50%}.contactHeadline{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.8rem,11vw,7rem);font-weight:800;line-height:.98}.contactLine{display:block}.contactChar{will-change:transform;display:inline-block}.contactReach{flex-direction:column;gap:clamp(1.2rem,3vw,1.8rem);display:flex}.contactEmail{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);border-bottom:1px solid var(--line);transition:color .3s var(--ease), border-color .3s var(--ease);align-self:flex-start;font-size:clamp(1.1rem,3.6vw,2rem);font-weight:600;display:inline-block}.contactEmail:hover{color:var(--accent);border-color:var(--accent)}.contactSocials{flex-wrap:wrap;gap:clamp(1rem,4vw,2rem);list-style:none;display:flex}.contactSocial{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);transition:color .3s var(--ease);font-size:.8rem}.contactSocial:hover{color:var(--accent)}.eggToast{z-index:60;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.6rem;padding:.7rem 1.2rem;font-size:.82rem;display:flex;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);box-shadow:0 20px 40px -15px #00000080}.eggDot{background:var(--accent);border-radius:50%;width:7px;height:7px}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{0%{box-shadow:0 0 0 0 rgba(var(--particle), .4)}70%{box-shadow:0 0 0 9px rgba(var(--particle), 0)}to{box-shadow:0 0 0 0 rgba(var(--particle), 0)}}::view-transition-group(chrome){z-index:90;animation:none}::view-transition-group(stamp){z-index:90;animation:none}::view-transition-old(chrome){display:none}::view-transition-old(stamp){display:none}::view-transition-new(chrome){animation:none}::view-transition-new(stamp){animation:none}::view-transition-old(.nav-forward){--slide:-72px;animation:.26s ease-in both vt-fade reverse, .62s var(--ease) both vt-slide reverse}::view-transition-new(.nav-forward){--slide:72px;animation:.42s ease-out .2s both vt-fade, .62s var(--ease) 80ms both vt-slide}::view-transition-old(.nav-back){--slide:72px;animation:.26s ease-in both vt-fade reverse, .62s var(--ease) both vt-slide reverse}::view-transition-new(.nav-back){--slide:-72px;animation:.42s ease-out .2s both vt-fade, .62s var(--ease) 80ms both vt-slide}::view-transition-new(.scene-in){animation:.72s var(--ease) both vt-scene-in}::view-transition-old(.home-out){animation:.64s var(--ease) both vt-home-out}::view-transition-group(hero-name){animation-duration:.76s}::view-transition-old(hero-name){animation:.68s var(--ease) both vt-name-scatter}::view-transition-new(hero-name){animation:.82s var(--ease) both vt-name-gather}@keyframes vt-fade{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur()}}@keyframes vt-slide{0%{translate:var(--slide)}to{translate:0}}@keyframes vt-scene-in{0%{opacity:0;filter:blur(8px);transform:translateY(16px)scale(.99)}to{opacity:1;filter:blur();transform:none}}@keyframes vt-home-out{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(10px);transform:scale(1.04)}}@keyframes vt-name-scatter{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(16px);transform:scale(1.12)}}@keyframes vt-name-gather{0%{opacity:0;filter:blur(16px);transform:scale(1.08)}to{opacity:1;filter:blur();transform:scale(1)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-old(*){animation-duration:.001ms!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:.001ms!important;animation-delay:0s!important}}.pjGallery{width:100%;max-width:980px}.pjIntro{margin-bottom:clamp(2.2rem,6vw,3.6rem)}.pjIntroTitle{font-family:var(--font-display);letter-spacing:-.035em;margin-top:.9rem;font-size:clamp(2rem,6vw,3.4rem);font-weight:700;line-height:1.02}.pjIntroSub{color:var(--ink-dim);margin-top:.7rem;font-size:clamp(.95rem,2vw,1.1rem)}.pjList{flex-direction:column;gap:clamp(.8rem,2vw,1.2rem);list-style:none;display:flex}.pjTileLink{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-2) 35%, transparent);transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s var(--ease);border-radius:20px;grid-template-columns:3rem 1fr auto 1.6rem;align-items:start;gap:clamp(1rem,3vw,2rem);padding:clamp(1.4rem,3vw,2rem) clamp(1.2rem,3vw,1.8rem);display:grid;position:relative;overflow:hidden}.pjTileLink:hover{border-color:var(--ink-dim);background:color-mix(in srgb, var(--bg-2) 72%, transparent);transform:translateY(-3px)}.pjSpot{pointer-events:none;opacity:0;transition:opacity .4s var(--ease);background:radial-gradient(240px 240px at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--ink) 9%, transparent), transparent 70%);position:absolute;inset:0}.pjTileLink:hover .pjSpot{opacity:1}.pjTileNum{font-family:var(--font-mono);color:var(--ink-faint);padding-top:.45rem;font-size:.8rem}.pjTileMain{min-width:0}.pjTitle{font-family:var(--font-display);letter-spacing:-.035em;transition:transform .4s var(--ease);font-size:clamp(1.5rem,4.4vw,2.4rem);font-weight:700;line-height:1.04}.pjTileLink:hover .pjTitle{transform:translate(.35rem)}.pjTagline{color:var(--ink-dim);max-width:46ch;margin-top:.5rem;font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.4}.pjStack{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;list-style:none;display:flex}.pjStack li{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.22rem .6rem;font-size:.66rem}.pjTileMeta{text-align:right;flex-direction:column;align-items:flex-end;gap:.25rem;padding-top:.45rem;display:flex}.pjYear{font-family:var(--font-mono);color:var(--ink);font-size:.8rem}.pjRole{letter-spacing:.04em;color:var(--ink-faint);max-width:15ch;font-size:.72rem}.pjEnter{color:var(--ink-faint);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease), color .3s var(--ease);justify-self:end;padding-top:.35rem;font-size:1.1rem;transform:translate(-4px,4px)}.pjTileLink:hover .pjEnter{opacity:1;color:var(--accent);transform:translate(0)}.pjScene{justify-content:flex-start}.pjHero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);width:100%;display:grid}.pjHero--solo{grid-template-columns:minmax(0,1fr);max-width:760px}.pjHeroShot{border:1px solid var(--line);background:var(--bg-2);border-radius:16px;margin:0;position:sticky;top:clamp(5rem,12vh,8rem);overflow:hidden;box-shadow:0 40px 80px -36px #00000073}.pjHeroShot img{width:100%;height:auto;display:block}.pjDetail{z-index:1;width:100%;position:relative}@media (max-width:900px){.pjHero{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,8vw,3rem)}.pjHeroShot{order:2;position:static}}.pjDetailEyebrow{margin-bottom:1rem}.pjDetailTitle{font-size:clamp(2.6rem,9vw,5.5rem);line-height:.98}.pjDetailTagline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);max-width:30ch;margin-top:1.1rem;font-size:clamp(1.2rem,3vw,1.9rem);font-weight:400;line-height:1.3}.pjDetailOverview{color:var(--ink-dim);max-width:60ch;margin-top:1.4rem;font-size:clamp(1rem,1.7vw,1.15rem);line-height:1.65}.pjHighlights{flex-direction:column;gap:1rem;max-width:64ch;margin-top:clamp(2rem,5vw,3rem);list-style:none;display:flex}.pjHighlight{color:var(--ink);padding-left:1.6rem;font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.5;position:relative}.pjHiMark{background:var(--accent);width:7px;height:7px;position:absolute;top:.55em;left:0;transform:rotate(45deg)}.pjDetailFoot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:clamp(2rem,5vw,3rem);padding-top:1.5rem;display:flex}.pjHow{width:100%;max-width:860px;margin:clamp(3.5rem,10vw,7rem) auto 0}.pjHowEyebrow{margin-bottom:clamp(1.4rem,3vw,2.2rem)}.pjSteps{flex-direction:column;list-style:none;display:flex}.pjStep{border-top:1px solid var(--line);grid-template-columns:3.2rem 1fr;gap:clamp(1rem,3vw,2rem);padding:clamp(1.3rem,3vw,1.9rem) 0;display:grid}.pjStep:last-child{border-bottom:1px solid var(--line)}.pjStepNum{font-family:var(--font-mono);color:var(--accent);padding-top:.35rem;font-size:.78rem}.pjStepTitle{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.4rem;font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:600}.pjStepDetail{color:var(--ink-dim);max-width:62ch;font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.6}.pjShots{flex-direction:column;gap:clamp(3.5rem,11vw,8rem);width:100%;max-width:860px;margin:clamp(3rem,9vw,6rem) auto 0;display:flex;position:relative}.pjShotsLine{background:linear-gradient(to bottom, transparent, var(--line) 6%, var(--line) 94%, transparent);z-index:-1;width:1px;position:absolute;top:0;bottom:0;left:50%}.pjShot{border:1px solid var(--line);background:var(--bg-2);will-change:transform, opacity;border-radius:16px;margin:0;overflow:hidden;box-shadow:0 40px 80px -36px #00000073}.pjShotBar{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.7rem .9rem;display:flex}.pjShotBar i{background:var(--line);border-radius:50%;width:9px;height:9px}.pjShotUrl{font-family:var(--font-mono);color:var(--ink-faint);margin-left:.6rem;font-size:.72rem}.pjShotIdx{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-faint);margin-left:auto;font-size:.66rem}.pjShot img{width:100%;height:auto;display:block}.pjShotCap{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-dim);padding:.9rem 1.1rem 1.1rem;font-size:.8rem;line-height:1.5}.pjShotEmpty{aspect-ratio:16/10;font-family:var(--font-display);color:var(--line);place-items:center;font-size:clamp(3rem,10vw,6rem);display:grid}.pjStackChips{flex-wrap:wrap;gap:.45rem;list-style:none;display:flex}.pjStackChips li{font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.26rem .7rem;font-size:.7rem}.pjVisit{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);border-bottom:1px solid var(--ink-dim);transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:.4rem;padding-bottom:2px;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;display:inline-flex}.pjVisit:hover{color:var(--accent);border-color:var(--accent)}.pjActions{flex-wrap:wrap;align-items:center;gap:.7rem 1.4rem;margin-top:clamp(1.6rem,4vw,2.4rem);display:flex}.pjActions .pjVisit{margin:0}.pjLink{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-dim);border:1px solid var(--line);transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.76rem;display:inline-flex}.pjLink:hover{color:var(--ink);border-color:var(--ink-dim);background:color-mix(in oklab, var(--ink) 5%, transparent)}.pjMetrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);width:100%;max-width:860px;margin:clamp(3.5rem,9vw,6rem) auto 0;padding:clamp(1.8rem,4vw,2.6rem) 0;display:grid}.pjMetric{flex-direction:column;gap:.5rem;min-width:0;display:flex}.pjMetricVal{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:clamp(2.1rem,6vw,3.4rem);font-weight:700;line-height:.95}.pjMetricLbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-wrap:pretty;font-size:.72rem}@media (max-width:560px){.pjMetrics{grid-template-columns:1fr;gap:1.4rem}}.pjNext{width:100%;max-width:860px;margin:clamp(4rem,11vw,8rem) auto 0}.pjNextLink{border:1px solid var(--line);background:var(--bg-2);color:var(--ink);transition:border-color .4s var(--ease), background .4s var(--ease), transform .4s var(--ease);border-radius:18px;padding:clamp(1.8rem,5vw,3rem);text-decoration:none;display:block;position:relative;overflow:hidden}@media (hover:hover){.pjNextLink:hover{border-color:var(--ink-dim);background:color-mix(in oklab, var(--ink) 4%, var(--bg-2));transform:translateY(-2px)}.pjNextLink:hover .pjNextArrow{transform:translate(6px)}}.pjNextKick{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;display:block}.pjNextTitle{font-family:var(--font-display);letter-spacing:-.03em;margin-top:.7rem;font-size:clamp(1.8rem,5vw,3rem);font-weight:700;line-height:1;display:block}.pjNextTagline{max-width:52ch;color:var(--ink-dim);margin-top:.8rem;font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.5;display:block}.pjNextArrow{font-family:var(--font-mono);color:var(--ink-dim);transition:transform .4s var(--ease);font-size:1.4rem;position:absolute;top:clamp(1.8rem,5vw,3rem);right:clamp(1.8rem,5vw,3rem)}::view-transition-group(project-hero){animation-duration:.48s}.scene-work,.scene-experience,.scene-about{justify-content:flex-start}.show{width:100%}.showIntro{max-width:46ch;margin-bottom:clamp(3rem,9vh,6rem)}.showIntroTitle{font-family:var(--font-display);letter-spacing:-.04em;margin-top:.9rem;font-size:clamp(2.2rem,7vw,4rem);font-weight:700;line-height:1}.showIntroSub{color:var(--ink-dim);max-width:40ch;margin-top:1rem;font-size:clamp(.98rem,2vw,1.2rem);line-height:1.5}.showItem{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(3rem,9vh,7rem) 0;display:grid;position:relative}.showItem+.showItem:before{content:"";background:linear-gradient(90deg, transparent, var(--line) 16%, var(--line) 84%, transparent);width:min(100%,1080px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.showItem:nth-of-type(2n) .showVisual{order:2}.showVisual{z-index:1;perspective:1300px;will-change:transform;position:relative}.showGhost{z-index:0;font-family:var(--font-display);letter-spacing:-.06em;color:color-mix(in srgb, var(--ink) 9%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;margin-top:-.5em;font-size:clamp(11rem,30vw,26rem);font-weight:800;line-height:.78;position:absolute;top:50%;right:-3vw}.showItem:nth-of-type(2n) .showGhost{left:-3vw;right:auto}.showFrame{border:1px solid var(--line);background:var(--bg-2);box-shadow:0 40px 80px -40px #00000080, inset 0 1px 0 color-mix(in srgb, var(--ink) 7%, transparent);transform-style:preserve-3d;will-change:transform;transition:box-shadow .4s var(--ease);border-radius:16px;position:relative;overflow:hidden}.showFrame:hover{box-shadow:0 55px 100px -45px #0009, inset 0 1px 0 color-mix(in srgb, var(--ink) 10%, transparent)}.showBar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 50%, var(--bg-2));align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex}.showDots{gap:.4rem;display:inline-flex}.showDots i{background:var(--line);border-radius:50%;width:9px;height:9px}.showUrl{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.02em;font-size:.72rem}.showShot{aspect-ratio:16/10;position:relative;overflow:hidden}.showShot img{object-fit:contain;object-position:center top;will-change:transform;width:100%;height:100%;display:block;position:absolute;inset:0}.showShotEmpty{background:radial-gradient(120% 140% at 30% 10%, color-mix(in srgb, var(--ink) 5%, transparent), transparent 60%), var(--bg-2);place-items:center;display:grid;position:absolute;inset:0}.showShotNum{font-family:var(--font-display);letter-spacing:-.05em;color:color-mix(in srgb, var(--ink) 7%, transparent);font-size:clamp(5rem,16vw,11rem);font-weight:800;line-height:1}.showShotHint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;position:absolute;bottom:.9rem;right:1rem}.showSpot{pointer-events:none;opacity:0;transition:opacity .4s var(--ease);background:radial-gradient(300px 300px at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--ink) 10%, transparent), transparent 70%);position:absolute;inset:0}.showFrame:hover .showSpot{opacity:1}.showStatus{z-index:2;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.64rem;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.showStatusDot{background:var(--ink-faint);border-radius:50%;width:7px;height:7px}.showStatus.is-building .showStatusDot{background:var(--accent);animation:statusPulse 2.4s var(--ease) infinite}.showStatus.is-shipped .showStatusDot{background:var(--ink-dim)}.showHit{z-index:3;position:absolute;inset:0}.showMeta{z-index:1;min-width:0;position:relative}.showNum{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-faint);font-size:.78rem}.showTitle{margin-top:.7rem;font-size:clamp(2rem,5.5vw,3.4rem);line-height:1}.showTagline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);max-width:32ch;margin-top:1rem;font-size:clamp(1.1rem,2.4vw,1.55rem);font-weight:400;line-height:1.32}.showOverview{max-width:46ch;color:var(--ink-dim);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:1rem;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.showShotCount{color:var(--ink-faint)}.showMetrics{flex-wrap:wrap;gap:clamp(1.2rem,3vw,2.4rem);margin-top:clamp(1.4rem,3vw,2rem);display:flex}.showMetricVal{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:700;line-height:1}.showMetricLabel{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);margin-top:.35rem;font-size:.68rem}.showStack{flex-wrap:wrap;gap:.45rem;margin-top:clamp(1.4rem,3vw,2rem);list-style:none;display:flex}.showStack li{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.26rem .7rem;font-size:.68rem}.showActions{flex-wrap:wrap;align-items:center;gap:clamp(1.2rem,3vw,2rem);margin-top:clamp(1.6rem,3.5vw,2.4rem);display:flex}.showOpen,.showBreakdown{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);border-bottom:1px solid var(--ink-dim);transition:color .3s var(--ease), border-color .3s var(--ease);align-items:center;gap:.5rem;padding-bottom:3px;font-size:clamp(1rem,2vw,1.2rem);font-weight:600;display:inline-flex}.showBreakdown{color:var(--ink-dim);border-bottom-color:var(--line)}.showOpen span,.showBreakdown span{transition:transform .35s var(--ease)}.showOpen:hover,.showBreakdown:hover{color:var(--accent);border-color:var(--accent)}.showOpen:hover span{transform:translate(3px,-3px)}.showBreakdown:hover span{transform:translate(4px)}.showShotCount{color:var(--ink-faint);font-weight:400}.showTitle a{color:inherit;transition:color .3s var(--ease)}.showTitle a:hover{color:var(--accent)}.showThumbs{grid-auto-columns:1fr;grid-auto-flow:column;gap:.7rem;margin-top:.9rem;display:grid;overflow:visible}.showThumb{border:1px solid var(--line);aspect-ratio:16/10;background:var(--bg-2);transition:transform .35s var(--ease), border-color .3s var(--ease), box-shadow .35s var(--ease);border-radius:9px;display:block;position:relative;overflow:hidden}.showThumb img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:object-fit;display:block}.showThumb:hover{z-index:30;border-color:var(--accent);transform:scale(2.6);box-shadow:0 28px 60px -22px #0000008c}.showThumb:hover img{object-fit:contain;background:var(--bg-2)}.showThumb:first-child:hover{transform-origin:0}.showThumb:last-child:hover{transform-origin:100%}@media (prefers-reduced-motion:reduce){.showThumb:hover{transform:none}}.wheel{flex-direction:column;gap:clamp(1.4rem,4vh,2.6rem);width:100%;display:flex}.wheelHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.wheelFilters{flex-wrap:wrap;gap:.5rem;display:inline-flex}.wheelChip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.72rem;display:inline-flex}.wheelChip:hover{color:var(--ink);border-color:var(--ink-faint)}.wheelChipDot{background:var(--cat,var(--ink-faint));border-radius:50%;width:8px;height:8px}.wheelChip.is-on{color:var(--ink);border-color:color-mix(in srgb, var(--cat,var(--ink)) 70%, var(--line));background:color-mix(in srgb, var(--cat,var(--ink)) 12%, transparent)}.wheelRailWrap{width:100%;position:relative}.wheelRail{--cw:clamp(190px, 56vw, 264px);scroll-snap-type:x mandatory;padding-inline:calc(50% - var(--cw) / 2);scroll-padding-inline:calc(50% - var(--cw) / 2);scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:none;gap:clamp(.8rem,2vw,1.4rem);padding-block:clamp(2.6rem,5vh,3.6rem);display:flex;overflow:auto visible;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.wheelRail::-webkit-scrollbar{display:none}.railCard{flex:0 0 var(--cw);width:var(--cw);scroll-snap-align:center;text-align:left;cursor:pointer;background:color-mix(in srgb, var(--bg) 70%, #b89a66 30%);border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);height:clamp(190px,26vw,250px);color:var(--ink);opacity:.4;filter:saturate(.5);transform-origin:bottom;transition:transform .42s var(--ease), opacity .42s var(--ease), filter .42s var(--ease), box-shadow .42s var(--ease), border-color .42s var(--ease), background .42s var(--ease);will-change:transform, opacity;border-radius:6px;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:clamp(1rem,2.4vw,1.4rem);display:flex;position:relative;transform:scale(.82);box-shadow:0 2px 6px -3px #2e22104d}.railCard:hover{opacity:.68;transform:scale(.88)}.railCard.is-active{opacity:1;filter:none;cursor:default;background:color-mix(in srgb, var(--bg) 80%, var(--cat) 20%);border-color:var(--cat);box-shadow:0 0 0 2px color-mix(in srgb, var(--cat) 55%, transparent), 0 26px 44px -18px color-mix(in srgb, var(--cat) 55%, #2e221099);transform:scale(1.12)}.railCardBar{background:color-mix(in srgb, var(--ink) 16%, transparent);height:4px;transition:background .42s var(--ease), height .42s var(--ease);border-radius:6px 6px 0 0;position:absolute;top:0;left:0;right:0}.railCard.is-active .railCardBar{background:var(--cat);height:7px}.railCardTop{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);justify-content:space-between;align-items:baseline;font-size:.66rem;display:flex}.railCardIdx{color:var(--ink-dim);font-weight:600}.railCardName{font-family:var(--font-display);letter-spacing:-.025em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:600;line-height:1.05;display:-webkit-box;overflow:hidden}.railCardCat{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.4rem;font-size:.62rem;display:inline-flex}.wheelStage{perspective:1700px;cursor:grab;touch-action:none;outline:none;height:clamp(360px,62vh,600px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 9% 88%,#0000);mask-image:linear-gradient(#0000,#000 9% 88%,#0000)}.wheelStage:active{cursor:grabbing}.wheelRing{width:0;height:0;transform-style:preserve-3d;position:absolute;top:66%;left:50%}.wheelCard{cursor:pointer;backface-visibility:hidden;will-change:transform, opacity;background:0 0;border:0;border-radius:16px;padding:0;position:absolute;top:0;left:0}.wheelCard.is-active{cursor:default}.wheelTab{z-index:-1;background:var(--cat);border:1px solid color-mix(in srgb, var(--ink) 22%, var(--cat));color:#fff;min-width:3rem;height:1.55rem;font-family:var(--font-mono);letter-spacing:.1em;border-bottom:0;border-radius:4px 4px 0 0;justify-content:center;align-items:center;padding:0 .85rem;font-size:.64rem;display:inline-flex;position:absolute;top:-1.15rem}.wheelCardInner{background:color-mix(in srgb, var(--bg) 62%, #b89a66 38%);border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);transition:border-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:3px;flex-direction:column;justify-content:flex-end;gap:.4rem;padding:clamp(1rem,3.2vw,1.5rem);display:flex;position:absolute;inset:0;box-shadow:0 1px #ffffff38,0 2px 1px -1px #2e221038,0 12px 16px -12px #2e221066}.wheelCardName{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1.25rem,3.2vw,2rem);font-weight:600;line-height:1.04;display:-webkit-box;overflow:hidden}.wheelCardCat{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.4rem;font-size:.64rem;display:inline-flex}.wheelCardDot{background:var(--cat,var(--ink-faint));border-radius:50%;width:7px;height:7px}.wheelCard.is-active .wheelCardInner{border-color:color-mix(in srgb, var(--cat) 50%, var(--ink) 30%);box-shadow:0 1px #ffffff38,0 18px 26px -14px #2e221080}.wheelNav{z-index:5;flex-direction:column;align-items:center;gap:.6rem;display:flex;position:absolute;top:50%;right:clamp(.4rem,2vw,1rem);transform:translateY(-50%)}.wheelNavBtn{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:34px;height:34px;color:var(--ink-dim);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:50%;place-items:center;font-size:.68rem;display:grid}.wheelNavBtn:hover:not(:disabled){color:var(--ink);border-color:var(--ink-faint);transform:scale(1.08)}.wheelNavBtn:disabled{opacity:.3;cursor:default}.wheelNavPos{line-height:1.2;font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink-faint);flex-direction:column;align-items:center;font-size:.66rem;display:flex}.wheelNavPos i{opacity:.5;font-style:normal}.wheelHint{text-align:center;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);opacity:.7;pointer-events:none;margin-top:.4rem;font-size:.62rem;display:block}.wheelDetail{text-align:center;width:100%;min-width:0;max-width:760px;margin:0 auto}.wheelDetail .wheelDetailKicker,.wheelDetail .wheelDetailMetrics,.wheelDetail .wheelDetailStack,.wheelDetail .wheelDetailActions{justify-content:center}.wheelDetail .wheelDetailTagline,.wheelDetail .wheelDetailOverview{margin-left:auto;margin-right:auto}.wheelDetailKicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:.5rem;font-size:.72rem;display:inline-flex}.wheelDetailMeta{color:var(--ink-faint);margin-left:.4rem}.wheelDetailTitle{margin-top:.8rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.02}.wheelDetailTitle a{color:inherit;transition:color .3s var(--ease)}.wheelDetailTitle a:hover{color:var(--cat)}.wheelDetailTagline{max-width:34ch;font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:1rem;font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:400;line-height:1.34}.wheelDetailOverview{max-width:46ch;color:var(--ink-dim);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:1rem;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.wheelDetailMetrics{flex-wrap:wrap;gap:clamp(1.1rem,3vw,2.2rem);margin-top:clamp(1.3rem,3vw,1.9rem);display:flex}.wheelDetailMetrics dt{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;line-height:1}.wheelDetailMetrics dd{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);margin-top:.3rem;font-size:.66rem}.wheelDetailStack{flex-wrap:wrap;gap:.45rem;margin-top:clamp(1.2rem,3vw,1.8rem);list-style:none;display:flex}.wheelDetailStack li{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.26rem .7rem;font-size:.68rem}.wheelDetailActions{flex-wrap:wrap;align-items:center;gap:clamp(1rem,3vw,1.8rem);margin-top:clamp(1.5rem,3.5vw,2.2rem);display:flex}.wheelDetailActions .showOpen:hover,.wheelDetailActions .showBreakdown:hover{color:var(--cat);border-color:var(--cat)}@media (max-width:900px){.wheelRail{--cw:clamp(170px, 72vw, 240px)}.wheelDetailTagline{max-width:none}}.piamPeek{z-index:40;transition:transform .55s var(--ease);position:fixed;bottom:0;right:clamp(.5rem,4vw,4rem);transform:translateY(90%)}.piamPeek:hover{transform:translateY(0)}.piamPeekBtn{cursor:pointer;background:0 0;border:0;padding:0;line-height:0;animation:11s ease-in-out infinite peekBloop;display:block;position:relative}@keyframes peekBloop{0%,84%,to{transform:translateY(0)}89%{transform:translateY(-46px)}93%{transform:translateY(6px)}96%{transform:translateY(0)}}.piamPeek.is-saying .piamPeekBtn,.piamPeek:hover .piamPeekBtn{animation:none}.piamPeekImg{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:bottom;width:auto;height:clamp(118px,21vh,210px);animation:4.2s ease-in-out infinite peekBob;display:block}.piamShadow{filter:blur(5px);z-index:-1;background:#1e181042;border-radius:50%;width:58%;height:11px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}@keyframes peekBob{0%,to{transform:translateY(0)rotate(-1.2deg)}50%{transform:translateY(-7px)rotate(1.2deg)}}.piamSayBubble{z-index:3;border:2px solid var(--ink);opacity:0;pointer-events:none;animation:bubblePop .5s var(--ease) forwards;background:0 0;border-radius:46% 54% 50% 50%/52% 50% 50% 48%;position:fixed;transform:translate(-50%,-50%)scale(.86);box-shadow:0 24px 55px -28px #00000040}.piamSayBubble:after{content:"";background:var(--bg);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);border-bottom-right-radius:7px;width:24px;height:24px;position:absolute;bottom:-12px;right:13%;transform:rotate(45deg)}@keyframes bubblePop{0%{opacity:0;transform:translate(-50%,-50%)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.piamChat{z-index:41;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(92vw,30rem);box-shadow:0 22px 50px -26px #00000073, inset 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent);animation:piamChatIn .45s var(--ease) both;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .4rem .4rem .95rem;display:flex;position:fixed;bottom:clamp(1.1rem,4vh,2.4rem);left:50%;transform:translate(-50%)}@keyframes piamChatIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.piamChatInput{min-width:0;color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;background:0 0;border:0;outline:none;flex:1;font-size:.98rem}.piamChatInput::placeholder{color:var(--ink-faint)}.piamChatSend,.piamChatClose{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);width:2rem;height:2rem;color:var(--ink-dim);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);border-radius:50%;flex:none;place-items:center;font-size:.9rem;display:grid}.piamChatSend:hover:not(:disabled),.piamChatClose:hover{color:var(--ink);border-color:var(--ink-faint);transform:scale(1.06)}.piamChatSend:disabled{opacity:.4;cursor:default}.piamChatClose{font-size:1.05rem;line-height:1}@media (max-width:820px){.piamPeek{right:.25rem}.piamPeekImg{height:clamp(96px,16vh,130px)}.aboutTop{grid-template-columns:1fr;gap:clamp(2rem,8vw,3rem)}.aboutPhotos{justify-content:flex-start}.skillField{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.showItem{grid-template-columns:1fr;gap:clamp(1.4rem,6vw,2rem);padding:clamp(2.4rem,7vh,3.6rem) 0}.showItem:nth-of-type(2n) .showVisual{order:0}.showGhost{margin-top:0;font-size:clamp(7rem,34vw,13rem);top:-.6rem;right:-2vw}.showItem:nth-of-type(2n) .showGhost{left:auto;right:-2vw}.pjTileLink{flex-direction:column;grid-template-columns:none;align-items:flex-start;gap:.7rem;display:flex}.pjTileNum{padding-top:0}.pjTileMeta{text-align:left;flex-direction:row;align-items:center;gap:.8rem;padding-top:0}.pjRole{max-width:none}.pjEnter{display:none}.pjNum{font-size:12rem;right:-4vw}.home,.scene{justify-content:flex-start;min-height:100dvh}.home{padding-top:7rem}.scene{padding-top:6.5rem;padding-bottom:7rem}.homeIndex{gap:1.2rem 2rem}.expNote{max-width:none}.workRevealInner{padding-left:0}.chromeStamp,.sceneKicker{display:none}}.inspoScene{width:100%}.inspoHead{max-width:46ch;margin-bottom:clamp(1.6rem,4vw,2.4rem)}.inspoEyebrow{margin-bottom:clamp(1rem,3vw,1.6rem)}.inspoTitle{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2rem,6vw,3.6rem);font-weight:800;line-height:1.02}.inspoLede{max-width:52ch;color:var(--ink-dim);margin-top:.9rem;font-size:clamp(.92rem,1.6vw,1.02rem);line-height:1.55}.inspoFilters{flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.6rem,4vw,2.6rem);display:flex}.inspoPill{font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;transition:color .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease);background:0 0;border-radius:2px;padding:.42rem .9rem;font-size:.72rem}.inspoPill:hover{color:var(--ink);border-color:var(--ink-faint)}.inspoPill.is-on{color:var(--bg);background:var(--accent);border-color:var(--accent)}.inspoWall{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(.9rem,2vw,1.4rem);display:grid}.inspoTile{min-width:0}.inspoTile.is-wide{grid-column:span 2}.inspoTile{--k:var(--accent)}.inspoTile[data-kind=web]{--k:#4f8a7b}.inspoTile[data-kind=motion]{--k:#c2703d}.inspoTile[data-kind=design]{--k:#9b6bb0}.inspoTile[data-kind=type]{--k:#6b6453}.inspoTile[data-kind=art]{--k:#b0863d}.inspoTile[data-kind=game]{--k:#3d6bb0}.inspoCard{border:1px solid var(--line);background:var(--bg-2);height:100%;transition:transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}a.inspoCard:hover{border-color:color-mix(in srgb, var(--k) 60%, var(--line));transform:translateY(-5px);box-shadow:0 26px 55px -30px #0000008c}.inspoMedia{aspect-ratio:16/10;background:radial-gradient(120% 120% at 25% 12%, color-mix(in srgb, var(--k) 26%, transparent), transparent 60%), linear-gradient(150deg, color-mix(in srgb, var(--k) 14%, var(--bg)), var(--bg-2));place-items:center;display:grid;position:relative;overflow:hidden}.inspoTile.is-wide .inspoMedia{aspect-ratio:16/8}.inspoMedia img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}a.inspoCard:hover .inspoMedia img{transform:scale(1.04)}.inspoMono{font-family:var(--font-display);color:color-mix(in srgb, var(--k) 70%, var(--ink));opacity:.55;font-size:clamp(2.4rem,6vw,4rem);font-weight:800;line-height:1}.inspoMeta{flex-direction:column;gap:.32rem;padding:clamp(.85rem,2vw,1.15rem);display:flex}.inspoKind{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--k);font-size:.62rem}.inspoName{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1rem,2vw,1.18rem);font-weight:700;line-height:1.15}.inspoBy{font-family:var(--font-mono);color:var(--ink-faint);font-size:.72rem}.inspoNote{color:var(--ink-dim);margin-top:.2rem;font-size:.82rem;line-height:1.5}.inspoLink{font-family:var(--font-mono);letter-spacing:.04em;color:var(--k);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);margin-top:.45rem;font-size:.72rem;transform:translate(-4px)}a.inspoCard:hover .inspoLink{opacity:1;transform:translate(0)}@media (max-width:900px){.inspoWall{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.inspoWall{grid-template-columns:minmax(0,1fr)}.inspoTile.is-wide{grid-column:span 1}}
.scene-work{min-height:100dvh}.ixWrap{z-index:3;width:100%;max-width:60rem;padding:clamp(5.5rem, 12vh, 8rem) var(--pad) clamp(6rem, 14vh, 9rem);margin-inline:auto;position:relative}.ixHead{max-width:42rem;margin-bottom:clamp(2.75rem,6vh,4.5rem)}.ixHead .eyebrow{margin-bottom:1rem}.ixTitle{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.6rem,8vw,5rem);font-weight:800;line-height:.95}.ixLede{max-width:34rem;color:var(--ink-dim);text-wrap:pretty;margin-top:1.4rem;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.65}.ixSection{margin-top:clamp(2.75rem,6vh,4.5rem)}.ixSectionHead{border-bottom:1px solid var(--line);align-items:baseline;gap:.85rem;margin-bottom:.4rem;padding-bottom:.9rem;display:flex}.ixKicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem}.ixSectionTitle{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700}.ixSectionNote{color:var(--ink-faint);letter-spacing:.01em;font-size:.8rem}.ixSectionCount{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.72rem}@media (max-width:620px){.ixSectionNote{display:none}}.ixList{list-style:none}.ixRow{border-bottom:1px solid color-mix(in oklab, var(--line) 60%, transparent);color:var(--ink);cursor:pointer;transition:background .4s var(--ease), padding-left .4s var(--ease), color .4s var(--ease);border-radius:10px;grid-template-columns:2.4rem 1fr auto;align-items:baseline;gap:0 1.1rem;padding:1.15rem .9rem 1.15rem .6rem;text-decoration:none;display:grid;position:relative}.ixRow[data-static]{cursor:default}.ixRow:before{content:"";background:var(--ink);width:2px;height:0;transition:height .4s var(--ease);position:absolute;top:50%;left:0;transform:translateY(-50%)}@media (hover:hover){.ixRow:hover{background:color-mix(in oklab, var(--ink) 5%, transparent);padding-left:1.4rem}.ixRow:hover:before{height:1.6rem}}.ixRow:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ixIndex{font-family:var(--font-mono);color:var(--ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em;padding-top:.15rem;font-size:.78rem}.ixBody{min-width:0}.ixNameRow{align-items:baseline;gap:.9rem;display:flex}.ixName{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;line-height:1.1}.ixRight{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap;font-size:.7rem}.ixDesc{max-width:40rem;color:var(--ink-dim);text-wrap:pretty;margin-top:.4rem;font-size:.88rem;line-height:1.55;display:block}.ixRow--lead{padding-top:1.45rem;padding-bottom:1.45rem}.ixRow--lead .ixName{font-size:clamp(1.35rem,2.6vw,1.85rem)}.ixStats{flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:.8rem;display:flex}.ixStat{align-items:baseline;gap:.4rem;min-width:0;display:inline-flex}.ixStatVal{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.98rem;font-weight:700}.ixStatLbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;font-size:.64rem}.ixSection--appendix{margin-top:clamp(3.5rem,8vh,5.5rem)}.ixSection--appendix .ixName{font-size:clamp(1.05rem,1.9vw,1.3rem)}.ixAction{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap;transition:color .4s var(--ease);align-self:center;align-items:center;gap:.45rem;font-size:.72rem;display:inline-flex}.ixRow[data-static] .ixActionLabel{opacity:.5}.ixArrow{transition:transform .4s var(--ease);display:inline-block}@media (hover:hover){.ixRow:hover .ixAction{color:var(--ink)}.ixRow:hover .ixArrow{transform:translate(4px)}.ixRow[data-static]:hover .ixArrow{transform:none}}@media (max-width:560px){.ixRow{grid-template-columns:1.9rem 1fr}.ixAction{grid-column:2;margin-top:.5rem}}.ixPeek{z-index:40;pointer-events:none;opacity:0;transform-origin:0 0;width:17rem;transition:opacity .32s var(--ease);will-change:transform, opacity;position:fixed;top:0;left:0}.ixPeek[data-on]{opacity:1}.ixPeekImg{aspect-ratio:16/10;object-fit:cover;object-position:top center;border:1px solid var(--line);background:var(--bg-2);width:100%;animation:ixPeekIn .5s var(--ease);border-radius:10px;display:block;box-shadow:0 24px 60px -30px #0000008c}.ixPeekTag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:.5rem;font-size:.66rem;display:block}@keyframes ixPeekIn{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ixRow,.ixArrow,.ixRow:before{transition:none}.ixPeek{display:none}}@media (hover:none){.ixPeek{display:none}}
