@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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}:root{--bg:#0b0a09;--bg-raised:#14120f;--text:#f4ede3;--text-muted:#f4ede3b8;--text-faint:#f4ede373;--amber:#e2a85f;--orange:#ff7a33;--line:#f4ede31f;--font-serif:"Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans:"Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--nav-bg:#0b0a09b8;--card-bg:#1e18149e;--glass-tint:#12100e47;--glass-rim:#ffffff6b;--shadow:#000000b3;--ease-out:cubic-bezier(.23, 1, .32, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}::selection{background:#e2a85f59}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:.6rem 1rem;font-size:.85rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-nav{z-index:50;padding:max(1.25rem, env(safe-area-inset-top)) clamp(1.375rem, 6vw, 6.5rem) 1.25rem;pointer-events:none;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background-color .35s,border-color .35s,box-shadow .35s;display:flex;position:fixed;inset:0 0 auto}.site-nav.is-scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-bottom-color:var(--line);pointer-events:auto;box-shadow:0 10px 30px -18px #0009}.site-nav__right{align-items:center;gap:clamp(1rem,2.5vw,2rem);display:flex}.site-nav>*{pointer-events:auto}.site-nav__mark{font-family:var(--font-serif);letter-spacing:.02em;font-size:1.25rem;line-height:0;text-decoration:none;display:block}.logo-live .site-nav__logo{background-image:url(/media/brand/logo.webp)}.site-nav__logo{filter:invert()hue-rotate(180deg)saturate(1.3);background:url(/media/brand/logo-still.webp) 50%/contain no-repeat;width:3.6rem;height:2.75rem;transition:transform .3s;display:block}@media (hover:hover) and (pointer:fine){.site-nav__mark:hover .site-nav__logo{transform:scale(1.06)}}html[data-theme=light] .site-nav:not(.is-on-dark) .site-nav__logo{filter:none}.site-nav__links{gap:clamp(1.25rem,3vw,2.5rem);margin:0;padding:0;list-style:none;display:flex}.site-nav__links a{letter-spacing:.24em;text-transform:uppercase;color:var(--orange);font-size:.72rem;text-decoration:none;transition:color .2s}.site-nav__links a:focus-visible{color:#ffa36b}@media (hover:hover) and (pointer:fine){.site-nav__links a:hover{color:#ffa36b}}.site-footer{padding:2.5rem clamp(1.375rem, 6vw, 6.5rem) calc(2.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--text-faint);text-align:center;flex-direction:column;align-items:center;gap:1rem;font-size:.8rem;display:flex}.site-footer__copy{margin:0}.test-badge{color:var(--text);font-family:var(--font-mono);background:#3fae6a1a;border:1px solid #3fae6a73;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .6rem;padding:.5rem 1rem;font-size:.72rem;text-decoration:none;transition:border-color .25s,background-color .25s,transform .25s;display:inline-flex}.test-badge:focus-visible{background:#3fae6a2e;border-color:#3fae6a;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.test-badge:hover{background:#3fae6a2e;border-color:#3fae6a;transform:translateY(-2px)}}.test-badge__dot{background:#3fae6a;border-radius:50%;width:.55rem;height:.55rem;position:relative}.test-badge__dot:after{content:"";background:inherit;animation:dot-ring 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes dot-ring{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}.test-badge__label{color:#3fae6a;font-weight:600}.test-badge__meta{color:var(--text-faint)}.test-badge.is-failed{background:#e5484d1a;border-color:#e5484d80}.test-badge.is-failed .test-badge__dot{background:#e5484d}.test-badge.is-failed .test-badge__label{color:#e5484d}@media (prefers-reduced-motion:reduce){.test-badge__dot:after{animation:none}*,:before,:after{scroll-behavior:auto!important}}.site-nav__links a,.about__eyebrow,.about__num,.work__eyebrow,.work__count,.work__more,.work-card__meta,.work-card__link,.scene-text__eyebrow,.scene-text__link,.hero-intro__eyebrow,.hero-intro__roles,.hero-handoff__eyebrow,.hero-handoff__secondary,.hero-progress,.hero-progress__skip,.scroll-cue{font-family:var(--font-mono)}.glass{border:1.5px solid var(--glass-rim);background:linear-gradient(158deg, #ffffff2b 0%, #ffffff14 34%, #ffffff09 34.4%, #ffffff0d 100%), var(--glass-tint);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);box-shadow:inset 0 1px 0 #ffffff59, inset 0 -1px 0 #ffffff14, 0 24px 60px -24px var(--shadow);border-radius:20px}.glass:before,.glass:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#fffffff2,#ffffff40 45%,#0000);border-radius:50%;width:10px;height:46px;position:absolute}.glass:before{top:14%;left:-5px}.glass:after{bottom:12%;right:-5px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#181512e0}}.site-nav__links a[aria-current=page]{color:var(--text)}@media (width<=600px){.site-nav__story,.site-nav__skills{display:none}.site-nav__right{gap:.7rem}.site-nav__links{gap:.9rem}.site-nav__links a{letter-spacing:.12em;font-size:.64rem}}@media (width<=359px){.site-nav__reviews{display:none}}@media (width<=360px){.site-nav__links{gap:.65rem}.site-nav__links a{letter-spacing:.06em;font-size:.6rem}}.theme-toggle{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.theme-toggle__track{border:1px solid var(--glass-rim);background:#ffffff14;border-radius:999px;width:3.1rem;height:1.7rem;transition:background-color .35s;display:block;position:relative;box-shadow:inset 0 1px #ffffff40}.theme-toggle__thumb{background:var(--orange);color:#1a0f08;border-radius:50%;place-items:center;width:1.3rem;height:1.3rem;transition:transform .45s cubic-bezier(.3,1.4,.5,1);display:grid;position:absolute;top:.15rem;left:.15rem;box-shadow:0 2px 8px #00000059}.theme-toggle__thumb svg{transition:opacity .3s,transform .45s;position:absolute}.theme-toggle.is-dark .theme-toggle__sun,.theme-toggle.is-light .theme-toggle__moon{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-toggle.is-light .theme-toggle__thumb{transform:translate(1.4rem)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover .theme-toggle__track{background:#ff7a332e}}html.is-theme-switching,html.is-theme-switching *,html.is-theme-switching :before,html.is-theme-switching :after{transition:background-color .45s,color .45s,border-color .45s,box-shadow .22s!important}html[data-theme=light]{--bg:#f6f1ea;--bg-raised:#fff;--text:#1d1712;--text-muted:#1d1712b8;--text-faint:#1d171280;--amber:#a8641a;--orange:#e2560c;--line:#1d17121f;--nav-bg:#f6f1eac7;--card-bg:#ffffffb8;--glass-tint:#ffffff73;--glass-rim:#fffffff2;--shadow:#5a3c1e38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] ::selection{background:#e2560c38}html[data-theme=light] .site-nav__links a:focus-visible{color:#b54308}@media (hover:hover) and (pointer:fine){html[data-theme=light] .site-nav__links a:hover{color:#b54308}}html[data-theme=light] .site-nav.is-scrolled{box-shadow:0 10px 30px -20px #5a3c1e59}html[data-theme=light] .glass{box-shadow:inset 0 1px 0 #ffffffe6, 0 0 0 1px #1d17120f, 0 24px 60px -24px var(--shadow)}html[data-theme=light] .theme-toggle__track{background:#1d17120f;border-color:#1d17122e}html[data-theme=light] .cinematic-hero,html[data-theme=light] .site-nav.is-on-dark{--bg:#0b0a09;--bg-raised:#14120f;--text:#f4ede3;--text-muted:#f4ede3b8;--text-faint:#f4ede373;--amber:#e2a85f;--orange:#ff7a33;--line:#f4ede31f;--glass-tint:#12100e47;--glass-rim:#ffffff6b;--shadow:#000000b3;--nav-bg:#0b0a09b8;color:var(--text)}@media (width<=600px){.theme-toggle__track{width:1.75rem}.theme-toggle.is-light .theme-toggle__thumb{transform:none}}:is(button,.work__more,.scene-text__link,.progress-card__link,.fw-after__repo,.hero-handoff__cta,.site-nav__links a,.test-badge):not(:disabled):active{transition-duration:.1s;transform:scale(.97)}@media (prefers-reduced-motion:reduce){:is(button,a):active{transform:none}}:is(button,[role=tab],.site-nav a,.work__more,.scene-text__link,.progress-card__link,.fw-after__repo,.hero-handoff__cta,.test-badge){touch-action:manipulation;-webkit-user-select:none;user-select:none}:is(.lab__pre,.lab__term,.lab__list,.fw-code__pre){overscroll-behavior:contain}.cinematic-hero{height:calc(100vh + var(--hero-pin,600vh));height:calc(100lvh + var(--hero-pin,600vh));background:var(--bg);position:relative}.cinematic-hero__stage{isolation:isolate;height:100svh;position:sticky;top:0;overflow:hidden}.hero-media{z-index:0;background:var(--bg);will-change:clip-path, transform;position:absolute;inset:0;overflow:hidden}.hero-media__zoom{will-change:transform;position:absolute;inset:0}.hero-media__canvas,.hero-media__still{object-fit:cover;object-position:50% 35%;width:100%;height:100%;position:absolute;inset:0}.hero-media__stills{transition:opacity .6s;position:absolute;inset:0}.hero-media__stills.is-hidden{opacity:0}.hero-media__still{opacity:0;transition:opacity .35s}.hero-media__still.is-active{opacity:1}.hero-media__canvas{opacity:0;pointer-events:none;transition:opacity .45s}.hero-media__canvas.is-visible{opacity:1}.hero-media__loader{opacity:0;height:2px;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.hero-media__loader.is-active{opacity:1}.hero-media__loader span{background:linear-gradient(90deg, transparent, var(--amber));transform-origin:0;height:100%;transition:transform .25s;display:block}.cinematic-hero__scrim{z-index:1;pointer-events:none;background:linear-gradient(#0807068c,#0000 18%),linear-gradient(#0000 74%,#08070680);position:absolute;inset:0}.cinematic-hero__fade{z-index:3;background:var(--bg);opacity:0;pointer-events:none;position:absolute;inset:0}.cinematic-hero__content{z-index:2;pointer-events:none;height:100svh;position:absolute;inset:0 0 auto}.cinematic-hero__content--finale{z-index:4}.scene-text{--side:clamp(1.5rem, 6vw, 6.5rem);isolation:isolate;opacity:0;will-change:opacity;max-width:min(34rem,42vw);position:absolute;bottom:clamp(6rem,15vh,10rem)}.scene-text:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#08070694,#08070638 60%,#0000);position:absolute;inset:-55% -45%}.scene-text--left{left:var(--side)}.scene-text--right{right:var(--side);text-align:right}.scene-text--top{top:clamp(6.5rem,18vh,11rem);bottom:auto}.scene-text__eyebrow{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--amber);align-items:center;gap:.85rem;margin:0 0 1.1rem;font-size:.72rem;font-weight:500;display:inline-flex}.scene-text__eyebrow:before{content:"";opacity:.8;background:currentColor;width:2rem;height:1px}.scene-text__num{font-variant-numeric:tabular-nums;letter-spacing:.18em;color:var(--text-faint)}.scene-text__headline{font-family:var(--font-serif);letter-spacing:-.022em;color:var(--text);text-wrap:balance;text-shadow:0 2px 30px #00000059;margin:0;font-size:clamp(2.5rem,5.2vw,5.25rem);font-weight:500;line-height:1.02}.scene-text__description{max-width:26rem;font-family:var(--font-sans);color:var(--text-muted);text-wrap:pretty;margin:1.15rem 0 0;font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.6}.scene-text--finale:before{opacity:.6}.scene-text--finale .scene-text__headline{font-size:clamp(2.9rem,6.6vw,6.6rem);font-weight:500}.scene-text--finale .scene-text__description{font-family:var(--font-serif);color:var(--text);opacity:.85;font-size:clamp(1.15rem,1.6vw,1.5rem);font-style:italic}.cinematic-hero__ui{z-index:5;pointer-events:none;height:100svh;position:absolute;inset:auto 0 0}.hero-progress{font-family:var(--font-sans);letter-spacing:.18em;color:var(--text-muted);pointer-events:auto;align-items:center;gap:1rem;font-size:.75rem;display:flex;position:absolute;bottom:clamp(1.5rem,4vh,2.5rem);right:clamp(1.5rem,6vw,6.5rem)}.hero-progress__count{font-variant-numeric:tabular-nums;margin:0}.hero-progress__current{color:var(--text)}.hero-progress__sep{opacity:.5}.hero-progress__track{background:#f4ede338;width:4.5rem;height:1px;position:relative;overflow:hidden}.hero-progress__fill{background:var(--amber);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.hero-progress__skip{font:inherit;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.5rem 0;font-size:.68rem;transition:color .2s}.hero-progress__skip:focus-visible{color:var(--text)}@media (hover:hover) and (pointer:fine){.hero-progress__skip:hover{color:var(--text)}}.scroll-cue{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex-direction:column;align-items:center;gap:.75rem;font-size:.66rem;display:flex;position:absolute;bottom:clamp(1.5rem,4vh,2.5rem);left:50%;transform:translate(-50%)}.scroll-cue__line{background:#f4ede333;width:1px;height:2.5rem;position:relative;overflow:hidden}.scroll-cue__line:after{content:"";background:var(--amber);width:100%;height:40%;animation:2.2s cubic-bezier(.65,0,.35,1) infinite scroll-cue;position:absolute;top:-40%;left:0}@keyframes scroll-cue{to{top:100%}}@media (width<=767px){.scene-text,.scene-text--right,.scene-text--top{--side:1.375rem;left:var(--side);right:var(--side);top:auto;bottom:calc(5.25rem + env(safe-area-inset-bottom));text-align:left;max-width:none}.scene-text:before{background:linear-gradient(#0000,#08070680 45%,#080706d1);inset:-45% -2rem -6.5rem}.scene-text--right .scene-text__eyebrow{flex-direction:row}.scene-text--right .scene-text__description{margin-left:0}.scene-text__eyebrow{margin-bottom:.8rem;font-size:.66rem}.scene-text__headline{font-size:clamp(2.1rem,9.5vw,3rem)}.scene-text--finale .scene-text__headline{font-size:clamp(2.4rem,11vw,3.4rem)}.scene-text__description{margin-top:.8rem;font-size:.98rem}.hero-progress{left:1.375rem;right:1.375rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));justify-content:space-between}.hero-progress__track{flex:1}.scroll-cue{bottom:calc(4.25rem + env(safe-area-inset-bottom));opacity:.9}.scroll-cue__line{display:none}}.is-reduced-motion .hero-media__still{transition-duration:.2s}@media (prefers-reduced-motion:reduce){.scroll-cue__line:after{animation:none;top:30%}}.split-word{vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:hidden}.split-word__inner{will-change:transform;display:inline-block}.scene-text--statement .scene-text__headline{letter-spacing:-.035em;font-size:clamp(3.4rem,8vw,8.25rem);line-height:.95}.scene-text__link{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-sans);letter-spacing:.04em;color:var(--text);pointer-events:auto;background:#0b0a0973;border:1px solid #e2a85f8c;border-radius:999px;align-items:center;gap:.55rem;margin-top:1.35rem;padding:.6rem 1rem;font-size:.8rem;text-decoration:none;transition:background-color .25s,border-color .25s;display:inline-flex}.scene-text__link:focus-visible{border-color:var(--amber);background:#e2a85f33}@media (hover:hover) and (pointer:fine){.scene-text__link:hover{border-color:var(--amber);background:#e2a85f33}}.scene-text__link span[aria-hidden]{color:var(--amber)}.scene-text__link--card{width:100%;max-width:19rem;font-family:var(--font-mono);letter-spacing:.02em;border-radius:14px;grid-template-columns:1fr auto;row-gap:.55rem;padding:.45rem .85rem .6rem .45rem;font-size:.74rem;transition:border-color .25s,background-color .25s,transform .3s;display:grid}.scene-text__link--card:focus-visible{transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.scene-text__link--card:hover{transform:translateY(-2px)}}.scene-text__preview{border-radius:9px;grid-column:1/-1;overflow:hidden;box-shadow:0 10px 24px -14px #000000e6}.scene-text__preview img{aspect-ratio:16/9;object-fit:cover;object-position:top;width:100%;transition:transform .6s;display:block}@media (hover:hover) and (pointer:fine){.scene-text__link--card:hover .scene-text__preview img{transform:scale(1.04)}}.scene-text__link--card>:not(.scene-text__preview){padding-left:.4rem}.hero-intro{z-index:3;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:0 1.5rem;display:flex;position:absolute;inset:0}.hero-intro__eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--amber);text-shadow:0 1px 12px #0009;margin:0 0 1.4rem;font-size:.72rem}.hero-intro__name{margin:0;line-height:0}.hero-intro__name img{filter:drop-shadow(0 6px 40px #0009);width:min(78vw,58rem);height:auto}.hero-intro__roles{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);text-shadow:0 1px 12px #000000b3;margin:1.6rem 0 0;font-size:clamp(.85rem,1.2vw,1rem)}.cinematic-hero__grain{z-index:1;opacity:var(--grain,.07);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(6,end) infinite hero-grain;position:absolute;inset:-50%}@keyframes hero-grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.hero-handoff{z-index:4;visibility:hidden;max-width:36rem;position:absolute;top:50%;left:51%;right:clamp(1.5rem,6vw,6.5rem);transform:translateY(-50%)}.hero-handoff__eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--amber);margin:0 0 1.25rem;font-size:.72rem}.hero-handoff__title{font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:clamp(2.4rem,4.8vw,4.6rem);font-weight:500;line-height:1.02}.hero-handoff__lead{color:var(--text-muted);margin:1.5rem 0 0;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75}.hero-handoff__actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.hero-handoff__cta{background:var(--amber);color:#1a140c;letter-spacing:.04em;border-radius:999px;gap:.6rem;padding:.85rem 1.4rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .25s,background-color .25s;display:inline-flex}.hero-handoff__cta:focus-visible{background:#edbb7a;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.hero-handoff__cta:hover{background:#edbb7a;transform:translateY(-2px)}}.hero-handoff__secondary{border-bottom:1px solid var(--line);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);padding-bottom:.25rem;font-size:.78rem;text-decoration:none}.hero-handoff__secondary:focus-visible{border-color:var(--amber);color:var(--text)}@media (hover:hover) and (pointer:fine){.hero-handoff__secondary:hover{border-color:var(--amber);color:var(--text)}}@media (width<=767px){.scene-text--statement{max-width:none}.scene-text--statement .scene-text__headline{font-size:clamp(2.8rem,15vw,4.4rem)}.scene-text__link{margin-top:1rem}.hero-intro__name img{width:86vw}.hero-handoff{top:auto;left:1.375rem;right:1.375rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));transform:none}.hero-handoff__lead{margin-top:1rem;font-size:.95rem;line-height:1.6}.hero-handoff__actions{margin-top:1.25rem}.hero-intro__eyebrow{letter-spacing:.22em;font-size:.62rem}}@media (prefers-reduced-motion:reduce){.cinematic-hero__grain{animation:none}}.cinematic-hero__stage{--win-w:min(54vw, 102vh);--win-h:calc(var(--win-w) * .5625);--win-top:calc(50% - var(--win-h) / 2);--box-w:clamp(17rem, 22vw, 23.5rem);--overlap:clamp(1.75rem, 3.2vw, 3.75rem)}.hero-media{inset:auto;left:calc(50% - var(--win-w) / 2);top:var(--win-top);z-index:1;width:var(--win-w);height:var(--win-h);border-radius:22px}.hero-media:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1a}.hero-media__loader{z-index:4}.hero-ambient{z-index:0;left:calc(50% - var(--win-w) * .2);top:calc(50% - var(--win-h) * .2);width:calc(var(--win-w) * .4);height:calc(var(--win-h) * .4);filter:blur(6px)saturate(1.25);opacity:.55;pointer-events:none;position:absolute;transform:scale(4.2);-webkit-mask-image:radial-gradient(closest-side,#000 35%,#0000 100%);mask-image:radial-gradient(closest-side,#000 35%,#0000 100%)}.cinematic-hero__scrim{display:none}.scene-text{width:var(--box-w);text-align:left;isolation:auto;max-width:none;padding:1.5rem 1.6rem 1.6rem}.scene-text--left,.scene-text--right{text-align:left}.scene-text--left{left:auto;right:calc(50% + var(--win-w) / 2 - var(--overlap))}.scene-text--right{right:auto;left:calc(50% + var(--win-w) / 2 - var(--overlap))}.scene-text--bottom{top:auto;bottom:calc(var(--win-top) - 2.25rem)}.scene-text--top{bottom:auto;top:calc(var(--win-top) - 2.25rem)}.scene-text--right .scene-text__eyebrow{flex-direction:row}.scene-text--right .scene-text__description{margin-left:0}.scene-text__eyebrow{margin-bottom:.9rem}.scene-text__headline{letter-spacing:-.03em;text-shadow:none;font-size:clamp(1.75rem,2.4vw,2.6rem);line-height:1.08}.scene-text--statement{max-width:none}.scene-text--statement .scene-text__headline{font-size:clamp(2.2rem,3.2vw,3.4rem);line-height:1}.scene-text__description{margin-top:.8rem;font-size:.95rem;line-height:1.6}.scene-text__link{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b0a0959;margin-top:1.1rem}.scene-text--finale .scene-text__headline{font-size:clamp(1.75rem,2.4vw,2.6rem)}.scene-text--finale .scene-text__description{font-style:normal;font-family:var(--font-sans);color:var(--text-muted);opacity:1;font-size:.95rem}.hero-handoff{max-width:34rem;padding:2rem 2.1rem 2.1rem;left:46%}@media (width>=768px) and (width<=1099px){.cinematic-hero__stage{--win-w:min(78vw, 88vh);--win-top:14%}.scene-text,.scene-text--left,.scene-text--right,.scene-text--top,.scene-text--bottom{left:calc(50% - var(--win-w) / 2 + 1.5rem);right:auto;top:calc(var(--win-top) + var(--win-h) - var(--overlap));width:min(30rem, calc(var(--win-w) - 3rem));bottom:auto}}@media (width<=767px){.cinematic-hero__stage{--win-w:calc(100vw - 2rem);--box-est:15.5rem;--gap-below:.75rem;--win-top:max(5.25rem, calc(4.5rem + (100svh - 11rem - var(--win-h) - var(--gap-below) - var(--box-est)) / 2));--overlap:calc(-1 * var(--gap-below))}.hero-media{border-radius:16px}.hero-ambient{opacity:.45}.scene-text,.scene-text--left,.scene-text--right,.scene-text--top,.scene-text--bottom{left:1.75rem;right:1.75rem;top:calc(var(--win-top) + var(--win-h) - var(--overlap));width:auto;padding:1.15rem 1.25rem 1.25rem;bottom:auto}.scene-text:before{inset:auto}.scene-text__headline,.scene-text--finale .scene-text__headline{font-size:clamp(1.6rem,7.4vw,2.1rem)}.scene-text--statement .scene-text__headline{font-size:clamp(1.9rem,9vw,2.5rem)}.hero-handoff{left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));padding:1.25rem 1.3rem 1.35rem}}.hero-scroll-hint{z-index:3;left:50%;top:calc(var(--win-top) + var(--win-h) + 1.5rem);font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--text);visibility:hidden;pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .95rem;font-size:.66rem;display:inline-flex;position:absolute;transform:translate(-50%)}.hero-scroll-hint:before,.hero-scroll-hint:after{display:none}.hero-scroll-hint__arrow{color:var(--orange);animation:1.4s ease-in-out infinite hint-bounce;display:inline-block}@keyframes hint-bounce{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media (width<=1099px){.hero-scroll-hint{top:auto;bottom:calc(4.25rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.hero-scroll-hint__arrow{animation:none}}@media (width<=1099px){.scene-text__link--card{grid-template-columns:4.75rem 1fr auto;align-items:center;column-gap:.6rem;max-width:none;padding:.35rem .85rem .35rem .35rem}.scene-text__preview{border-radius:7px;grid-column:auto}.scene-text__preview img{aspect-ratio:16/10}.scene-text__link--card>:not(.scene-text__preview){padding-left:0}}@media (width<=767px) and (height<=640px){.hero-scroll-hint{display:none}}.about{background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.about__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(40% 55% at 22%,#ff7a3352,#0000 70%),radial-gradient(35% 45% at 78% 40%,#e2a85f1f,#0000 70%);position:absolute;inset:8% 0}.about__panel{border-radius:28px;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);align-items:center;gap:clamp(2rem,4vw,3.5rem);max-width:68rem;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem);display:grid;position:relative}.about__portrait{aspect-ratio:743/1200;border-radius:20px;margin:0;position:relative;overflow:hidden;box-shadow:0 30px 60px -25px #000c,0 0 0 1px #ffffff1f}.about__portrait img{object-fit:cover;width:100%;height:100%;display:block}.about__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 .9rem;font-size:.7rem}.about__title{font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:500;line-height:1.1}.about__lead{max-width:32rem;color:var(--text-muted);margin:.8rem 0 0;font-size:.95rem;line-height:1.6}.about__list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.75rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.about__item{border-bottom:1px solid var(--line);grid-template-columns:2rem 1fr;gap:.15rem .6rem;padding:.85rem 0;display:grid}.about__num{letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--text-faint);grid-row:span 2;padding-top:.2rem;font-size:.68rem}.about__label{font-family:var(--font-serif);font-size:1.02rem;font-weight:500}.about__text{color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.5}@media (width<=767px){.about__panel{grid-template-columns:minmax(0,1fr);padding:1.25rem}.about__portrait{aspect-ratio:auto;height:18rem}.about__portrait img{object-position:50% 12%}.about__list{grid-template-columns:minmax(0,1fr)}.about__glow{background:radial-gradient(70% 40% at 50% 25%,#ff7a334d,#0000 70%)}}.contact{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.contact__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(30% 45% at 70% 55%,#ff7a3338,#0000 70%),radial-gradient(30% 40% at 20% 40%,#e2a85f1f,#0000 70%);position:absolute;inset:10% 0}.contact__inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);max-width:76rem;margin:0 auto;display:grid;position:relative}.contact__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.contact__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.contact__title span{color:var(--orange)}.contact__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.contact__direct{font-family:var(--font-mono);color:var(--orange);border-bottom:1px solid;margin-top:1.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.contact__form{gap:1.1rem;padding:clamp(1.4rem,3vw,2.2rem);display:grid;position:relative}.contact__row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.contact__field{gap:.45rem;display:grid}.contact__field span{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);font-size:.66rem}.contact__field input,.contact__field textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;resize:vertical;background:#7f7f7f14;border-radius:12px;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s,background-color .2s,box-shadow .2s}.contact__field input:focus,.contact__field textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #ff7a3333}.contact__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact__footer{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.contact__send{background:var(--orange);color:#1a0f08;font:inherit;cursor:pointer;border:0;border-radius:999px;gap:.6rem;padding:.9rem 1.5rem;font-size:.92rem;font-weight:600;transition:transform .25s,background-color .25s,opacity .25s;display:inline-flex}.contact__send:focus-visible{background:#ff9455;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.contact__send:hover:not(:disabled){background:#ff9455;transform:translateY(-2px)}}.contact__send:disabled{opacity:.6;cursor:progress}.contact__status{flex:14rem;margin:0;font-size:.9rem}.contact__status.is-sent{color:#3fae6a}.contact__status.is-error{color:#e5484d}@media (width<=899px){.contact__inner{grid-template-columns:minmax(0,1fr)}}@media (width<=539px){.contact__row{grid-template-columns:minmax(0,1fr)}}.contact__turnstile:empty{display:none}.frameworks{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.frameworks__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(35% 40% at 70% 45%,#ff7a3333,#0000 70%),radial-gradient(30% 35% at 20% 75%,#3fae6a1a,#0000 70%);position:absolute;inset:20% 0 5%}.frameworks__inner{max-width:76rem;margin:0 auto;position:relative}.frameworks__header{max-width:44rem;margin-bottom:clamp(2rem,5vh,2.75rem)}.frameworks__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.frameworks__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.frameworks__title span{color:#3fae6a}.frameworks__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.fw-tabs{border-radius:999px;flex-wrap:wrap;gap:.3rem;margin-bottom:1.25rem;padding:.35rem;display:inline-flex;position:relative}.fw-tabs:before,.fw-tabs:after{display:none}.fw-tabs__tab{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.6rem 1.1rem;font-size:.78rem;transition:background-color .25s,color .25s}@media (hover:hover) and (pointer:fine){.fw-tabs__tab:hover{color:var(--text)}}.fw-tabs__tab[aria-selected=true]{background:var(--orange);color:#1a0f08}.fw-editor{--ed-bg:#12100e;--ed-text:#e9e2d6;--ed-muted:#e9e2d66b;background:var(--ed-bg);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ed-text);border-radius:18px;padding:0;position:relative;overflow:hidden}.fw-editor:before,.fw-editor:after{display:none}.fw-editor__bar{font-family:var(--font-mono);background:#ffffff08;border-bottom:1px solid #ffffff14;align-items:center;gap:.9rem;padding:.75rem 1rem;font-size:.72rem;display:flex}.fw-editor__dots{gap:.4rem;display:inline-flex}.fw-editor__dots i{background:#ff5f57;border-radius:50%;width:.7rem;height:.7rem}.fw-editor__dots i:nth-child(2){background:#febc2e}.fw-editor__dots i:nth-child(3){background:#28c840}.fw-editor__name{color:var(--ed-text)}.fw-editor__stack{color:var(--ed-muted);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.fw-editor__main{grid-template-columns:minmax(14rem,.32fr) minmax(0,1fr);min-height:24rem;display:grid}.fw-tree{font-family:var(--font-mono);color:var(--ed-muted);background:#ffffff05;border-right:1px solid #ffffff12;margin:0;padding:.8rem 0;font-size:.74rem;line-height:1.85;list-style:none}.fw-tree__item{white-space:nowrap;text-overflow:ellipsis;padding-right:.6rem;overflow:hidden}.fw-tree__item.is-folder{color:var(--ed-text)}.fw-tree__icon{color:#ff7a33;width:1rem;display:inline-block}.fw-code{min-width:0}.fw-code__tab{font-family:var(--font-mono);background:#ffffff0a;border-bottom:2px solid #ff7a33;border-right:1px solid #ffffff12;margin:0;padding:.5rem 1rem;font-size:.72rem;display:inline-block}.fw-code__pre{font-family:var(--font-mono);margin:0;padding:.9rem 0 1.2rem;font-size:.76rem;line-height:1.7;position:relative;overflow-x:auto}.fw-code__line{white-space:pre;display:block}.fw-code__num{text-align:right;color:#e9e2d638;-webkit-user-select:none;user-select:none;width:3rem;padding-right:1rem;display:inline-block}.fw-caret{vertical-align:-.15em;background:#ff7a33;width:.55em;height:1.05em;margin-left:3rem;animation:1s step-end infinite fw-blink;display:inline-block}@keyframes fw-blink{50%{opacity:0}}.tok-kw{color:#ff9455}.tok-str{color:#9fd88a}.tok-tag{color:#e2a85f}.tok-fn{color:#7cc4ff}.tok-var{color:#c9a7ff}.tok-muted{color:#e9e2d659}.fw-term{font-family:var(--font-mono);background:#0b0a09;border-top:1px solid #ffffff14;padding:.9rem 1.2rem 1.1rem;font-size:.76rem;line-height:1.75}.fw-term p{margin:0}.fw-term__head{letter-spacing:.18em;text-transform:uppercase;color:var(--ed-muted);justify-content:space-between;gap:1rem;font-size:.64rem;display:flex;margin-bottom:.4rem!important}.fw-term__note{letter-spacing:.06em;text-transform:none}.fw-term__prompt{color:#ff7a33}.fw-term__cmd{white-space:nowrap;overflow:hidden}.fw-term__line{white-space:nowrap;text-overflow:ellipsis;color:#e9e2d6bf;overflow:hidden}.fw-term__ok{color:#3fae6a;font-weight:700}.fw-term__summary.is-failed{color:#ff8a8e;background:#e5484d29}.fw-term__summary{color:#6fd394;background:#3fae6a29;border-radius:6px;padding:.25rem .7rem;font-weight:600;display:inline-block;margin-top:.5rem!important}.fw-after{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 2rem;margin-top:1.4rem;display:grid}.fw-after__summary{color:var(--text-muted);margin:0;font-size:.98rem;line-height:1.6}.fw-highlights{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.fw-highlights li{border:1px solid var(--line);background:#7f7f7f14;border-radius:999px;padding:.45rem .85rem;font-size:.82rem}.fw-highlights li:before{content:"✓ ";color:#3fae6a;font-weight:700}.fw-after__repo{background:var(--orange);color:#1a0f08;white-space:nowrap;border-radius:999px;grid-area:1/2;padding:.7rem 1.2rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:transform .25s,background-color .25s}.fw-after__repo:focus-visible{background:#ff9455;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.fw-after__repo:hover{background:#ff9455;transform:translateY(-2px)}}@media (width<=899px){.fw-editor__main{grid-template-columns:minmax(0,1fr);min-height:0}.fw-tree,.fw-editor__stack{display:none}.fw-after{grid-template-columns:minmax(0,1fr)}.fw-after__repo{grid-area:auto;justify-self:start}}@media (width<=539px){.fw-code__pre,.fw-term{font-size:.68rem}.fw-code__num{width:2.2rem;padding-right:.7rem}.fw-tabs{border-radius:18px;grid-template-columns:minmax(0,1fr);width:100%;display:grid}.fw-tabs__tab{border-radius:13px;font-size:.72rem}}@media (prefers-reduced-motion:reduce){.fw-caret{animation:none}}.lab__bar{flex-wrap:wrap}.lab__actions{gap:.5rem;margin-left:auto;display:inline-flex}.lab__run{color:#07130c;font-family:var(--font-mono);cursor:pointer;background:#3fae6a;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.74rem;font-weight:700;transition:transform .2s,background-color .2s,opacity .2s;display:inline-flex;position:relative}.lab__run:not(.lab__run--all):after{content:"";border-radius:inherit;pointer-events:none;animation:lab-invite 2.4s var(--ease-out) 3;opacity:0;border:2px solid #3fae6a;position:absolute;inset:0}.lab__run:focus-visible{background:#52c77f;transform:translateY(-1px)}@media (hover:hover) and (pointer:fine){.lab__run:hover:not(:disabled){background:#52c77f;transform:translateY(-1px)}}.lab__run:disabled{opacity:.55;cursor:progress;animation:none}.lab__run--all{color:var(--ed-text);background:0 0;animation:none;box-shadow:inset 0 0 0 1px #e9e2d640}.lab__run--all:focus-visible{background:#e9e2d614}@media (hover:hover) and (pointer:fine){.lab__run--all:hover:not(:disabled){background:#e9e2d614}}@keyframes lab-invite{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(1.3,1.6)}}.lab__list{background:#ffffff05;border-right:1px solid #ffffff12;margin:0;padding:.6rem;list-style:none}.lab__item{white-space:normal!important;padding:0!important;overflow:visible!important}.lab__feature{width:100%;color:var(--ed-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.7rem;margin-bottom:.3rem;padding:.6rem .7rem;transition:background-color .2s,border-color .2s,color .2s;display:flex}@media (hover:hover) and (pointer:fine){.lab__feature:hover:not(:disabled){color:var(--ed-text);background:#ffffff0a}}.lab__feature.is-selected{color:var(--ed-text);background:#ff7a331a;border-color:#ff7a338c}.lab__feature:disabled{cursor:not-allowed;opacity:.5}.lab__feature-text{gap:.15rem;min-width:0;display:grid}.lab__feature-title{font-family:var(--font-sans);font-size:.86rem;font-weight:600}.lab__feature-file{font-family:var(--font-mono);color:var(--ed-muted);font-size:.64rem}.lab__dot{background:#e9e2d640;border-radius:50%;flex:none;width:.6rem;height:.6rem;margin-top:.3rem}.lab__dot.is-running{background:#febc2e;animation:.8s ease-in-out infinite lab-blink}.lab__dot.is-pass{background:#3fae6a;box-shadow:0 0 8px #3fae6ab3}.lab__dot.is-fail{background:#e5484d;box-shadow:0 0 8px #e5484db3}@keyframes lab-blink{50%{opacity:.3}}.lab__pre{max-height:26rem;overflow:auto}.lab__term{scroll-behavior:smooth;max-height:17rem;overflow-y:auto}.lab__hint b{color:#3fae6a}.lab__line{animation:.25s ease-out lab-line-in;white-space:normal!important;overflow:visible!important}@keyframes lab-line-in{0%{opacity:0;transform:translateY(4px)}}.lab__mark{width:1ch;font-weight:700;display:inline-block}.lab__line.is-running .lab__mark{color:#febc2e;animation:.8s linear infinite lab-spin}.lab__line.is-pass .lab__mark{color:#3fae6a}.lab__line.is-fail{color:#ff8a8e}.lab__line.is-fail .lab__mark{color:#e5484d}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab__line.is-skip{color:#e9e2d673}.lab__line.is-skip .lab__mark{color:#febc2e}.lab__note{color:#e9e2d68c;white-space:normal!important;margin-top:.4rem!important}.lab__note code{color:#febc2e}.lab__detail{color:#e9e2d673}.lab__ms{color:#e9e2d64d}@media (width<=899px){.lab__list{scrollbar-width:none;border-bottom:1px solid #ffffff12;border-right:0;gap:.4rem;display:flex;overflow-x:auto}.lab__list::-webkit-scrollbar{display:none}.lab__item{flex:none}.lab__feature{white-space:nowrap;width:auto;margin:0;padding:.5rem .75rem}.lab__feature-file{display:none}.lab__dot{margin-top:.25rem}.lab__pre{max-height:16rem}.lab__actions{width:100%;margin-left:0}.lab__run{flex:1;justify-content:center}.lab__run--all{flex:none}}@media (prefers-reduced-motion:reduce){.lab__run,.lab__dot.is-running,.lab__line,.lab__line.is-running .lab__mark{animation:none}}@media (width>=900px){.lab__main{grid-template-columns:minmax(17rem,.36fr) minmax(0,1fr)}}@media (width<=539px){.fw-term__head{flex-direction:column;gap:.2rem}}.reviews{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) 0;position:relative;overflow-x:clip}.reviews__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(35% 45% at 25% 55%,#ff7a3338,#0000 70%),radial-gradient(35% 45% at 75% 60%,#ff7a3329,#0000 70%);position:absolute;inset:20% 0 5%}.reviews__inner{max-width:76rem;margin:0 auto;padding:0 clamp(1.375rem,5vw,5rem);position:relative}.reviews__header{max-width:40rem;margin-bottom:clamp(2.5rem,6vh,3.5rem)}.reviews__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.reviews__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.reviews__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.reviews__arrows{z-index:2;justify-content:space-between;max-width:76rem;margin:0 auto .75rem;padding:0 clamp(1.375rem,5vw,5rem);display:flex;position:relative}.reviews__arrow{width:3.1rem;height:3.1rem;font:inherit;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:1.15rem;transition:background-color .25s,color .25s,transform .25s;display:grid;position:relative}.reviews__arrow:focus-visible{background:var(--orange);color:#1a0f08;transform:scale(1.06)}@media (hover:hover) and (pointer:fine){.reviews__arrow:hover{background:var(--orange);color:#1a0f08;transform:scale(1.06)}}.reviews__arrow:active{transform:scale(.96)}.reviews__gallery{padding:1rem 0 1.5rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.reviews__track{--gap:clamp(1rem, 2vw, 1.5rem);align-items:stretch;gap:var(--gap);width:max-content;margin:0;padding:0;list-style:none;animation:70s linear infinite reviews-glide;display:flex}@keyframes reviews-glide{0%{transform:translateX(calc(-50% - var(--gap) / 2))}to{transform:translate(0)}}.reviews__gallery:focus-within .reviews__track,.reviews__gallery.is-offscreen .reviews__track{animation-play-state:paused}@media (hover:hover) and (pointer:fine){.reviews__gallery:hover .reviews__track{animation-play-state:paused}}.review-wrap{flex:none;width:clamp(20rem,36vw,33rem);display:flex}.review-wrap--m .review__quote{font-size:1.2rem;line-height:1.6}.review-wrap--l .review__quote{font-size:.95rem}.review-wrap--xl .review__quote{font-size:.82rem;line-height:1.58}.review{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(158deg, #ffffff26 0%, #ffffff12 34%, #ffffff09 34.4%, #ffffff0d 100%), var(--card-bg);flex-direction:column;width:100%;margin:0;padding:1.6rem 1.6rem 1.4rem;display:flex;position:relative}.review__mark{font-family:var(--font-serif);color:var(--orange);opacity:.55;pointer-events:none;font-size:4.5rem;line-height:1;position:absolute;top:.4rem;right:1.2rem}.review__stars{letter-spacing:.05em;color:var(--line);gap:.15rem;margin:0 0 1rem;font-size:.95rem;display:flex}.review__stars .is-on{color:var(--orange)}.review__quote{color:var(--text);flex-direction:column;flex:1;justify-content:center;margin:0;font-size:.92rem;line-height:1.65;display:flex}.review__mark+.review__quote{margin-top:2rem}.review__quote p{margin:0}.review__quote p+p{margin-top:.75rem}.review__author{border-top:1px solid var(--line);flex:none;align-items:center;gap:.85rem;margin-top:1.4rem;padding-top:1.1rem;display:flex}.review__avatar{width:2.6rem;height:2.6rem;font-family:var(--font-mono);letter-spacing:.05em;color:#1a0f08;background:linear-gradient(135deg,#ff7a33,#b4400a);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:600;display:grid}.review__name{font-size:.98rem;font-weight:600;display:block}.review__company{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-faint);margin-top:.15rem;font-size:.7rem;text-decoration:none;display:block}a.review__company:focus-visible{color:var(--orange)}@media (hover:hover) and (pointer:fine){a.review__company:hover{color:var(--orange)}}@media (width<=639px){.review-wrap{width:min(88vw,24rem)}.review{padding:1.25rem 1.2rem 1.1rem}.review__stars{margin-bottom:.7rem}.review__mark+.review__quote{margin-top:1.6rem}.review__author{margin-top:1rem;padding-top:.9rem}.review-wrap--m .review__quote{font-size:1.02rem}.review-wrap--l .review__quote{font-size:.86rem;line-height:1.55}.review-wrap--xl .review__quote{font-size:.76rem;line-height:1.5}.reviews__track{animation-duration:55s}}@media (prefers-reduced-motion:reduce){.reviews__gallery{scroll-snap-type:x mandatory;padding-inline:clamp(1.375rem,5vw,5rem);overflow-x:auto;-webkit-mask-image:none;mask-image:none}.reviews__track{animation:none}.review-wrap{scroll-snap-align:start}.review-wrap[aria-hidden=true]{display:none}}.skills{padding:var(--section-gap) var(--page-margin);background:var(--bg);position:relative}.skills__inner{max-width:var(--page-max);margin:0 auto}.skills__header{margin-bottom:clamp(3rem,7vh,5rem)}.skills__title{max-width:14ch;font-family:var(--font-serif);font-weight:500;font-size:var(--step-display);letter-spacing:-.04em;margin:0;line-height:.98}.skills__lead{max-width:38rem;font-size:var(--step-lead);margin:clamp(1.5rem,3vh,2.25rem) 0 0;line-height:1.5}.ai-card{background:var(--bg-raised);border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding:clamp(1.75rem,4vw,3.5rem);display:grid}.ai-card__title{font-family:var(--font-serif);font-size:var(--step-heading);letter-spacing:-.025em;margin:0;font-weight:500;line-height:1.1}.ai-card__lead{font-size:var(--step-body);margin:1.25rem 0 0;line-height:1.6}.ai-card__tools{font-size:var(--step-body);color:var(--orange);margin:1.25rem 0 0;line-height:1.6}.ai-card__flows{align-content:start;gap:1.75rem;display:grid}.ai-flow__label{font-size:var(--step-small);color:var(--text-muted);margin:0 0 .6rem}.ai-flow__steps{font-size:var(--step-lead);letter-spacing:-.01em;flex-wrap:wrap;gap:.35rem 0;margin:0;padding:0;line-height:1.35;list-style:none;display:flex}.ai-flow__step{--i:0;position:relative}.ai-flow__step:not(:last-child):after{content:"→";color:var(--text-faint);margin:0 .55rem}.ai-flow__step:before{content:attr(data-step);color:var(--orange);opacity:0;pointer-events:none;animation:4s ease-in-out infinite ai-step;animation-delay:calc(var(--i) * .8s);position:absolute;inset:0 auto auto 0}@keyframes ai-step{0%,30%,to{opacity:0}10%,18%{opacity:1}}@media (prefers-reduced-motion:reduce){.ai-flow__step:before{animation:none}}.ai-card__proof{font-size:var(--step-body);color:var(--text-muted);margin:0;line-height:1.6}.skills__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vh,3.5rem) clamp(2rem,4vw,4rem);margin:clamp(3.5rem,8vh,5.5rem) 0 0;padding:0;list-style:none;display:grid}.skill-card{display:block}.skill-card__title{font-size:var(--step-subhead);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}.skill-card__note{font-size:var(--step-small);color:var(--text-muted);margin:.35rem 0 .9rem;line-height:1.5}.skill-card__chips{font-size:var(--step-body);margin:0;padding:0;line-height:1.6;list-style:none}.skill-chip{display:inline}.skill-chip:not(:last-child):after{content:", "}@media (width<=1023px){.skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.ai-card,.skills__grid{grid-template-columns:minmax(0,1fr)}}.in-progress{margin-top:clamp(3.5rem,8vh,5rem)}.in-progress__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);align-items:center;gap:.6rem;margin:0 0 .8rem;font-size:.7rem;display:inline-flex}.in-progress__title{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 clamp(1.5rem,4vh,2.25rem);font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:500}.in-progress__grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(1rem,1.6vw,1.25rem);margin:0;padding:0;list-style:none;display:grid}.progress-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(158deg, #ffffff1f 0%, #ffffff0a 40%), var(--card-bg);transition:transform .22s var(--ease-out), border-color .2s ease, box-shadow .22s ease;flex-direction:column;padding:.6rem;display:flex;position:relative}.progress-card:before,.progress-card:after{display:none}@media (hover:hover) and (pointer:fine){.progress-card:hover{box-shadow:0 30px 60px -30px var(--shadow), 0 18px 50px -24px #ff7a3359;border-color:#ff7a33b3;transform:translateY(-5px)}}.progress-card__visual{aspect-ratio:16/8;background:radial-gradient(60% 80% at 50% 120%,#ff7a3338,#0000 70%),#16130f;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.progress-card__visual img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .5s var(--ease-out)}@media (hover:hover) and (pointer:fine){.progress-card:hover .progress-card__visual img{transform:scale(1.04)}}.progress-card__steps{counter-reset:none;align-items:center;gap:0;width:100%;margin:0;padding:0 clamp(.75rem,2vw,1.5rem);list-style:none;display:flex}.progress-step{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.6rem;display:flex;position:relative}.progress-step:not(:last-child):after{content:"";background:linear-gradient(90deg,#ff7a33cc,#ff7a3340);height:2px;position:absolute;top:1.05rem;left:calc(50% + 1.25rem);right:calc(1.25rem - 50%)}.progress-step__num{color:#ffb183;width:2.1rem;height:2.1rem;font-family:var(--font-mono);background:#ff7a331f;border:1.5px solid #ff7a33cc;border-radius:50%;place-items:center;font-size:.8rem;display:grid}.progress-step__label{color:#f4ede3d9;max-width:7rem;font-size:.74rem;line-height:1.3}.progress-card__badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4ede3;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;background:#100d0bb3;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.62rem;display:inline-flex;position:absolute;top:.8rem;left:.8rem}.progress-card__dot{background:var(--orange);border-radius:50%;width:.5rem;height:.5rem;position:relative}.progress-card__dot:after{content:"";background:inherit;animation:dot-ring 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.progress-card__body{flex-direction:column;flex:1;padding:1.1rem .9rem .8rem;display:flex}.progress-card__title{margin:0;font-size:1.15rem;font-weight:600}.progress-card__desc{color:var(--text-muted);margin:.45rem 0 1.2rem;font-size:.9rem;line-height:1.6}.progress-bar{background:#7f7f7f2e;border-radius:999px;height:.6rem;margin-top:auto;position:relative;overflow:hidden}.progress-bar__fill{border-radius:inherit;background:linear-gradient(90deg,#e2560c,#ff9455);transition:width 1.2s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0;overflow:hidden;box-shadow:0 0 16px #ff7a3373}.progress-bar__fill:before{content:"";background:repeating-linear-gradient(-45deg,#ffffff38 0 8px,#0000 8px 16px);animation:1.2s linear infinite progress-stripes;position:absolute;inset:0 0 0 -22.6px}@keyframes progress-stripes{to{transform:translate(22.6px)}}.progress-card__meta{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;margin:.6rem 0 0;font-size:.8rem;display:flex}.progress-card__pct{font-family:var(--font-mono);color:var(--orange);font-weight:600}.progress-card__live{color:var(--text-faint);font-weight:400}.progress-card__footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.9rem;display:flex}.progress-card__tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.progress-card__tags li{border:1px solid var(--line);font-family:var(--font-mono);color:var(--text-muted);border-radius:999px;padding:.28rem .6rem;font-size:.66rem}.progress-card__link{background:var(--orange);color:#1a0f08;border-radius:999px;padding:.5rem .95rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:transform .25s,background-color .25s}.progress-card__link:focus-visible{background:#ff9455;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.progress-card__link:hover{background:#ff9455;transform:translateY(-2px)}}@media (width<=1099px){.in-progress__grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}}@media (width<=479px){.progress-step__label{font-size:.62rem}.progress-step__num{width:1.8rem;height:1.8rem;font-size:.7rem}.progress-step:not(:last-child):after{top:.9rem;left:calc(50% + 1.05rem);right:calc(1.05rem - 50%)}}@media (prefers-reduced-motion:reduce){.progress-bar__fill:before,.progress-card__dot:after{animation:none}.progress-card,.progress-card__visual img{transition:none}}.work{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.work__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(30% 25% at 15% 30%,#ff7a3333,#0000 70%),radial-gradient(30% 25% at 85% 55%,#ff7a3329,#0000 70%),radial-gradient(30% 25% at 30% 85%,#ff7a331f,#0000 70%);position:absolute;inset:10% 0}.work__inner{max-width:76rem;margin:0 auto;position:relative}.work__header{max-width:40rem;margin-bottom:2rem}.work__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.work__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.work__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.work__filters{border-radius:999px;flex-wrap:wrap;gap:.25rem;margin-bottom:clamp(2rem,4vh,2.75rem);padding:.35rem;display:inline-flex}.work__filters:before,.work__filters:after{display:none}.work__filter{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.55rem;padding:.6rem 1.05rem;font-size:.86rem;font-weight:500;transition:color .2s,background-color .25s;display:inline-flex}@media (hover:hover) and (pointer:fine){.work__filter:hover{color:var(--text);background:#ffffff0f}}.work__filter[aria-pressed=true]{background:var(--orange);color:#1a0f08}.work__count{min-width:1.4rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;color:var(--text-faint);background:#f4ede31a;border-radius:999px;padding:.05rem .4rem;font-size:.68rem}.work__filter[aria-pressed=true] .work__count{color:#1a0f08;background:#1a0f082e}.work__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.4rem);margin:0;padding:0;list-style:none;display:grid}.work-card-wrap{display:flex}.work-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(158deg, #ffffff24 0%, #ffffff0f 34%, #ffffff08 34.4%, #ffffff0b 100%), var(--card-bg);width:100%;transition:transform .22s var(--ease-out), border-color .2s ease, box-shadow .22s ease;border-radius:20px;flex-direction:column;padding:.6rem;text-decoration:none;display:flex}.work-card:before,.work-card:after{display:none}.work-card:focus-visible{border-color:#ff7a33b3;transform:translateY(-6px);box-shadow:inset 0 1px #ffffff59,0 30px 60px -28px #000000d9,0 0 0 1px #ff7a3340,0 18px 50px -20px #ff7a3359}@media (hover:hover) and (pointer:fine){.work-card:hover{border-color:#ff7a33b3;transform:translateY(-6px);box-shadow:inset 0 1px #ffffff59,0 30px 60px -28px #000000d9,0 0 0 1px #ff7a3340,0 18px 50px -20px #ff7a3359}}.work-card:focus-visible{outline-offset:4px}.work-card__shot{aspect-ratio:16/10;background:#16130f;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14}.work-card__shot img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out);display:block}.work-card:focus-visible .work-card__shot img{transform:scale(1.05)}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__shot img{transform:scale(1.05)}}.work-card__body{flex-direction:column;flex:1;padding:1rem .65rem .55rem;display:flex}.work-card__meta{letter-spacing:.22em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 0 .5rem;font-size:.64rem;display:flex}.work-card__category{color:var(--orange)}.work-card__stars{letter-spacing:.08em;color:var(--text-faint)}.work-card__title{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text);margin:0;font-size:1.18rem;font-weight:600;line-height:1.25}.work-card__text{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;min-height:4.65em;margin:.45rem 0 1rem;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.work-card__link{border-top:1px solid var(--line);letter-spacing:.02em;color:var(--text-faint);justify-content:space-between;align-items:center;gap:1rem;margin:0;padding-top:.75rem;font-size:.68rem;display:flex}.work-card__url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.work-card__arrow{width:2rem;height:2rem;color:var(--orange);border:1px solid #ff7a3373;border-radius:50%;flex:none;place-items:center;font-size:.85rem;transition:background-color .3s,color .3s,transform .3s;display:grid}.work-card:focus-visible .work-card__arrow{background:var(--orange);color:#1a0f08;transform:rotate(45deg)}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__arrow{background:var(--orange);color:#1a0f08;transform:rotate(45deg)}}.work__more{background:var(--orange);color:#1a0f08;border-radius:999px;gap:.6rem;margin-top:clamp(2.5rem,6vh,3.5rem);padding:.85rem 1.4rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .25s,background-color .25s;display:inline-flex}.work__more:focus-visible{background:#ff9455;transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.work__more:hover{background:#ff9455;transform:translateY(-2px)}}@media (width<=1199px){.work__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=899px){.work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=559px){.work__grid{grid-template-columns:minmax(0,1fr)}.work__filters{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;display:flex;overflow-x:auto}.work__filter{flex:none}}@media (prefers-reduced-motion:reduce){.work-card,.work-card__shot img,.work-card__arrow{transition:none}.work-card:hover,.work-card:focus-visible,.work-card:hover .work-card__shot img{transform:none}}:root{--page-margin:clamp(1.375rem, 6vw, 6.5rem);--page-max:76rem;--section-gap:clamp(4rem, 12vh, 7rem);--step-display:clamp(2.6rem, 6.4vw, 5.75rem);--step-heading:clamp(1.6rem, 2.6vw, 2.25rem);--step-subhead:clamp(1.125rem, 1.3vw, 1.25rem);--step-lead:clamp(1.125rem, 1.4vw, 1.3rem);--step-body:1.0625rem;--step-small:.9375rem}html[data-theme=light]{--bg-raised:#ece5db}:is(.skills,.frameworks,.work,.reviews,.contact){padding:var(--section-gap) var(--page-margin) 0;border-top:0}.contact{padding-bottom:var(--section-gap)}:is(.frameworks__inner,.work__inner,.reviews__inner,.contact__inner){max-width:var(--page-max)}:is(.frameworks__title,.work__title,.reviews__title,.contact__title){max-width:15ch;font-size:var(--step-display);letter-spacing:-.04em;line-height:.98}:is(.frameworks__title,.contact__title) span{color:inherit}:is(.frameworks__header,.work__header,.reviews__header){max-width:none;margin-bottom:clamp(2.5rem,6vh,4rem)}:is(.frameworks__lead,.work__lead,.reviews__lead,.contact__lead){max-width:38rem;font-size:var(--step-lead);color:var(--text);margin-top:clamp(1.25rem,3vh,2rem);line-height:1.5}.surface{background:var(--bg-raised);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:4px}:is(.fw-tabs,.work__filters){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;gap:.25rem 2rem;padding:0}:is(.fw-tabs__tab,.work__filter){font-family:var(--font-sans);font-size:var(--step-subhead);color:var(--text-faint);background:0 0;border-radius:0;padding:.5rem 0;font-weight:500}:is(.fw-tabs__tab,.work__filter)[aria-selected=true],.work__filter[aria-pressed=true]{color:var(--text);background:0 0}@media (hover:hover) and (pointer:fine){:is(.fw-tabs__tab,.work__filter):hover{color:var(--text);background:0 0}}.work__count,.work__filter[aria-pressed=true] .work__count{min-width:0;font-family:var(--font-sans);font-size:var(--step-small);color:var(--text-faint);background:0 0;padding:0}.fw-editor{box-shadow:none;border:0;border-radius:4px}.work__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vh,3.5rem) clamp(1.5rem,2.5vw,2.5rem)}.work-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.work-card:focus-visible{box-shadow:none;transform:none}@media (hover:hover) and (pointer:fine){.work-card:hover{box-shadow:none;border-color:#0000;transform:none}}.work-card__shot{box-shadow:none;border-radius:4px}.work-card__body{padding:1.1rem 0 0}.work-card__category{font-family:var(--font-sans);font-size:var(--step-small);letter-spacing:0;text-transform:none;color:var(--text-muted)}.work-card__title{font-size:var(--step-subhead)}.work-card__text{font-size:var(--step-body);color:var(--text-muted);line-height:1.55}.work-card__link{font-family:var(--font-sans);border-top:0;padding-top:.5rem}.work-card__url{font-family:var(--font-sans);font-size:var(--step-small);color:var(--orange)}.work-card__arrow{display:none}.in-progress__title{font-size:var(--step-heading)}.progress-card{box-shadow:none;border:0}@media (hover:hover) and (pointer:fine){.progress-card:hover{box-shadow:none;border-color:#0000}}.progress-card__footer{border-top:0}.progress-card__tags li{font-family:var(--font-sans);font-size:var(--step-small);color:var(--text-muted);border:0;padding:0}.progress-card__tags li:not(:last-child):after{content:" ·"}.progress-bar__fill{box-shadow:none}.review{box-shadow:none;border:0;border-radius:4px}.review__quote{font-size:var(--step-body);color:var(--text);line-height:1.6}.review__author{border-top:0}.review__company{font-family:var(--font-sans);font-size:var(--step-small);letter-spacing:0;text-transform:none}.reviews__arrow{background:var(--bg-raised);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0}.reviews__arrow:before,.reviews__arrow:after{display:none}.contact__field>span{font-family:var(--font-sans);font-size:var(--step-small);letter-spacing:0;text-transform:none;color:var(--text-muted)}.contact__field :is(input,textarea){background:var(--bg);border:0;border-radius:4px}.contact__field :is(input,textarea):focus{box-shadow:0 0 0 2px var(--orange)}.contact__direct{font-family:var(--font-sans);font-size:var(--step-body)}.site-footer{border-top:0}@media (width<=1023px){.work__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.work__grid{grid-template-columns:minmax(0,1fr)}}.reviews{padding-inline:0}.reviews__inner{max-width:calc(var(--page-max) + 2 * var(--page-margin));padding-inline:var(--page-margin)}.reviews__title{max-width:19ch}.reviews__arrows{max-width:calc(var(--page-max) + 2 * var(--page-margin));padding-inline:var(--page-margin)}@media (width<=599px){.work__filters{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex;overflow:visible}}.work__features{margin:0 0 var(--section-gap);gap:clamp(3.5rem,9vh,6rem);padding:0;list-style:none;display:grid}.work-feature{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.work-feature:nth-child(2n) .work-feature__shot{order:2}.work-feature__shot{aspect-ratio:16/10;background:var(--bg-raised);border-radius:4px;display:block;overflow:hidden}.work-feature__shot img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out);display:block}@media (hover:hover) and (pointer:fine){.work-feature__shot:hover img{transform:scale(1.03)}}.work-feature__kind{font-size:var(--step-small);color:var(--text-muted);margin:0 0 .6rem}.work-feature__title{font-family:var(--font-serif);font-size:var(--step-heading);letter-spacing:-.03em;margin:0;font-weight:500;line-height:1.05}.work-feature__story{font-size:var(--step-lead);margin:1.1rem 0 0;line-height:1.5}.work-feature__inside{font-size:var(--step-body);color:var(--text-muted);margin:1.1rem 0 0;padding:0;line-height:1.6;list-style:none}.work-feature__inside li{display:inline}.work-feature__inside li:not(:last-child):after{content:" · "}.work-feature__link{font-size:var(--step-body);color:var(--orange);margin-top:1.6rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block}.work-feature__link:focus-visible{color:#ffa36b}@media (hover:hover) and (pointer:fine){.work-feature__link:hover{color:#ffa36b}}@media (width<=899px){.work-feature{grid-template-columns:minmax(0,1fr);gap:1.5rem}.work-feature:nth-child(2n) .work-feature__shot{order:0}}.work .in-progress{margin-top:0}.work__more-title{margin:var(--section-gap) 0 1.25rem;font-family:var(--font-serif);font-size:var(--step-heading);letter-spacing:-.03em;font-weight:500}.contact{background:var(--bg)}.contact__inner{isolation:isolate;background:#0d0b0b;border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(0,25rem);align-items:center;gap:0;width:100%;margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem);display:grid;position:relative;overflow:hidden}.contact__scene{z-index:-1;position:absolute;inset:0}.contact__scene img{object-fit:cover;object-position:left top;width:100%;height:100%}.contact__intro,.contact__form{grid-column:2}.contact__intro{margin-bottom:1rem}.contact__title{max-width:16ch;font-size:clamp(1.8rem,2.6vw,2.4rem)}.contact__lead{font-size:var(--step-body);margin-top:.6rem}.contact__direct{margin-top:.8rem}.contact__form.surface{background:#ffffff0d;gap:.7rem;padding:1.1rem}.contact__field :is(input,textarea){padding:.55rem .8rem}@media (width<=767px){html[data-theme=light] .contact__inner{--bg:#f6f1ea;--bg-raised:#ece5db;--text:#1d1712;--text-muted:#1d1712b8;--text-faint:#1d171280;--orange:#e2560c}.contact__inner{background:0 0;padding:0;display:block}.contact__scene{border-radius:4px;height:15rem;margin-bottom:1.5rem;display:block;position:relative;overflow:hidden}.contact__scene img{object-position:35% top}.contact__form.surface{gap:.6rem;padding:1rem}}html[data-theme=light] .contact__inner{--bg:#0b0a09;--bg-raised:#14120f;--text:#f4ede3;--text-muted:#f4ede3b8;--text-faint:#f4ede373;--orange:#ff7a33;color:var(--text)}.site-footer{background:var(--bg);padding-top:clamp(2rem,5vh,3rem)}html[data-theme=light] .site-footer__name{filter:invert()hue-rotate(180deg)saturate(1.3)}.site-footer__row{width:min(100%, var(--page-max));font-size:var(--step-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.site-footer__name{width:auto;height:1.9rem;display:block}.site-footer__mail{color:var(--orange);text-decoration:none}@media (width<=599px){.site-footer__row{flex-direction:column;justify-content:center}}:is(.progress-card__badge,.progress-card__pct,.progress-card__live){font-family:var(--font-sans);letter-spacing:0;text-transform:none}.progress-card__badge{font-size:.8125rem}.work__more{font-family:var(--font-sans);letter-spacing:0;text-transform:none}:root{--field-workshop:#1d150f;--field-orange:#ff7a33;--ink-on-orange:#1a0f08}html[data-theme=light]{--field-workshop:#ebe1d4}:is(.frameworks,.reviews){padding-bottom:var(--section-gap)}.frameworks{background:var(--field-workshop)}.fw-editor{--ed-bg:#0c0a09}.reviews{--text:var(--ink-on-orange);--text-muted:#1a0f08c7;--text-faint:#1a0f0899;background:var(--field-orange);color:var(--text)}.reviews ::selection{background:#1a0f0833}.reviews .review{--text:#f4ede3;--text-muted:#f4ede3b8;--text-faint:#f4ede380;--line:#f4ede31f;color:var(--text);background:#1a120c}.reviews__arrow{background:var(--ink-on-orange);color:#f4ede3}@media (hover:hover) and (pointer:fine){.reviews__arrow:hover{color:#fff;background:#3a2414}}.reviews :focus-visible{outline-color:var(--ink-on-orange)}.reviews__arrow:focus-visible{color:#fff;background:#3a2414}
