@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0e7b7e0b829e3eb9-s.2j75_l12byk_u.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:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/daf789e4474d0d90-s.07wt1b-68kohk.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:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9e9f04e3c37952ab-s.p.0pan85mumqyf3.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:Anton Fallback;src:local(Arial);ascent-override:129.7%;descent-override:36.29%;line-gap-override:0.0%;size-adjust:90.69%}.anton_351eb3f3-module__y2aRga__className{font-family:Anton,Anton Fallback;font-style:normal;font-weight:400}.anton_351eb3f3-module__y2aRga__variable{--font-anton:"Anton", "Anton Fallback"}
@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.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:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.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:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_fb48ffba-module__OUEIkW__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_fb48ffba-module__OUEIkW__variable{--font-archivo:"Archivo", "Archivo 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_a50871ec-module__aCpfjq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_a50871ec-module__aCpfjq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#14161a;--bg-deep:#0e1013;--text:#edeef0;--muted:#8b8f97;--faint:#55585f;--accent:#ff4d24;--line:#ffffff1a;--anton:var(--font-anton), sans-serif;--body:var(--font-archivo), sans-serif;--mono:var(--font-jetbrains-mono), monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6;overflow-x:hidden}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#fff}.vlines{pointer-events:none;z-index:0;grid-template-columns:repeat(4,1fr);padding:0 clamp(20px,4vw,48px);display:grid;position:fixed;inset:0}.vlines i{border-left:1px solid #ffffff0e}.vlines i:first-child{border-left:none}.vlines:before,.vlines:after{content:"";background:#ffffff0e;width:1px;position:absolute;top:0;bottom:0}.vlines:before{left:clamp(20px,4vw,48px)}.vlines:after{right:clamp(20px,4vw,48px)}@media (max-width:820px){.vlines{grid-template-columns:repeat(2,1fr)}}.case{z-index:5;min-height:100vh;padding:130px clamp(20px,4vw,48px) 80px;position:relative}.case .back{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:12px;text-decoration:none;display:inline-flex}.case .back:hover{color:var(--text)}.case .back b{color:var(--accent);font-weight:400}.case .case-num{font-family:var(--mono);letter-spacing:.22em;color:var(--accent);text-transform:uppercase;margin-top:clamp(36px,6vh,64px);font-size:12px}.case h1{font-family:var(--anton);text-transform:uppercase;max-width:14ch;margin-top:14px;font-size:clamp(44px,9vw,130px);line-height:.92}.case .case-banner{margin-top:clamp(30px,5vh,56px)}.case .case-banner .case-num{margin-top:0}.case .case-headline{margin-top:clamp(12px,2.4vh,20px)}.case .case-index{font-family:var(--anton);letter-spacing:.02em;color:#0000;-webkit-text-stroke:2.5px var(--accent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(120px,24vw,320px);line-height:.78;display:block}.case .case-headline h1{font-family:var(--anton);text-transform:uppercase;color:#0000;-webkit-text-stroke:1.5px var(--text);max-width:18ch;margin-top:-.14em;font-size:clamp(40px,8vw,116px);line-height:.9}@media (max-width:820px){.case .case-index{-webkit-text-stroke-width:1.8px}.case .case-headline h1{-webkit-text-stroke-width:1.1px}}.case .case-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:clamp(32px,5vh,56px);display:grid}.case .case-meta div{border-right:1px solid var(--line);padding:18px 18px 20px 0}.case .case-meta div:not(:first-child){padding-left:18px}.case .case-meta div:last-child{border-right:none}.case .case-meta h5{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:400}.case .case-meta p{margin-top:6px;font-size:14px;font-weight:600}.case .case-mock{background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(36px,6vh,64px);margin-left:calc(-1*clamp(20px,4vw,48px));margin-right:calc(-1*clamp(20px,4vw,48px));box-shadow:0 24px 60px #00000080}.case .case-mock .screen{gap:14px;padding:clamp(24px,4vw,48px)}.case .case-mock .cell{height:clamp(56px,8vw,96px)}.case .prose{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,64px);margin-top:clamp(48px,8vh,88px);padding-bottom:clamp(36px,6vh,60px);display:grid}.case .prose:last-of-type{border-bottom:none}.case .prose h2{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-self:start;font-size:12px;font-weight:400;position:sticky;top:90px}.case .prose p{color:var(--muted);max-width:60ch}.case .prose p strong{color:var(--text)}.case .prose ul{list-style:none}.case .prose li{color:var(--muted);border-bottom:1px solid #ffffff0f;padding:10px 0 10px 26px;position:relative}.case .prose li:last-child{border-bottom:none}.case .prose li:before{content:"→";color:var(--accent);position:absolute;left:0}.case .case-next{color:var(--text);margin-top:clamp(48px,8vh,80px);text-decoration:none;display:block}.case .case-next small{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--faint);font-size:11px}.case .case-next .nxt{font-family:var(--anton);text-transform:uppercase;margin-top:8px;font-size:clamp(30px,5vw,64px);line-height:1;transition:color .2s}.case .case-next:hover .nxt{color:var(--accent)}@media (max-width:820px){.case .case-meta{grid-template-columns:1fr 1fr}.case .case-meta div{border-right:none;border-bottom:1px solid var(--line);padding-left:0!important}.case .prose{grid-template-columns:1fr;gap:14px}}.preloader{z-index:100;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:fixed;inset:0}.pl-bg{background:var(--bg-deep);position:absolute;inset:0}.pl-logo,.pl-count,.pl-tag{z-index:1;position:relative}.pl-logo{width:72px;height:78px;overflow:visible}.pl-logo path{fill:none;stroke-linecap:round;stroke-linejoin:round}.pl-logo .pl-body{stroke:var(--text);stroke-width:1.2px}.pl-logo .pl-s{stroke:var(--accent);stroke-width:1.5px}.pl-count{font-family:var(--anton);color:var(--accent);text-align:center;min-width:3ch;font-size:40px;line-height:1}.pl-tag{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--faint);font-size:10px}@media (prefers-reduced-motion:reduce){.preloader{display:none}}.wipe{z-index:90;background:var(--accent);pointer-events:none;display:none;position:fixed;inset:0;transform:translateY(100%)}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:2;background:var(--bg);padding:18px 0;position:relative;overflow:hidden}.marquee .track{white-space:nowrap;will-change:transform;width:max-content;display:flex}.marquee span{font-family:var(--anton);text-transform:uppercase;letter-spacing:.02em;color:#0000;-webkit-text-stroke:1px #ffffff59;font-size:clamp(26px,3.6vw,44px)}[data-magnetic]{will-change:transform;display:inline-flex}.gh-card{background:var(--bg-deep);border:1px solid var(--line);z-index:2;width:clamp(280px,27vw,400px);color:var(--text);padding:20px 20px 16px;text-decoration:none;transition:transform .35s,border-color .25s;display:block;position:absolute;top:6%;left:0;transform:rotate(-3deg);box-shadow:0 30px 80px #0000008c}.gh-card:hover{border-color:#fff3;transform:rotate(0)scale(1.01)}.gh-head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:12px;display:flex}.gh-mark{width:22px;height:22px;color:var(--text);flex-shrink:0}.gh-ext{color:var(--accent);margin-left:auto}.gh-stats{color:var(--muted);margin-top:12px;font-size:13px}.gh-stats b{color:var(--text);font-weight:700}.gh-stats em{color:var(--accent);font-style:normal}.gh-graph{gap:8px;margin-top:14px;display:flex}.gh-days{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);flex-direction:column;justify-content:space-around;font-size:8px;display:flex}.gh-grid{flex:1;grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;display:grid}.gh-grid i{aspect-ratio:1;background:#ffffff12;border-radius:2px}.gh-grid i[data-l="1"]{background:#ff4d2447}.gh-grid i[data-l="2"]{background:#ff4d2480}.gh-grid i[data-l="3"]{background:#ff4d24bf}.gh-grid i[data-l="4"]{background:var(--accent)}.gh-note{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:12px;font-size:9px}.cursor,.cursor-label{display:none}@media (pointer:fine){.cursor{background:var(--accent);pointer-events:none;z-index:120;border-radius:50%;width:10px;height:10px;display:block;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor.grow{width:10px;height:10px}.cursor-label{background:var(--accent);color:#fff;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:121;border-radius:999px;justify-content:center;align-items:center;padding:12px 18px;font-size:11px;display:flex;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.project{cursor:none}}.grain{pointer-events:none;z-index:50;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;position:fixed;inset:-50%}.ghost{font-family:var(--anton);color:#0000;-webkit-text-stroke:1px #ffffff1a;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0;font-size:clamp(160px,30vw,420px);line-height:.9;position:absolute}#stack .ghost{top:2%;right:-3%}#experience .ghost{top:6%;left:-3%}#about .ghost{top:0;right:-2%}#stack,#experience,#about{overflow:hidden}nav{z-index:40;-webkit-backdrop-filter:blur(16px)saturate(150%);background:#14161a73;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:14px clamp(20px,4vw,48px);display:flex;position:fixed;top:0;left:0;right:0}nav a{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#fff;font-size:12px;text-decoration:none}nav .brand{align-items:center;gap:10px;font-weight:500;display:inline-flex}.logomark{width:26px;height:28px;overflow:visible}.logomark path{fill:none;stroke-linecap:round;stroke-linejoin:round}.logomark .lm-body{stroke:#fff;stroke-width:1.3px}.logomark .lm-s{stroke:var(--accent);stroke-width:1.6px}.nav-right{align-items:center;gap:20px;display:flex}.cv-btn{border:1px solid #ffffff59;border-radius:999px;padding:7px 14px;transition:background .2s,color .2s,border-color .2s}.cv-btn:hover{color:#000;background:#fff;border-color:#fff}.hero{align-items:center;min-height:100svh;padding:80px clamp(20px,4vw,48px) 40px;display:flex;position:relative;overflow:hidden}.hero-inner{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(24px,4vw,64px);width:100%;display:grid}.hero-title{font-family:var(--anton);text-transform:uppercase;letter-spacing:.01em;z-index:2;font-size:clamp(88px,17vw,240px);line-height:.9;position:relative}.hero-title .row{display:block;overflow:hidden}.hero-title .row span{display:inline-block}.hero-title .accent{color:var(--accent);font-style:normal}.hero-title .hl{background:var(--accent);color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .05em}.hero-title .hl .accent{color:var(--text)}.hero-visual{z-index:1;height:clamp(340px,44vw,480px);position:relative}.vp{aspect-ratio:4/3;background:var(--bg-deep);border:1px solid var(--line);width:clamp(220px,22vw,320px);position:absolute;overflow:hidden;box-shadow:0 30px 80px #0000008c}.vp-a{z-index:2;top:8%;left:2%;transform:rotate(-5deg)}.vp-b{z-index:1;bottom:6%;right:0;transform:rotate(4deg)}.vp .bar{border-bottom:1px solid var(--line);align-items:center;gap:5px;height:26px;padding:0 10px;display:flex}.vp .bar i{background:#ffffff38;border-radius:50%;width:6px;height:6px}.vp .body{grid-template-columns:1fr 1fr;gap:8px;padding:16px;display:grid}.vp .blk{border:1px solid var(--line);height:44px}.vp .blk.a{background:linear-gradient(120deg,#ff4d2440,#0000 60%);grid-column:1/-1;height:58px}.vp .blk.b{background:#ffffff0a}.vp-tag{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);z-index:3;font-size:11px;position:absolute;bottom:-6%;left:6%}.vp-tag:before{content:"● ";vertical-align:2px;font-size:8px}.hero-meta{z-index:2;justify-content:space-between;align-items:flex-end;margin-top:clamp(28px,4vh,48px);display:flex;position:relative}.hero-meta .left{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px;line-height:2}.hero-meta .left b{color:var(--text);font-weight:500;display:block}.badge{flex-shrink:0;place-items:center;width:120px;height:120px;text-decoration:none;display:grid;position:relative}.badge svg.ring{width:100%;height:100%;position:absolute;inset:0}.badge svg.ring text{font-family:var(--mono);letter-spacing:.32em;text-transform:uppercase;fill:var(--accent);font-size:11.5px}.badge .arrow{border:1px solid var(--line);width:40px;height:40px;color:var(--text);border-radius:50%;place-items:center;font-size:16px;transition:background .2s,color .2s;display:grid}.badge:hover .arrow{background:var(--accent);color:#fff}section{padding:clamp(80px,12vh,140px) clamp(20px,4vw,48px);position:relative}.sec-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:14px;margin-bottom:clamp(40px,6vh,64px);font-size:12px;display:flex}.sec-label:after{content:"";background:var(--line);flex:1;height:1px}.sec-label b{color:var(--accent);font-weight:500}#work{overflow:hidden}#work .ghost{top:30%;left:-5%}.project{border-bottom:1px solid var(--line);z-index:2;color:inherit;cursor:pointer;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,72px);padding:clamp(40px,7vh,72px) 0;text-decoration:none;display:grid;position:relative}.project .info .open{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--accent);align-items:center;gap:8px;margin-top:22px;padding-bottom:4px;font-size:12px;display:inline-flex}.project .info .open span{color:var(--accent);transition:transform .2s}.project:hover .info .open span{transform:translate(4px)}.project:last-of-type{border-bottom:none}.project .info .num{font-family:var(--mono);color:var(--accent);letter-spacing:.2em;font-size:12px}.project .info h3{font-family:var(--anton);text-transform:uppercase;margin-top:12px;font-size:clamp(34px,5.4vw,72px);line-height:.95}.project .info p{color:var(--muted);max-width:46ch;margin-top:16px;font-size:15px}.project .info .meta{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:18px;font-size:11px}.mock{background:var(--bg-deep);border:1px solid var(--line);transition:transform .35s;transform:rotate(3deg);box-shadow:0 24px 60px #00000080}.project:nth-child(odd) .mock{transform:rotate(-3deg)}.project:hover .mock{transform:rotate(0)scale(1.015)}.mock .bar,.case-mock .bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;height:28px;padding:0 12px;display:flex}.mock .bar i,.case-mock .bar i{background:#ffffff38;border-radius:50%;width:7px;height:7px}.mock .screen,.case-mock .screen{gap:10px;padding:18px;display:grid}.mock .l,.case-mock .l{border:1px solid var(--line);height:16px}.mock .l.w40,.case-mock .l.w40{background:#ff4d244d;border:none;width:40%;height:22px}.mock .l.w70,.case-mock .l.w70{width:70%}.mock .split2,.case-mock .split2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mock .cellrow,.case-mock .cellrow{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mock .cell,.case-mock .cell{border:1px solid var(--line);background:#ffffff08;height:42px}.stack-grid{z-index:2;grid-template-columns:1fr 1fr;gap:18px;display:grid;position:relative}.stack-card{border:1px solid var(--line);background:#0c0e11;border-radius:14px;padding:28px 28px 34px;transition:border-color .25s;overflow:hidden}.stack-card:hover{border-color:#ffffff2e}.stack-card .iso{place-items:center;height:220px;margin-bottom:8px;display:grid}.stack-card .iso svg{width:220px;height:200px;overflow:visible}.stack-card .iso path,.stack-card .iso ellipse,.stack-card .iso polyline,.stack-card .iso line{fill:none;stroke:#ffffff57;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.stack-card .iso .dash{stroke-dasharray:2 4;stroke:#ffffff38}.stack-card .iso .hot{stroke:var(--accent);opacity:.85}.stack-card .iso .fillface{fill:#0c0e11}.stack-card h4{font-family:var(--body);letter-spacing:-.01em;color:var(--text);font-size:19px;font-weight:600}.stack-card p{color:var(--muted);max-width:40ch;margin-top:8px;font-size:15px}.stack-card p b{color:#c6c9ce;font-weight:600}.timeline{z-index:2;max-width:860px;position:relative}.tl-line{background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:clamp(120px,18vw,200px)}.tl-line .fill{background:var(--accent);transform-origin:top;width:100%;height:100%;display:block;transform:scaleY(0)}.tl-item{grid-template-columns:clamp(120px,18vw,200px) 1fr;gap:clamp(28px,4vw,56px);padding:clamp(28px,4vh,44px) 0;display:grid;position:relative}.tl-year{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:right;padding-top:4px;padding-right:clamp(28px,4vw,56px);font-size:12px}.tl-year b{color:var(--accent);font-weight:500;display:block}.tl-dot{background:var(--bg);border:2px solid var(--accent);z-index:2;border-radius:50%;width:9px;height:9px;position:absolute;top:calc(clamp(28px,4vh,44px) + 8px);left:clamp(120px,18vw,200px);transform:translate(-4px)}.tl-item.now .tl-dot{background:var(--accent);box-shadow:0 0 14px #ff4d24b3}.tl-body h3{font-family:var(--anton);text-transform:uppercase;font-size:clamp(22px,3vw,34px);line-height:1}.tl-body .org{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:8px;font-size:11px;display:block}.tl-body p{color:var(--muted);max-width:52ch;margin-top:12px;font-size:14.5px}@media (max-width:640px){.tl-line,.tl-dot{left:4px}.tl-item{grid-template-columns:1fr;gap:8px;padding-left:28px}.tl-year{text-align:left;padding-right:0}}.about-grid{z-index:2;grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid;position:relative}.about-statement p.big{font-family:var(--body);max-width:34ch;font-size:clamp(20px,2.4vw,29px);font-weight:500;line-height:1.45}.about-statement p.big em{color:var(--accent);font-style:normal}.about-statement p.sub{color:var(--muted);max-width:48ch;margin-top:20px;font-size:15px}.about-facts{border-top:1px solid var(--line)}.fact-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:18px;padding:15px 0;display:flex}.fact-row span{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);flex-shrink:0;font-size:10px}.fact-row b{text-align:right;font-size:14px;font-weight:600}@media (max-width:820px){.about-grid{grid-template-columns:1fr}}footer{background:var(--bg-deep);border-top:1px solid var(--line);padding:clamp(80px,14vh,160px) clamp(20px,4vw,48px) 40px;position:relative;overflow:hidden}footer .say{font-family:var(--anton);text-transform:uppercase;color:var(--text);z-index:2;width:fit-content;font-size:clamp(72px,16vw,240px);line-height:.9;text-decoration:none;transition:color .2s;display:block;position:relative}footer .say:hover{color:var(--accent)}footer .foot-row{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);z-index:2;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(40px,8vh,80px);font-size:11px;display:flex;position:relative}footer .foot-row a{color:var(--muted);text-decoration:none}footer .foot-row a:hover{color:var(--text)}@media (max-width:820px){.project{grid-template-columns:1fr}.project .mock{order:-1}.stack-grid,.hero-inner{grid-template-columns:1fr}.hero-visual{height:auto;margin-top:12px}.hero-visual .vp-b{display:none}.gh-card{width:100%;max-width:420px;position:static;transform:rotate(-1.5deg)}.vp-tag{margin-top:18px;display:block;position:static}.hero-meta{flex-direction:column;align-items:flex-start;gap:28px}}@media (max-width:480px){.stack-grid{grid-template-columns:1fr}}
