@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/d5ed7948d3d83345-s.1axboe36mgj2e.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:Plus Jakarta Sans;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/f6b8295589aa3077-s.2su_cm6t_752r.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:Plus Jakarta Sans;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/a7a9f39beafcc7f2-s.0_d1ay-85opzk.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/b65c166e5423853f-s.p.1x5es1flj2cxs.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_53c77b56-module__04TkQW__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback}.plus_jakarta_sans_53c77b56-module__04TkQW__variable{--font-display:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_a8cca20-module__IpYEYq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_a8cca20-module__IpYEYq__variable{--font-body:"Manrope", "Manrope Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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.2htf8h-pf57mm.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.3skwie1wjplzh.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.3zhbgtelpa5ua.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.3vf5yzuqk3fsd.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.1wmoa0e_blxrz.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.1zakzi6q17d4o.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.2htf8h-pf57mm.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.3skwie1wjplzh.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.3zhbgtelpa5ua.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.3vf5yzuqk3fsd.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.1wmoa0e_blxrz.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_964e2806-module__h6Ln4a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_964e2806-module__h6Ln4a__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9f8;--tint:#edf1f1;--surface:#fff;--ink:#121a1c;--muted:#566365;--line:#121a1c24;--accent:#36626b;--accent-fill:#36626b;--accent-soft:#d6e4e6;--shadow:#121a1c59;--night:#0f2226;--night-ink:#edf3f3;--night-muted:#a6b6b8;--night-line:#edf3f329;--night-accent:#8fc3cc;--display:var(--font-display), system-ui, sans-serif;--sans:var(--font-body), system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(20px, 5vw, 64px);--nav-h:72px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1415;--tint:#131b1c;--surface:#192224;--ink:#eaf0f0;--muted:#a0aeb0;--line:#eaf0f026;--accent:#8fc3cc;--accent-soft:#1c353a;--shadow:#0009;--night:#132b30}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65;transition:background-color .5s,color .5s;overflow-x:hidden}body.menu-open{overflow:hidden}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent-fill);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:min(100%,1240px);padding-inline:var(--gutter);margin-inline:auto}.ico{flex:none;width:1.05em;height:1.05em}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:14px;font-size:.72rem;display:flex}.eyebrow span{color:var(--accent)}.eyebrow span:after{content:"";vertical-align:middle;opacity:.6;background:currentColor;width:36px;height:1px;margin-left:14px;display:inline-block}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--bg);white-space:nowrap;isolation:isolate;transition:color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 26px;font-size:.92rem;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--accent-fill);transition:transform .5s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.btn:hover{border-color:var(--accent-fill);color:#fff;transform:translateY(-2px)}.btn:hover:before{transform:none}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-light{background:var(--night-ink);border-color:var(--night-ink);color:var(--night)}.btn-small{padding:11px 18px;font-size:.82rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.82rem;font-weight:500;line-height:1.3;transition:border-color .3s,background-color .3s,color .3s}.chips li.is-hot{background:var(--accent-fill);color:#fff;border-color:#0000}mark.hl{color:var(--ink);background:0 0;background-image:linear-gradient(var(--accent-soft), var(--accent-soft));background-position:0 88%;background-repeat:no-repeat;background-size:100% 38%;font-weight:600}.intro{z-index:100;padding:72px var(--gutter);background:var(--night);color:var(--night-ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:none;position:fixed;inset:0}html[data-intro] .intro,.intro.is-leaving{display:flex}.intro.is-leaving{animation:curtain .95s var(--ease) forwards}html[data-intro] body{overflow:hidden}html[data-intro] .hero *,html[data-intro] .hero :before,html[data-intro] .hero :after{animation-play-state:paused}.intro:before{content:"";background-image:linear-gradient(var(--night-line) 1px, transparent 1px), linear-gradient(90deg, var(--night-line) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:56px 56px;animation:24s linear infinite grid-slide;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 65%,#000 10%,#0000 75%);mask-image:radial-gradient(70% 65%,#000 10%,#0000 75%)}.intro>*{position:relative}.intro-tag,.intro-load,.intro-hint,.intro-foot{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--night-muted);font-size:.72rem}.intro-tag{align-items:center;gap:10px;display:flex}.intro-tag i{background:var(--night-accent);border-radius:50%;width:8px;height:8px;animation:1.2s steps(2,end) infinite blink}.intro-body{width:100%}.intro-title{font-family:var(--display);letter-spacing:-.045em;min-height:1.05em;font-size:clamp(3rem,11vw,7rem);font-weight:700;line-height:1.05}.intro-text{max-width:22ch;font-family:var(--display);letter-spacing:-.02em;min-height:2.6em;margin:18px auto 0;font-size:clamp(1.25rem,3.4vw,2rem);font-weight:500;line-height:1.3}.intro-text em{color:var(--night-accent)}.intro-caret{vertical-align:-.08em;background:var(--night-accent);width:.08em;height:.9em;margin-left:.08em;animation:.9s steps(2,end) infinite blink;display:inline-block}.intro-load{text-align:left;grid-template-columns:1fr auto;gap:10px 16px;width:min(100%,320px);display:grid}.intro-bar{border:1px solid var(--night-line);border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.intro-bar i{background:var(--night-accent);height:100%;transition:width .12s linear;display:block}.intro-start{border:1px solid var(--night-ink);background:var(--night-ink);color:var(--night);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;opacity:.35;transition:opacity .5s, transform .4s var(--ease), background-color .3s, border-color .3s;border-radius:999px;align-items:center;gap:12px;padding:16px 30px;font-size:.85rem;font-weight:500;display:inline-flex}.intro-start.is-ready{opacity:1;animation:1.8s ease-in-out infinite pulse}.intro-start:hover{border-color:var(--night-accent);background:var(--night-accent);transform:translateY(-2px)}.intro-hint{opacity:0;transition:opacity .5s}.intro-hint.is-ready{opacity:1;animation:1.4s steps(2,end) infinite blink}.intro-foot{inset:auto var(--gutter) 24px;justify-content:space-between;gap:16px;display:flex;position:absolute}@media (hover:none){.intro-hint{display:none}}.nav{z-index:50;transition:background-color .4s,box-shadow .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:fixed;inset:0 0 auto}.nav.is-scrolled:not(.is-open){background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 1px 0 var(--line)}.nav-progress{z-index:2;background:var(--accent);height:2px;transform:scaleX(var(--progress,0));transform-origin:0;position:absolute;inset:0 0 auto}.nav-inner{z-index:2;height:var(--nav-h);width:min(100%,1240px);padding-inline:var(--gutter);align-items:center;gap:20px;margin-inline:auto;display:flex;position:relative}.nav-brand{font-family:var(--display);letter-spacing:-.01em;margin-right:auto;font-size:1.5rem;font-weight:700;line-height:1}.nav-brand i{color:var(--accent);font-style:normal}.nav-links{gap:30px;display:flex}.nav-links a{color:var(--muted);padding-block:6px;font-size:.88rem;font-weight:500;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .45s var(--ease);position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav-links a:hover,.nav-links a.is-active{color:var(--ink)}.nav-links a:hover:after,.nav-links a.is-active:after{transform-origin:0;transform:scaleX(1)}.nav-theme{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:border-color .3s, background-color .3s, color .3s, rotate .6s var(--ease);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:1.05rem;display:grid}.nav-theme:hover{border-color:var(--ink);background:var(--ink);color:var(--bg);rotate:40deg}.nav-burger{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;margin-right:-10px;padding:0;display:none;position:relative}.nav-burger span{height:1.5px;transition:transform .45s var(--ease);background:currentColor;position:absolute;top:50%;left:10px;right:10px}.nav-burger span:first-child{transform:translateY(-4px)}.nav-burger span:last-child{transform:translateY(4px)}.nav.is-open .nav-burger span:first-child{transform:rotate(45deg)}.nav.is-open .nav-burger span:last-child{transform:rotate(-45deg)}.menu{z-index:1;padding:calc(var(--nav-h) + 32px) var(--gutter) 40px;background:var(--bg);visibility:hidden;clip-path:inset(0 0 100%);transition:clip-path .7s var(--ease), visibility 0s .7s;flex-direction:column;justify-content:space-between;gap:32px;display:flex;position:fixed;inset:0;overflow-y:auto}.nav.is-open .menu{visibility:visible;clip-path:inset(0);transition:clip-path .7s var(--ease), visibility 0s}.menu nav{flex-direction:column;display:flex}.menu nav a{border-bottom:1px solid var(--line);font-family:var(--display);opacity:0;letter-spacing:-.03em;align-items:baseline;gap:18px;padding-block:14px;font-size:clamp(2rem,9vw,2.8rem);font-weight:600;line-height:1.1;transition:opacity .4s,transform .4s;display:flex;transform:translateY(24px)}.menu nav small{font-family:var(--mono);color:var(--accent);font-size:.72rem}.nav.is-open .menu nav a{opacity:1;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(.18s + var(--i) * 60ms);transform:none}.hero{padding-top:calc(var(--nav-h) + clamp(32px, 7vh, 88px));padding-bottom:clamp(56px,9vh,112px);position:relative;overflow:clip}.hero:before{content:"";aspect-ratio:1;background:radial-gradient(closest-side, var(--accent-soft), transparent);opacity:.75;pointer-events:none;border-radius:50%;width:min(760px,80vw);animation:16s ease-in-out infinite alternate drift;position:absolute;top:-10%;right:-12%}.hero:after{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.4;pointer-events:none;background-size:56px 56px;animation:24s linear infinite grid-slide;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 70% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(75% 70% at 50% 40%,#000 20%,#0000 75%)}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(32px,6vw,96px);display:grid;position:relative}.badge{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:10px;padding:8px 16px 8px 12px;font-size:.8rem;font-weight:600;line-height:1.2;display:inline-flex}.badge-dot{background:#2f9e61;border-radius:50%;width:8px;height:8px;position:relative}.badge-dot:after{content:"";background:inherit;border-radius:50%;animation:2.2s ease-out infinite ping;position:absolute;inset:0}.hero-title{font-family:var(--display);letter-spacing:-.045em;margin-top:28px;font-size:clamp(2.5rem,6.2vw,5.1rem);font-weight:600;line-height:1.04}.hero-name{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-size:.78rem;line-height:1.4;display:block}.word{vertical-align:top;margin:-.04em -.08em -.16em 0;padding:.04em .08em .16em 0;display:inline-block;overflow:hidden}.word-in{animation:rise 1.1s var(--ease) both;animation-delay:calc(var(--d,0s) + .25s);display:inline-block}.word-in.is-accent{color:var(--accent);font-style:italic}.hero-fields{flex-wrap:wrap;gap:6px 22px;margin-top:24px;font-size:.85rem;font-weight:600;display:flex}.hero-fields span+span:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:22px;display:inline-block}.hero-pitch{max-width:34rem;color:var(--muted);margin-top:20px;font-size:clamp(1rem,1.25vw,1.12rem)}.actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.enter{animation:fade-up 1s var(--ease) both;animation-delay:calc(var(--d,0s) + .35s)}.portrait{isolation:isolate;justify-self:end;width:min(100%,400px);animation:7s ease-in-out 2s infinite alternate float;position:relative}.portrait-frame{aspect-ratio:1;background:var(--tint);animation:unveil 1.5s var(--ease) .2s both;border-radius:4px;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:50% 12%;filter:grayscale()contrast(1.06);width:100%;height:112%;transform:translateY(calc(var(--sy,0) * -.05px));transition:filter .9s var(--ease), scale 1.4s var(--ease);animation:settle 2s var(--ease) .2s backwards}.portrait:hover .portrait-frame img{filter:none;scale:1.05}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff59 50%,#0000 60%);position:absolute;inset:0;transform:translate(-100%)}.portrait:hover .portrait-frame:after{transition:transform 1.1s var(--ease);transform:translate(100%)}.portrait:before{content:"";z-index:-1;aspect-ratio:1;border:1px solid var(--accent);pointer-events:none;transition:translate .8s var(--ease);border-radius:4px;animation:1.4s 1s backwards fade;position:absolute;inset:0 0 auto;translate:16px 16px}.portrait:hover:before{translate:8px 8px}.portrait figcaption{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:16px;margin-top:30px;font-size:.72rem;display:flex}.portrait figcaption span{color:var(--ink)}.stack{border-block:1px solid var(--line);padding-block:clamp(40px,6vw,72px);overflow:clip}.stack-rows{gap:14px;display:grid;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.stack-row{width:max-content;animation:44s linear infinite marquee;display:flex}.stack-row:last-child{animation-duration:52s;animation-direction:reverse}.stack-rows:hover .stack-row{animation-play-state:paused}.stack-row ul{flex:none;gap:14px;padding-right:14px;display:flex}.stack-row li{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:14px 24px;font-size:clamp(.95rem,1.3vw,1.08rem);font-weight:600;line-height:1;transition:border-color .3s,background-color .3s,color .3s;display:flex}.stack-row li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;transition:background-color .3s}@media (hover:hover){.stack-row li:hover{border-color:var(--accent-fill);background:var(--accent-fill);color:#fff}.stack-row li:hover:before{background:#fff}}@media (prefers-reduced-motion:reduce){.stack-rows{padding-inline:var(--gutter);-webkit-mask-image:none;mask-image:none}.stack-row,.stack-row ul{flex-wrap:wrap;width:auto}.stack-row ul[aria-hidden]{display:none}}.section{padding-block:clamp(80px,12vw,152px)}.section-tint{background:var(--tint)}.head{margin-bottom:clamp(40px,6vw,72px)}.head-title{max-width:17ch;font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin-top:22px;font-size:clamp(1.9rem,4vw,3.1rem);font-weight:600;line-height:1.08}.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);display:grid}.split .head{top:calc(var(--nav-h) + 32px);align-self:start;margin-bottom:0;position:sticky}.lead{font-family:var(--display);letter-spacing:-.005em;letter-spacing:-.015em;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:500;line-height:1.5}.methods{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-top:48px;padding-top:40px;display:grid}.method h3{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.72rem;font-weight:500}.method p{color:var(--muted);font-size:.95rem}.tags{flex-wrap:wrap;gap:8px 24px;margin-top:40px;font-size:.88rem;font-weight:600;display:flex}.tags li:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:10px;display:inline-block}.skills{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.skill,.project{border:1px solid var(--line);background:var(--surface);transition:transform .6s var(--ease), box-shadow .6s var(--ease), border-color .4s;border-radius:24px;position:relative;overflow:hidden}.skill:before,.project:before{content:"";z-index:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%);opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.skill>*,.project>*{z-index:1;position:relative}@media (hover:hover){.skill:hover,.project:hover{border-color:color-mix(in srgb, var(--accent) 35%, transparent);box-shadow:0 24px 48px -28px var(--shadow);transform:translateY(-4px)}.skill:hover:before,.project:hover:before{opacity:1}}.skill{padding:clamp(24px,3vw,36px)}.skill-index{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);font-size:.72rem}.skill h3{font-family:var(--display);letter-spacing:-.02em;margin:10px 0 22px;font-size:clamp(1.5rem,2.2vw,1.85rem);font-weight:600;line-height:1.15}.tablet{width:min(100%,920px);box-shadow:0 0 0 1px var(--line), 0 50px 80px -40px var(--shadow);background:#0a1011;border-radius:36px;margin-inline:auto;padding:14px;position:relative}.tablet-cam{background:#2a3436;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:50%;translate:-50%}.tablet-screen{aspect-ratio:16/10;background:var(--surface);border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.tablet-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:16px;padding:12px 16px;display:flex}.tablet-tabs{scrollbar-width:none;flex:1;gap:6px;min-width:0;display:flex;overflow-x:auto}.tablet-tabs::-webkit-scrollbar{display:none}.tablet-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;padding:9px 14px;font-size:.8rem;transition:color .3s,background-color .3s,border-color .3s;display:inline-flex}.tablet-tab span{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);font-size:.68rem}.tablet-tab b{font-weight:600}.tablet-tab:hover{color:var(--ink)}.tablet-tab.is-active{border-color:var(--line);background:var(--tint);color:var(--ink)}.tablet-nav{gap:6px;display:flex}.tablet-nav button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;padding:0;font-size:1rem;line-height:1;transition:background-color .3s,color .3s,border-color .3s,opacity .3s}.tablet-nav button:hover:not(:disabled){border-color:var(--accent-fill);background:var(--accent-fill);color:#fff}.tablet-nav button:disabled{opacity:.3;cursor:default}.tablet-pages{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;flex:1;min-height:0;display:flex;overflow:auto hidden}.tablet-pages::-webkit-scrollbar{display:none}.tablet-page{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:0 0 100%;justify-content:center;padding:clamp(24px,5vw,64px);display:flex}.tablet-index{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);font-size:.72rem}.tablet-page h3{font-family:var(--display);letter-spacing:-.035em;margin:12px 0 clamp(20px,3vw,32px);font-size:clamp(1.7rem,4vw,3rem);font-weight:600;line-height:1.08}.tablet-page .chips{gap:10px}.tablet-page .chips li{padding:10px 18px;font-size:clamp(.85rem,1.3vw,1rem)}.tablet-foot{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:none;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.66rem;display:flex}.tablet-dots{gap:6px;display:flex}.tablet-dots i{background:var(--line);width:6px;height:6px;transition:width .4s var(--ease), background-color .4s;border-radius:999px}.tablet-dots i.is-active{background:var(--accent);width:22px}@media (max-width:680px){.tablet{border-radius:30px;padding:10px}.tablet-screen{aspect-ratio:auto;border-radius:21px;min-height:430px}.tablet-tab b{display:none}}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project{flex-direction:column;display:flex}.project-cover{aspect-ratio:16/10;background:var(--tint);position:relative;overflow:hidden}.project:nth-child(2n) .project-cover{background:var(--accent-soft)}.project-cover img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);object-position:0 0}.project-cover.is-screen img{width:46%;height:auto;box-shadow:0 30px 60px -24px var(--shadow);transition:translate 1.2s var(--ease);border-radius:18px;position:absolute;top:12%;left:50%;translate:-50%}@media (hover:hover){.project:hover .project-cover.is-screen img{transform:translate(-50%,-9%)}}@media (min-width:901px){.project.is-wide{flex-direction:row;grid-column:1/-1}.project.is-wide .project-cover{aspect-ratio:auto;flex:1.35;min-height:380px}.project.is-wide .project-body{flex:1;justify-content:center}.project.is-wide .chips{margin-top:8px}}.project-mono{font-family:var(--display);letter-spacing:-.02em;color:color-mix(in srgb, var(--ink) 82%, transparent);transition:transform 1.2s var(--ease);font-size:clamp(2.2rem,4.6vw,3.6rem);font-style:italic;font-weight:600;line-height:.98;position:absolute;bottom:clamp(16px,2.4vw,26px);left:clamp(20px,3vw,32px);right:20px}.project-num{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);font-size:.72rem;position:absolute;top:20px;right:22px}@media (hover:hover){.project:hover .project-cover img{transform:scale(1.05)}.project:hover .project-mono{transform:translate(10px)}}.project-body{flex-direction:column;flex:1;gap:14px;padding:clamp(22px,3vw,32px);display:flex}.project-meta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.project h3{font-family:var(--display);letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:16px;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;line-height:1.1;display:flex}.project-text{color:var(--muted);font-size:.95rem}.project .chips{margin-top:auto;padding-top:8px}.journey{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(40px,6vw,96px);display:grid}.journey-title{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;padding-bottom:18px;font-size:.72rem;font-weight:500}.tl-item{border-bottom:1px solid var(--line);transition:padding-left .5s var(--ease);grid-template-columns:11.5rem minmax(0,1fr);gap:8px 24px;padding-block:24px;display:grid;position:relative}.tl-item:before{content:"";background:var(--accent);opacity:0;width:6px;height:6px;transition:opacity .4s, transform .5s var(--ease);border-radius:50%;position:absolute;top:34px;left:0;transform:translate(-8px,-50%)}@media (hover:hover){.tl-item:hover{padding-left:20px}.tl-item:hover:before{opacity:1;transform:translateY(-50%)}}.tl-when{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);padding-top:5px;font-size:.7rem}.tl-item.is-current .tl-when{color:var(--accent)}.tl-item h4{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:600;line-height:1.2}.tl-who{color:var(--muted);margin-top:4px;font-size:.92rem}.tl-about{color:var(--muted);margin-top:12px;font-size:.88rem;font-style:italic}.tl-points{gap:6px;margin-top:12px;font-size:.92rem;display:grid}.tl-points li{padding-left:18px;position:relative}.tl-points li:before{content:"";background:var(--accent);width:8px;height:1px;position:absolute;top:.72em;left:0}.journey>div:last-child .tl-item{grid-template-columns:minmax(0,1fr)}.beyond{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,96px);display:grid}.beyond-item h3{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.7rem,2.6vw,2.2rem);font-weight:600;line-height:1.12}.beyond-item p{color:var(--muted);margin-top:16px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.tile{aspect-ratio:3/4;background:var(--tint);border-radius:16px;position:relative;overflow:hidden}.tile:nth-child(2){background:var(--accent-soft)}.tile img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}@media (hover:hover){.tile:hover img{transform:scale(1.06)}}.tile-empty{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);font-size:.68rem;position:absolute;top:12px;left:14px}.tile figcaption{font-family:var(--display);font-size:clamp(1rem,1.6vw,1.3rem);font-style:italic;font-weight:600;line-height:1.1;position:absolute;inset:auto 14px 12px}.tile:has(img) figcaption{color:#fff;background:linear-gradient(#0000,#16120fb8);padding:32px 14px 12px;inset:auto 0 0}.beyond-hint{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-top:24px;font-size:.72rem;display:inline-flex}.reel{margin-top:clamp(48px,7vw,88px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.reel-track{width:max-content;animation:60s linear infinite marquee;display:flex}.reel:hover .reel-track,.reel.is-paused .reel-track{animation-play-state:paused}.reel-item{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.reel ul{flex:none;gap:20px;padding-right:20px;display:flex}.reel img{border:1px solid var(--line);width:auto;max-width:none;height:clamp(220px,28vw,340px);transition:transform .6s var(--ease), box-shadow .6s var(--ease);background:#fff;border-radius:14px}@media (hover:hover){.reel li:hover img{box-shadow:0 24px 48px -28px var(--shadow);transform:translateY(-6px)}}.reel figure{padding-top:8px}.reel figcaption{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-size:.68rem}.viewer{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--night-ink);background:0 0;border:0;margin:0;padding:clamp(56px,8vh,80px) clamp(16px,7vw,96px) 24px}.viewer[open]{place-items:center;display:grid}.viewer::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16120fe6;animation:.4s fade}.viewer-figure{animation:zoom-in .5s var(--ease);justify-items:center;gap:16px;display:grid}.viewer-figure img{background:#fff;border-radius:10px;max-width:100%;max-height:calc(100dvh - 180px);box-shadow:0 40px 80px -30px #000000b3}.viewer-figure figcaption{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;gap:18px;font-size:.72rem;display:flex}.viewer-figure figcaption span{color:var(--night-muted)}.viewer-btn{border:1px solid var(--night-line);width:46px;height:46px;color:var(--night-ink);cursor:pointer;background:#16120f99;border-radius:50%;place-items:center;padding:0;font-size:1.1rem;line-height:1;transition:background-color .3s,color .3s,border-color .3s;display:grid;position:fixed}.viewer-btn:hover{border-color:var(--night-ink);background:var(--night-ink);color:var(--night)}.viewer-close{top:18px;right:18px}.viewer-prev,.viewer-next{top:50%;translate:0 -50%}.viewer-prev{left:18px}.viewer-next{right:18px}@media (max-width:680px){.viewer-prev,.viewer-next{top:auto;bottom:18px;translate:none}}@media (prefers-reduced-motion:reduce){.reel{overflow-x:auto}.reel ul[aria-hidden]{display:none}}.head-sub{max-width:24rem;color:var(--muted);margin-top:20px}.head-sub a{color:var(--ink);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;font-weight:600;transition:color .3s}.head-sub a:hover{color:var(--accent)}.faq{border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding-block:24px;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-num{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);font-size:.72rem}.faq-q{font-family:var(--display);letter-spacing:-.015em;font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:600;line-height:1.25;transition:color .3s}.faq-item summary:hover .faq-q{color:var(--accent)}.faq-plus{border:1px solid var(--line);width:34px;height:34px;transition:background-color .4s, border-color .4s, rotate .5s var(--ease);border-radius:50%;position:relative}.faq-plus:before,.faq-plus:after{content:"";background:var(--ink);width:12px;height:1.5px;transition:background-color .4s, rotate .5s var(--ease);position:absolute;top:50%;left:50%;translate:-50% -50%}.faq-plus:after{rotate:90deg}.faq-item[open] .faq-plus{border-color:var(--accent-fill);background:var(--accent-fill);rotate:180deg}.faq-item[open] .faq-plus:before,.faq-item[open] .faq-plus:after{background:#fff}.faq-item[open] .faq-plus:after{rotate:none}.faq-a{max-width:38rem;color:var(--muted);padding:0 54px 28px 44px}.faq-item[open] .faq-a{animation:fade-up .6s var(--ease)}@media (max-width:680px){.faq-item summary{gap:14px}.faq-a{padding-inline:0}}.contact{background:var(--night);color:var(--night-ink);padding-top:clamp(88px,12vw,160px)}.contact .eyebrow{color:var(--night-muted)}.contact .eyebrow span,.contact-title em{color:var(--night-accent)}.contact-title{max-width:14ch;font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;margin-top:24px;font-size:clamp(2.2rem,5.8vw,4.6rem);font-weight:600;line-height:1.04}.contact-mail{max-width:100%;font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:14px;margin-top:clamp(36px,5vw,64px);font-size:clamp(1.35rem,3.6vw,2.6rem);font-weight:500;line-height:1.2;display:inline-flex}.contact-mail span{overflow-wrap:anywhere;transition:background-size .6s var(--ease), color .4s;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.contact-mail .ico{transition:transform .5s var(--ease), color .4s}.contact-mail:hover span,.contact-mail:hover .ico{color:var(--night-accent)}.contact-mail:hover .ico{transform:translate(4px,-4px)}.contact-grid{border-top:1px solid var(--night-line);color:var(--night-muted);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:start;gap:32px clamp(32px,5vw,72px);margin-top:clamp(48px,7vw,96px);padding-top:40px;font-size:.95rem;display:grid}.contact-label{color:var(--night-ink);margin-bottom:4px;font-weight:600}.contact-links{grid-template-columns:repeat(2,minmax(0,max-content));gap:14px 40px;display:grid}.contact-links a{transition:color .3s, transform .4s var(--ease);align-items:center;gap:10px;display:inline-flex}.contact-links a:hover{color:var(--night-ink);transform:translate(4px)}.footer{border-top:1px solid var(--night-line);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--night-muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(56px,8vw,112px);padding-block:28px;font-size:.7rem;display:flex}.footer a:hover{color:var(--night-ink)}[data-reveal]{translate:0 calc(var(--ry,0) * 1px)}.hero-grid{opacity:calc(1 - var(--sy,0) / 650);transform:translateY(calc(var(--sy,0) * -.1px))}@keyframes rise{0%{transform:translateY(110%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}}@keyframes fade{0%{opacity:0}}@keyframes unveil{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes settle{0%{scale:1.18}}@keyframes grid-slide{to{background-position:56px 56px}}@keyframes zoom-in{0%{opacity:0;scale:.94}}@keyframes curtain{0%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--night-accent) 18%, transparent)}}@keyframes float{to{translate:0 -10px}}@keyframes ping{to{opacity:0;transform:scale(3.2)}}@keyframes drift{to{transform:translate(-6%,8%)scale(1.08)}}@keyframes marquee{to{transform:translate(-50%)}}@media (max-width:900px){.nav-links,.nav-cv{display:none}.nav-burger{display:block}.hero-grid,.split,.journey,.beyond{grid-template-columns:minmax(0,1fr)}.portrait{justify-self:start;width:min(78%,340px)}.split .head{position:static}.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-grid .btn{justify-self:start}}@media (max-width:680px){.skills,.projects,.tl-item,.contact-links{grid-template-columns:minmax(0,1fr)}.actions .btn{flex:auto}}@media (min-width:901px){.menu{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}.project-cover:has(img) .project-num{display:none}.gallery:has(img) .tile{aspect-ratio:1}
