@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-251,U+253-291,U+293-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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface-000:#f5f5f0;--surface-100:#edede7;--surface-200:#e4e4dd;--ink:#16171b;--ink-muted:#5a5a55;--ink-subtle:#74746d;--border:#dadad3;--border-strong:#878780;--primary:var(--ink);--on-primary:var(--surface-000);--focus-ring:var(--ink);--selection:#d7d7cf;--terminal-bg:#16171b;--terminal-fg:#ececec;--terminal-dim:#8e9098;--terminal-border:#2c2e34;--danger:#a8261b;--success:#2d6a3f;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--font-sans:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-0:0px;--radius-dot:999px;--width-prose:680px;--width-content:768px;--width-page:1200px;--border-width:1px}[data-theme=dark]{--surface-000:#131418;--surface-100:#1a1c20;--surface-200:#23252b;--ink:#f4f4f2;--ink-muted:#a2a4ab;--ink-subtle:#7f828a;--border:#2b2d33;--border-strong:#6c6f77;--primary:var(--ink);--on-primary:var(--surface-000);--focus-ring:var(--ink);--selection:#3a3d45;--terminal-bg:#0c0d10;--terminal-fg:#ececec;--terminal-dim:#8e9098;--terminal-border:#24262b;--danger:#f2786c;--success:#77c98d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-invert]{--surface-000:#131418;--surface-100:#1a1c20;--surface-200:#23252b;--ink:#f4f4f2;--ink-muted:#a2a4ab;--ink-subtle:#7f828a;--border:#2b2d33;--border-strong:#6c6f77;--primary:var(--ink);--on-primary:var(--surface-000);--focus-ring:var(--ink);--selection:#3a3d45;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] [data-invert]{--surface-000:#f5f5f0;--surface-100:#edede7;--surface-200:#e4e4dd;--ink:#16171b;--ink-muted:#5a5a55;--ink-subtle:#74746d;--border:#dadad3;--border-strong:#878780;--primary:var(--ink);--on-primary:var(--surface-000);--focus-ring:var(--ink);--selection:#d7d7cf;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:var(--surface-000);color:var(--ink)}.cgk-root,.cgk-root *{box-sizing:border-box}.cgk-root{color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.cgk-root ::selection{background:var(--selection);color:var(--ink)}.cgk-root :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cgk-mono{font-family:var(--font-mono)}.cgk-muted{color:var(--ink-muted)}.cgk-subtle{color:var(--ink-subtle)}.cgk-prompt,.cgk-hero__note:before,.cgk-steps__cmd:before{content:"";vertical-align:-.16em;background-color:currentColor;width:1em;height:1em;margin-right:.6ch;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpolyline points='4 17 10 11 4 5'/%3E%3Cline x1='13' x2='20' y1='19' y2='19'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpolyline points='4 17 10 11 4 5'/%3E%3Cline x1='13' x2='20' y1='19' y2='19'/%3E%3C/svg%3E") 50%/contain no-repeat}.cgk-logo{color:currentColor;flex:none;display:inline-block}.cgk-studio{font-family:var(--font-mono);letter-spacing:0;color:var(--ink);white-space:nowrap;font-style:normal;font-weight:700}.cgk-btn{justify-content:center;align-items:center;gap:var(--space-2);font:500 14px/1.4 var(--font-mono);text-transform:lowercase;white-space:nowrap;padding:var(--space-2) var(--space-4);border-radius:var(--radius-0);cursor:pointer;border:1px solid #0000;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.cgk-btn--sm{padding:var(--space-1) 10px;font-size:13px}.cgk-btn--primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.cgk-btn--primary:hover{opacity:.86}.cgk-btn--outline{color:var(--ink);border-color:var(--border-strong);background:0 0}.cgk-btn--outline:hover{background:var(--surface-200);border-color:var(--ink)}.cgk-btn--inverse{background:var(--surface-000);color:var(--ink);border-color:var(--surface-000)}.cgk-btn--inverse:hover{opacity:.86}.cgk-btn--ghost-inverse{color:var(--surface-000);border-color:var(--surface-000);background:0 0}.cgk-btn--ghost-inverse:hover{background:var(--surface-000);color:var(--ink)}.cgk-btn[disabled],.cgk-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.cgk-btn__arrow{transition:transform .15s}.cgk-btn:hover .cgk-btn__arrow{transform:translate(2px)}.cgk-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.cgk-link:hover{text-decoration:none}.cgk-link--mono{font:500 14px/1.4 var(--font-mono);text-transform:lowercase}.cgk-tag{align-items:center;gap:var(--space-1);font:400 12px/1.4 var(--font-mono);text-transform:lowercase;color:var(--ink-muted);border:1px solid var(--border);padding:2px var(--space-2);border-radius:var(--radius-0);background:0 0;text-decoration:none;display:inline-flex}a.cgk-tag:hover,button.cgk-tag:hover{color:var(--ink);border-color:var(--border-strong);cursor:pointer}.cgk-tag--active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.cgk-tags{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cgk-header{z-index:50;background:color-mix(in srgb, var(--surface-000) 85%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #0000;transition:border-color .15s;position:sticky;top:0}.cgk-header--scrolled{border-bottom-color:var(--border)}.cgk-header__inner{max-width:var(--width-page);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-5);margin:0 auto;display:flex}.cgk-brand{align-items:center;gap:var(--space-2);color:var(--ink);font:500 16px/1.2 var(--font-mono);text-decoration:none;display:inline-flex}.cgk-brand__sub{color:var(--ink-subtle)}.cgk-nav{align-items:center;gap:var(--space-5);display:flex}.cgk-nav__list{gap:var(--space-5);margin:0;padding:0;list-style:none;display:flex}.cgk-nav__link{font:500 14px/1.4 var(--font-mono);text-transform:lowercase;color:var(--ink-muted);text-decoration:none;transition:color .15s}.cgk-nav__link:hover,.cgk-nav__link[aria-current=page]{color:var(--ink)}.cgk-nav__link[aria-current=page]:before{content:"~/";color:var(--ink-subtle)}.cgk-theme-toggle{font:500 13px/1 var(--font-mono);color:var(--ink-muted);padding:6px var(--space-2);cursor:pointer;border-radius:var(--radius-0);background:0 0;border:0}.cgk-theme-toggle:hover{color:var(--ink)}.cgk-menu-btn{display:none}@media (width<=767px){.cgk-header__inner{padding:var(--space-4)}.cgk-nav__list{display:none}.cgk-nav__list--open{background:var(--surface-000);border-bottom:1px solid var(--border);flex-direction:column;gap:0;display:flex;position:absolute;top:100%;left:0;right:0}.cgk-nav__list--open .cgk-nav__link{padding:var(--space-3) var(--space-4);display:block}.cgk-menu-btn{display:inline-flex}.cgk-header__cta{display:none}}.cgk-footer{border-top:1px solid var(--border);margin-top:var(--space-9)}.cgk-footer__inner{max-width:var(--width-page);padding:var(--space-6) var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.cgk-footer__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);width:100%;font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);flex-wrap:wrap;display:flex}.cgk-footer__links{gap:var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cgk-footer__links a{color:var(--ink-muted);text-decoration:none}.cgk-footer__links a:hover{color:var(--ink)}@media (width<=767px){.cgk-footer__row{flex-direction:column;align-items:center}}.cgk-hero{max-width:var(--width-page);padding:var(--space-10) var(--space-6) var(--space-9);margin:0 auto}.cgk-hero__title{font-family:var(--font-mono);letter-spacing:-.03em;max-width:26ch;color:var(--ink);margin:0;font-size:56px;font-weight:500;line-height:1.1}.cgk-hero__ghost{visibility:hidden}.cgk-cursor{color:var(--ink);font-family:var(--font-mono);margin-left:.08em;font-weight:400;display:inline;position:relative}.cgk-cursor:before{content:"";background:currentColor;height:1em;position:absolute;bottom:.1em;left:0;right:0}@keyframes cgk-blink{50%{opacity:0}}.cgk-hero__lede{font-family:var(--font-serif);color:var(--ink);max-width:40ch;margin:var(--space-5) 0 0;font-variation-settings:"opsz" 20;font-size:22px;line-height:1.5}.cgk-hero__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.cgk-hero__note{margin-top:var(--space-4);font:400 13px/1.5 var(--font-mono);color:var(--ink-muted)}.cgk-hero__note:before{color:var(--ink-subtle)}@media (width<=767px){.cgk-hero{padding:var(--space-8) var(--space-4)}.cgk-hero__title{font-size:32px;line-height:1.15}.cgk-hero__lede{font-size:19px}}@media (prefers-reduced-motion:reduce){.cgk-cursor{animation:none}}.cgk-section{max-width:var(--width-page);padding:var(--space-9) var(--space-6);margin:0 auto}.cgk-section__title{font-family:var(--font-serif);letter-spacing:-.015em;margin:0 0 var(--space-6);font-variation-settings:"opsz" 40;font-size:40px;font-weight:450;line-height:1.1}@media (width<=767px){.cgk-section{padding:var(--space-8) var(--space-4)}.cgk-section__title{font-size:32px}}.cgk-card{background:var(--surface-100);border:1px solid var(--border);border-radius:var(--radius-0);color:var(--ink);flex-direction:column;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}a.cgk-card:hover{border-color:var(--ink)}.cgk-card__title{font-family:var(--font-serif);font-variation-settings:"opsz" 22;margin:0;font-size:22px;font-weight:500;line-height:1.25}.cgk-card__meta{font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);margin:var(--space-2) 0 0}.cgk-card__body{font:400 14px/1.5 var(--font-sans);color:var(--ink-muted);margin:var(--space-3) 0 0}.cgk-card__foot{padding-top:var(--space-5);font:500 14px/1.4 var(--font-mono);text-transform:lowercase;justify-content:space-between;align-items:center;margin-top:auto;display:flex}a.cgk-card:hover .cgk-btn__arrow{transform:translate(2px)}.cgk-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.cgk-service{padding:var(--space-5);min-height:100%}.cgk-service__list{margin:var(--space-4) 0 0;padding:var(--space-2) 0 0;gap:var(--space-3);font:400 14px/1.5 var(--font-sans);list-style:none;display:grid}.cgk-service__list li:before{content:"→ ";font-family:var(--font-mono);color:var(--ink-subtle)}.cgk-work__media{aspect-ratio:16/10;background:var(--surface-100);border-bottom:1px solid var(--border);overflow:hidden}.cgk-work__media img{object-fit:contain;filter:grayscale()contrast(1.05);width:100%;height:100%;transition:filter .2s;display:block}a.cgk-work:hover .cgk-work__media img{filter:none}.cgk-work__media--empty{font:400 13px var(--font-mono);color:var(--ink-subtle);justify-content:center;align-items:center;display:flex}.cgk-work__content{padding:var(--space-5);flex-direction:column;flex:1;display:flex}.cgk-work .cgk-tags{margin-top:var(--space-4)}.cgk-term{background:var(--terminal-bg);color:var(--terminal-fg);border:1px solid var(--terminal-border);border-radius:var(--radius-0);font:400 14px/1.6 var(--font-mono);overflow:hidden}.cgk-term__bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--terminal-border);color:var(--terminal-dim);font-size:12px;display:flex}.cgk-term__dots{margin-right:var(--space-2);gap:6px;display:inline-flex}.cgk-term__dots i{border-radius:var(--radius-dot);border:1px solid var(--terminal-dim);width:10px;height:10px;display:block}.cgk-term__name{text-align:center;flex:1;padding-right:46px}.cgk-term__copy{border:1px solid var(--terminal-border);color:var(--terminal-dim);font:400 12px/1 var(--font-mono);cursor:pointer;background:0 0;padding:4px 8px}.cgk-term__copy:hover{color:var(--terminal-fg);border-color:var(--terminal-dim)}.cgk-term__copy:focus-visible{outline:2px solid var(--terminal-fg);outline-offset:2px}.cgk-term__body{padding:var(--space-4) var(--space-5);white-space:pre;tab-size:2;font:inherit;color:inherit;margin:0;overflow-x:auto}.cgk-term__body .ln{text-align:right;width:2.5ch;color:var(--terminal-dim);-webkit-user-select:none;user-select:none;margin-right:2ch;display:inline-block}.cgk-term__prompt,.cgk-term__dim{color:var(--terminal-dim)}.cgk-term__strong{color:var(--terminal-fg);font-weight:600}.cgk-steps{padding:var(--space-5);gap:var(--space-5);white-space:normal;margin:0;list-style:none;display:grid}.cgk-steps__cmd{color:var(--terminal-fg);font-weight:600}.cgk-steps__cmd:before{color:var(--terminal-dim)}.cgk-steps__desc{color:var(--terminal-dim);margin:var(--space-1) 0 0;max-width:70ch;padding-left:calc(1em + .6ch)}.cgk-steps__desc:before{content:"// "}.cgk-steps__done{color:var(--terminal-dim);margin:0}.cgk-cta{background:var(--ink);color:var(--surface-000)}.cgk-cta__inner{max-width:var(--width-page);padding:var(--space-9) var(--space-6);gap:var(--space-6);grid-template-columns:1fr auto;align-items:end;margin:0 auto;display:grid}.cgk-cta__title{font-family:var(--font-serif);letter-spacing:-.02em;font-variation-settings:"opsz" 60;max-width:18ch;margin:0;font-size:56px;font-weight:400;line-height:1.04}.cgk-cta__text{font:400 18px/1.55 var(--font-sans);margin:var(--space-4) 0 0;opacity:.8;max-width:48ch}.cgk-cta__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.cgk-cta :focus-visible{outline-color:var(--surface-000)}@media (width<=767px){.cgk-cta__inner{padding:var(--space-8) var(--space-4);grid-template-columns:1fr}.cgk-cta__title{font-size:38px}}.cgk-field{gap:var(--space-2);flex-direction:column;display:flex}.cgk-field__label{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.cgk-field__label .cgk-field__opt{color:var(--ink-subtle);text-transform:lowercase;letter-spacing:0;margin-left:var(--space-1)}.cgk-field__control{width:100%;font:400 16px/1.5 var(--font-sans);color:var(--ink);background:var(--surface-000);border:1px solid var(--border-strong);border-radius:var(--radius-0);appearance:none;padding:6px 10px;transition:border-color .15s}.cgk-field__control::placeholder{color:var(--ink-subtle)}.cgk-field__control:hover{border-color:var(--ink)}.cgk-field__control:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--ink)}textarea.cgk-field__control{resize:vertical;min-height:112px}.cgk-field__select{position:relative}.cgk-field__select:after{content:"▾";pointer-events:none;font-family:var(--font-mono);color:var(--ink-muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.cgk-field__select .cgk-field__control{padding-right:var(--space-6)}.cgk-field__hint{font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);margin:0}.cgk-field--error .cgk-field__control{border-color:var(--danger)}.cgk-field__error{font:400 13px/1.5 var(--font-mono);color:var(--danger);margin:0}.cgk-field__error:before{content:"× "}.cgk-form{gap:var(--space-5);max-width:640px;display:grid}.cgk-form__row{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=599px){.cgk-form__row{grid-template-columns:1fr}}.cgk-form__foot{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.cgk-form__status{font:400 13px/1.5 var(--font-mono);margin:0}.cgk-form__status--sent{color:var(--success)}.cgk-form__status--error{color:var(--danger)}.cgk-stories{margin:0;padding:0;list-style:none}.cgk-stories a{align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0 var(--space-4);color:var(--ink);text-decoration:none;display:flex}.cgk-stories__title{font:400 19px/1.4 var(--font-serif);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cgk-stories__leader{min-width:var(--space-6);border-bottom:1px dotted var(--ink-subtle);flex:1;transform:translateY(-4px)}.cgk-stories__meta{font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);flex:none}.cgk-stories a:hover .cgk-stories__title{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.cgk-prose{max-width:var(--width-prose);font-family:var(--font-serif);color:var(--ink);font-variation-settings:"opsz" 16;font-size:19px;line-height:1.65}.cgk-prose>*+*{margin-top:1.1em}.cgk-prose>:first-child{margin-top:0}.cgk-prose h1{letter-spacing:-.015em;font-variation-settings:"opsz" 40;margin:0;font-size:40px;font-weight:450;line-height:1.1}.cgk-prose h2{letter-spacing:-.01em;font-variation-settings:"opsz" 30;margin-top:1.8em;font-size:30px;font-weight:450;line-height:1.15}.cgk-prose h3{font-variation-settings:"opsz" 22;margin-top:1.5em;font-size:22px;font-weight:500;line-height:1.25}.cgk-prose .cgk-prose__meta{font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);margin-top:var(--space-3)}.cgk-prose p,.cgk-prose ul,.cgk-prose ol{margin-bottom:0}.cgk-prose ul,.cgk-prose ol{padding-left:1.4em}.cgk-prose li+li{margin-top:.4em}.cgk-prose ul li::marker{content:"– ";font-family:var(--font-mono);color:var(--ink-subtle)}.cgk-prose a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.cgk-prose a:hover{text-decoration:none}.cgk-prose strong{font-weight:600}.cgk-prose blockquote{padding-left:var(--space-5);border-left:1px solid var(--ink);margin-left:0;margin-right:0;font-size:22px;font-style:italic;line-height:1.5}.cgk-prose code{font-family:var(--font-mono);background:var(--surface-100);border:1px solid var(--border);padding:1px 5px;font-size:.82em}.cgk-prose pre{font-family:var(--font-mono);background:var(--terminal-bg);color:var(--terminal-fg);border:1px solid var(--terminal-border);padding:var(--space-4) var(--space-5);font-size:14px;line-height:1.6;overflow-x:auto}.cgk-prose pre code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.cgk-prose hr{text-align:center;border:0;margin:2.4em 0}.cgk-prose hr:after{content:"* * *";font-family:var(--font-mono);color:var(--ink-subtle);letter-spacing:.4em}.cgk-prose img{max-width:100%;display:block}.cgk-prose figcaption{font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);margin-top:var(--space-2)}.cgk-prose table{border-collapse:collapse;font:400 15px/1.5 var(--font-sans);display:block;overflow-x:auto}.cgk-prose th{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--ink);padding:var(--space-2) var(--space-4) var(--space-2) 0}.cgk-prose td{border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-4) var(--space-2) 0}@media (width<=767px){.cgk-prose{font-size:18px}.cgk-prose h1{font-size:34px}}:root{--font-serif:"Newsreader Variable", "Newsreader", Georgia, "Times New Roman", serif;--font-sans:"Space Grotesk Variable", "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root:not([data-theme=dark]),[data-theme=dark] [data-invert]{--ink-subtle:#6a6a63}[data-theme=dark],[data-invert]{--ink-subtle:#81848c}:root{--header-h:65px;--footer-bar-h:calc(72px + env(safe-area-inset-bottom,0px))}@media (width<=767px){:root{--footer-bar-h:calc(68px + env(safe-area-inset-bottom,0px))}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h);scroll-padding-bottom:var(--footer-bar-h)}body{flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex:1 0 auto;min-width:0}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}img,svg,iframe{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}img:not([src$=\.svg]){filter:grayscale();border:1px solid var(--border)}hr{border:0;border-top:1px solid var(--border);height:0;margin:0}.width-page{max-width:var(--width-page);margin-inline:auto;padding-inline:32px}.width-content{max-width:var(--width-content);margin-inline:auto;padding-inline:16px}@media (width<=767px){.width-page{padding-inline:16px}}.reading{max-width:var(--width-content);margin-inline:auto;padding:96px 16px 0}.page-title{color:var(--ink);font:400 56px/1.04 var(--font-serif);letter-spacing:-.02em}.page-section{padding-block:56px}.page-section .cgk-section__title{margin-bottom:24px}@media (width<=767px){.reading{padding-top:64px}.page-title{font-size:44px}.page-section{padding-block:40px}.page-section .cgk-section__title{margin-bottom:16px}.cgk-stories__title{text-overflow:clip;white-space:normal;overflow:visible}}.cgk-btn--primary .cgk-studio,.cgk-btn--inverse .cgk-studio{color:inherit}.cgk-prose{max-width:none}.cgk-prose img{width:100%}.cgk-embed{aspect-ratio:16/9}.cgk-embed iframe{border:1px solid var(--border);width:100%;height:100%;display:block}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--surface-000);color:var(--ink);font:500 14px/1.4 var(--font-mono);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}main{--type-hero-title:24px;--type-lede:18px;--type-hero-text:16px;--type-page-title:36px;--type-story-title:36px;--type-section-title:24px;--type-statement:36px;--type-cta-title:36px;--type-sub-heading:20px;--type-card-title:18px;--type-body:16px;--type-prose:16px;--type-intro:16px;--type-contact-intro:18px;--type-card-summary:14px;--type-table:14px;--type-inline-code:14px;--type-band-lines:16px;--type-attribution:13px}@media (width<=767px){main{--type-story-title:34px;--type-statement:26px;--type-cta-title:31px;--type-contact-intro:16px;--type-band-lines:15px}}main .page-title{font-size:var(--type-page-title)}main .cgk-hero__title{font-size:var(--type-hero-title)}main .cgk-hero__lede{font-size:var(--type-lede);font-variation-settings:"opsz" 18}main .cgk-section__title{font-size:var(--type-section-title);font-variation-settings:"opsz" 24}main .cgk-card__title{font-size:var(--type-card-title);font-variation-settings:"opsz" 18}main .cgk-cta__title{font-size:var(--type-cta-title);font-variation-settings:"opsz" 36}main .cgk-cta__text,main .cgk-stories__title{font-size:var(--type-body)}main .cgk-prose{font-size:var(--type-prose)}main .cgk-prose h1{font-size:var(--type-story-title);font-variation-settings:"opsz" 36}main .cgk-prose h2{font-size:var(--type-section-title);font-variation-settings:"opsz" 24}main .cgk-prose h3{font-size:var(--type-sub-heading);font-variation-settings:"opsz" 20}main .cgk-prose blockquote{font-size:var(--type-prose)}main .cgk-prose table{font-size:var(--type-table)}main .cgk-prose :not(pre)>code{font-size:var(--type-inline-code)}@media (width>=768px){main .cgk-prose{max-width:620px}}main .reading{padding-top:80px}main .page-section{padding-block:44px}@media (width<=767px){main .reading{padding-top:52px}main .page-section{padding-block:32px}}.legal-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);margin-top:48px}.legal-footer__inner[data-astro-cid-jo6i4kqk]{max-width:var(--width-page);margin-inline:auto;padding:40px 32px}.legal-footer__links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.legal-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:24px;font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);text-transform:lowercase;align-items:center;text-decoration:none;display:inline-flex}.legal-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink);text-decoration:underline}.footer-spacer[data-astro-cid-jo6i4kqk]{height:var(--footer-bar-h);flex:none}@media (width<=767px){.legal-footer[data-astro-cid-jo6i4kqk]{margin-top:32px}.legal-footer__inner[data-astro-cid-jo6i4kqk]{max-width:none;padding:32px 16px}.legal-footer__links[data-astro-cid-jo6i4kqk]{justify-content:flex-start}.legal-footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:44px}}@media print{.footer-spacer[data-astro-cid-jo6i4kqk]{display:none}}.logo[data-astro-cid-f7espo7c]{filter:none;border:0;width:20px;height:20px;display:block}.logo--dark[data-astro-cid-f7espo7c],[data-theme=dark] .logo--light[data-astro-cid-f7espo7c]{display:none}[data-theme=dark] .logo--dark[data-astro-cid-f7espo7c]{display:block}@media (width<=767px){.logo[data-astro-cid-f7espo7c]{width:18px;height:18px}}.footer-bar[data-astro-cid-ujuehuvz]{z-index:40;border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-000) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;bottom:0;left:0;right:0}.footer-bar__inner[data-astro-cid-ujuehuvz]{max-width:var(--width-page);padding:10px 32px calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;margin-inline:auto;display:flex}.progress[data-astro-cid-ujuehuvz]{font:400 12px/1 var(--font-mono);align-items:center;gap:8px;display:flex}.progress__bracket[data-astro-cid-ujuehuvz]{color:var(--ink-subtle)}.progress__track[data-astro-cid-ujuehuvz]{flex:1;align-items:center;min-width:0;height:12px;display:flex}@supports (width:round(down, 100%, 12px)){.progress__track[data-astro-cid-ujuehuvz]{flex:none;width:calc(round(down,100% - 6ch - 20px,12px) - 4px)}}.progress__filled[data-astro-cid-ujuehuvz]{background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 12px);flex:none;width:0;height:8px}.progress__head[data-astro-cid-ujuehuvz]{background:var(--ink);flex:none;width:8px;height:12px;margin-left:4px}.progress__rest[data-astro-cid-ujuehuvz]{background:repeating-linear-gradient(90deg, var(--border-strong) 0 2px, transparent 2px 8px);flex:1;min-width:0;height:2px;margin-left:4px}.progress__label[data-astro-cid-ujuehuvz]{min-width:4ch;color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.viewport-probe[data-astro-cid-ujuehuvz]{visibility:hidden;pointer-events:none;width:0;height:100lvh;position:fixed;top:0;left:0}.footer-bar__row[data-astro-cid-ujuehuvz]{min-height:29px;font:400 13px/1.5 var(--font-mono);color:var(--ink-muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.copyright[data-astro-cid-ujuehuvz]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-link[data-astro-cid-ujuehuvz]{min-height:32px;color:var(--ink-muted);justify-content:center;align-items:center;margin-block:-2px;text-decoration:none;display:inline-flex}.bar-link[data-astro-cid-ujuehuvz]:hover{color:var(--ink)}.bar-link--logo[data-astro-cid-ujuehuvz]{min-width:32px;color:var(--ink)}.socials[data-astro-cid-ujuehuvz]{justify-content:flex-end;gap:20px;margin:0;padding:0;list-style:none;display:flex}.only-mobile[data-astro-cid-ujuehuvz]{display:none}@media (width<=767px){.footer-bar__inner[data-astro-cid-ujuehuvz]{max-width:none;padding:8px 16px calc(10px + env(safe-area-inset-bottom,0px));gap:6px}.footer-bar__row[data-astro-cid-ujuehuvz]{min-height:31px}.bar-link[data-astro-cid-ujuehuvz]{margin-block:-1px}.socials[data-astro-cid-ujuehuvz]{gap:12px}.socials[data-astro-cid-ujuehuvz] .bar-link[data-astro-cid-ujuehuvz]{min-width:24px}.only-desktop[data-astro-cid-ujuehuvz]{display:none}.only-mobile[data-astro-cid-ujuehuvz]{display:inline}.socials[data-astro-cid-ujuehuvz].only-mobile{display:flex}}@media (width<=359px){.socials[data-astro-cid-ujuehuvz]{gap:8px}}@media (pointer:coarse){body:has(input:focus,textarea:focus) .footer-bar[data-astro-cid-ujuehuvz]{transform:translateY(100%)}}@media print{.footer-bar[data-astro-cid-ujuehuvz]{display:none}}.theme-toggle[data-astro-cid-dqwdgrg3]{width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle[data-astro-cid-dqwdgrg3]:hover{color:var(--ink)}.theme-toggle[data-astro-cid-dqwdgrg3] svg{width:18px;height:18px}.theme-toggle[data-astro-cid-dqwdgrg3] .lucide-sun,[data-theme=dark] .theme-toggle[data-astro-cid-dqwdgrg3] .lucide-moon-star{display:none}[data-theme=dark] .theme-toggle[data-astro-cid-dqwdgrg3] .lucide-sun{display:block}.cgk-header[data-astro-cid-nen7h5rs]{border-bottom-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cgk-header__inner[data-astro-cid-nen7h5rs]{gap:16px}.cgk-brand[data-astro-cid-nen7h5rs]{min-height:24px}.header-end[data-astro-cid-nen7h5rs]{align-items:center;gap:16px;display:flex}.cgk-menu-btn[data-astro-cid-nen7h5rs]{width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0}.cgk-menu-btn[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.cgk-menu-btn[data-astro-cid-nen7h5rs] svg{width:18px;height:18px}.cgk-menu-btn[data-astro-cid-nen7h5rs] .lucide-x,.cgk-menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .lucide-menu{display:none}.cgk-menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .lucide-x{display:block}@media (width>=768px){.cgk-nav__link[data-astro-cid-nen7h5rs]{padding-block:3px;display:inline-block}}@media (width<=767px){.cgk-nav[data-astro-cid-nen7h5rs]{margin-inline-end:-16px}}
