@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DY7AcnAa.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}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100svh;line-height:1.5}img,svg,canvas{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--acid);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg:#050608;--fg:#ecece2;--fg-bright:#fff;--fg-dim:#9d9e98;--fg-mute:#828283;--fg-faint:#6c6d6e;--fg-cool:#8a8fa0;--acid:#c9d34b;--indigo:#6e7ef7;--surface:#121315;--surface-2:#141414;--surface-3:#1f1f1f;--canvas:#333;--hairline:#ffffff21;--rule:#191b20;--stroke:#292929;--edge:#ffffff61;--glow:#ffffff2b;--font-sans:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SFMono-Regular", monospace;--wdth:75%;--track:.145em;--gutter:clamp(20px, 4.1vw, 52px);--header-h:clamp(52px, calc(7.14vw - 22.5px), 84px);--chip-h:clamp(38px, calc(5.66vw - 21.7px), 62px);--floor:clamp(20px, 3.7vh, 30px);--step:90svh;--copy-shift:clamp(-126px, -15.43vh, -48px);--stats-shift:clamp(30px, 8.89vh, 72px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1080px){:root{--copy-shift:0px;--stats-shift:0px}}@media (width<=780px){:root{--step:68svh}}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-stretch:var(--wdth);color:var(--fg);background:var(--bg);font-size:16px;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.page{position:relative}.section{padding-inline:var(--gutter);padding-top:var(--header-h);position:relative}.section--screen{grid-template-columns:minmax(0,1fr);min-height:100svh;display:grid}.heading{letter-spacing:-.02em;color:var(--fg);font-size:clamp(32px,5.41vw,76px);font-weight:700;font-stretch:96%;line-height:1.15}.heading em{color:var(--acid);font-style:normal}.display{letter-spacing:-.013em;text-transform:uppercase;color:var(--fg);font-size:clamp(46px,5.886vw,87px);font-weight:700;line-height:1}.display em{color:var(--acid);font-style:normal}.header{inset-inline:0;z-index:20;height:var(--header-h);padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0}.wordmark{letter-spacing:var(--track);text-transform:uppercase;color:var(--fg-bright);white-space:nowrap;align-items:baseline;gap:.22em;font-size:clamp(13px,1.22vw,18px);font-weight:600;display:inline-flex}.wordmark__sep{color:#fff6;font-weight:500}.wordmark__role{color:#ffffffe0}.chip{align-items:center;gap:calc(var(--chip-h) * .21);width:clamp(228px,23vw,340px);height:var(--chip-h);padding:calc(var(--chip-h) * .145);padding-left:calc(var(--chip-h) * .435);border-radius:calc(var(--chip-h) * .26);background:var(--surface);border:1px solid var(--edge);box-shadow:0 0 30px var(--glow);display:flex;position:relative}.chip__index{font-family:var(--font-mono);color:var(--fg-faint);font-size:clamp(11px,.947vw,14px);font-stretch:100%}.chip__label{letter-spacing:.153em;text-transform:uppercase;color:var(--fg-bright);font-size:clamp(14px,1.387vw,20.5px);font-weight:700}.chip__toggle{aspect-ratio:1;border-radius:calc(var(--chip-h) * .177);background:#fff;place-items:center;height:100%;margin-left:auto;transition:background-color .22s,transform .22s;display:grid}.chip__toggle:hover{background:var(--acid)}.chip[data-open] .chip__toggle{background:var(--acid);transform:rotate(45deg)}.diamond{fill:#050608;width:100%;height:100%}.menu{inset-inline:-1px;background:var(--surface);border:1px solid var(--hairline);z-index:2;border-radius:16px;padding:8px;animation:.18s both menu-in;position:absolute;top:calc(100% + 8px);box-shadow:0 18px 40px #0009}.menu[hidden]{display:none}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.menu__item{color:var(--fg-dim);border-radius:10px;align-items:center;gap:14px;padding:11px 18px;transition:background-color .16s,color .16s;display:flex}.menu__item:hover,.menu__item[aria-current=page]{color:var(--fg-bright);background:#ffffff0d}.menu__item[aria-current=page] .menu__index{color:var(--acid)}.menu__index{font-family:var(--font-mono);color:var(--fg-faint);font-size:11px;font-stretch:100%}.menu__label{letter-spacing:.1em;text-transform:uppercase;font-size:15px;font-weight:600}@media (width<=620px){.header{gap:12px}.chip{gap:10px;width:auto;height:44px;padding-left:16px}.chip__index{display:none}}@media (width<=460px){.chip{gap:0;padding:5px}.chip__label{display:none}.menu{min-width:210px;inset-inline:auto -1px}}.portrait{aspect-ratio:384/404;width:clamp(228px,26.4vw,390px);position:relative}.portrait__canvas{width:100%;height:100%;position:absolute;inset:0}.contact{font-family:var(--font-mono);flex-direction:column;gap:clamp(6px,1.6vh,13px);font-size:clamp(13px,1.17vw,17px);font-style:normal;font-stretch:100%;line-height:1;display:flex}.contact__prompt{color:var(--fg-faint)}.contact__email{width:max-content;color:var(--fg-bright);position:relative}.contact__email:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:scale .32s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:0;right:0;scale:0 1}.contact__email:hover:after{scale:1}.hero{min-height:100svh;padding-bottom:var(--floor);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:clamp(24px,4vw,64px);display:grid}.hero__copy{--shift:var(--copy-shift);grid-area:1/1;animation-delay:80ms}.hero__figure{--shift:-9px;grid-area:1/2;justify-self:center}.stats{--shift:var(--stats-shift);grid-area:1/3;justify-self:center;margin-inline-end:clamp(0px,2.03vw,30px);animation-delay:.26s}.hero__contact{grid-area:2/1;animation-delay:.36s}.hero>*{translate:0 var(--shift,0px);animation:.9s cubic-bezier(.16,1,.3,1) both rise}@keyframes rise{0%{opacity:0;translate:0 calc(var(--shift,0px) + 18px)}}.display__line{display:block}.tagline{letter-spacing:var(--track);text-transform:uppercase;color:var(--fg-mute);flex-direction:column;margin-top:clamp(14px,2.37vh,20px);font-size:clamp(10px,.846vw,12.5px);font-weight:500;line-height:1.44;display:flex}.stats{border-top:1px solid var(--hairline);width:max-content;padding-top:clamp(2px,.41vh,3.3px)}.stats__row+.stats__row{margin-top:clamp(18px,3.09vh,25px)}.stats__value{letter-spacing:.006em;color:var(--acid);font-size:clamp(28px,3.045vw,45px);font-weight:700;line-height:1}.stats__label{letter-spacing:.078em;text-transform:uppercase;color:var(--fg-dim);margin:clamp(6px,1vh,8px) 0 0;font-size:clamp(11px,1.15vw,17px);font-weight:500;line-height:1}@media (width<=1080px){.hero{padding-block:calc(var(--header-h) + clamp(8px, 3vh, 32px)) var(--floor);grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr);align-content:center;row-gap:clamp(32px,6vh,56px)}.hero__copy,.hero__figure{grid-area:auto}.stats{grid-area:auto;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:start;gap:20px;width:100%;margin-inline-end:0;display:grid}.stats__row+.stats__row{margin-top:0}.hero__contact{grid-area:auto}}@media (width<=560px){.stats{grid-template-columns:minmax(0,1fr);gap:22px}}.about{padding-bottom:clamp(64px,12vh,120px)}.about__grid{grid-template-columns:minmax(0,316fr) minmax(0,483fr);column-gap:11.32%;width:91.6%;padding-top:clamp(24px,6.53vw,96px);display:grid}.about__frame{aspect-ratio:316/422;background:var(--surface-2);border:1px solid var(--stroke);border-radius:10px;place-items:center;display:grid;overflow:clip}.about__frame>*{aspect-ratio:auto;width:100%;height:100%}.about__bio{max-width:30em;color:var(--fg-bright);margin-top:clamp(10px,1.34vw,20px);font-size:clamp(12px,1.27vw,18px);font-stretch:100%;line-height:1.4}.about__subheading{margin-top:clamp(20px,3.18vw,46px)}.skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(8px,1.17vw,17px);display:grid}.skills__item{background:var(--surface-2);border:1px solid var(--stroke);text-align:center;min-height:clamp(40px,4.7vw,50px);color:var(--fg);border-radius:10px;place-items:center;padding:8px 10px;font-size:clamp(11px,1.2vw,16px);font-stretch:100%;transition:border-color .2s,background-color .2s;display:grid}.skills__item:hover{border-color:color-mix(in srgb, var(--acid) 45%, var(--stroke));background:var(--surface-3)}.timeline{border-top:1px solid var(--rule);margin-top:clamp(8px,1.2vw,18px)}.timeline__row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,117fr) minmax(0,365fr);align-items:start;padding:clamp(10px,1.45vw,22px) 0 clamp(10px,1.6vw,24px);display:grid}.timeline__period{letter-spacing:.04em;text-transform:uppercase;color:var(--indigo);font-size:clamp(8px,.9vw,12px);font-weight:600}.timeline__title{letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);font-size:clamp(15px,2.05vw,28px);font-weight:400;font-stretch:90%;line-height:1.05}.timeline__company{color:var(--fg-cool);margin-top:clamp(4px,.65vw,9px);font-size:clamp(8px,.87vw,12px);font-stretch:88%}.timeline__summary{max-width:27em;color:var(--fg-cool);margin-top:clamp(6px,.9vw,14px);font-size:clamp(12px,1.25vw,17px);font-stretch:100%;line-height:1.42}@media (width<=900px){.about__grid{grid-template-columns:minmax(0,1fr);row-gap:clamp(28px,5vh,48px);width:100%}.about__frame{max-width:316px}.timeline__row{grid-template-columns:minmax(0,1fr);row-gap:10px}}@media (width<=560px){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool{border:1px solid var(--stroke);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--fg);white-space:nowrap;background:#050608d1;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:clamp(10px,.9vw,13px);font-stretch:100%;transition:border-color .18s,color .18s;display:inline-flex}.tool svg{width:1em;height:1em}.tool:hover{border-color:color-mix(in srgb, var(--acid) 55%, var(--stroke));color:var(--acid)}.lightbox{border:1px solid var(--stroke);background:var(--bg);width:min(1400px,94vw);max-width:none;height:min(900px,92svh);max-height:none;color:var(--fg);border-radius:16px;flex-direction:column;margin:auto;padding:0;overflow:clip}.lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020304d1}.lightbox[open]{animation:.26s cubic-bezier(.16,1,.3,1) both lightbox-in;display:flex}@keyframes lightbox-in{0%{opacity:0;scale:.985}}.lightbox__bar{border-bottom:1px solid var(--stroke);flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.lightbox__title{color:var(--fg);font-size:clamp(13px,1.2vw,17px);font-stretch:100%}.lightbox__spacer{flex:1}.lightbox__stage{flex:1;place-items:center;min-height:0;padding:clamp(8px,1.4vw,18px);display:grid}.lightbox__stage[data-device=desktop] .device{width:100%;height:100%}.lightbox__stage[data-device=mobile] .device{height:100%}.projects{height:calc(100svh + (var(--steps) - 1) * var(--step));padding-top:0}.projects__pin{height:100svh;padding-top:var(--header-h);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding-bottom:clamp(14px,2.2vw,30px);display:grid;position:sticky;top:0}.projects__stage{justify-content:center;align-items:center;gap:clamp(12px,3.45vw,37px);display:flex}.projects__stage:focus-visible{outline:none}.shot{aspect-ratio:3/2;width:min(100%,45vw);position:relative}.shot__slide{opacity:0;visibility:hidden;place-items:center;transition:opacity .36s cubic-bezier(.16,1,.3,1),visibility 0s linear .36s;display:grid;position:absolute;inset:0}.shot__slide[data-active]{opacity:1;visibility:visible;transition-delay:0s}.shot__placeholder{border:1px solid var(--stroke);background:radial-gradient(circle at center, #ffffff29 1.5px, transparent 1.6px) 0 0 / 34px 34px, var(--surface-2);border-radius:14px;width:100%;height:100%}.device{background:var(--surface-2);border:1px solid var(--stroke);flex-direction:column;display:flex;overflow:clip}.device[data-device=desktop]{border-radius:14px;width:100%;height:100%}.device[data-device=mobile]{aspect-ratio:390/844;border-width:2px;border-radius:clamp(14px,3.4%,30px);height:100%;padding:0}.device__bar{height:var(--bar-h,clamp(18px, 8%, 30px));border-bottom:1px solid var(--stroke);background:#1a1a1c;flex:none;align-items:center;gap:10px;padding-inline:clamp(8px,1.6%,14px);display:flex}.device__dots{gap:4px;display:flex}.device__dots i{background:#3a3a3d;border-radius:50%;width:6px;height:6px}.device__url{font-family:var(--font-mono);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(7px,.75vw,11px);font-stretch:100%;overflow:hidden}.device__notch{background:#2a2a2d;border-radius:99px;flex:none;width:28%;height:5px;margin:6px auto}.viewport{background:radial-gradient(circle at center, #ffffff1a 1.5px, transparent 1.6px) 0 0 / 34px 34px, var(--surface-2);flex:1;min-height:0;position:relative;overflow:clip}.viewport__frame{transform-origin:0 0;opacity:0;border:0;transition:opacity .42s;position:absolute;top:0;left:0}.viewport[data-loaded] .viewport__frame{opacity:1}.shot__actions{position:absolute;inset:0}.shot__open{inset:var(--bar-h) 0 0 0;cursor:zoom-in;border-radius:14px;position:absolute}.shot__tools{opacity:0;gap:6px;transition:opacity .24s,translate .24s;display:flex;position:absolute;bottom:10px;right:10px;translate:0 6px}.shot:hover .shot__tools,.shot:focus-within .shot__tools{opacity:1;translate:0}.arrow{aspect-ratio:1;width:clamp(30px,3.45vw,37px);color:var(--fg-bright);border:1px solid #ffffff52;border-radius:50%;flex:none;place-items:center;transition:background-color .2s,border-color .2s,scale .2s;display:grid}.arrow:hover{background:#ffffff17;border-color:#fff9;scale:1.06}.arrow__glyph{width:62%;height:62%}.arrow__glyph[data-dir=next]{scale:-1 1}.strip{--pitch:clamp(150px, 21.06vw, 280px);margin-inline:calc(var(--gutter) * -1);overflow:clip}.strip__track{translate:calc(var(--pitch) * -1 * (var(--index) + .5)) 0;padding-left:50%;transition:translate .46s cubic-bezier(.16,1,.3,1);display:flex}.strip__item{width:var(--pitch);flex:none;padding-top:11px;position:relative}.strip__item:before{content:"";inset-block-start:0;background:var(--acid);width:84%;height:2px;transition:scale .38s cubic-bezier(.16,1,.3,1);position:absolute;left:50%;translate:-50%;scale:0 1}.strip__item[aria-current]:before{scale:1}.strip__button{text-align:center;width:100%;color:var(--fg-cool);flex-direction:column;align-items:center;gap:clamp(4px,.9vh,7px);transition:color .26s;display:flex}.strip__item[aria-current] .strip__button{color:var(--fg)}.strip__name{letter-spacing:-.01em;font-size:clamp(14px,1.87vw,26px);font-weight:400;font-stretch:100%;line-height:1}.strip__kind{color:var(--fg-cool);font-size:clamp(8px,.75vw,11px);font-stretch:100%;line-height:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=780px){.shot{width:min(100%,62vw)}}@media (width<=640px){.projects__stage{position:relative}.shot{width:100%}.arrow{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0506089e;position:absolute;top:50%;translate:0 -50%}.arrow:first-of-type{left:8px}.arrow:last-of-type{right:8px}.arrow:hover{translate:0 -50%;scale:1}.shot__tools{opacity:1;translate:0}}.viewport__video{object-fit:contain;opacity:0;background:#000;width:100%;height:100%;transition:opacity .42s;position:absolute;inset:0}.viewport[data-loaded] .viewport__video{opacity:1}.shot{--bar-h:clamp(18px, 8%, 30px)}.device{position:relative}.device__bar{z-index:2;position:relative}.device__action{align-items:center;margin-left:auto;display:flex}.device__action--float{z-index:3;position:absolute;top:8px;right:10px}.device__info{aspect-ratio:1;width:clamp(13px,1.15vw,18px);color:var(--fg-faint);place-items:center;transition:color .18s;display:grid}.device__info svg{width:100%;height:100%}.device__info:hover,.device__info[aria-pressed=true]{color:var(--acid)}.brief{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;background:#050608bd;flex-direction:column;justify-content:flex-end;gap:clamp(10px,2.4%,22px);padding:clamp(14px,4%,34px);transition:opacity .42s,visibility 0s linear .42s;display:flex;position:absolute;inset:0}.brief[data-open]{opacity:1;visibility:visible;transition-delay:0s}.brief__kind{letter-spacing:.08em;text-transform:uppercase;color:var(--acid);font-size:clamp(9px,.85vw,13px);font-stretch:100%}.brief__name{letter-spacing:-.01em;color:var(--fg);margin-top:.35em;font-size:clamp(20px,2.4vw,36px);font-weight:600;font-stretch:100%;line-height:1.05}.brief__text{max-width:44ch;color:var(--fg-cool);margin-top:.7em;font-size:clamp(11px,1.05vw,16px);font-stretch:100%;line-height:1.45}.brief__foot{align-items:center;gap:12px;display:flex}.brief__bar{background:#ffffff1f;border-radius:2px;flex:1;height:2px;overflow:clip}.brief__bar:after{content:"";background:var(--acid);width:0;height:100%;display:block}.brief[data-state=waiting] .brief__bar:after{animation:3s linear forwards brief-fill}.brief[data-state=loading] .brief__bar:after{width:38%;animation:1.15s ease-in-out infinite brief-slide}.brief[data-state=ready] .brief__bar:after{width:100%}@keyframes brief-fill{0%{width:0}to{width:100%}}@keyframes brief-slide{0%{translate:-110%}to{translate:275%}}.brief__status{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;font-size:clamp(8px,.72vw,11px);font-stretch:100%}@media (width<=640px){.brief{padding-inline:clamp(44px,13%,58px)}}.expertise{height:calc(100svh + (var(--steps) - 1) * var(--step));padding-top:0}.expertise__pin{height:100svh;padding-top:calc(var(--header-h) + clamp(8px, 2.15vw, 30px));grid-template-columns:minmax(0,1fr);padding-bottom:clamp(24px,7.9vh,45px);display:grid;position:sticky;top:0}.panel{border:1px solid var(--stroke);background:var(--surface-2);border-radius:16px;grid-template-columns:minmax(0,303fr) minmax(0,681fr);display:grid;overflow:clip}.panel__side{border-right:1px solid var(--stroke)}.panel__eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--fg-dim);border-bottom:1px solid var(--stroke);padding:clamp(13px,1.7vw,22px) 20px;font-size:clamp(10px,1.21vw,16px);font-weight:500;line-height:1}.facet{text-align:left;border-bottom:1px solid var(--stroke);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(4px,1vh,7px) 6px;width:100%;padding:clamp(13px,1.87vw,26px) 20px;transition:background-color .22s;display:grid}.facet:hover{background:#ffffff08}.facet[aria-selected=true]{background:var(--surface-3)}.facet__dot{background:silver;width:8px;height:8px;transition:background-color .22s}.facet[aria-selected=true] .facet__dot{background:var(--acid)}.facet__title{letter-spacing:.138em;text-transform:uppercase;color:var(--fg);font-size:clamp(10px,1.15vw,15px);font-weight:600;line-height:1}.facet__meta{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-mute);grid-column:2;font-size:clamp(8px,1.03vw,14px);font-weight:500;line-height:1}.panel__canvas{background:radial-gradient(circle at center, #ffffff6b 1.5px, transparent 1.6px) 0 0 / 34px 34px, var(--canvas);place-items:center;padding:clamp(18px,4%,44px);display:grid;position:relative}.stack{flex-wrap:wrap;place-content:center;gap:clamp(7px,.95vw,14px);max-width:min(100%,64ch);display:flex}.stack__item{color:var(--fg);animation:.46s cubic-bezier(.16,1,.3,1) both tool-in;animation-delay:calc(var(--i) * 45ms);background:#0506088c;border:1px solid #ffffff29;border-radius:11px;padding:clamp(9px,1.05vw,15px) clamp(14px,1.6vw,24px);font-size:clamp(12px,1.15vw,17px);font-stretch:100%;line-height:1;transition:border-color .2s,background-color .2s,color .2s}.stack__item:hover{border-color:color-mix(in srgb, var(--acid) 60%, transparent);color:var(--acid);background:#050608c7}@keyframes tool-in{0%{opacity:0;translate:0 10px;scale:.96}}.stack__count{font-family:var(--font-mono);color:#ffffff12;font-size:clamp(28px,4vw,56px);font-stretch:100%;line-height:1;position:absolute;bottom:clamp(8px,1.6%,16px);right:clamp(12px,2%,22px)}@media (width<=780px){.panel{grid-template-rows:auto minmax(160px,1fr);grid-template-columns:minmax(0,1fr)}.panel__side{border-right:0;border-bottom:1px solid var(--stroke)}}.closing{padding-bottom:var(--floor);grid-template-rows:minmax(0,1fr) auto}.closing__center{text-align:center;align-self:center}.closing__eyebrow{color:#ecece2d9;font-size:clamp(10px,1.18vw,16px);font-stretch:100%;line-height:1}.closing__headline{margin-top:clamp(3px,.47vw,7px);line-height:.84}.closing__headline span,.closing__headline em{display:block}.socials{justify-content:center;gap:clamp(14px,1.87vw,26px);margin-top:clamp(24px,4.38vw,62px);font-size:clamp(10px,1.1vw,15px);font-stretch:100%;line-height:1;display:flex}.socials__link{color:var(--fg-cool);transition:color .2s}.socials__link:hover{color:var(--fg)}.closing__copyright{color:var(--fg-cool);margin-top:clamp(14px,2.24vw,32px);font-size:clamp(9px,.93vw,13px);font-stretch:100%;line-height:1}
