@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}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--color-paper:oklch(98.9% .005 78);--color-paper-2:oklch(94.8% .008 74);--color-ink:oklch(19.4% .006 301);--color-ink-2:oklch(29% .008 318);--color-muted:oklch(45% .008 300);--color-rule:oklch(86% .01 74);--color-rule-2:oklch(92% .008 74);--color-accent:oklch(87% .176 95);--color-accent-2:oklch(82% .17 92);--color-accent-ink:oklch(15.1% .006 286);--color-focus:oklch(19.4% .006 301);--color-scrim:oklch(0% 0 0);--color-device:oklch(15.1% .006 286);--shadow-device:0 10px 28px var(--color-ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-device:0 10px 28px color-mix(in oklab, var(--color-ink) 22%, transparent)}}:root{--color-device-edge:transparent;--color-mark-edge:transparent;--color-flip-ink:oklch(15.1% .006 286);--color-flip-cyan:oklch(84.4% .146 209);--color-flip-green:oklch(80% .19 152);--color-flip-orange:oklch(80% .17 62);--color-flip-pink:oklch(78% .18 350);--color-flip-blue:oklch(74% .17 264);--color-flip-yellow:oklch(87% .176 95);--color-pixel-outline:oklch(15.1% .006 286);--color-pixel-graphite:oklch(29% .008 318);--color-pixel-graphite-2:oklch(38% .008 318);--color-pixel-white:oklch(98.5% .003 78);--color-pixel-steam:oklch(62% .006 74);--color-pixel-coffee:oklch(40.5% .05 45);--color-pixel-coffee-dark:oklch(30% .04 45);--color-pixel-dracula-bg:#282a36;--color-pixel-dracula-line:#44475a;--color-pixel-dracula-fg:#f8f8f2;--color-pixel-dracula-comment:#6272a4;--color-pixel-dracula-purple:#bd93f9;--color-pixel-dracula-pink:#ff79c6;--color-pixel-dracula-green:#50fa7b;--color-pixel-dracula-cyan:#8be9fd;--color-pixel-dracula-orange:#ffb86c;--color-pixel-dracula-yellow:#f1fa8c;--color-pixel-gopher:#6ad7e5;--color-pixel-gopher-shade:#3fb0c4;--color-pixel-gopher-muzzle:#f6d2a2;--color-contrib-0:oklch(90% .008 74);--color-contrib-1:oklch(38% .1 152);--color-contrib-2:oklch(50% .14 152);--color-contrib-3:oklch(63% .17 152);--color-contrib-4:oklch(76% .2 152);--font-display:"JetBrains Mono Variable", ui-monospace, monospace;--font-body:"JetBrains Mono Variable", ui-monospace, monospace;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--weight-display:800;--tracking-display:-.02em;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-display-s:clamp(1.6rem, 2.6vw + .8rem, 3rem);--text-display:clamp(1.9rem, 4.4vw + .5rem, 4.4rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--page-gutter:clamp(1rem, 4vw, 3rem);--page-max:76rem;--page-inset:max(var(--page-gutter), calc((100vw - var(--page-max)) / 2));--page-rail:calc(100vw - 2 * var(--page-inset));--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:90ms;--dur-short:.15s;--dur-long:.3s;--dock-bar-h:calc(44px + 2 * var(--space-3xs) + 2px);--rule-hairline:1px;--rule-heavy:3px;--radius-none:0;--radius-pill:999px;--radius-device:1.4rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}[data-theme=dark]{--color-paper:oklch(19.4% .006 301);--color-paper-2:oklch(29% .008 318);--color-ink:oklch(96.5% .007 78);--color-ink-2:oklch(88.9% .013 71);--color-muted:oklch(75% .01 74);--color-rule:oklch(38% .008 318);--color-rule-2:oklch(29% .008 318);--color-accent:oklch(87% .176 95);--color-accent-2:oklch(92% .15 98);--color-accent-ink:oklch(15.1% .006 286);--color-focus:oklch(87% .176 95);--color-contrib-0:oklch(32% .008 318);--shadow-device:none;--color-device-edge:oklch(38% .008 318);--color-mark-edge:oklch(88.9% .013 71)}@media print{[data-theme=dark]{--color-paper:oklch(98.9% .005 78);--color-paper-2:oklch(94.8% .008 74);--color-ink:oklch(19.4% .006 301);--color-ink-2:oklch(29% .008 318);--color-muted:oklch(45% .008 300);--color-rule:oklch(86% .01 74);--color-rule-2:oklch(92% .008 74);--color-accent:oklch(87% .176 95);--color-accent-2:oklch(82% .17 92);--color-accent-ink:oklch(15.1% .006 286);--color-focus:oklch(19.4% .006 301)}}:root{--font-business:"Oxímoro Grotesk", sans-serif;--font-business-display:"Oxímoro Archivo", sans-serif;--color-entry-paper:oklch(98.9% .005 78);--color-entry-ink:oklch(19.4% .006 301);--color-entry-muted:oklch(78% .01 74);--color-folder-barber:oklch(72% .12 207);--color-folder-dental:oklch(73% .13 158);--color-folder-architecture:oklch(77% .13 72);--color-folder-tailor:oklch(74% .12 342);--radius-business:24px;--color-code-paper:oklch(27.5% .022 278);--color-code-chrome:oklch(24.4% .017 282);--color-code-ink:oklch(96.5% .009 106);--color-code-muted:oklch(65% .07 275);--color-code-rule:oklch(15% .012 282);--color-code-purple:oklch(74.2% .158 301);--color-code-pink:oklch(74.6% .197 346);--color-code-green:oklch(87.1% .229 148);--color-code-yellow:oklch(97.5% .111 110);--color-code-cyan:oklch(90% .089 212);--color-code-red:oklch(68.7% .203 24);--color-status-online:oklch(45% .12 155)}[data-theme=dark]{--color-status-online:oklch(80% .17 155)}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:var(--font-mono);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--tracking-normal:0em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:var(--color-paper);--color-paper-2:var(--color-paper-2);--color-ink:var(--color-ink);--color-ink-2:var(--color-ink-2);--color-muted:var(--color-muted);--color-rule:var(--color-rule);--color-rule-2:var(--color-rule-2);--color-accent:var(--color-accent);--color-accent-ink:var(--color-accent-ink);--color-accent-2:var(--color-accent-2);--color-focus:var(--color-focus);--font-display:var(--font-display);--font-body:var(--font-body)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);cursor:url(/cursor-arrow.svg) 4 2,auto;font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:clip}[data-theme=dark] body{font-weight:350}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;transition:none}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-style:normal}[id]{scroll-margin-top:var(--space-2xl)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-paper)}::-webkit-scrollbar-thumb{background:var(--color-ink-2);border:3px solid var(--color-paper);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--color-ink)}::-webkit-scrollbar-corner{background:var(--color-paper)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--color-ink-2) var(--color-paper)}}}@layer components{.site-header{padding-inline:var(--page-inset)}.masthead{justify-content:space-between;align-items:center;gap:var(--space-xs);padding-block:var(--space-lg);display:flex}.nav-tools{align-items:center;gap:var(--space-sm);display:flex}.section-nav{align-items:stretch;gap:var(--space-lg);border-block:var(--rule-heavy) double var(--color-ink);display:flex}.section-nav-link,.section-nav-cta{align-items:center;gap:var(--space-xs);min-height:52px;color:var(--color-ink);font-size:var(--text-sm);white-space:nowrap;text-decoration:none;display:inline-flex}.nav-index{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.section-nav-link:hover,.section-nav-cta:hover,.section-nav [aria-current]{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.section-nav a:active{transform:translateY(1px)}.section-nav-cta{gap:var(--space-md);margin-left:auto;font-weight:500}.hero-section{padding-block:var(--space-2xl) var(--space-xl)}.hero-grid{gap:var(--space-2xl)}.hero-word{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);display:flex}.skip-link{top:var(--space-md);left:var(--page-inset);z-index:var(--z-toast);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.hero-mark{width:min(100%,32rem);padding:var(--space-lg);color:var(--color-ink);cursor:pointer;background:0 0;border:0;justify-self:center;display:block}.hero-mark-motion{display:block;container-type:inline-size}@media (width>=60rem){.hero-grid{column-gap:var(--space-xl)}.hero-mark{width:min(100%,34rem);padding:var(--space-lg) 0 0;justify-self:start}}.hero-scene{--px:calc(100cqi / 95);filter:drop-shadow(var(--mark-edge-w) 0 0 var(--color-mark-edge)) drop-shadow(calc(-1 * var(--mark-edge-w)) 0 0 var(--color-mark-edge)) drop-shadow(0 var(--mark-edge-w) 0 var(--color-mark-edge)) drop-shadow(0 calc(-1 * var(--mark-edge-w)) 0 var(--color-mark-edge));--mark-edge-w:3px;align-items:flex-end;display:flex}.hero-scene .brand-mark{width:calc(61 * var(--px));filter:none;flex:none}.hero-scene__laptop,.hero-scene__mug{z-index:1;flex:none;position:relative}.hero-scene__laptop{width:calc(28 * var(--px));margin-inline-end:calc(-6 * var(--px))}.hero-scene__mug{width:calc(18 * var(--px));margin-inline-start:calc(-6 * var(--px))}.brand-mark{--mark-edge-w:3px;image-rendering:pixelated;-webkit-user-select:none;user-select:none;filter:drop-shadow(var(--mark-edge-w) 0 0 var(--color-mark-edge)) drop-shadow(calc(-1 * var(--mark-edge-w)) 0 0 var(--color-mark-edge)) drop-shadow(0 var(--mark-edge-w) 0 var(--color-mark-edge)) drop-shadow(0 calc(-1 * var(--mark-edge-w)) 0 var(--color-mark-edge))}.hero-scene>*{transform-origin:50% 100%}.hero-mark:active .hero-scene>*{translate:0 var(--px)}@media (prefers-reduced-motion:no-preference){.hero-mark-motion:not(.is-replay) .hero-scene>*{animation:px-arrive .4s steps(1, end) var(--px-delay,0s) backwards}.hero-mark-motion.is-replay .hero-scene>*{animation:px-jump .62s steps(1, end) var(--px-delay,0s) backwards}.hero-scene>:nth-child(2){--px-delay:90ms}.hero-scene>:nth-child(3){--px-delay:.18s}.hero-scene .brand-mark{transition:transform .16s steps(2,end)}.hero-mark:hover .hero-scene .brand-mark,.hero-mark:focus-visible .hero-scene .brand-mark{transform:translateY(calc(-2 * var(--px)))}.hero-mark:hover .px-code,.hero-mark:focus-visible .px-code{animation:.64s steps(8,end) backwards px-type}.hero-mark:hover .px-cursor,.hero-mark:focus-visible .px-cursor{animation:.7s step-end infinite px-blink}.hero-mark:hover .px-steam,.hero-mark:focus-visible .px-steam{animation:1.1s step-end infinite px-steam}.is-replay .px-steam{animation:1.1s step-end 2 px-steam}}@keyframes px-arrive{0%{opacity:0;transform:translateY(calc(4 * var(--px)))}25%{opacity:1;transform:translateY(calc(3 * var(--px)))}50%{transform:translateY(calc(2 * var(--px)))}75%{transform:translateY(var(--px))}to{opacity:1;transform:translateY(0)}}@keyframes px-jump{0%{transform:translateY(0)}12%{transform:translateY(calc(-3 * var(--px)))}24%{transform:translateY(calc(-5 * var(--px)))}36%{transform:translateY(calc(-6 * var(--px)))}50%{transform:translateY(calc(-5 * var(--px)))}62%{transform:translateY(calc(-3 * var(--px)))}74%{transform:translateY(0)scale(1.04,.94)}86%{transform:translateY(calc(-1 * var(--px)))}to{transform:translateY(0)}}@keyframes px-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes px-blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes px-steam{0%{opacity:1;transform:translateY(0)}25%{opacity:1;transform:translateY(-1px)}50%{opacity:.7;transform:translateY(-2px)}75%{opacity:.35;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (width>=80rem){.section-nav{gap:var(--space-xl)}}@media (width<=47.999rem){.masthead{padding-block:var(--space-md)}.nav-tools{gap:var(--space-2xs)}.nav-tools .nav-github{display:none}.nav-tools .lang-btn{min-width:36px;padding-inline:var(--space-2xs)}.section-nav{display:none}.section-nav[data-open=true]{padding-block:var(--space-xs);border-top:0;flex-direction:column;gap:0;display:flex}.section-nav-link,.section-nav-cta{min-height:48px;padding-inline:var(--space-xs)}.section-nav-cta{justify-content:space-between;margin-left:0}.hero-section{padding-block:var(--space-xl) var(--space-lg)}.hero-grid{gap:var(--space-lg)}.hero-mark{width:min(100%,24rem);padding:var(--space-md)}}.display{font-family:var(--font-display);font-weight:var(--weight-display);text-transform:uppercase;letter-spacing:var(--tracking-display);overflow-wrap:anywhere;min-width:0;line-height:1.06}.display-hero{font-size:var(--text-display)}.display-section{font-size:var(--text-display-s)}.row-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-display);overflow-wrap:anywhere;min-width:0;line-height:1.15}.mono-label{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase}.tilt{transform:rotate(-2deg)}.flip-chip{padding:var(--space-3xs) var(--space-xs);background:var(--color-ink);color:var(--color-paper);white-space:nowrap;transition:background-color var(--dur-long) var(--ease-in-out), color var(--dur-long) var(--ease-in-out);font-weight:500;display:inline-flex;overflow:hidden}.flip-word{animation:flip-word-in var(--dur-long) var(--ease-out);display:inline-block}@keyframes flip-word-in{0%{opacity:0;transform:translateY(.5em)}}.invert-scope{background:var(--color-paper);color:var(--color-ink)}.wordmark{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-display);color:var(--color-ink);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.wordmark-wrap{align-items:center;display:inline-flex;position:relative}.hint-btn{min-width:44px;min-height:44px;color:var(--color-ink);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;line-height:1;display:grid}.hint-btn:active{transform:translateY(1px)}.wordmark-hint{border:2px solid var(--color-ink);width:26px;height:26px;font-family:var(--font-mono);font-size:var(--text-sm);transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);place-items:center;line-height:1;display:grid}.hint-btn:hover .wordmark-hint{background:var(--color-ink);color:var(--color-paper);animation:none}.wordmark-tip{margin-top:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);background:var(--color-ink);color:var(--color-paper);white-space:nowrap;opacity:0;pointer-events:none;z-index:var(--z-tooltip);transition:opacity var(--dur-short) var(--ease-out);position:absolute;top:100%;left:0}.hint-btn:hover+.wordmark-tip{opacity:1;transition-delay:.8s}.wordmark-wrap:has(.hint-btn:focus-visible) .wordmark-tip{opacity:1;transition-delay:0s}.oxy-dialog{max-width:min(34rem, calc(100vw - 2 * var(--page-gutter)));background:var(--color-paper);color:var(--color-ink);border:2px solid var(--color-ink);padding:var(--space-xl);margin:auto}.oxy-dialog[open]{animation:dialog-in var(--dur-long) var(--ease-out)}.oxy-dialog::backdrop{background:var(--color-scrim)}@supports (color:color-mix(in lab, red, red)){.oxy-dialog::backdrop{background:color-mix(in oklab, var(--color-scrim) 55%, transparent)}}.wordmark-about{margin-top:var(--space-lg);border-top:2px solid var(--color-ink)}.wordmark-about summary{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;padding-block:var(--space-sm);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:700;list-style:none;display:flex}.wordmark-about summary::-webkit-details-marker{display:none}.wordmark-about summary:after{content:"+";font-size:var(--text-lg);line-height:1}.wordmark-about[open] summary:after{content:"−"}.wordmark-about-content{align-items:start;gap:var(--space-md);padding-bottom:var(--space-sm);grid-template-columns:minmax(7rem,9rem) 1fr;display:grid}.wordmark-about-photo{aspect-ratio:1;border:2px solid var(--color-ink);object-fit:cover;width:100%;display:block}.wordmark-about p{max-width:52ch;color:var(--color-ink-2)}@media (width<=30rem){.wordmark-about-content{grid-template-columns:1fr}.wordmark-about-photo{width:min(100%,12rem)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}.wordmark:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:3px}.wordmark:active{transform:translateY(1px)}.cta-outline{align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-md);border:2px solid var(--color-ink);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.cta-outline:hover{background:var(--color-ink);color:var(--color-paper)}.cta-outline:active{transform:translateY(2px)}.cta-outline:disabled,.cta-outline[aria-disabled=true]{border-color:var(--color-muted);color:var(--color-muted);pointer-events:none}.contact-layout{gap:var(--space-2xl);display:grid}.contact-copy{min-width:0}.contact-socials{margin-top:var(--space-xl)}.contact-socials>li{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.social-tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted);-webkit-user-select:none;user-select:none;line-height:1}.contact-socials>li:hover .social-tag{color:var(--color-ink)}.contact-form{align-content:start;gap:var(--space-lg);min-width:0;display:grid}.contact-form-grid{gap:var(--space-lg);display:grid}.contact-field{gap:var(--space-xs);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;display:grid}.contact-field input,.contact-field textarea{border:2px solid var(--color-rule);border-radius:var(--radius-none);background:var(--color-paper-2);width:100%;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:normal;text-transform:none;padding:var(--space-sm) var(--space-md);transition:border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out)}.contact-field textarea{resize:vertical;min-height:8rem}.contact-field input:hover,.contact-field textarea:hover,.contact-field input:focus,.contact-field textarea:focus{border-color:var(--color-ink);background:var(--color-paper)}.contact-form-footer{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.contact-form-status{color:var(--color-ink-2);font-size:var(--text-sm)}@media (width>=40rem){.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(24rem,.9fr);align-items:stretch}.contact-form{transform:translateY(calc(-1 * var(--space-lg)))}}.icon-slab{border:2px solid var(--color-ink);width:44px;height:44px;color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);background:0 0;place-items:center;display:grid}.icon-slab:hover{background:var(--color-ink);color:var(--color-paper)}.icon-slab:active{transform:translateY(2px)}.back-to-top{border-radius:var(--radius-pill);z-index:var(--z-sticky);background:var(--color-paper);opacity:0;transform:translateY(var(--space-xs));visibility:hidden;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), visibility 0s linear var(--dur-short);position:fixed;inset-block-end:calc(var(--space-lg) + env(safe-area-inset-bottom));inset-inline-end:calc(var(--page-gutter) + env(safe-area-inset-right))}.back-to-top[data-shown=true]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.back-to-top:active{transform:translateY(2px)}.link-bare{color:var(--color-ink);text-underline-offset:2px;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px}.link-bare:hover{text-decoration-thickness:2px}.link-bare:active{transform:translateY(1px)}.section-dock{z-index:var(--z-sticky);background:var(--color-paper);opacity:0;visibility:hidden;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), visibility 0s linear var(--dur-short);--dock-pinned:1;padding:var(--space-3xs) var(--space-2xs);border-block-start:2px solid var(--color-ink);justify-content:space-around;gap:0;padding-block-end:calc(var(--space-3xs) + env(safe-area-inset-bottom));display:flex;position:fixed;inset-block:auto 0;inset-inline:0}@media (width>=48rem){.section-dock{--dock-pinned:0;inset-block:auto calc(var(--space-lg) + env(safe-area-inset-bottom));translate:-50%;transform:translateY(var(--space-xs));gap:var(--space-3xs);padding:var(--space-3xs);border:2px solid var(--color-ink);border-radius:var(--radius-pill);inset-inline:50% auto}}.section-dock[data-shown=true]{opacity:1;visibility:visible;transition-delay:0s;transform:none}@media (width<=47.99rem){body:has(.section-dock){padding-block-end:calc(var(--dock-bar-h) + env(safe-area-inset-bottom))}.back-to-top{inset-block-end:calc(var(--space-md) + var(--dock-bar-h) + env(safe-area-inset-bottom))}}.section-dock__link{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-muted);transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);place-items:center;display:grid}.section-dock__link:hover{background:var(--color-paper-2);color:var(--color-ink)}.section-dock__link:active{transform:translateY(1px)}.section-dock__link[aria-current]{background:var(--color-ink);color:var(--color-paper)}.project-carousel__head{padding-block-end:var(--space-md)}.pc-pager{align-items:center;gap:var(--space-sm);display:flex}.pc-position{text-align:center;font-variant-numeric:tabular-nums;min-width:4ch}@media (width<=47.99rem){.pc-pager{justify-content:space-between}.pc-step{flex:1}}.pc-stage{touch-action:pan-y}.pc-stage:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.pc-slide{--media-h:min(clamp(220px, 26vw, 400px), calc(var(--page-rail) / 1.473));--phone-h:var(--media-h);gap:var(--space-lg);grid-template-areas:"web""phone""text";place-items:start;display:grid}.pc-slide__web{grid-area:web}.pc-slide__phone{grid-area:phone}.pc-slide__text{grid-area:text;min-width:0}@media (width<=47.99rem){.pc-slide{--phone-h:min(calc(var(--page-rail) * 1.35), 520px)}.pc-slide[data-device=web] .pc-slide__phone,.pc-slide[data-device=phone] .pc-slide__web{display:none}.pc-slide__phone{justify-self:stretch;justify-items:center;width:100%;display:grid}}.pc-tabs{align-items:center;gap:var(--space-2xs);display:inline-flex}.pc-tab{align-items:center;gap:var(--space-2xs);min-height:44px;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);background:0 0;border:2px solid #0000;line-height:1;display:inline-flex}.pc-tab svg{flex:none}.pc-tab:hover{color:var(--color-ink)}.pc-tab:active{transform:translateY(1px)}.pc-tab[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.pc-tabs--phone-only{justify-content:center;padding-block-end:var(--space-md);display:flex}@media (width>=48rem){.pc-tabs--phone-only{display:none}.pc-slide{--media-h:min(clamp(260px, 34vw, 420px), calc((var(--page-rail) - var(--space-lg)) / 1.935));grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"web phone.""text text text"}}@media (width>=75rem){.pc-slide{--media-h:clamp(260px, 24vw, 400px);gap:var(--space-xl);grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"web phone text"}}.pc-card{padding:0;position:relative}.pc-card--web{--web-len:calc(var(--media-h) * 1.473);--monitor-bezel:calc(var(--web-len) * .012);--browser-bar:max(18px, calc(var(--web-len) * .045));height:var(--media-h);aspect-ratio:1.473;width:auto;padding:var(--monitor-bezel);border:var(--rule-hairline) solid var(--color-device-edge);background:var(--color-device);box-shadow:var(--shadow-device);display:block}.pc-web__screen{background:var(--color-paper);flex-direction:column;height:100%;display:flex;overflow:clip}.pc-web__bar{align-items:center;gap:calc(var(--browser-bar) * .4);height:var(--browser-bar);padding-inline:calc(var(--browser-bar) * .38);border-block-end:2px solid var(--color-device);background:var(--color-paper-2);flex:none;display:flex}.pc-web__dots{width:calc(var(--browser-bar) * .19);aspect-ratio:1;border-radius:var(--radius-pill);background:var(--color-muted);box-shadow:calc(var(--browser-bar) * .3) 0 0 var(--color-muted), calc(var(--browser-bar) * .6) 0 0 var(--color-muted);flex:none;margin-inline-end:calc(var(--browser-bar) * .6)}.pc-web__url{min-width:0;padding-block:calc(var(--browser-bar) * .12);padding-inline:calc(var(--browser-bar) * .28);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-mono);font-size:max(8px, calc(var(--browser-bar) * .36));letter-spacing:.08em;text-transform:uppercase;text-align:start;white-space:nowrap;text-overflow:ellipsis;flex:1;line-height:1.3;display:block;overflow:hidden}.pc-web__frame{flex:1;min-height:0;display:block;overflow:clip}.pc-card__empty{height:100%;padding:var(--space-md);color:var(--color-muted);text-align:center;place-items:center;display:grid}.pc-card--phone{--phone-len:calc(var(--phone-h) * .5);--device-bezel:max(3px, calc(var(--phone-h) * .012));--phone-radius:max(var(--radius-device), calc(var(--phone-h) * .09));--phone-shell:var(--color-device)}@supports (color:color-mix(in lab, red, red)){.pc-card--phone{--phone-shell:color-mix(in oklab, var(--color-device) 88%, white)}}.pc-card--phone{height:var(--phone-h);aspect-ratio:1/2;width:auto;padding:var(--device-bezel);border:var(--rule-hairline) solid var(--color-device-edge);border-radius:var(--phone-radius);background:var(--phone-shell);box-shadow:var(--shadow-device);display:block}.pc-phone__screen{border-radius:calc(var(--phone-radius) - var(--device-bezel));background:var(--color-paper);height:100%;display:block;overflow:clip}.pc-phone__notch{z-index:2;width:calc(var(--phone-len) * .37);height:calc(var(--phone-len) * .1);border-radius:0 0 calc(var(--phone-len) * .065) calc(var(--phone-len) * .065);background:var(--phone-shell);position:absolute;inset-block-start:var(--device-bezel);inset-inline-start:50%;transform:translate(-50%)}.pc-phone__home{z-index:2;width:calc(var(--phone-len) * .3);height:max(3px, calc(var(--phone-len) * .018));border-radius:var(--radius-pill);background:#c7c7c7;position:absolute;inset-block-end:calc(var(--device-bezel) + var(--phone-len) * .04);inset-inline-start:50%;transform:translate(-50%);box-shadow:0 0 1px #0006}.pc-step{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:44px;padding:var(--space-2xs) var(--space-md);border:2px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);background:0 0;line-height:1;display:inline-flex}.pc-step svg{flex:none}.pc-step--next,.pc-step:hover{background:var(--color-ink);color:var(--color-paper)}.pc-step--next:hover{color:var(--color-ink);background:0 0}.pc-step:active{transform:translateY(2px)}.project-panel{min-width:0}.project-panel>:first-child{margin-block-start:0}.project-panel__specs{gap:var(--space-lg);align-items:start;display:grid}@media (width>=48rem) and (width<=74.99rem){.project-panel__specs{gap:var(--space-2xl);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.project-block__highlights{gap:var(--space-2xs);flex-direction:column;padding:0;list-style:none;display:flex}.project-block__highlights>li{color:var(--color-ink-2);padding-inline-start:1.4ch;position:relative}.project-block__highlights>li:before{content:"";background:var(--color-accent);width:.4em;height:.4em;position:absolute;inset-block-start:.62em;inset-inline-start:0}.stack-chip{padding:var(--space-3xs) var(--space-2xs);border:var(--rule-hairline) solid var(--color-rule);color:var(--color-ink-2)}.link-slab{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:56px;padding:var(--space-md) var(--space-lg);border:2px solid var(--color-ink);color:var(--color-ink);transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform 90ms var(--ease-out);line-height:1.2;text-decoration:none;display:flex}.link-slab:hover{background:var(--color-ink);color:var(--color-paper)}.link-slab:active{transform:translateY(2px)}.lang-btn{min-width:44px;min-height:44px;padding:var(--space-2xs) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;transition:color var(--dur-micro) var(--ease-out);background:0 0;border:none;line-height:1}.lang-btn:hover{color:var(--color-ink)}.lang-btn:active{transform:translateY(1px)}.lang-btn[aria-pressed=true]{color:var(--color-ink);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:2px}.lang-btn:disabled{color:var(--color-rule);cursor:default}.lang-menu{display:inline-flex;position:relative}.lang-btn.lang-trigger{align-items:center;gap:var(--space-2xs);color:var(--color-ink);display:inline-flex}.lang-trigger svg{transition:transform var(--dur-short) var(--ease-out)}.lang-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.lang-list{top:calc(100% + var(--space-2xs));z-index:var(--z-dropdown);min-width:11rem;padding:var(--space-3xs);background:var(--color-paper);border:2px solid var(--color-ink);display:grid;position:absolute;left:0}[data-theme=dark] .lang-list{background:var(--color-paper-2)}.lang-item{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:44px;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);background:0 0;border:none;display:flex}.lang-item-code{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted)}.lang-item:hover,.lang-item:focus-visible{background:var(--color-ink);color:var(--color-paper);outline-offset:-3px}.lang-item:hover .lang-item-code,.lang-item:focus-visible .lang-item-code{color:inherit}.lang-item[aria-checked=true] span:first-child{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.site-header{align-items:center;column-gap:var(--space-lg);row-gap:var(--space-sm);padding-block:var(--space-lg);grid-template-columns:auto 1fr auto auto;display:grid}.site-header>.wordmark-wrap{grid-area:1/1}.site-header .section-nav{justify-self:center;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);border:0;grid-area:1/2}.site-header .section-nav-link,.site-header .section-nav-cta{min-height:44px;padding-inline:var(--space-md);border-radius:var(--radius-pill);font-family:var(--font-body);transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);justify-content:center;font-weight:500;text-decoration:none}.site-header .section-nav-link:hover{background:var(--color-paper);color:var(--color-ink)}.site-header .section-nav-link[aria-current]{background:var(--color-ink);color:var(--color-paper)}.site-header .nav-tools{gap:var(--space-xs);grid-area:1/3}.site-header .nav-github{border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);border:0}.site-header .nav-github:hover,.site-header .section-nav-cta:hover,.site-header .section-nav-cta[aria-current]{background:var(--color-ink);color:var(--color-paper)}.site-header .nav-language .lang-btn{border-radius:var(--radius-pill)}.site-header .section-nav-cta{min-height:52px;padding-inline:var(--space-lg);background:var(--color-paper-2);color:var(--color-ink);grid-area:1/4;margin:0}.site-header .section-nav-cta:active{transform:translateY(1px)}@media (width<=74.999rem){.site-header{column-gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.site-header .nav-tools{justify-self:end;gap:var(--space-2xs);grid-area:1/2}.site-header .nav-github{display:none}.site-header .nav-tools .lang-btn{min-width:36px;padding-inline:var(--space-2xs)}.site-header .section-nav-cta{min-height:44px;padding-inline:var(--space-sm);gap:var(--space-2xs);grid-area:1/3;margin:0}.site-header .section-nav{display:none}}@media (width<=47.99rem){.site-header .section-nav-cta{padding-inline:var(--space-xs);font-size:var(--text-xs)}.site-header .section-nav-cta>span{display:none}.site-header .nav-tools .lang-btn{min-width:32px}}@media (width<=22.99rem){.site-header .hint-btn,.site-header .wordmark-tip{display:none}}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.right-0{right:0}.bottom-full{bottom:100%}.left-0{left:0}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-\(--space-2xl\){margin-top:var(--space-2xl)}.mt-\(--space-2xs\){margin-top:var(--space-2xs)}.mt-\(--space-3xs\){margin-top:var(--space-3xs)}.mt-\(--space-lg\){margin-top:var(--space-lg)}.mt-\(--space-md\){margin-top:var(--space-md)}.mt-\(--space-sm\){margin-top:var(--space-sm)}.mt-\(--space-xl\){margin-top:var(--space-xl)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-32{height:calc(var(--spacing) * 32)}.h-auto{height:auto}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.w-32{width:calc(var(--spacing) * 32)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.max-w-\[10ch\]{max-width:10ch}.max-w-\[14ch\]{max-width:14ch}.max-w-\[15ch\]{max-width:15ch}.max-w-\[26rem\]{max-width:26rem}.max-w-\[48ch\]{max-width:48ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[68ch\]{max-width:68ch}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-\(--space-2xs\){gap:var(--space-2xs)}.gap-\(--space-lg\){gap:var(--space-lg)}.gap-\(--space-sm\){gap:var(--space-sm)}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-\(--space-lg\){column-gap:var(--space-lg)}.gap-y-\(--space-2xs\){row-gap:var(--space-2xs)}.gap-y-\(--space-sm\){row-gap:var(--space-sm)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-ink{border-color:var(--color-ink)}.border-rule{border-color:var(--color-rule)}.bg-ink{background-color:var(--color-ink)}.bg-paper{background-color:var(--color-paper)}.bg-paper-2{background-color:var(--color-paper-2)}.fill-rule{fill:var(--color-rule)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.px-\(--page-gutter\){padding-inline:var(--page-gutter)}.px-\(--page-inset\){padding-inline:var(--page-inset)}.py-\(--space-3xl\){padding-block:var(--space-3xl)}.py-\(--space-4xl\){padding-block:var(--space-4xl)}.py-\(--space-lg\){padding-block:var(--space-lg)}.py-\(--space-xl\){padding-block:var(--space-xl)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-\(--space-3xl\){padding-top:var(--space-3xl)}.pt-1{padding-top:var(--spacing)}.pb-\(--space-4xl\){padding-bottom:var(--space-4xl)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\(length\:--text-2xl\){font-size:var(--text-2xl)}.text-\(length\:--text-md\){font-size:var(--text-md)}.text-\(length\:--text-xl\){font-size:var(--text-xl)}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-ink{color:var(--color-ink)}.text-ink-2{color:var(--color-ink-2)}.text-muted{color:var(--color-muted)}.text-paper{color:var(--color-paper)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[image-rendering\:pixelated\]{image-rendering:pixelated}.last\:border-b:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (width>=60rem){.min-\[60rem\]\:grid-cols-\[2fr_3fr_2fr\]{grid-template-columns:2fr 3fr 2fr}.min-\[60rem\]\:grid-cols-\[max-content_minmax\(0\,1fr\)\]{grid-template-columns:max-content minmax(0,1fr)}.min-\[60rem\]\:items-baseline{align-items:baseline}.min-\[60rem\]\:items-end{align-items:flex-end}.min-\[60rem\]\:text-right{text-align:right}}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){clip-path:circle(0 at var(--vt-x,50%) var(--vt-y,50%));animation:vt-reveal var(--dur-long) var(--ease-in-out) forwards}@keyframes vt-reveal{to{clip-path:circle(var(--vt-r,120vmax) at var(--vt-x,50%) var(--vt-y,50%))}}@media (prefers-reduced-motion:reduce){.back-to-top{transform:none}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.cv-page{min-height:100dvh;padding-block-end:var(--space-3xl)}.cv-toolbar{justify-content:space-between;align-items:center;gap:var(--space-sm);max-width:64rem;padding:var(--space-md) var(--page-gutter) var(--space-lg);flex-wrap:wrap;margin-inline:auto;display:flex}.cv-toolbar-tools{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.cv-sheet{max-width:64rem;margin-inline:auto}.cv-strip{background:var(--color-accent);height:6px}.cv-head{gap:var(--space-lg);padding:var(--space-xl) var(--page-gutter) var(--space-lg);border-bottom:2px solid var(--color-ink);display:grid}.cv-kicker{color:var(--color-muted)}.cv-name{margin-top:var(--space-2xs);font-size:clamp(2.6rem,11vw,5rem)}.cv-role{margin-top:var(--space-2xs);color:var(--color-ink-2);font-size:var(--text-md);line-height:1.3}.cv-contact{align-content:start;gap:var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink-2);overflow-wrap:anywhere;font-style:normal;line-height:1.5;display:grid}.cv-contact a{color:var(--color-ink);text-underline-offset:3px;text-decoration:underline}.cv-body{gap:var(--space-2xl);padding:var(--space-xl) var(--page-gutter) 0;grid-template-columns:minmax(0,1fr);display:grid}.cv-main{gap:var(--space-xl);align-content:start;display:grid}.cv-side{gap:var(--space-lg);align-content:start;display:grid}.cv-label{margin-bottom:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);font-weight:400}.cv-meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted);line-height:1.5}.cv-section a{color:inherit}.cv-profile p{max-width:62ch;color:var(--color-ink)}.cv-jobs{gap:var(--space-lg);display:grid}.cv-job-head{justify-content:space-between;align-items:baseline;gap:var(--space-2xs) var(--space-md);flex-wrap:wrap;display:flex}.cv-job-sub{margin-top:var(--space-3xs);color:var(--color-muted);font-weight:500;font-size:var(--text-sm)}.cv-bullets{gap:var(--space-xs);margin-top:var(--space-sm);display:grid}.cv-bullets li{padding-left:var(--space-md);font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.5;position:relative}.cv-bullets li:before{content:"";background:var(--color-ink);width:.4em;height:.4em;position:absolute;top:.55em;left:0}.cv-job-stack{margin-top:var(--space-sm)}.cv-studio{padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule)}.cv-studio-name{font-weight:500;font-size:var(--text-sm)}.cv-studio-lede{margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--color-ink-2)}.cv-studio-lede a{text-underline-offset:3px;text-decoration:underline}.cv-projects{grid-template-columns:minmax(0,1fr);display:grid}.cv-project{padding-block:var(--space-sm);border-bottom:1px solid var(--color-rule)}.cv-project-head{justify-content:space-between;align-items:baseline;gap:var(--space-3xs) var(--space-md);flex-wrap:wrap;display:flex}.cv-project-name{font-size:var(--text-base);font-weight:500}.cv-project-summary{margin-top:var(--space-2xs);max-width:62ch;font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.5}.cv-project-stack{margin-top:var(--space-2xs)}.cv-stack{gap:var(--space-sm);display:grid}.cv-stack dd{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.45}.cv-stack-term{text-transform:uppercase;letter-spacing:.08em}.cv-side-text{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.45}.cv-side-strong{font-size:var(--text-sm);font-weight:500;line-height:1.35}.cv-side-gap{margin-top:var(--space-xs)}.cv-spoken{gap:var(--space-2xs);font-size:var(--text-sm);display:grid}.cv-spoken li{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.cv-quote{padding-left:var(--space-md);border-left:3px solid var(--color-ink);font-size:var(--text-sm);color:var(--color-ink);line-height:1.45}@media screen and (width<=47.99rem){.cv-side{padding-top:var(--space-lg);border-top:1px solid var(--color-rule)}}@media (width>=48rem){.cv-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}.cv-contact{text-align:right}.cv-body{grid-template-columns:minmax(0,1fr) 15rem}.cv-side{padding-left:var(--space-lg);border-left:1px solid var(--color-rule)}}@page{size:A4;margin:0}@media print{html,body{background:var(--color-paper)}.cv-toolbar{display:none}.cv-page{min-height:0;padding:0}.cv-sheet{width:210mm;max-width:none;min-height:296mm;margin:0;font-size:9pt}.cv-strip{height:2mm}.cv-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8mm;padding:6mm 12mm 3mm}.cv-name{font-size:40pt}.cv-role{font-size:11pt}.cv-contact{text-align:right;font-size:8pt}.cv-body{grid-template-columns:minmax(0,1fr) 52mm;gap:7mm;padding:3mm 12mm 0}.cv-main{gap:2.5mm}.cv-side{border-left:1px solid var(--color-rule);gap:4.5mm;padding-left:6mm}.cv-label{margin-bottom:2mm;font-size:8pt}.cv-meta{font-size:7pt}.cv-profile p,.cv-bullets li,.cv-job-sub,.cv-studio-name,.cv-studio-lede,.cv-project-summary,.cv-stack dd,.cv-side-text,.cv-side-strong,.cv-spoken,.cv-quote{font-size:8.4pt;line-height:1.3}.row-title{font-size:13pt}.cv-project-name{font-size:9.4pt}.cv-jobs{gap:2.5mm}.cv-bullets{gap:.7mm;margin-top:1.6mm}.cv-job-stack{display:none}.cv-projects{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5mm}.cv-project{padding-block:1.6mm}.cv-stack{gap:2.4mm}.cv-section a{text-decoration:none}}@font-face{font-family:Oxímoro Grotesk;src:url(/fonts/space-grotesk-latin-400-normal.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Oxímoro Grotesk;src:url(/fonts/space-grotesk-latin-500-normal.woff2)format("woff2");font-style:normal;font-weight:500 900;font-display:swap}@font-face{font-family:Oxímoro Archivo;src:url(/fonts/archivo-latin-wdth-normal.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}.mode-site{min-height:100svh}.mode-container{width:min(1240px,100% - 112px);margin-inline:auto}.mode-button{white-space:nowrap;cursor:pointer;min-height:48px;transition:transform .15s var(--ease-out), opacity .15s var(--ease-out);border:1px solid;justify-content:center;align-items:center;gap:20px;padding:12px 24px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.mode-button:hover{opacity:.75}.mode-button:active{transform:translateY(1px)}.mode-button:disabled{opacity:.5;cursor:wait}.mode-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.mode-site a:focus-visible,.mode-site button:focus-visible,.mode-entry a:focus-visible,.mode-entry button:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.mode-entry{grid-template-columns:repeat(2,minmax(0,1fr));min-height:100svh;display:grid;position:relative}.entry-brand{z-index:2;font:12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:16px;display:flex;position:absolute;top:28px;left:50%;transform:translate(-50%)}.entry-brand>span:first-child{color:var(--color-entry-muted)}.entry-brand>span:last-child{color:var(--color-entry-ink)}.entry-brand>a{background:var(--color-accent);color:var(--color-accent-ink);padding:8px 16px;font-weight:800}.entry-tools{z-index:3;background:var(--color-paper);color:var(--color-ink);border-radius:30px;align-items:center;gap:8px;padding:4px;display:flex;position:absolute;top:80px;left:50%;transform:translate(-50%)}.entry-tools .lang-btn{border:0}.entry-tools button{border-radius:50%}.entry-half{flex-direction:column;align-items:flex-start;padding:36px clamp(24px,4vw,72px) 68px;display:flex}.entry-dev{background:var(--color-entry-paper);color:var(--color-entry-ink);text-align:right;align-items:flex-end}.entry-business{background:var(--color-entry-ink);color:var(--color-entry-paper);text-align:left;font-family:var(--font-business);align-items:flex-start}.entry-number{font:12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.entry-avatar,.entry-mascot{aspect-ratio:1;object-fit:contain;width:clamp(160px,18vw,270px);height:auto;margin-top:clamp(88px,10vh,140px);margin-bottom:20px}.entry-avatar{image-rendering:pixelated}.entry-mascot{mix-blend-mode:lighten;border-radius:28px}.entry-dev h2{font:800 clamp(32px, 4.2vw, 64px)/1.04 var(--font-mono);letter-spacing:-.05em}.entry-business h1{font:750 clamp(38px, 4.6vw, 72px)/1.02 var(--font-business-display);letter-spacing:-.065em}.entry-half ul{gap:6px;margin:20px 0 52px;font-size:16px;display:grid}.entry-dev li>span{opacity:.5}.entry-business ul{color:var(--color-entry-muted)}.entry-half .mode-button{margin-top:auto}.entry-dev .mode-button{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-width:2px;font-size:13px}.entry-business .mode-button{border-radius:100px}.entry-hint{background:var(--color-entry-ink);color:var(--color-entry-muted);white-space:nowrap;padding:6px 12px;font-size:11px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.entry-business :focus-visible{outline-color:var(--color-entry-paper)!important}.mode-header{border-bottom:1px solid var(--color-rule);background:var(--color-paper)}.dev-header{border-bottom:2px solid var(--color-ink)}.mode-header-inner{flex-wrap:wrap;align-items:center;gap:16px;width:min(1240px,100% - 112px);min-height:84px;margin:auto;padding-block:14px;display:flex}.mode-wordmark{white-space:nowrap;align-items:center;gap:6px;font-size:17px;font-weight:700;display:flex}.mode-wordmark span{color:var(--color-muted)}.mode-wordmark img{object-fit:contain;width:32px;height:32px}.dev-header .mode-wordmark{letter-spacing:.08em;font-size:14px}.dev-header .mode-wordmark img{image-rendering:pixelated}.enterprise-header .mode-wordmark img{border-radius:8px}.mode-desktop-nav{flex:1;justify-content:center;gap:28px;font-size:13px;display:flex}.mode-desktop-nav a{white-space:nowrap}.mode-desktop-nav a:hover{text-underline-offset:5px;text-decoration:underline}.dev-header .mode-desktop-nav{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.mode-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.mode-tools>.mode-theme-switch{width:36px;height:36px}.mode-github{border:1px solid var(--color-ink);place-items:center;width:40px;height:40px;display:grid}.mode-switch{border:1px solid var(--color-rule);padding:3px;display:inline-flex}.mode-switch a{white-space:nowrap;padding:10px 12px;font-size:11px;display:block}.mode-switch a[aria-current]{background:var(--color-ink);color:var(--color-paper)}.dev-header .mode-switch{border-color:var(--color-ink);text-transform:uppercase;padding:0;font-weight:700}.enterprise-header .mode-switch,.enterprise-header .mode-switch a,.enterprise-header .mode-tools>button,.enterprise-header .lang-trigger{border-radius:100px}.brand-explanation{font-size:12px;position:relative}.brand-explanation summary{border:1px solid var(--color-rule);cursor:pointer;border-radius:50%;place-items:center;width:24px;height:24px;list-style:none;display:grid}.brand-explanation p{z-index:10;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:16px;width:min(330px,80vw);padding:20px;position:absolute;top:32px;left:-100px}.mode-footer{border-top:1px solid var(--color-rule);color:var(--color-muted);justify-content:space-between;gap:24px;padding-block:32px;font-size:12px;display:flex}.mode-footer a{white-space:nowrap;text-underline-offset:4px;text-decoration:underline}.developer-hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:56px;padding-block:80px 88px;display:grid}.developer-hero h1{letter-spacing:-.07em;font-size:clamp(36px,5.2vw,72px);font-weight:800;line-height:1.05}.developer-hero h1 span{color:var(--color-muted)}.developer-hero p{max-width:49ch;margin-top:24px;font-size:17px;line-height:1.8}.developer-hero img{width:min(100%,300px);image-rendering:pixelated;justify-self:end}.developer-site .mode-button{text-transform:uppercase;letter-spacing:.04em;border-width:2px;font-size:13px}.developer-site .primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-ink)}.developer-section{border-top:2px solid var(--color-ink);grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:40px;padding-block:52px 64px;display:grid}.developer-section>h2{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.6}.developer-about{max-width:76ch;font-size:17px;line-height:1.9}.developer-job{border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) minmax(0,2.8fr);gap:24px;padding-block:24px;display:grid}.developer-job:first-child{padding-top:0}.developer-job:last-child{border-bottom:0;padding-bottom:0}.job-date{color:var(--color-muted);font-size:12px;line-height:1.9}.developer-job h3{font-size:16px;font-weight:750}.developer-job div>p{color:var(--color-ink-2);margin-top:10px;font-size:14px;line-height:1.9}.developer-job a{text-underline-offset:4px;margin-top:8px;font-size:13px;text-decoration:underline;display:inline-block}.developer-code{border:2px solid var(--color-code-rule);background:var(--color-code-paper);min-width:0;color:var(--color-code-ink);box-shadow:7px 7px 0 var(--color-code-rule);font-family:var(--font-mono);font-size:12px}.code-titlebar{background:var(--color-code-chrome);border-bottom:2px solid var(--color-code-rule);color:var(--color-code-ink);align-items:center;gap:14px;padding:10px 12px;font-size:11px;display:flex}.code-window-marks{gap:6px;display:flex}.code-window-marks i{background:var(--color-code-red);width:10px;height:10px}.code-window-marks i:nth-child(2){background:var(--color-code-yellow)}.code-window-marks i:nth-child(3){background:var(--color-code-green)}.code-file-switch{background:var(--color-code-chrome);display:flex}.code-file-switch button{cursor:pointer;color:var(--color-code-muted);border-top:2px solid #0000;padding:10px 14px;font-size:12px}.code-file-switch button:hover{color:var(--color-code-ink)}.code-file-switch button[aria-pressed=true]{background:var(--color-code-paper);color:var(--color-code-ink);border-top-color:var(--color-code-purple)}.developer-code :focus-visible{outline-color:var(--color-code-purple);outline-offset:-3px}.developer-code pre{font:inherit;padding:16px 14px 24px;line-height:1.9;overflow:auto}.code-line{display:inline}.line-number{width:32px;color:var(--color-code-muted);-webkit-user-select:none;user-select:none;text-align:right;padding-right:14px;display:inline-block}.syntax-keyword{color:var(--color-code-pink)}.syntax-variable,.terminal-path{color:var(--color-code-green)}.syntax-type{color:var(--color-code-cyan)}.syntax-string{color:var(--color-code-yellow)}.syntax-comment,.terminal-time{color:var(--color-code-muted)}.terminal-branch{color:var(--color-code-purple)}.code-about{padding:24px;font-size:14px;line-height:1.9}.code-about p+p{margin-top:16px}.code-terminal{border-top:2px solid var(--color-code-rule);background:var(--color-code-chrome);padding:12px 16px;font-size:11px;line-height:1.9;overflow-x:auto}.code-terminal p{white-space:pre}.terminal-cursor{background:var(--color-code-ink);vertical-align:-2px;width:7px;height:13px;display:inline-block}.code-caption{background:var(--color-code-purple);color:var(--color-code-rule);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 12px;font-size:10px;font-weight:800;display:flex}.personal-contact{min-width:0}.personal-contact>h2{max-width:none;font:800 clamp(28px, 4vw, 48px)/1.1 var(--font-mono);letter-spacing:-.05em;transform:none}.personal-contact .contact-layout{margin-top:20px;display:block}.personal-contact .contact-copy{gap:24px}.personal-contact .contact-copy>p{font-size:16px;line-height:1.9}.personal-contact .icon-slab{width:44px;height:44px}.enterprise-site{font-family:var(--font-business)}.enterprise-site h1,.enterprise-site h2,.enterprise-site h3{font-family:var(--font-business-display);letter-spacing:-.055em;font-weight:650}.enterprise-site h2{font-size:clamp(30px,4vw,46px);line-height:1.1}.enterprise-site .mode-button{border-radius:100px;font-weight:500}.enterprise-site .primary{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.enterprise-hero{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:52px;padding-block:64px 120px;display:grid}.studio-label{border:1px solid var(--color-rule);color:var(--color-muted);border-radius:100px;align-items:center;gap:12px;margin-bottom:30px;padding:8px 12px;font-size:11px;display:inline-flex}.studio-label span{border-left:1px solid var(--color-rule);color:var(--color-ink);padding-left:12px}.enterprise-hero h1{letter-spacing:-.065em;max-width:13.5ch;font-size:clamp(42px,5.6vw,78px);font-weight:750;line-height:1.01}.enterprise-hero-mascot{border-radius:40px;justify-self:end;width:100%;max-width:360px}[data-theme=dark] .enterprise-hero-mascot{mix-blend-mode:lighten}.enterprise-lede{color:var(--color-muted);margin-top:30px;font-size:18px}.enterprise-lede>span{color:var(--color-flip-ink);background:var(--color-flip-blue);border-radius:100px;margin-top:4px;padding:5px 12px;font-weight:500;display:inline-block}.enterprise-products{padding-bottom:110px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;display:grid}.product-card{border:1px solid var(--color-rule);border-radius:var(--radius-business);background:var(--color-paper-2);flex-direction:column;padding:28px;display:flex}.product-card.featured{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.product-number{opacity:.7;margin-bottom:24px;font-size:12px}.product-card h3{font-size:24px;line-height:1.1}.product-card p{margin-top:16px;font-size:14px;line-height:1.7}.product-card ul{margin:18px 0 32px;padding-left:16px;font-size:13px;line-height:1.7;list-style:outside}.product-price{border-top:1px solid;border-color:color-mix(in oklab, currentColor 20%, transparent);white-space:nowrap;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px;font-size:13px;display:flex}.product-price:hover{text-underline-offset:4px;text-decoration:underline}.enterprise-work{padding-bottom:100px}.work-intro{color:var(--color-muted);margin-top:12px;font-size:15px}.folder-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:52px;display:grid}.project-folder{--folder-color:var(--color-folder-barber);text-align:left;isolation:isolate;cursor:pointer;height:240px;transition:transform .18s var(--ease-out);border:0;position:relative}.folder-1{--folder-color:var(--color-folder-dental)}.folder-2{--folder-color:var(--color-folder-architecture)}.folder-3{--folder-color:var(--color-folder-tailor)}.folder-tab{background:var(--folder-color);border-radius:20px 20px 0 0;width:48%;height:34px;position:absolute;top:0;right:0}.folder-paper{pointer-events:none;position:absolute;inset:24px 14px 12px}.folder-sheet{border:1px solid var(--color-rule);background:var(--color-paper-2);transform:translateY(calc(var(--sheet-index) * -8px)) rotate(calc(var(--sheet-tilt) * .3deg));transition:transform .5s var(--ease-out);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:clip}.folder-sheet img{object-fit:cover;object-position:top;width:100%;height:72%}.folder-sheet-name{text-overflow:ellipsis;white-space:nowrap;font:500 12px/1.4 var(--font-business);padding:10px;display:block;overflow:hidden}.folder-front{border:1px solid color-mix(in oklab, var(--folder-color) 60%, var(--color-rule));background:linear-gradient(180deg, color-mix(in oklab, var(--folder-color) 14%, transparent), color-mix(in oklab, var(--color-paper) 94%, var(--folder-color)));-webkit-backdrop-filter:blur(14px)saturate(1.4);transform-origin:50% 100%;transition:transform .5s var(--ease-out);border-radius:22px;flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:absolute;inset:52px 0 0;transform:perspective(760px)rotateX(0)}.folder-front strong{font:600 22px/1.2 var(--font-business-display);letter-spacing:-.04em}.folder-front>span:last-child{color:var(--color-muted);margin-top:6px;font-size:12px}.folder-open{font-size:22px;position:absolute;top:16px;right:20px}.project-folder:before{content:"";background:color-mix(in oklab, var(--folder-color) 65%, var(--color-paper));border-radius:20px;position:absolute;inset:20px 0 0}.project-folder:hover,.project-folder:focus-visible{transform:translateY(-4px)}.project-folder:is(:hover,:focus-visible) .folder-front{transform:perspective(760px)rotateX(-18deg)}.project-folder:is(:hover,:focus-visible) .folder-sheet{transform:translateY(calc(-68px - var(--sheet-index) * 18px)) translateX(calc(var(--sheet-tilt) * 2px)) rotate(calc(var(--sheet-tilt) * 1deg))}.folder-grid{row-gap:80px;padding-top:48px}@media (width<=600px){.folder-sheet-name{padding:8px 6px;font-size:10px}.project-folder:is(:hover,:focus-visible) .folder-sheet{transform:translateY(calc(-48px - var(--sheet-index) * 12px)) translateX(calc(var(--sheet-tilt) * 1px)) rotate(calc(var(--sheet-tilt) * 1deg))}}.project-dialog{background:var(--color-paper);width:min(900px,100% - 32px);max-height:88svh;color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-business);margin:auto;padding:32px;position:fixed;inset:0;overflow:auto}.project-dialog::backdrop{background:color-mix(in oklab, var(--color-scrim) 75%, transparent)}.project-dialog-heading{z-index:2;background:var(--color-paper);justify-content:space-between;align-items:center;gap:20px;padding-block:8px;display:flex;position:sticky;top:0}.project-dialog-heading h2{font-size:28px}.case-study{border-bottom:1px solid var(--color-rule);padding-block:32px}.case-study:last-child{border:0;padding-bottom:0}.case-study h3{font-size:26px}.case-study-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.case-relation{border:1px solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-muted);white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:12px;line-height:1.4}.case-study p{margin-block:16px;font-size:14px;line-height:1.7}.case-study img{object-fit:contain;object-position:top;border:1px solid var(--color-rule);width:100%;height:auto;max-height:500px;margin-block:24px}.case-study ul{margin-bottom:24px;padding-left:20px;font-size:14px;list-style:outside}.case-study>a{text-underline-offset:4px;overflow-wrap:anywhere;font-size:13px;text-decoration:underline}.private-project{color:var(--color-muted)}.enterprise-contact{border-top:1px solid var(--color-rule);padding-block:80px 100px}.enterprise-contact .contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:64px;margin-top:0;display:grid}.enterprise-contact .contact-copy{gap:28px}.enterprise-contact .contact-copy h2{max-width:9ch;font-size:clamp(36px,4.5vw,58px)}.business-contact-links{gap:10px;margin-top:28px;display:grid}.business-contact-links a{justify-content:space-between;padding-inline:20px;font-size:13px}.enterprise-contact .contact-form{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-business);gap:20px;padding:32px}.enterprise-contact .contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.enterprise-contact .email-field{grid-column:1/-1}.enterprise-contact .contact-field{font-family:var(--font-business);letter-spacing:0;text-transform:none;font-size:12px}.enterprise-contact .contact-field input,.enterprise-contact .contact-field textarea{border:1px solid var(--color-rule);background:var(--color-paper);font-family:var(--font-business);border-radius:12px;padding:12px;font-size:16px}.enterprise-contact .contact-field input:focus,.enterprise-contact .contact-field textarea:focus{outline:2px solid var(--color-focus);outline-offset:2px}.enterprise-contact .cta-outline{background:var(--color-ink);color:var(--color-paper);font:500 13px var(--font-business);letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:100px}.enterprise-contact .contact-form-status{font:12px/1.6 var(--font-business)}@media (width>=1500px){.entry-half{padding-bottom:80px}}@media (width<=1100px){.mode-container,.mode-header-inner{width:calc(100% - 64px)}.mode-desktop-nav{gap:16px}.mode-header-inner{gap:8px}.mode-github{display:none}.developer-section{grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:24px}.product-card{padding:24px}.folder-grid{gap:16px}.folder-front{padding:20px}.folder-front strong{font-size:20px}.enterprise-contact .contact-layout{gap:32px}}@media (width<=900px){.mode-desktop-nav{display:none}.mode-container,.mode-header-inner{width:calc(100% - 48px)}.developer-hero{gap:32px;padding-block:56px}.developer-hero h1{font-size:42px}.developer-section{padding-block:32px 48px;display:block}.developer-section>h2{margin-bottom:28px}.enterprise-hero{gap:28px;padding-block:48px 80px}.enterprise-hero h1{font-size:clamp(40px,6vw,56px)}.enterprise-lede{font-size:16px}.product-grid{gap:12px}.product-card{padding:20px}.product-card h3{font-size:21px}.product-card p,.product-card ul{font-size:12px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.enterprise-contact .contact-layout{grid-template-columns:minmax(0,1fr);gap:40px}.enterprise-contact .contact-copy h2{max-width:13ch}.business-contact-links{max-width:400px}.mode-footer{flex-direction:column;gap:12px}}@media (width<=600px){.mode-container,.mode-header-inner{width:calc(100% - 40px)}.mode-entry{grid-template-columns:minmax(0,1fr)}.entry-brand{top:20px}.entry-brand>span{display:none}.entry-tools{top:14px;left:auto;right:16px;transform:none}.entry-brand{left:20px;transform:none}.entry-half{min-height:560px;padding:28px 24px 40px}.entry-half .entry-number{margin-top:64px}.entry-avatar,.entry-mascot{width:160px;margin:24px 0 16px}.entry-dev h2{font-size:34px}.entry-business h1{font-size:42px}.entry-half ul{gap:4px;margin:16px 0 28px;font-size:13px}.entry-business .entry-number{margin-top:0}.entry-business{padding-bottom:72px}.entry-hint{text-align:center;white-space:normal;width:calc(100% - 32px);font-size:10px;bottom:12px}.entry-tools .lang-trigger{min-height:36px;padding:8px;font-size:11px}.entry-tools>button{width:36px;height:36px}.mode-header-inner{gap:12px}.mode-wordmark{font-size:16px}.mode-tools{justify-content:flex-end;gap:6px;width:100%;margin-top:2px}.mode-tools .lang-menu{margin-right:auto}.mode-switch a{padding:9px 11px;font-size:10px}.mode-tools>button{width:38px;height:38px}.mode-tools .lang-trigger{min-height:38px;padding:8px}.developer-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:36px 48px}.developer-hero img{grid-row:1;justify-self:start;width:150px}.developer-hero h1{font-size:40px}.developer-hero p{font-size:15px}.developer-site .mode-button{gap:10px;padding:12px 14px;font-size:11px}.developer-job{grid-template-columns:minmax(0,1fr);gap:12px}.developer-about{font-size:15px}.developer-code pre{padding:16px 8px;font-size:11px}.personal-contact>h2{max-width:none;font-size:30px}.personal-contact .contact-copy>p{font-size:15px}.mode-footer{padding-block:24px 80px;font-size:10px}.mode-footer a{white-space:normal}.enterprise-hero{grid-template-columns:64px minmax(0,1fr);gap:24px 12px;padding-block:36px 64px}.enterprise-hero>div{display:contents}.enterprise-hero-mascot{border-radius:14px;grid-area:1/1;width:64px}.enterprise-hero .studio-label{grid-area:1/2;justify-self:start;gap:8px;margin:0;padding-inline:8px}.enterprise-hero .studio-label span{padding-left:8px}.enterprise-hero h1,.enterprise-hero .enterprise-lede,.enterprise-hero .mode-actions{grid-column:1/-1;margin:0}.studio-label{margin-bottom:24px;font-size:10px}.enterprise-hero h1{font-size:clamp(39px,9.7vw,58px)}.enterprise-lede{margin-top:24px;font-size:15px}.enterprise-site .mode-button{gap:10px;padding:12px 18px;font-size:12px}.product-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}.product-card{padding:28px}.product-card h3{font-size:26px}.product-card p{font-size:15px}.product-card ul{font-size:14px}.product-number{margin-bottom:20px}.enterprise-products,.enterprise-work{padding-bottom:64px}.folder-grid{gap:24px 12px;margin-top:32px}.project-folder{height:190px}.folder-front{border-radius:16px;padding:16px 12px}.folder-front strong{font-size:17px}.folder-front>span:last-child{font-size:10px}.folder-paper{padding-inline:4px;font-size:8px}.folder-open{font-size:18px;top:12px;right:12px}.work-intro{font-size:14px}.enterprise-contact{padding-block:48px 64px}.enterprise-contact .contact-form{padding:20px}.enterprise-contact .contact-form-grid{grid-template-columns:minmax(0,1fr)}.enterprise-contact .cta-outline{gap:8px;padding-inline:14px;font-size:11px}.enterprise-contact .business-contact-links a{font-size:11px}.project-dialog{padding:20px}.project-dialog-heading h2{font-size:23px}.project-dialog-heading .mode-button{padding-inline:12px;font-size:11px}}@media (prefers-reduced-motion:reduce){.mode-button,.project-folder,.folder-paper{transition:none}.project-folder:hover,.project-folder:hover .folder-paper{transform:none}}.enterprise-header .mode-desktop-nav{font-size:14px}.enterprise-lede{font-size:20px}.studio-label{font-size:12px}.studio-label .studio-online{color:var(--color-status-online);align-items:center;gap:8px;display:inline-flex}.studio-online i{background:currentColor;border-radius:50%;width:7px;height:7px}.product-card h3{font-size:26px}.product-card p{font-size:16px}.product-card ul,.product-price{font-size:14px}.work-intro{font-size:17px}.business-contact-links a,.enterprise-contact .contact-field,.enterprise-contact .cta-outline{font-size:14px}.case-study p,.case-study ul{font-size:16px}.case-study>a{font-size:14px}.enterprise-site .mode-footer{font-size:13px}@media (width<=900px){.enterprise-lede{font-size:18px}.product-card h3{font-size:23px}.product-card p,.product-card ul{font-size:14px}}@media (width<=600px){.studio-label{font-size:11px}.enterprise-lede{font-size:17px}.product-card h3{font-size:27px}.product-card p{font-size:16px}.product-card ul{font-size:15px}.work-intro{font-size:16px}.enterprise-contact .business-contact-links a{font-size:13px}.enterprise-contact .cta-outline{font-size:12px}.enterprise-site .mode-footer{font-size:11px}}@media (prefers-reduced-motion:reduce){.folder-front,.folder-sheet{transition:none}.project-folder:is(:hover,:focus-visible){transform:none}}.entry-tools{background:var(--color-entry-paper);color:var(--color-entry-ink);padding:0;top:24px;left:auto;right:clamp(24px,4vw,72px);transform:translate(0)}.entry-tools .lang-trigger{border:1px solid var(--color-entry-ink);color:var(--color-entry-ink);border-radius:100px;padding:10px 14px}.entry-tools .lang-list{left:auto;right:0}.entry-dev .entry-number{margin-top:64px}.entry-dev .entry-avatar{margin-top:max(24px,clamp(88px,10vh,140px) - 64px)}.entry-avatar,.entry-mascot,.entry-half h1,.entry-half h2,.entry-half li,.entry-half .mode-button span{transition:transform .35s var(--ease-out)}.entry-half:is(:hover,:focus-within) .entry-avatar{transform:translateY(-8px)scale(1.035)}.entry-half:is(:hover,:focus-within) .entry-mascot{transform:translateY(-8px)rotate(-4deg)scale(1.04)}.entry-half:is(:hover,:focus-within) h1,.entry-half:is(:hover,:focus-within) h2{transform:translateY(-4px)}.entry-dev:is(:hover,:focus-within) li{transform:translate(-5px)}.entry-business:is(:hover,:focus-within) li{transform:translate(5px)}.entry-half li:nth-child(2){transition-delay:30ms}.entry-half li:nth-child(3){transition-delay:60ms}.entry-half li:nth-child(4){transition-delay:90ms}.entry-dev .mode-button:hover,.entry-dev .mode-button:focus-visible{background:var(--color-accent);color:var(--color-accent-ink);opacity:1}.entry-business .mode-button:hover,.entry-business .mode-button:focus-visible{background:var(--color-entry-paper);color:var(--color-entry-ink);opacity:1}.entry-half .mode-button:is(:hover,:focus-visible) span{transform:translate(5px)}.enterprise-audience{white-space:nowrap;vertical-align:middle;overflow:clip}.product-card{transition:transform .25s var(--ease-out)}.product-card:is(:hover,:focus-within){transform:translateY(-5px)}.mode-desktop-nav a{transition:transform .18s var(--ease-out)}.mode-desktop-nav a:hover{transform:translateY(-2px)}@media (width<=600px){.entry-tools{top:14px;right:16px}.entry-tools .lang-trigger{min-height:36px;padding:8px 12px}.entry-business .entry-number{margin-top:0}.entry-business .entry-mascot{margin-top:24px}}@media (prefers-reduced-motion:reduce){.entry-avatar,.entry-mascot,.entry-half h1,.entry-half h2,.entry-half li,.entry-half .mode-button span,.product-card,.mode-desktop-nav a{transition:none}.entry-half:is(:hover,:focus-within) .entry-avatar,.entry-half:is(:hover,:focus-within) .entry-mascot,.entry-half:is(:hover,:focus-within) h1,.entry-half:is(:hover,:focus-within) h2,.entry-half:is(:hover,:focus-within) li,.entry-half .mode-button:is(:hover,:focus-visible) span,.product-card:is(:hover,:focus-within),.mode-desktop-nav a:hover{transform:none}.enterprise-audience .flip-word{animation:none}}.entry-half{cursor:pointer;text-decoration:none;position:relative}.mode-entry .entry-half:focus-visible{outline-offset:-6px}.mode-entry .entry-dev:focus-visible{outline-color:var(--color-entry-ink)}.mode-entry .entry-business:focus-visible{outline-color:var(--color-entry-paper)}.entry-hint{pointer-events:none}.entry-dev:is(:hover,:focus-within) .mode-button{background:var(--color-accent);color:var(--color-accent-ink)}.developer-job{transition:background-color .18s var(--ease-out)}.developer-job:hover{background:var(--color-paper-2)}.developer-name-suffix{vertical-align:bottom;white-space:nowrap;display:inline-block}.developer-hero h1 .developer-name-caret{vertical-align:-.05em;background:var(--color-ink);width:3px;height:.95em;margin-left:5px;animation:1s step-end infinite developer-caret;display:inline-block}@keyframes developer-caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.developer-name-suffix{animation:none}.developer-job{transition:none}}.folder-carousel-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.folder-carousel-controls{flex-shrink:0;gap:10px;display:flex}.folder-carousel-controls button{border:1px solid var(--color-rule);background:var(--color-ink);width:48px;height:48px;color:var(--color-paper);font:400 30px/1 var(--font-business);cursor:pointer;transition:transform .18s var(--ease-out);border-radius:50%;place-items:center;display:grid}.folder-carousel-controls button:first-child{background:var(--color-paper);color:var(--color-ink)}.folder-carousel-controls button:hover:not(:disabled){transform:translateY(-2px)}.folder-carousel-controls button:disabled{opacity:.35;cursor:default}.enterprise-work .folder-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:min(340px,78vw);grid-auto-flow:column;gap:40px;margin-top:16px;padding:104px 12px 32px;scroll-padding-inline:12px;display:grid;overflow:auto hidden}.enterprise-work .project-folder{scroll-snap-align:start;height:272px}.folder-4{--folder-color:var(--color-flip-blue)}@media (width<=600px){.folder-carousel-heading{flex-direction:column;align-items:flex-start;gap:20px}.folder-carousel-controls{align-self:flex-end}.folder-carousel-controls button{width:44px;height:44px}.enterprise-work .folder-grid{margin-top:0;padding-top:88px}.enterprise-work .project-folder{height:240px}.enterprise-work .folder-front strong{font-size:24px}.enterprise-work .folder-front>span:last-child{font-size:13px}.enterprise-work .folder-sheet-name{font-size:12px}}@media (prefers-reduced-motion:reduce){.folder-carousel-controls button{transition:none}.folder-carousel-controls button:hover:not(:disabled){transform:none}.developer-hero h1 .developer-name-caret{animation:none}}.enterprise-header .brand-explanation{border:1px solid var(--color-rule);cursor:pointer;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}@media (prefers-reduced-motion:no-preference){.enterprise-header .brand-explanation{animation:brand-question-pulse 2.4s var(--ease-in-out) infinite}.enterprise-header .brand-explanation:is(:hover,:focus-visible){animation:none}}@keyframes brand-question-pulse{0%,to{opacity:1}50%{opacity:.45}}.enterprise-brand-dialog{border:1px solid var(--color-rule);background:var(--color-paper-2);width:min(560px,100% - 32px);max-height:85svh;color:var(--color-ink);font-family:var(--font-business);border-radius:30px;margin:auto;padding:32px;position:fixed;inset:0;overflow:auto}.enterprise-brand-dialog::backdrop{background:color-mix(in oklab, var(--color-scrim) 65%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.enterprise-brand-heading{align-items:center;gap:16px;margin-bottom:20px;display:flex}.enterprise-brand-heading img{border-radius:14px;width:56px;height:56px}.enterprise-brand-heading h2{font:650 36px/1.1 var(--font-business-display);letter-spacing:-.05em}.enterprise-brand-heading p{color:var(--color-muted);margin-top:6px;font-size:14px}.brand-dialog-close{border:1px solid var(--color-rule);cursor:pointer;border-radius:50%;flex-shrink:0;align-self:flex-start;place-items:center;width:44px;height:44px;margin-left:auto;font-size:24px;display:grid}.enterprise-brand-dialog>p{margin-top:16px;font-size:17px;line-height:1.65}.enterprise-brand-dialog>p:first-of-type{color:var(--color-muted)}.brand-developer-link{text-underline-offset:3px;align-items:center;gap:10px;margin-top:28px;font-size:15px;font-weight:500;text-decoration:underline;display:inline-flex}.mode-site .mode-dock{--dock-pinned:0;inset-inline:50% auto;inset-block:auto calc(24px + env(safe-area-inset-bottom));border:1px solid var(--color-rule);border-radius:100px;justify-content:flex-start;gap:4px;padding:5px;translate:-50%}.developer-site .mode-dock{border:2px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);border-radius:0}.developer-site .section-dock__link{border-radius:0}.developer-site .section-dock__link[aria-current]{background:var(--color-accent);color:var(--color-accent-ink);border:1px solid var(--color-ink)}.enterprise-site .section-dock__link{border-radius:50%}@media (width<=900px){.mode-site .mode-dock{--dock-pinned:1}.mode-site .mode-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}.mode-site .back-to-top{inset-block-end:calc(24px + env(safe-area-inset-bottom));inset-inline-end:24px}.developer-site .back-to-top{background:var(--color-ink);color:var(--color-paper);box-shadow:4px 4px 0 var(--color-accent);border-radius:0}.enterprise-site .back-to-top{border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);border-radius:50%}@media (width<=600px){.enterprise-brand-dialog{padding:24px}.enterprise-brand-heading{gap:10px}.enterprise-brand-heading img{width:42px;height:42px}.enterprise-brand-heading h2{font-size:28px}.enterprise-brand-heading p{font-size:11px}.brand-dialog-close{width:36px;height:36px}.brand-developer-link{font-size:13px}.mode-site .mode-dock{gap:0;padding:4px;inset-block-end:calc(16px + env(safe-area-inset-bottom))}.mode-site .section-dock__link{width:38px;height:38px}.mode-site .back-to-top{width:44px;height:44px;inset-block-end:calc(16px + env(safe-area-inset-bottom));inset-inline-end:12px}}@media (width<=360px){.mode-site .back-to-top{inset-block-end:calc(80px + env(safe-area-inset-bottom))}}.case-preview{margin-block:24px;container-type:inline-size}.case-preview .pc-tabs{justify-content:center;margin-bottom:20px;display:flex}.case-preview .pc-tab{font-family:var(--font-business);letter-spacing:0;text-transform:none;font-size:14px}.case-preview-stage{--media-h:min(420px, calc((100cqi - 32px) / 1.473));--phone-h:min(540px, calc((100cqi - 32px) / .5));border:1px solid var(--color-rule);background:var(--color-paper-2);border-radius:20px;place-items:center;min-height:580px;padding:16px;display:grid}.case-preview .pc-card img{object-fit:cover;object-position:top;border:0;width:100%;height:100%;max-height:none;margin:0}@media (width<=600px){.case-preview-stage{min-height:min(580px,200cqi - 32px)}.case-preview .pc-tab{font-size:13px}.entry-tools{background:var(--color-entry-ink);color:var(--color-entry-paper)}.entry-tools .lang-trigger{color:var(--color-entry-paper);border-color:var(--color-entry-muted)}.entry-business .entry-number{margin-top:64px}.entry-dev .entry-number{margin-top:0}.entry-dev .entry-avatar{margin-top:24px}.entry-business{padding-bottom:40px}.entry-dev{padding-bottom:72px}}.pricing-heading{text-align:center;max-width:680px;margin:0 auto 48px}.pricing-heading>p{color:var(--color-muted);margin-bottom:12px;font-size:15px}.pricing-heading h2{text-wrap:balance;font-size:clamp(32px,3.4vw,48px);line-height:1.12}.pricing-section .product-grid{gap:24px;margin-top:0}.pricing-section .product-card{border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);border-radius:20px;padding:28px}.pricing-section .product-card.featured{border-color:var(--color-ink)}.product-card-titleline{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.pricing-section .product-card h3{flex:12ch;font-size:24px;line-height:1.18}.product-badge{border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:500}.pricing-section .product-description{color:var(--color-muted);margin-top:14px;font-size:16px;line-height:1.65}.pricing-section .product-price{white-space:normal;border:0;margin:28px 0;padding:0;display:block}.price-prefix{color:var(--color-muted);margin-bottom:8px;font-size:13px;display:block}.product-price-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.price-amount{font:700 clamp(42px, 3.8vw, 56px)/1.05 var(--font-business-display);letter-spacing:-.055em;white-space:nowrap}.price-frequency{color:var(--color-muted);white-space:nowrap;font-size:14px}.pricing-section .product-features{flex-direction:column;flex:1;gap:14px;margin:0 0 32px;padding:0;font-size:15px;line-height:1.5;list-style:none;display:flex}.product-features li{align-items:flex-start;gap:10px;display:flex}.product-features svg{flex-shrink:0;margin-top:3px}.product-features li>span{color:var(--color-muted)}.product-card-footer{margin-top:auto}.pricing-section .mode-button{border-radius:12px;width:100%;min-height:48px;padding-inline:16px;font-size:14px}.pricing-section .mode-button:hover{opacity:1;background:var(--color-paper-2)}.pricing-section .mode-button.primary:hover{background:var(--color-ink-2)}@media (width<=1100px){.pricing-section .product-card{padding:24px}.pricing-section .product-grid{gap:16px}.pricing-section .product-card h3{font-size:23px}}@media (width<=1023px){.pricing-section .product-grid{grid-template-columns:minmax(0,1fr);gap:24px;max-width:600px;margin-inline:auto}.pricing-section .product-card{padding:32px}}@media (width<=600px){.pricing-heading{margin-bottom:32px}.pricing-heading h2{font-size:32px}.pricing-section .product-card{padding:24px}.pricing-section .product-card h3{font-size:24px}.price-amount{font-size:48px}.pricing-section .product-features{font-size:15px}.pricing-section .mode-button{font-size:13px}}.entry-business h1,.entry-dev h2{overflow-wrap:normal;width:min-content}.entry-dev h2{text-transform:uppercase}
