@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_4392babd-module__nDudpW__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_4392babd-module__nDudpW__variable{--font-outfit:"Outfit", "Outfit Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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:700;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.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:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.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:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:700;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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_f07a9b9f-module__Cf0YZW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_f07a9b9f-module__Cf0YZW__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-color:#edebe1;--bg-card:#edebe173;--bg-header:#edebe1b3;--bg-paper-deco:#faf9f5;--text-color:#222;--text-muted:#707068;--border-color:#22222214;--border-active:#22222229;--dot-color:#2222220f;--dot-size:1.5px;--dot-space:120px;--accent-color:#81acec;--highlight-bg:#22222208;--font-display:var(--font-outfit), "Outfit", "Inter", sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--transition-speed:.35s;--transition-bezier:cubic-bezier(.16, 1, .3, 1);--deco-offset:0px}[data-theme=dark]{--bg-color:#080808;--bg-card:#08080873;--bg-header:#080808b3;--bg-paper-deco:#000;--text-color:#efefe4;--text-muted:#8a8a80;--border-color:#efefe414;--border-active:#efefe429;--dot-color:#efefe40a;--accent-color:#5378c8;--highlight-bg:#efefe408}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;min-height:100vh;font-size:17px;line-height:1.65;overflow-x:hidden}.noise-overlay{opacity:.07;z-index:9999;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}[data-theme=dark] .noise-overlay{display:none!important}.bg-layers-container{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:clip}.grid-bg-layer{z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='60.25' y1='0.25' x2='60.25' y2='119.75' stroke='rgba(34, 34, 34, 0.35)' stroke-width='0.5' stroke-linecap='square' stroke-dasharray='7.56 7.56'/%3E%3Cline x1='119.75' y1='60.2502' x2='0.25' y2='60.2501' stroke='rgba(34, 34, 34, 0.35)' stroke-width='0.5' stroke-linecap='square'/%3E%3C/svg%3E");background-size:var(--dot-space) var(--dot-space);pointer-events:none;opacity:.8;transition:opacity var(--transition-speed);background-position:calc(50% + 60px) 0;position:fixed;inset:0}[data-theme=dark] .grid-bg-layer{opacity:.6;background-image:url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='60.25' y1='0.25' x2='60.25' y2='119.75' stroke='rgba(239, 239, 228, 0.3)' stroke-width='0.5' stroke-linecap='square' stroke-dasharray='7.56 7.56'/%3E%3Cline x1='119.75' y1='60.2502' x2='0.25' y2='60.2501' stroke='rgba(239, 239, 228, 0.3)' stroke-width='0.5' stroke-linecap='square'/%3E%3C/svg%3E")}.viewport-ruler-right{z-index:5;opacity:.85;width:30px;height:100%;transition:opacity var(--transition-speed);background-image:url("data:image/svg+xml,%3Csvg width='30' height='120' viewBox='0 0 30 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M29 0.25L2 0.250003M16.1401 10.25L2 10.25M16.1401 20.25L2 20.25M21.7263 30.25L2 30.25M16.1401 40.25L2 40.25M16.1401 50.25L2 50.25M16.1401 70.25H2M16.1401 80.25H2M21.7263 90.25H2M16.1401 100.25H2M16.1401 110.25H2M29 120.25H2' stroke='rgba(34,34,34,0.4)' stroke-width='0.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-y;display:none;position:fixed;top:0;right:0;scale:-1 1}@media (min-width:1024px){.viewport-ruler-right{display:block}}[data-theme=dark] .viewport-ruler-right{opacity:.65;background-image:url("data:image/svg+xml,%3Csvg width='30' height='120' viewBox='0 0 30 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M29 0.25L2 0.250003M16.1401 10.25L2 10.25M16.1401 20.25L2 20.25M21.7263 30.25L2 30.25M16.1401 40.25L2 40.25M16.1401 50.25L2 50.25M16.1401 70.25H2M16.1401 80.25H2M21.7263 90.25H2M16.1401 100.25H2M16.1401 110.25H2M29 120.25H2' stroke='rgba(239,239,228,0.32)' stroke-width='0.5' stroke-linecap='round'/%3E%3C/svg%3E")}.viewport-ruler-bottom{z-index:5;opacity:.85;width:100%;height:30px;transition:opacity var(--transition-speed);background-image:url("data:image/svg+xml,%3Csvg width='120' height='30' viewBox='0 0 120 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M120.25 29L120.25 2.00001M110.25 16.1401L110.25 2M100.25 16.1401L100.25 2M90.25 21.7263L90.25 2M80.25 16.1401L80.25 2M70.25 16.1401L70.25 2M50.25 16.1401L50.25 2M40.25 16.1401L40.25 2M30.25 21.7263L30.25 2M20.25 16.1401L20.25 2M10.25 16.1401L10.25 2M0.25 29L0.250001 2' stroke='rgba(34,34,34,0.4)' stroke-width='0.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:calc(50% + 60px) 0;background-repeat:repeat-x;display:none;position:fixed;bottom:0;left:0;rotate:180deg}@media (min-width:1400px){.viewport-ruler-bottom{display:block}}[data-theme=dark] .viewport-ruler-bottom{opacity:.65;background-image:url("data:image/svg+xml,%3Csvg width='120' height='30' viewBox='0 0 120 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M120.25 29L120.25 2.00001M110.25 16.1401L110.25 2M100.25 16.1401L100.25 2M90.25 21.7263L90.25 2M80.25 16.1401L80.25 2M70.25 16.1401L70.25 2M50.25 16.1401L50.25 2M40.25 16.1401L40.25 2M30.25 21.7263L30.25 2M20.25 16.1401L20.25 2M10.25 16.1401L10.25 2M0.25 29L0.250001 2' stroke='rgba(239,239,228,0.32)' stroke-width='0.5' stroke-linecap='round'/%3E%3C/svg%3E")}.fold-sheet{z-index:2;display:none;position:absolute;left:0}@media (min-width:1024px){.fold-sheet{display:block}}.fold-fill{background-color:var(--bg-paper-deco);width:100%;height:100%;transition:background-color var(--transition-speed)}.fold-line-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fold-stroke{stroke:var(--border-color);stroke-width:.75px;vector-effect:non-scaling-stroke}[data-theme=dark] .fold-stroke{stroke:#efefe40d}.sheet-1{top:calc(-2px + var(--deco-offset,0px));width:calc(50vw + 960px);height:calc(50vw + 960px)}.sheet-1 .fold-fill{clip-path:polygon(0 0,100% 0,0 100%)}.sheet-2{top:calc(-50vw + 2882px + var(--deco-offset,0px));width:calc(50vw + 960px);height:calc(50vw + 960px)}.sheet-2 .fold-fill{clip-path:polygon(0 0,0 100%,100% 100%)}.sheet-3{top:calc(3840px + var(--deco-offset,0px));width:calc(50vw + 960px);height:calc(50vw + 960px)}.sheet-3 .fold-fill{clip-path:polygon(0 0,100% 0,0 100%)}.sheet-4{top:calc(50vw + 4810px + var(--deco-offset,0px));width:calc(50vw + 960px);height:calc(50vw + 960px)}.sheet-4 .fold-fill{clip-path:polygon(0 0,0 100%,100% 100%)}.fold-sheet-base{z-index:2;left:0;top:calc(100vw + 5770px + var(--deco-offset,0px));background-color:var(--bg-paper-deco);width:100vw;transition:background-color var(--transition-speed);display:none;position:absolute;bottom:0}@media (min-width:1024px){.fold-sheet-base{display:block}}.fold-diagonal-intersection{z-index:1;left:calc(50vw - 964px);top:calc(1920px + var(--deco-offset,0px));transform-origin:0 0;border-left:.75px solid var(--border-color);width:1361.87px;height:calc(70.71vw + 1357.63px);display:none;position:absolute;rotate:315deg}@media (min-width:1024px){.fold-diagonal-intersection{display:block}}[data-theme=dark] .fold-diagonal-intersection{border-left-color:#efefe40d}.portfolio-layout-wrapper{z-index:10;justify-content:center;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;display:flex;position:relative}.portfolio-container{z-index:10;flex-direction:column;justify-content:flex-start;width:100%;max-width:680px;min-height:100vh;padding:80px 24px;display:flex;position:relative}.upfront-bar{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding:20px 0;display:flex}.upfront-links{flex-wrap:wrap;gap:10px;display:flex}.upfront-link{font-family:var(--font-display);text-transform:lowercase;color:var(--text-color);border:1px solid var(--border-color);background-color:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s var(--transition-bezier);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.upfront-link:hover{background-color:var(--bg-color);border-color:var(--text-color);transform:translateY(-1px)}.resume-btn{font-family:var(--font-display);text-transform:lowercase;background-color:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color);transition:all .2s var(--transition-bezier);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.resume-btn:hover{color:var(--text-color);background-color:#0000;transform:translateY(-1px)}.pull-chain-container{cursor:pointer;z-index:100;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:40px;height:170px;display:flex;position:absolute;top:0;right:24px}.pull-chain-cord{background-color:var(--text-color);opacity:.8;width:2px;height:110px;transition:transform .25s var(--transition-bezier);transform-origin:top;position:relative}.pull-chain-cord:before{content:"";background-image:radial-gradient(circle, var(--text-color) 2px, transparent 2.5px);background-repeat:repeat-y;background-size:6px 8px;width:6px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.pull-chain-handle{border:2px solid var(--text-color);background-color:var(--bg-color);border-radius:4px;justify-content:center;width:14px;height:24px;transition:background-color .2s,height .2s;display:flex;position:absolute;bottom:-24px;left:50%;transform:translate(-50%)}.pull-chain-container:hover .pull-chain-cord{transform:translateY(8px)}.pull-chain-container.pulling .pull-chain-cord{transition:transform .1s ease-in;transform:translateY(22px)}.desktop-sidebar-nav{z-index:10;border-left:1px solid var(--border-color);flex-direction:column;gap:12px;width:200px;padding-left:16px;display:flex;position:fixed;top:50%;left:40px;transform:translateY(-50%)}@media (max-width:1120px){.desktop-sidebar-nav{display:none}}.sidebar-nav-item{font-family:var(--font-display);color:var(--text-muted);text-transform:lowercase;text-align:left;cursor:pointer;transition:all .2s var(--transition-bezier);background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:4px 8px;font-size:.85rem;font-weight:500;display:flex}.sidebar-nav-item:hover{color:var(--text-color);padding-left:14px}.sidebar-nav-item.active{color:var(--text-color);font-weight:600}.sidebar-nav-indicator{background-color:#0000;border-radius:50%;width:5px;height:5px;transition:background-color .2s;display:inline-block}.sidebar-nav-item.active .sidebar-nav-indicator{background-color:var(--text-color)}.header-section-index{border:1px solid var(--border-color);background-color:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px;margin-top:20px;display:none;overflow:hidden}@media (max-width:1120px){.header-section-index{display:block}}.header-section-index-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:lowercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color);padding:10px 16px 8px;font-size:.7rem;display:block}.header-section-index-list{grid-template-columns:1fr 1fr;list-style:none;display:grid}@media (max-width:400px){.header-section-index-list{grid-template-columns:1fr}}.header-section-index-list li{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.header-section-index-list li:nth-child(2n){border-right:none}.header-section-index-list li:nth-last-child(-n+2){border-bottom:none}@media (max-width:400px){.header-section-index-list li{border-right:none}.header-section-index-list li:nth-last-child(-n+2){border-bottom:1px solid var(--border-color)}.header-section-index-list li:last-child{border-bottom:none}}.header-section-index-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px 14px;transition:background-color .18s,padding-left .18s;display:flex}.header-section-index-item:hover,.header-section-index-item:focus-visible{background-color:var(--highlight-bg);outline:none;padding-left:18px}.header-section-index-item.active{background-color:var(--text-color)}.header-section-index-num{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:.68rem;line-height:1;transition:color .18s}.header-section-index-item.active .header-section-index-num{color:var(--bg-color);opacity:.6}.header-section-index-name{font-family:var(--font-display);text-transform:lowercase;color:var(--text-color);flex:1;font-size:.82rem;font-weight:500;line-height:1.2;transition:color .18s}.header-section-index-item.active .header-section-index-name{color:var(--bg-color)}.header-section-index-arrow{color:var(--text-muted);opacity:0;flex-shrink:0;font-size:.8rem;transition:opacity .18s,transform .18s,color .18s;transform:translate(-4px)}.header-section-index-item:hover .header-section-index-arrow,.header-section-index-item.active .header-section-index-arrow{opacity:1;transform:translate(0)}.header-section-index-item.active .header-section-index-arrow{color:var(--bg-color)}.dossier-stack{flex-direction:column;gap:180px;margin-top:60px;margin-bottom:120px;display:flex}.dossier-section{border:1px solid var(--border-color);background-color:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity var(--transition-speed) var(--transition-bezier), transform var(--transition-speed) var(--transition-bezier), border-color var(--transition-speed) var(--transition-bezier);opacity:.32;border-radius:4px;transform:scale(.985)}.dossier-section.active{opacity:1;border-color:var(--border-active);transform:scale(1)}.dossier-header-label{border-bottom:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-display);text-transform:lowercase;background-color:var(--bg-header);justify-content:space-between;align-items:center;padding:18px 24px;font-size:1.15rem;font-weight:600;display:flex}.section-indicator{font-family:var(--font-display);color:var(--text-muted);text-transform:lowercase;align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:flex}.section-indicator:before{content:"";border:1px solid var(--text-muted);width:5px;height:5px;transition:all var(--transition-speed);background-color:#0000;border-radius:50%;display:inline-block}.dossier-section.active .section-indicator:before{background-color:var(--text-color);border-color:var(--text-color)}.dossier-content{padding:28px}.friendly-bullet-list{flex-direction:column;gap:16px;list-style:none;display:flex}.friendly-bullet-item{align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.6;display:flex}.friendly-bullet-item a{color:var(--text-color);border-bottom:1px solid var(--border-color);padding:0 1px;text-decoration:none;transition:all .2s}.friendly-bullet-item a:hover{background-color:var(--highlight-bg);border-bottom-color:var(--text-color)}.bullet-icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;display:flex}.dossier-section.active .bullet-icon{color:var(--text-color)}.spec-grid{border:1px solid var(--border-color);background-color:var(--border-color);border-radius:4px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;display:grid;overflow:hidden}@media (max-width:640px){.spec-grid{grid-template-columns:1fr}}.spec-item{font-family:var(--font-display);background-color:var(--bg-card);align-items:center;gap:12px;padding:14px 18px;font-size:.85rem;display:flex}.spec-icon{border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-muted);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.spec-label{flex-direction:column;display:flex}.spec-value{color:var(--text-color);text-transform:lowercase;font-weight:500}.spec-name{color:var(--text-muted);text-transform:lowercase;letter-spacing:.02em;font-size:.65rem}.tech-grid{border-left:1px solid var(--border-color);grid-template-columns:1fr;gap:14px;margin-top:12px;padding-left:20px;display:grid}.skills-visual-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;margin-bottom:24px;display:grid}@media (max-width:680px){.skills-visual-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:400px){.skills-visual-grid{grid-template-columns:1fr}}.skill-visual-card{border:1px solid var(--border-color);background-color:var(--bg-card);text-align:center;transition:all .25s var(--transition-bezier);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex}.skill-visual-card:hover{background-color:var(--bg-color);border-color:var(--text-color);transform:translateY(-2px)}.skill-icon-wrap{border:1px solid var(--border-color);background-color:var(--bg-color);width:36px;height:36px;color:var(--text-muted);border-radius:3px;justify-content:center;align-items:center;margin-bottom:10px;transition:all .3s;display:flex}.skill-visual-card:hover .skill-icon-wrap{color:var(--text-color);border-color:var(--text-color);transform:scale(1.08)rotate(3deg)}.skill-card-name{font-family:var(--font-display);text-transform:lowercase;color:var(--text-color);margin-bottom:2px;font-size:.8rem;font-weight:600;line-height:1.2}.skill-card-level{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:0;text-transform:lowercase;font-size:.65rem}.tech-badge{font-family:var(--font-mono);border:1px solid var(--border-color);background-color:var(--highlight-bg);color:var(--text-muted);text-transform:lowercase;border-radius:3px;margin-bottom:6px;margin-right:6px;padding:2px 8px;font-size:.75rem;display:inline-block}.brutalist-input{background-color:var(--bg-card);border:1px solid var(--border-color);width:100%;color:var(--text-color);font-family:var(--font-display);transition:all .2s var(--transition-bezier);border-radius:4px;outline:none;padding:12px 14px;font-size:.9rem}.brutalist-input:focus{background-color:var(--bg-color);border-color:var(--text-color)}.brutalist-btn{background-color:var(--text-color);color:var(--bg-color);border:1px solid var(--text-color);font-family:var(--font-display);text-transform:lowercase;cursor:pointer;transition:all .25s var(--transition-bezier);border-radius:4px;justify-content:center;align-items:center;padding:12px 24px;font-weight:500;display:inline-flex}.brutalist-btn:hover{color:var(--text-color);background-color:#0000}.brutalist-btn:disabled{opacity:.4;cursor:not-allowed}.muted-text{color:var(--text-muted)}.highlight{background-color:var(--highlight-bg);border:1px dashed var(--border-color);text-transform:lowercase;border-radius:3px;padding:1px 4px}.status-ticker{font-family:var(--font-mono);text-transform:lowercase;align-items:center;gap:8px;font-size:.75rem;display:flex}.status-dot{background-color:#81acec;border-radius:50%;width:6px;height:6px;animation:2.2s infinite pulse;display:inline-block}@keyframes pulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}to{opacity:.6;transform:scale(.9)}}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){html,body{font-size:15px}}@media (max-width:768px){.portfolio-container{padding:56px 16px}}@media (max-width:480px){.portfolio-container{padding:48px 14px}}@media (max-width:768px){.dossier-stack{gap:80px;margin-top:40px;margin-bottom:72px}}@media (max-width:480px){.dossier-stack{gap:56px;margin-top:32px;margin-bottom:56px}}@media (max-width:640px){.dossier-content{padding:20px 16px}.dossier-header-label{padding:14px 16px;font-size:1rem}}@media (max-width:480px){.dossier-content{padding:16px 12px}}@media (max-width:640px){.pull-chain-container{height:140px;right:14px}.pull-chain-cord{height:84px}}.header-name{letter-spacing:-.03em;text-transform:lowercase;margin:0;font-size:2.4rem;font-weight:300;line-height:1}@media (max-width:640px){.header-name{font-size:1.85rem}}@media (max-width:400px){.header-name{font-size:1.55rem}}.header-top-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-right:40px;display:flex}@media (max-width:640px){.header-top-row{padding-right:48px}}@media (max-width:480px){.upfront-bar{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 0}.resume-btn{justify-content:center;width:100%}.upfront-link{padding:5px 10px;font-size:.8rem}.upfront-links{gap:6px}}@media (max-width:400px){.mobile-nav-btn{padding:4px 8px;font-size:.72rem}.status-label-grid{grid-template-columns:80px 1fr!important}}.exp-tab-row{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;display:flex;overflow:hidden}@media (max-width:480px){.exp-tab-row{flex-wrap:wrap}.exp-tab-row>div{flex:45%;min-width:0}}@media (max-width:360px){.skills-visual-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (max-width:480px){.tech-grid{padding-left:14px}.spec-grid{grid-template-columns:1fr}.project-card-inner{padding:16px 14px}.brutalist-input{padding:10px 12px;font-size:.85rem}.brutalist-btn{justify-content:center;width:100%;padding:12px 16px}}@media (max-width:640px){footer{margin-top:32px}.grid-bg-layer{opacity:.5}}.scroll-to-top{z-index:100;background-color:var(--bg-card);width:38px;height:38px;color:var(--text-color);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:1rem;font-family:var(--font-display);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s var(--transition-bezier), transform .25s var(--transition-bezier), background-color .2s, border-color .2s;border-radius:4px;justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(8px)}.scroll-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color);transform:translateY(-2px)}.scroll-to-top:active{transform:translateY(0)}@media (max-width:640px){.scroll-to-top{width:34px;height:34px;font-size:.9rem;bottom:20px;right:16px}}.exp-tab-hint{pointer-events:none;width:50%;animation:hintEntrance .4s .8s var(--transition-bezier) both;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;top:-28px;right:0}@keyframes hintEntrance{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.exp-tab-hint-arrow{color:var(--text-muted);font-size:.78rem;animation:1.1s ease-in-out infinite hintBounce}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.exp-tab-hint-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:lowercase;letter-spacing:.02em;border:1px solid var(--border-color);background-color:var(--bg-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:3px;padding:1px 5px;font-size:.65rem}
