@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-italic-B5xAaiFk.woff2)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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-italic-DzZdc28x.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-italic-DcOpz6Lw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-italic-CILZdfAp.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-italic-K3WlGtc8.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-italic-0pjOp8NU.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-italic-DpCbqKDY.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--neutral-page:oklch(98.5% .001 286.376);--neutral-container:oklch(96.1% .002 247.84);--neutral-stroke:oklch(94.6% .003 264.542);--page:var(--neutral-page);--ink:#1c1d21;--line:var(--neutral-stroke);--accent:#516ab8;--accent-soft:#e4e9f7;font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--neutral-page:oklch(20.9% .004 264.477);--neutral-container:oklch(23.1% .004 264.487);--neutral-stroke:oklch(30.8% .006 258.354);--ink:#f0f1f4;--accent:#91a7ef;--accent-soft:#252d48}}:root[data-theme=light]{--neutral-page:oklch(98.5% .001 286.376);--neutral-container:oklch(96.1% .002 247.84);--neutral-stroke:oklch(94.6% .003 264.542);--ink:#1c1d21;--accent:#516ab8;--accent-soft:#e4e9f7}:root[data-theme=dark]{--neutral-page:oklch(20.9% .004 264.477);--neutral-container:oklch(23.1% .004 264.487);--neutral-stroke:oklch(30.8% .006 258.354);--ink:#f0f1f4;--accent:#91a7ef;--accent-soft:#252d48}*{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--page);min-width:320px;min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;transition:background-color .3s,color .3s}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), transparent 28%);outline-offset:4px;border-radius:6px}img{max-width:100%;display:block}h1,h2,p{margin:0}.portrait{border:1px solid var(--line);background:var(--accent-soft);object-fit:cover;object-position:center;border-radius:50%;flex:none;width:46px;height:46px;display:block;overflow:hidden;box-shadow:inset 0 1px #fff6}.portrait-interaction{isolation:isolate;border-radius:50%;flex:none;width:max-content;height:max-content;line-height:0;display:inline-flex;position:relative}.portrait-glint{z-index:1;pointer-events:none;border-radius:50%;position:absolute;inset:1px;overflow:hidden}.portrait-glint:before{content:"";background:linear-gradient(100deg,#0000,#ffffff6b,#0000);width:42%;height:150%;position:absolute;top:-25%;left:-75%;transform:skew(-16deg)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.portrait-interaction .portrait{transform-origin:50% 78%;transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),filter .42s cubic-bezier(.16,1,.3,1)}.portrait-interaction:hover .portrait{filter:saturate(1.05)contrast(1.02);transform:rotate(15deg);box-shadow:0 3px 7px #0000001f}.portrait-interaction:hover .portrait-glint:before{animation:.62s cubic-bezier(.16,1,.3,1) portrait-glint-pass}}@keyframes portrait-glint-pass{to{left:130%}}.portrait-compact{width:26.4px;height:26.4px;box-shadow:none;background:0 0;border:0}:root[data-theme=dark] .portrait-compact{border-color:#1b1c201f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .portrait-compact{border-color:#1b1c201f}}.site-dock{z-index:20;left:50%;bottom:max(30px, calc(env(safe-area-inset-bottom) + 10px));width:158.4px;height:48px;margin-left:-79.2px;position:fixed}.site-dock-surface{color:#fff;-webkit-backdrop-filter:blur(4px);background:#000c;border:0;border-radius:100px;justify-content:center;align-items:center;gap:8.8px;width:100%;height:100%;padding:6.4px 8.8px;display:flex;box-shadow:inset 0 0 0 1px #ffffff26,0 .78363px .548541px -.571429px #0003,0 1.91965px 1.34375px -1.14286px #00000030,0 3.63745px 2.54622px -1.71429px #00000030,0 6.35004px 4.44503px -2.28571px #0000002e,0 11.0519px 7.73631px -2.85714px #00000029,0 20.2428px 14.17px -3.42857px #0000001f,0 40px 28px -4px #0000000d}.dock-hover-anchor{flex:none;display:inline-flex;position:relative}.dock-popover{z-index:21;pointer-events:none;transform-origin:50% 100%;will-change:transform, opacity;width:max-content;position:absolute;bottom:calc(100% + 12px);left:50%;translate:-50%}.dock-popover.is-below{transform-origin:50% 0;top:calc(100% + 4px);bottom:auto}.dock-link,.dock-home{color:#fff;border-radius:35.2px;justify-content:center;align-items:center;height:35.2px;font-size:15.4px;font-weight:400;line-height:15.4px;text-decoration:none;transition:background-color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.dock-link{flex:0 0 44px;width:44px}.dock-link:after,.dock-home:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dock-icon{transform-origin:50%;will-change:transform;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;font-family:SF Pro Text,Apple Symbols,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.dock-icon-work{font-size:17px}.dock-icon-email{transform-origin:35% 70%}.dock-link:hover,.dock-home:hover{background:#fff3}.dock-link:active,.dock-home:active{transform:scale(.96)}.dock-home{flex:0 0 35.2px;width:35.2px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.dock-link:hover .dock-icon-work,.dock-link:focus-visible .dock-icon-work{animation:.6s dock-command-orbit}.dock-link:hover .dock-icon-email,.dock-link:focus-visible .dock-icon-email{animation:.6s cubic-bezier(.22,1,.36,1) dock-paperplane-launch}}@keyframes dock-command-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dock-paperplane-launch{0%{opacity:1;transform:rotate(0)scale(1)}14%{opacity:1;transform:translate(-1.5px,1.5px)rotate(3deg)scale(.97)}46%{opacity:0;transform:translate(10px,-10px)rotate(-12deg)scale(.82)}47%{opacity:0;transform:translate(-6px,6px)rotate(-8deg)scale(.88)}80%{opacity:1;transform:translate(1px,-1px)rotate(-2deg)scale(1.04)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}body[data-page=work]{--work-bg:var(--neutral-page);--work-text:#202020e6;--work-secondary:#20202099;--work-link:#00677f;--work-rule:var(--neutral-stroke);--work-placeholder-ring:var(--neutral-page);background:var(--work-bg);color:var(--work-text);padding:16px;transition:none}:root[data-theme=dark] body[data-page=work]{--work-bg:var(--neutral-page);--work-text:#ffffffe6;--work-secondary:#fff9;--work-link:#b5f4ff;--work-rule:var(--neutral-stroke);--work-placeholder-ring:var(--neutral-page)}:root[data-theme=blueprint] body[data-page=work]{--work-bg:#003b98;--work-text:#cfe2ff;--work-secondary:#9ec4ff;--work-link:#dceaff;--work-rule:#5c9bff;--work-placeholder-ring:#003b98}.work-page{width:min(100%,800px);color:var(--work-text);font-family:var(--font-mono);margin:0 auto;padding:96px 0;font-size:13px;font-weight:400;line-height:26px}.work-page h1,.work-page h2,.work-page p{font:inherit;margin:0;padding:0}.work-page h1,.work-page h2{color:var(--work-text);margin-bottom:8px}.work-project-content h2{font-family:Inter Variable,Inter,system-ui,sans-serif}.work-page a{color:var(--work-link);text-decoration:none}.work-page a:focus-visible{outline:2px solid var(--work-link);outline-offset:3px;border-radius:0}.work-project{grid-template-columns:100px minmax(0,1fr);align-items:start;gap:16px;margin-bottom:32px;display:grid}.work-project:last-child{margin-bottom:0}.work-project-content{flex-direction:column;gap:16px;display:flex}.work-project-year,.work-project-description{color:var(--work-secondary)}.work-projects{margin-top:0}.work-project-year{position:sticky;top:16px}.work-project-description{text-wrap:pretty;margin-bottom:16px!important}.work-project-description a{color:inherit;text-underline-offset:3px;text-decoration-line:underline;text-decoration-thickness:1px;transition:opacity .16s}.work-project-description a:hover{opacity:.72}.work-project-media-stack{gap:16px;display:grid}.work-project-placeholder{aspect-ratio:16/9;border:1px solid var(--work-rule);width:100%;box-shadow:0 0 0 3px var(--work-placeholder-ring);cursor:zoom-in;appearance:none;background:#d8d8d8;border-radius:13px;margin:0;padding:0;display:block}.work-project-placeholder.has-media{overflow:hidden}.work-project-placeholder.has-triptych,.work-project-placeholder.has-single-phone{background:#1c1c1d}.work-project-placeholder.has-project-carousel{--jk-preview:#1c1c1d;--jk-text:#ffffffe6;--jk-muted:#ffffff9e;--jk-faint:#ffffff5c;--jk-border:#ffffff1a;--jk-border-hover:#ffffff29;--jk-hover:#262627;background:var(--jk-preview);margin-bottom:56px;position:relative;overflow:visible}.work-project-carousel-open{border-radius:inherit;background:var(--jk-preview);cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.work-project-carousel-open:focus-visible{outline:2px solid var(--work-link);outline-offset:-4px}.work-project-journey-media{display:block;position:absolute;inset:3.5% 3.5% 7.5%}.work-project-placeholder.has-project-carousel .jk-project-lightbox-media,.work-project-placeholder.has-project-carousel .jk-journey-triptych-media,.work-project-placeholder.has-project-carousel .work-project-journey-media .jk-project-lightbox-media.is-fill-frame{object-fit:contain}.work-project-journey-controls{z-index:3}.work-project-name{z-index:3;box-sizing:border-box;background:color-mix(in srgb, var(--jk-preview) 72%, transparent);max-width:calc(50% - 72px);height:17px;color:var(--jk-muted);font-family:var(--font-mono);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:0;border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:400;line-height:1;display:flex;position:absolute;bottom:10px;left:12px;overflow:hidden}.work-project-triptych{justify-content:center;align-items:center;gap:2%;width:100%;height:100%;padding:3.5%;display:flex}.work-project-placeholder .work-project-triptych :is(img,video){aspect-ratio:492/1030;object-fit:cover;flex:none;width:auto;height:100%;display:block}.work-project-single-phone{justify-content:center;align-items:center;width:100%;height:100%;padding:3.5%;display:flex}.work-project-single-phone video{aspect-ratio:504/1030;object-fit:cover;width:auto;height:100%;display:block}.work-project-triptych video.is-masked-video,.work-project-single-phone video.is-masked-video,.jk-project-lightbox-media.is-masked-video{-webkit-mask-image:var(--journey-phone-mask);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--journey-phone-mask);mask-image:var(--journey-phone-mask);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:alpha;mask-mode:alpha}.work-project-placeholder.opens-detail{cursor:pointer}.work-project-placeholder img,.work-project-lightbox-image img{object-fit:cover;width:100%;height:100%;display:block}.work-project-placeholder:focus-visible{outline:2px solid var(--work-link);outline-offset:5px}.work-project-lightbox{--jk-bg:#111;--jk-preview:#1c1c1d;--jk-text:#ffffffe6;--jk-muted:#ffffff9e;--jk-faint:#ffffff5c;--jk-border:#ffffff1a;--jk-border-hover:#ffffff29;--jk-hover:#262627;--jk-toast:#1c1c1c;--jk-toast-ink:#f0f0f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-backdrop-filter:none;background:0 0}.work-project-lightbox:before{background:linear-gradient(color-mix(in srgb, var(--jk-bg) 20%, transparent), color-mix(in srgb, var(--jk-bg) 20%, transparent)), color-mix(in srgb, var(--jk-bg) 82%, transparent);content:"";opacity:var(--work-lightbox-backdrop-opacity,1);pointer-events:none;-webkit-backdrop-filter:blur(20px)saturate(160%);position:absolute;inset:0}.jk-project-lightbox-scroll.work-project-lightbox-scroll{align-items:center;padding:40px 40px 112px}.jk-project-lightbox-panel.work-project-lightbox-panel{width:calc(100vw - 80px);max-width:1120px;padding:0}.work-project-lightbox-image{aspect-ratio:16/9;outline-offset:-1px;background:#d8d8d8;border-radius:13px;outline:1px solid #ffffff1a;width:100%;margin:0;overflow:hidden}.jk-project-lightbox-frame.work-project-lightbox-carousel-frame{aspect-ratio:16/9}.work-project-lightbox-carousel-frame .jk-project-lightbox-phone.has-project-media.is-carousel{width:100%;height:100%}@media (width<=600px){.work-page{padding-block:80px}.work-project{grid-template-columns:1fr}.work-project-year{grid-area:1/1;position:static;margin-bottom:8px!important}.work-project-content{grid-area:2/1}.work-project-name{max-width:calc(100% - 24px);top:10px;bottom:auto}.jk-project-lightbox-scroll.work-project-lightbox-scroll{padding:24px 20px 96px}.jk-project-lightbox-panel.work-project-lightbox-panel{width:calc(100vw - 40px)}}@media (prefers-reduced-transparency:reduce){.site-dock-surface{-webkit-backdrop-filter:none;background:#25262b}:root[data-theme=dark] .site-dock-surface{background:#eeeeef}}@media (prefers-reduced-motion:no-preference){.site-dock-surface{animation:.65s cubic-bezier(.16,1,.3,1) .18s both dock-in}@keyframes dock-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body[data-page=landing]{--jk-bg:var(--neutral-page);--jk-preview:var(--neutral-container);--jk-text:#202020;--jk-muted:#707070;--jk-faint:#b7b7b7;--jk-border:var(--neutral-stroke);--jk-border-hover:var(--neutral-stroke);--jk-hover:#f3f3f3;--jk-inline-underline:#d8d8d8;--jk-inline-underline-hover:#6e6e6e;--jk-key:#f0f0f0;--jk-key-edge:#d9d9d9;--jk-toast:#f2f2f2;--jk-toast-ink:#202020;background:var(--jk-bg);color:var(--jk-text);font-family:Inter Variable,Inter,system-ui,Arial,sans-serif;font-size:16px;line-height:26px}@media (prefers-color-scheme:dark){body[data-page=landing]{--jk-bg:var(--neutral-page);--jk-preview:var(--neutral-container);--jk-text:#ededed;--jk-muted:#a4a4a4;--jk-faint:#676767;--jk-border:var(--neutral-stroke);--jk-border-hover:var(--neutral-stroke);--jk-hover:#202020;--jk-inline-underline:#3b3b3b;--jk-inline-underline-hover:#a4a4a4;--jk-key:#1e1e1e;--jk-key-edge:#2f2f2f;--jk-toast:#1c1c1c;--jk-toast-ink:#ededed}}:root[data-theme=light] body[data-page=landing]{--jk-bg:var(--neutral-page);--jk-preview:var(--neutral-container);--jk-text:#202020;--jk-muted:#707070;--jk-faint:#b7b7b7;--jk-border:var(--neutral-stroke);--jk-border-hover:var(--neutral-stroke);--jk-hover:#f3f3f3;--jk-inline-underline:#d8d8d8;--jk-inline-underline-hover:#6e6e6e;--jk-key:#f0f0f0;--jk-key-edge:#d9d9d9;--jk-toast:#f2f2f2;--jk-toast-ink:#202020}:root[data-theme=dark] body[data-page=landing]{--jk-bg:var(--neutral-page);--jk-preview:var(--neutral-container);--jk-text:#ededed;--jk-muted:#a4a4a4;--jk-faint:#676767;--jk-border:var(--neutral-stroke);--jk-border-hover:var(--neutral-stroke);--jk-hover:#202020;--jk-inline-underline:#3b3b3b;--jk-inline-underline-hover:#a4a4a4;--jk-key:#1e1e1e;--jk-key-edge:#2f2f2f;--jk-toast:#1c1c1c;--jk-toast-ink:#ededed}body[data-page=access]{--access-bg:var(--neutral-page);--access-surface:var(--neutral-container);--access-surface-muted:var(--neutral-container);--access-text:#202020;--access-muted:#707070;--access-label:#4a4a4a;--access-border:var(--neutral-stroke);--access-border-hover:#c5c5c5;--access-focus:#707070;--access-button:#202020;--access-button-text:#fcfcfc;--access-error:#b42318;background:var(--access-bg);color:var(--access-text);font-family:Inter Variable,Inter,system-ui,Arial,sans-serif}:root[data-theme=dark] body[data-page=access]{--access-bg:var(--neutral-page);--access-surface:var(--neutral-container);--access-surface-muted:var(--neutral-container);--access-text:#ededed;--access-muted:#a4a4a4;--access-label:#cecece;--access-border:var(--neutral-stroke);--access-border-hover:#4a4a4a;--access-focus:#a4a4a4;--access-button:#ededed;--access-button-text:#111;--access-error:#ffb4ab}:root[data-theme=blueprint] body[data-page=access]{--access-bg:#003b98;--access-surface:#00328a;--access-surface-muted:#003fa8;--access-text:#cfe2ff;--access-muted:#9ec4ff;--access-label:#cfe2ff;--access-border:#5c9bff;--access-border-hover:#9ec4ff;--access-focus:#cfe2ff;--access-button:#cfe2ff;--access-button-text:#003b98;--access-error:#ffd5d1;background-color:#003b98;background-image:radial-gradient(circle,#5c9bff6b .7px,#0000 .7px);background-size:8px 8px}body[data-page=access] .site-dock{font-family:Inter Variable,Inter,system-ui,Arial,sans-serif}.access-page{width:min(100% - 48px,644px);min-height:100dvh;color:var(--access-text);margin:0 auto;padding:96px 0 132px;font-family:Inter Variable,Inter,system-ui,Arial,sans-serif}.access-identity .portrait{border:1px solid var(--access-border);background:var(--access-surface-muted);width:44px;height:44px;box-shadow:none}:root[data-theme=blueprint] .access-identity .portrait{filter:none;background:#00328a;border-color:#0000;outline:.5px dotted #5c9bff}.access-identity .jk-identity-copy>span{color:var(--access-muted)}.access-stage{width:min(100%,520px);min-height:360px;margin-top:clamp(92px,15vh,160px)}.access-panel{will-change:transform, opacity, filter;width:100%}.access-heading{gap:8px;display:grid}.access-heading h2{color:var(--access-text);letter-spacing:-.025em;margin:0;font-size:24px;font-weight:600;line-height:32px}.access-heading p{max-width:40ch;color:var(--access-muted);text-wrap:pretty;margin:0;font-size:15px;line-height:24px}.access-form,.access-code-form{margin-top:30px;display:grid}.access-form{gap:14px}.access-field{gap:8px;display:grid}.access-field label{color:var(--access-label);font-size:13px;font-weight:500;line-height:18px}.access-field input,.access-code-input{border:1px solid var(--access-border);background:var(--access-surface);color:var(--access-text);font:inherit;appearance:none;border-radius:12px;outline:none;margin:0;transition:border-color .16s ease-out,box-shadow .16s ease-out,background-color .16s ease-out,transform .1s ease-out}.access-field input{width:100%;height:48px;padding:0 14px;font-size:16px;line-height:24px}.access-field input:hover,.access-code-input:hover{border-color:var(--access-border-hover)}.access-field input:focus,.access-code-input:focus{border-color:var(--access-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--access-focus), transparent 82%)}.access-field input:disabled,.access-code-input:disabled{cursor:wait;opacity:.7}.access-primary-button{box-sizing:border-box;background:var(--access-button);width:100%;min-width:0;height:48px;min-height:48px;color:var(--access-button-text);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;appearance:none;-webkit-text-fill-color:currentColor;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;border-radius:12px;justify-content:center;align-items:center;margin:2px 0 0;padding:0 16px;font-size:15px;font-weight:550;line-height:20px;transition:opacity .16s ease-out,transform .1s ease-out;display:inline-flex}.access-primary-button:hover:not(:disabled){opacity:.86}.access-primary-button:active:not(:disabled){transform:scale(.98)}.access-primary-button:focus-visible,.access-code-actions button:focus-visible{outline:2px solid var(--access-focus);outline-offset:3px}.access-primary-button:disabled{cursor:not-allowed;opacity:.42}.access-error,.access-code-status,.access-dev-code{margin:0;font-size:13px;line-height:20px}.access-error{min-height:20px;color:var(--access-error)}.access-honeypot{width:1px;height:1px;position:fixed;top:-10000px;left:-10000px;overflow:hidden}.access-email-value{color:var(--access-text);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.92em}.access-code-form{gap:18px}.access-code-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:min(100%,356px);display:grid}.access-code-input{width:100%;min-width:0;height:56px;caret-color:var(--access-text);font-family:var(--font-mono);text-align:center;padding:0;font-size:24px;font-weight:600;line-height:56px}.access-code-input[aria-invalid=true]{border-color:color-mix(in srgb, var(--access-error), transparent 34%)}.access-code-status{min-height:20px;color:var(--access-muted)}.access-code-status.is-error{color:var(--access-error)}.access-dev-code{border:1px solid var(--access-border);background:var(--access-surface-muted);width:fit-content;color:var(--access-muted);font-family:var(--font-mono);border-radius:8px;padding:6px 9px;font-size:11px;line-height:16px}.access-dev-code strong{color:var(--access-text);letter-spacing:.06em;font-weight:600}.access-code-actions{align-items:center;gap:20px;display:flex}.access-code-actions button{border:0;border-bottom:1px solid color-mix(in srgb, var(--access-muted), transparent 42%);color:var(--access-muted);font:inherit;cursor:pointer;background:0 0;border-radius:0;margin:0;padding:0;font-size:13px;line-height:20px;transition:color .16s ease-out,border-color .16s ease-out}.access-code-actions button:hover:not(:disabled){border-color:var(--access-text);color:var(--access-text)}.access-code-actions button:active:not(:disabled){transform:translateY(1px)}.access-code-actions button:disabled{cursor:wait;opacity:.5}.access-success{align-items:center;gap:14px;display:flex}.access-success-icon{background:var(--access-button);width:44px;height:44px;color:var(--access-button-text);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}@media (width<=560px){.access-page{width:min(100% - 40px,644px);padding:64px 0 120px}.access-stage{min-height:330px;margin-top:84px}.access-code-grid{gap:6px}.access-code-input{border-radius:10px;height:50px;font-size:21px;line-height:50px}}@media (prefers-reduced-motion:reduce){.access-panel{will-change:auto}.access-field input,.access-code-input,.access-primary-button,.access-code-actions button{transition:none}}body[data-page=landing] .site-dock{font-family:Inter Variable,Inter,system-ui,Arial,sans-serif}body[data-page=connect]{--connect-background:var(--neutral-page);--connect-ink:#484848;--connect-divider:var(--neutral-stroke);background:var(--connect-background)}:root[data-theme=dark] body[data-page=connect]{--connect-background:var(--neutral-page);--connect-ink:#d8d8d8;--connect-divider:var(--neutral-stroke)}:root[data-theme=blueprint] body[data-page=connect]{--connect-background:#003b98;--connect-ink:#cfe2ff;--connect-divider:#5c9bff}:root{--stagger-dur:.6s;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(.22, 1, .36, 1)}.connect-page{width:280px;min-height:100dvh;color:var(--connect-ink);flex-direction:column;justify-content:center;align-items:center;gap:64px;margin:0 auto;padding:0 0 96px;font-family:Inter Variable,Inter,system-ui,Arial,sans-serif;display:flex}.connect-greeting{width:280px;height:33.6px;color:var(--connect-ink);text-align:center;font-size:28px;font-weight:700;line-height:33.6px;position:relative}.connect-greeting-word{white-space:nowrap;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.connect-greeting-character{will-change:opacity, filter;display:inline-block}.connect-links{grid-template-columns:max-content 1px max-content 1px max-content;column-gap:clamp(8px,4vw,16px);width:max-content;height:21px;display:grid}.connect-divider{border-right:1px dashed var(--connect-divider);height:21px;display:block}.connect-item{align-items:center;min-width:0;display:flex}.connect-item-left{justify-content:flex-start}.connect-item-center{justify-content:center}.connect-item-right{justify-content:flex-end}.connect-link{min-height:21px;color:var(--connect-ink);white-space:nowrap;align-items:center;gap:4px;font-size:14px;font-weight:500;line-height:21px;text-decoration:none;display:inline-flex}.connect-arrow{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:0 0 16px;width:16px;height:16px}.t-stagger-line{opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));transition:opacity var(--stagger-dur) var(--stagger-ease), transform var(--stagger-dur) var(--stagger-ease), filter var(--stagger-dur) var(--stagger-ease);will-change:transform, opacity, filter;display:block}.t-stagger-line--2{transition-delay:var(--stagger-stagger)}.t-stagger.is-shown .t-stagger-line{opacity:1;filter:blur();transform:translateY(0)}@media (width<=639px){.connect-page{min-height:90dvh;padding-bottom:0}}@media (prefers-reduced-motion:reduce){.t-stagger-line{transition:none!important}.connect-arrow,a.connect-link{transition:none}}.landing-page{width:min(100% - 48px,644px);color:var(--jk-text);margin:0 auto;padding:96px 0;font-family:Inter Variable,Inter,system-ui,Arial,sans-serif;font-size:16px;font-weight:400;line-height:26px;transition:color .3s}.landing-page a:focus-visible,.landing-page button:focus-visible,.landing-page input:focus-visible{outline:2px solid var(--jk-muted);outline-offset:3px}.jk-identity{justify-content:flex-start;align-items:center;gap:12px;height:44px;margin-bottom:24px;display:flex}.landing-page .portrait{border:1px solid var(--jk-border);width:44px;height:44px;box-shadow:none;background:#f4f4f4}:root[data-theme=dark] .landing-page .portrait{background:#1d1d1d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .landing-page .portrait{background:#1d1d1d}}.jk-identity-copy{flex-direction:column;height:44px;display:flex}.jk-identity h1,.jk-identity-copy>span{letter-spacing:0;font-size:16px;line-height:22px;display:block}.jk-identity h1{font-weight:500}.jk-identity-copy>span{color:var(--jk-muted);white-space:nowrap;font-weight:450}.jk-intro-paragraph{color:var(--jk-muted);font-size:16px;line-height:26px}.jk-intro-first,.jk-intro-history{margin-bottom:16px}.jk-intro-paragraph a,.jk-intro-paragraph .jk-email-copy-link{color:var(--jk-text);text-decoration:underline;-webkit-text-decoration-color:var(--jk-muted);text-decoration-color:var(--jk-muted);text-underline-offset:3px;font-weight:450;transition:color .2s ease-out,text-decoration-color .2s ease-out}.jk-intro-paragraph a:hover,.jk-intro-paragraph .jk-email-copy-link:hover{color:var(--jk-muted);-webkit-text-decoration-color:var(--jk-text);text-decoration-color:var(--jk-text)}.jk-intro-paragraph .jk-company-link{color:var(--jk-text);-webkit-text-decoration-color:var(--jk-inline-underline);text-decoration-color:var(--jk-inline-underline);white-space:nowrap;transition:color .2s,text-decoration-color .2s}.jk-intro-paragraph .jk-company-link:hover{color:var(--jk-text);-webkit-text-decoration-color:var(--jk-inline-underline-hover);text-decoration-color:var(--jk-inline-underline-hover)}.jk-intro-paragraph .jk-company-link:focus-visible{outline-offset:2px;border-radius:2px}.jk-company-link img,.jk-square-icon,.jk-shopify-icon{vertical-align:middle;width:16px;height:16px;margin-bottom:2px;margin-right:4px;display:inline-block}.jk-company-link img{object-fit:contain}.jk-square-icon,.jk-shopify-icon{background:var(--jk-muted);transition:background-color .2s}.jk-square-icon{-webkit-mask:url(/images/square.svg) 50%/14px 14px no-repeat;mask:url(/images/square.svg) 50%/14px 14px no-repeat}.jk-shopify-icon{-webkit-mask:url(/images/shopify.svg) 50%/contain no-repeat;mask:url(/images/shopify.svg) 50%/contain no-repeat}.jk-company-link:hover .jk-square-icon{background-color:#3e4348}.jk-company-link:hover .jk-shopify-icon{background-color:#7ab55c}.jk-link-video-preview{z-index:5000;pointer-events:none;position:fixed}.jk-link-video-preview-frame{width:calc(100vw - 48px);max-width:400px;aspect-ratio:var(--link-preview-aspect,16 / 9);background:#d8d8d8;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #00000014,0 1px 1px -.5px #0000000d,0 3px 3px -1.5px #0000000d,0 6px 6px -3px #00000008,0 12px 12px -6px #0000000d,0 24px 24px -12px #0000000d}.jk-link-video-preview-media,.jk-link-video-placeholder{width:100%;height:100%;display:block}.jk-link-video-preview-media{object-fit:cover;opacity:0;transition:opacity .3s ease-out}.jk-link-video-preview-media.is-ready{opacity:1}.jk-link-video-placeholder{background:#d8d8d8}.jk-intro-paragraph .jk-icon-link{white-space:nowrap}.jk-intro-paragraph .dock-hover-anchor{vertical-align:baseline}.jk-email-copy-link{font:inherit;cursor:pointer;appearance:none;background:0 0;border:0;margin:0;padding:0}.jk-text-icon{color:currentColor;vertical-align:middle;justify-content:center;align-items:center;width:16px;height:16px;margin-bottom:2px;margin-right:4px;font-family:SF Pro Text,Apple Symbols,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:1;text-decoration:none;display:inline-flex}.jk-icon-link[href^=mailto\:] .jk-text-icon,.jk-email-copy-link .jk-text-icon{width:13px;height:13px}.jk-copy-shortcut{color:var(--jk-muted);white-space:nowrap;vertical-align:baseline;align-items:center;gap:5px;display:inline-flex}.jk-copy-key{border:0;border-bottom:1px solid var(--jk-key-edge);background:var(--jk-key);min-width:20px;min-height:20px;color:var(--jk-text);cursor:pointer;letter-spacing:.01em;vertical-align:middle;border-radius:6px;justify-content:center;align-items:center;padding:1px 7px;font-family:inherit;font-size:13.5px;font-weight:400;line-height:18px;display:inline-flex;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #1018280d}.jk-copy-key:focus-visible{outline:2px solid var(--jk-text);outline-offset:2px}.jk-copied-popover-label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.jk-copied-popover-icon{color:currentColor;flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.landing-page h2{color:var(--jk-text);letter-spacing:0;font-size:16px;font-weight:500;line-height:26px}.jk-projects{--about-photo-radius:12px;width:100%;margin-top:64px}.jk-project-playground{--project-screen-width:clamp(82px, 11.5%, 102px);isolation:isolate;perspective:1200px;touch-action:pan-y;width:min(88vw,880px);height:600px;margin-left:50%;position:relative;transform:translate(-50%)}.jk-floating-project{--project-x:0px;--project-y:0px;--project-motion-rotate:0deg;z-index:var(--rest-z);width:var(--project-screen-width);aspect-ratio:var(--project-aspect,390 / 844);color:var(--jk-text);cursor:pointer;filter:none;transform:translate3d(calc(-50% + var(--project-x)), calc(-50% + var(--project-y)), 0) rotate(var(--project-motion-rotate));transform-origin:50% 62%;transform-style:preserve-3d;touch-action:manipulation;-webkit-user-select:none;user-select:none;will-change:transform;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;transition:filter .18s,opacity .18s,scale .16s cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:50%;left:50%;rotate:0deg;scale:1}.jk-floating-project:not(.is-inline-expanded):active{scale:.96}.jk-floating-project.has-inline-media{width:var(--project-width,clamp(98.4px, 13.8%, 122.4px));cursor:zoom-in;transition:filter .18s,opacity .18s}.jk-floating-project.has-inline-media.opens-detail{cursor:pointer}.jk-floating-project.has-inline-media .jk-floating-project-drift{transform-origin:50%;transition:transform .3s cubic-bezier(.22,1,.36,1)}.jk-floating-project.is-inline-expanded{z-index:60;cursor:zoom-out}.jk-floating-project.is-inline-expanded .jk-floating-project-drift{transform:translateY(0)scale(2)}.jk-floating-project.is-inline-expanded:active .jk-floating-project-drift{transform:translateY(0)scale(1.94)}.jk-floating-project-drift{transform-origin:50% 62%;transition:transform .26s cubic-bezier(.22,1,.36,1);display:block;position:absolute;inset:0;transform:translateY(0)}.jk-floating-project-frame{width:100%;height:100%;box-shadow:none;background:#d8d8d8;border:0;border-radius:12px;transition:box-shadow .2s;display:block;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.jk-project-placeholder{border-radius:inherit;background:#d8d8d8;display:block;position:absolute;inset:0}.jk-project-media-asset{border-radius:inherit;object-fit:contain;pointer-events:none;background:#d8d8d8;width:100%;height:100%;display:block;position:absolute;inset:0}.jk-floating-project.has-alpha-mask .jk-floating-project-frame{box-shadow:none;-webkit-mask-image:var(--project-alpha-mask);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--project-alpha-mask);mask-image:var(--project-alpha-mask);background:0 0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:alpha;mask-mode:alpha}.jk-floating-project.has-alpha-mask .jk-project-media-asset{background:0 0}.jk-floating-project.has-alpha-mask:hover .jk-floating-project-frame,.jk-floating-project.has-alpha-mask:focus-visible .jk-floating-project-frame{box-shadow:none}.jk-floating-project.has-theme-background .jk-floating-project-frame{background:var(--jk-preview);transition:background-color .3s,box-shadow .2s}.jk-floating-project.has-theme-background .jk-project-media-asset{background:0 0}.jk-floating-project.has-theme-background:after{z-index:2;border:1px solid var(--jk-border);width:100%;height:100%;box-shadow:none;content:"";pointer-events:none;border-radius:12px;transition:width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),border-radius .3s cubic-bezier(.22,1,.36,1),border-color .16s,box-shadow .2s;position:absolute;top:50%;left:50%;translate:-50% -50%}.jk-floating-project.has-theme-background:hover:after{border-color:#0000}.jk-floating-project.has-theme-background:hover:after,.jk-floating-project.has-theme-background:focus-visible:after{box-shadow:0 4px 10px #00000009}.jk-floating-project.has-theme-background.is-inline-expanded:after{border-radius:24px;width:200%;height:200%}.jk-floating-project-label{z-index:3;background:var(--jk-toast);width:max-content;height:32px;color:var(--jk-toast-ink);opacity:0;pointer-events:none;transform-origin:0 0;white-space:nowrap;border-radius:24px;align-items:center;gap:5px;padding:0 8px 0 10px;font:400 12px/16px Inter Variable,Inter,system-ui,sans-serif;transition:opacity .2s,transform .26s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:8px;left:8px;transform:translateY(5px)scale(.92);box-shadow:0 .5px 1px -1.75px #0000004a,0 4px 8.8px -3.5px #00000024,0 0 0 1px #0000000d}.jk-floating-project-label svg{flex:0 0 15px;width:15px;height:15px}.jk-floating-project:hover,.jk-floating-project:focus-visible{z-index:50}.jk-floating-project:hover .jk-floating-project-frame,.jk-floating-project:focus-visible .jk-floating-project-frame{box-shadow:0 0 0 1px #0000001f,0 6px 12px #0000000a}.jk-floating-project:hover .jk-floating-project-label,.jk-floating-project:focus-visible .jk-floating-project-label{opacity:1;transform:translateY(0)scale(1)}.jk-floating-project:focus-visible{outline:none!important}.jk-floating-project:focus-visible .jk-floating-project-frame{outline:2px solid var(--jk-text);outline-offset:4px}.jk-project-playground.is-focused .jk-floating-project:not(.is-selected){opacity:.16;filter:blur(8px)saturate(.72)}.jk-floating-project.is-selected{z-index:100}.jk-project-lightbox{z-index:4000;background:linear-gradient(color-mix(in srgb, var(--jk-bg) 20%, transparent), color-mix(in srgb, var(--jk-bg) 20%, transparent)), color-mix(in srgb, var(--jk-bg) 82%, transparent);color:var(--jk-text);cursor:zoom-out;-webkit-backdrop-filter:blur(20px)saturate(160%);position:fixed;inset:0;overflow:hidden}.jk-project-lightbox-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:40px 20px 112px;display:flex;position:absolute;inset:0;overflow:auto}.jk-project-lightbox-scroll.is-compact-detail{align-items:safe center}.jk-project-lightbox-panel{width:min(100%,648px);color:var(--jk-text);letter-spacing:.01em;padding:24px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:16px;line-height:24px}.jk-project-lightbox-frame{aspect-ratio:600/496;background:var(--jk-preview);width:100%;box-shadow:inset 0 0 0 1px var(--jk-border);border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.jk-project-lightbox-frame.has-carousel-controls{margin-bottom:56px;overflow:visible}.jk-project-lightbox-phone{aspect-ratio:390/844;outline-offset:-1px;background:#d8d8d8;border-radius:14px;outline:1px solid #0000001a;width:31%;margin:0;position:relative;overflow:hidden}.jk-project-lightbox-phone.has-project-media{aspect-ratio:504/1030;background:0 0;border-radius:0;outline:0;overflow:visible}.jk-project-lightbox-media{object-fit:contain;width:100%;height:100%;display:block}.jk-project-lightbox-phone.has-project-media.is-carousel{aspect-ratio:auto;width:96%;height:76.6%}.jk-journey-slide{justify-content:center;align-items:stretch;width:100%;height:100%;display:flex;position:absolute;inset:0}.jk-journey-slide.is-single{align-items:center}.jk-journey-slide.is-single .jk-project-lightbox-media{width:auto;height:100%}.jk-journey-slide.is-single .jk-project-lightbox-media.is-fill-frame{object-fit:cover;object-position:center;width:100%;height:100%}.jk-journey-slide.is-single .jk-project-lightbox-media.is-contain-frame{object-fit:contain;object-position:center;width:100%;height:100%}.jk-project-device-frame{aspect-ratio:500/1030;width:auto;height:100%;display:block;position:relative}.jk-project-device-viewport{z-index:1;background:#000;border-radius:11.75%/5.43%;position:absolute;inset:1.845% 2.4% 1.55% 5.6%;overflow:hidden}.jk-project-device-overlay{z-index:2;object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.jk-project-device-screen{object-fit:cover;background:#fff;width:101.1%;height:100%;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.jk-journey-triptych{gap:2%}.jk-journey-triptych-item{aspect-ratio:492/1030;flex:none;height:100%;display:block;position:relative;overflow:hidden}.jk-journey-triptych-item.is-video{aspect-ratio:502/1030;-webkit-mask-image:var(--journey-phone-mask);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--journey-phone-mask);mask-image:var(--journey-phone-mask);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:alpha;mask-mode:alpha}.jk-journey-triptych-media{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.jk-project-detail-placeholder{background:#d8d8d8;flex-direction:column;gap:6%;padding:9% 8% 8%;display:flex;position:absolute;inset:0}.jk-project-detail-placeholder[data-slide="1"]{background:#dedede}.jk-project-detail-placeholder[data-slide="2"]{background:#d3d3d3}.jk-project-detail-placeholder[data-slide="3"]{background:#e2e2e2}.jk-project-detail-status,.jk-project-detail-hero,.jk-project-detail-line,.jk-project-detail-actions i{background:#6060602e;border-radius:999px;display:block}.jk-project-detail-status{width:46%;height:2.2%}.jk-project-detail-hero{border-radius:8px;width:100%;height:38%;margin-top:4%}.jk-project-detail-line{width:58%;height:2.4%}.jk-project-detail-line.is-long{width:82%}.jk-project-detail-actions{justify-content:space-between;gap:8%;margin-top:auto;display:flex}.jk-project-detail-actions i{aspect-ratio:1;border-radius:6px;width:30%}.jk-project-frame-controls{--jk-project-control-surface:#f7f1e81a;--jk-project-control-surface-hover:#f7f1e82e;--jk-project-control-track:#f7f1e85c;--jk-project-control-fill:#f7f1e8;--jk-project-arrow-inline:40px;--jk-project-pause-bottom:40px;--jk-project-dots-bottom:-33px;z-index:4;pointer-events:none;position:absolute;inset:0}.jk-project-frame-arrow,.jk-project-frame-pause{box-sizing:border-box;background:var(--jk-project-control-surface);color:#f7f1e8c7;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);appearance:none;border:0;border-radius:50%;place-items:center;width:40px;height:40px;margin:0;padding:0;transition:background-color .16s,color .16s,box-shadow .16s,opacity .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1);display:grid;box-shadow:inset 0 0 0 1px #ffffff0a,0 2px 8px #00000014}.jk-project-frame-arrow{position:absolute;top:50%;transform:translateY(-50%)}.jk-project-frame-arrow.is-previous{left:var(--jk-project-arrow-inline)}.jk-project-frame-arrow.is-next{right:var(--jk-project-arrow-inline)}.jk-project-frame-arrow:hover,.jk-project-frame-arrow:focus-visible,.jk-project-frame-pause:hover,.jk-project-frame-pause:focus-visible{background:var(--jk-project-control-surface-hover);color:var(--jk-project-control-fill);box-shadow:inset 0 0 0 1px #ffffff14,0 4px 12px #0000001f}.jk-project-frame-arrow:active{transform:translateY(-50%)scale(.96)}.jk-project-frame-arrow svg{width:17px;height:17px}.jk-project-frame-dots{bottom:var(--jk-project-dots-bottom);box-sizing:border-box;background:var(--jk-project-control-surface);pointer-events:auto;-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);border-radius:999px;justify-content:center;align-items:center;height:20px;padding:0 4px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff0a,0 2px 8px #00000014}.jk-project-frame-dot{cursor:pointer;appearance:none;background:0 0;border:0;place-items:center;width:14px;height:40px;margin:0;padding:0;transition:width .28s cubic-bezier(.22,1,.36,1);display:grid;position:relative}.jk-project-frame-dot:before{background:var(--jk-project-control-track);content:"";border-radius:50%;width:5px;height:5px;transition:background-color .16s,transform .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jk-project-frame-dot:hover:before,.jk-project-frame-dot:focus-visible:before{background:#f7f1e8ad;transform:translate(-50%,-50%)scale(1.18)}.jk-project-frame-dot[data-active=true]:before{background:var(--jk-project-control-fill)}.jk-project-frame-controls.has-progress .jk-project-frame-dot[data-active=true]{width:36px}.jk-project-frame-controls.has-progress .jk-project-frame-dot[data-active=true]:before{background:var(--jk-project-control-track);border-radius:999px;width:28px;height:5px;transform:translate(-50%,-50%)}.jk-project-frame-controls.has-progress .jk-project-frame-dot[data-active=true]:after{width:28px;height:5px;animation-delay:var(--project-progress-delay,0s);animation-duration:var(--project-progress-duration,10s);background:var(--jk-project-control-fill);content:"";transform-origin:0;border-radius:999px;animation-name:jk-project-slide-progress;animation-timing-function:linear;animation-play-state:paused;animation-fill-mode:both;position:absolute;top:50%;left:calc(50% - 14px);transform:translateY(-50%)scaleX(0)}.jk-project-frame-controls.has-progress .jk-project-frame-dot[data-active=true][data-playing=true]:after{animation-play-state:running}@keyframes jk-project-slide-progress{to{transform:translateY(-50%)scaleX(1)}}.jk-project-frame-dot:focus-visible{outline:0}.jk-project-frame-pause{right:var(--jk-project-arrow-inline);bottom:var(--jk-project-pause-bottom);opacity:0;pointer-events:none;position:absolute;transform:translateY(6px)scale(.96)}.jk-project-frame-pause[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.jk-project-frame-arrow:focus-visible,.jk-project-frame-controls .jk-project-frame-dot:focus-visible,.jk-project-frame-controls .jk-project-frame-pause:focus-visible{outline:2px solid var(--jk-project-control-fill);outline-offset:2px}.jk-project-frame-pause:active{transform:scale(.96)}.jk-project-frame-pause svg{fill:currentColor;stroke:none;width:16px;height:16px}@media (hover:hover) and (pointer:fine){.jk-project-frame-arrow,.jk-project-frame-pause[data-visible=true]{opacity:0;pointer-events:none}.jk-project-frame-arrow.is-previous{transform:translate(-6px,-50%)}.jk-project-frame-arrow.is-next{transform:translate(6px,-50%)}.jk-project-frame-pause[data-visible=true]{transform:translateY(6px)scale(.96)}:is(.work-project-placeholder.has-project-carousel,.jk-project-lightbox-frame.has-carousel-controls):is(:hover,:focus-within) .jk-project-frame-arrow{opacity:1;pointer-events:auto;transform:translateY(-50%)}:is(.work-project-placeholder.has-project-carousel,.jk-project-lightbox-frame.has-carousel-controls):is(:hover,:focus-within) .jk-project-frame-pause[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}:is(.work-project-placeholder.has-project-carousel,.jk-project-lightbox-frame.has-carousel-controls):is(:hover,:focus-within) .jk-project-frame-arrow:active{transform:translateY(-50%)scale(.96)}:is(.work-project-placeholder.has-project-carousel,.jk-project-lightbox-frame.has-carousel-controls):is(:hover,:focus-within) .jk-project-frame-pause[data-visible=true]:active{transform:scale(.96)}}@media (width<=600px){.work-project-placeholder.has-project-carousel,.jk-project-lightbox-frame.has-carousel-controls{margin-bottom:48px}.jk-project-frame-controls{--jk-project-arrow-inline:14px;--jk-project-pause-bottom:20px;--jk-project-dots-bottom:-29px}.jk-project-frame-arrow,.jk-project-frame-pause{width:34px;height:34px}.jk-project-frame-arrow svg,.jk-project-frame-pause svg{width:15px;height:15px}}.jk-project-lightbox-copy{flex-direction:column;padding:44px 2px 0;display:flex}.jk-project-lightbox-copy h3{color:var(--jk-text);margin:0;font-size:16px;font-weight:500;line-height:24px}.jk-project-lightbox-meta{color:var(--jk-muted);font:400 12px/16px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:8px 0 0}.jk-project-lightbox-note{color:var(--jk-muted);margin:20px 0 0;font-size:16px;line-height:24px}.jk-project-lightbox-links{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.jk-project-lightbox-link-separator{color:var(--jk-muted);font:400 12px/20px var(--font-mono);pointer-events:none}.jk-project-lightbox-link{min-height:28px;color:var(--jk-muted);font-family:var(--font-mono);align-items:center;gap:6px;padding:2px 0;font-size:13px;font-weight:500;line-height:20px;text-decoration:none;transition:color .16s;display:flex}.jk-project-lightbox-link:hover{color:var(--jk-text)}.jk-project-lightbox-link-brand,.jk-project-lightbox-link-arrow{flex:none;width:15px;height:15px}.jk-project-lightbox-link-square{background:currentColor;-webkit-mask:url(/images/square.svg) 50%/14px 14px no-repeat;mask:url(/images/square.svg) 50%/14px 14px no-repeat}.jk-project-lightbox-link-arrow{width:13px;height:13px;transition:translate .18s cubic-bezier(.22,1,.36,1)}.jk-project-lightbox-link:hover .jk-project-lightbox-link-arrow{translate:1px -1px}.jk-project-lightbox-link:focus-visible{outline:2px solid var(--jk-text);outline-offset:2px}.jk-project-lightbox-compare{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;padding-top:44px;display:grid}.jk-project-lightbox-compare.is-single-column{grid-template-columns:minmax(0,1fr);padding-top:44px}.jk-project-lightbox-compare.is-single-column .jk-project-compare-cell{min-height:0;padding:24px 0 26px}.jk-project-lightbox-compare.is-single-column .jk-project-compare-cell:first-child{border-top:1px solid var(--jk-border)}.jk-project-compare-head{border-bottom:1px solid var(--jk-border);color:var(--jk-muted);font:400 12px/16px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:0;padding-bottom:12px}.jk-project-compare-cell{border-bottom:1px solid var(--jk-border);min-height:142px;padding:20px 0 24px}.jk-project-compare-cell h4{color:var(--jk-text);margin:0;font-size:14px;font-weight:600;line-height:20px}.jk-project-compare-cell p{color:var(--jk-muted);margin:8px 0 0;font-size:14px;line-height:21px}.jk-project-lightbox-close{z-index:2;background:var(--jk-toast);width:40px;height:40px;color:var(--jk-text);cursor:pointer;border:0;border-radius:999px;place-items:center;margin:0;padding:0;display:grid;position:fixed;bottom:40px;left:50%;translate:-50%;box-shadow:0 0 0 1px #0000000f}.jk-project-lightbox-close svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=blueprint]) .jk-floating-project.has-theme-background:hover:after,:root:not([data-theme=light]):not([data-theme=blueprint]) .jk-floating-project.has-theme-background:focus-visible:after{box-shadow:0 4px 10px #00000024}:root:not([data-theme=light]) .jk-floating-project:hover .jk-floating-project-frame,:root:not([data-theme=light]) .jk-floating-project:focus-visible .jk-floating-project-frame{box-shadow:0 0 0 1px #ffffff1a,0 6px 12px #0000002e}:root:not([data-theme=light]) .jk-project-lightbox-phone{outline-color:#ffffff1a}}:root[data-theme=dark] .jk-floating-project.has-theme-background:hover:after,:root[data-theme=dark] .jk-floating-project.has-theme-background:focus-visible:after{box-shadow:0 4px 10px #00000024}:root[data-theme=blueprint] .jk-floating-project.has-theme-background:after{border-color:#9ec4ff5c}:root[data-theme=dark] .jk-floating-project:hover .jk-floating-project-frame,:root[data-theme=dark] .jk-floating-project:focus-visible .jk-floating-project-frame{box-shadow:0 0 0 1px #ffffff1a,0 6px 12px #0000002e}:root[data-theme=dark] .jk-project-lightbox-phone,:root[data-theme=blueprint] .jk-project-lightbox-phone{outline-color:#ffffff1a}.jk-about{--about-photo-radius:12px;--about-photo-width:clamp(76px, 15vw, 96px);width:100%;margin:64px 0 0}.jk-about h2{margin-bottom:52px}.jk-about-gallery{width:min(100%,420px);height:calc((var(--about-photo-width) * 1.5) + 52px);box-sizing:border-box;isolation:isolate;flex-direction:row;justify-content:flex-end;align-items:flex-end;gap:0;padding:0 10px 30px;display:flex;position:relative}.jk-about-photo{--dock-influence:0;--dock-scale:1;--dock-x:0px;--dock-y:0px;--dock-z:0;--ratio-x:50%;--ratio-y:50%;z-index:calc(var(--rest-z) + var(--dock-z));width:var(--about-photo-width);height:calc(var(--about-photo-width) * 1.5);color:inherit;cursor:pointer;filter:grayscale(.14) saturate(.58) contrast(.88) blur(calc(.35px * (1 - var(--dock-influence)))) drop-shadow(0 1px 2px rgba(0, 0, 0, calc(.04 + (.08 * var(--dock-influence)))));opacity:1;perspective:1000px;perspective-origin:50%;transform:translate3d(var(--dock-x), calc(var(--rest-y) + var(--dock-y)), 0) rotate(var(--rest-rotate));transform-origin:50% 100%;transform-style:preserve-3d;will-change:transform;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;margin:0 -10px;padding:0;transition:filter .24s cubic-bezier(.22,1,.36,1),opacity .24s cubic-bezier(.22,1,.36,1);display:block;position:relative}.jk-about-photo-frame{border-radius:var(--about-photo-radius);width:100%;height:100%;scale:var(--dock-scale);transform-origin:50% 100%;transform-style:preserve-3d;display:block;position:absolute;bottom:0;left:50%;overflow:visible;translate:-50%}.jk-about-photo-surface{border-radius:var(--about-photo-radius);background:var(--jk-preview);transform:rotateY(calc(-8deg * var(--dock-influence)));transform-origin:50% 80%;transform-style:preserve-3d;border:1px solid #0000;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #0000002e}.jk-about-glint{border-radius:inherit;background:radial-gradient(circle at var(--ratio-x) var(--ratio-y), #ffffff5c, transparent 50%);opacity:calc(var(--dock-influence) * .75);pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.jk-about-photo img,.jk-about-focus-media img,.jk-about-focus-media video{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}.jk-about-gallery:has(.jk-about-photo:is(:hover,:focus-visible)) .jk-about-photo{opacity:1;filter:grayscale(.9) saturate(.28) contrast(.82) blur(calc(.35px * (1 - var(--dock-influence)))) drop-shadow(0 1px 2px rgba(0, 0, 0, calc(.04 + (.06 * var(--dock-influence)))))}.jk-about-gallery:has(.jk-about-photo:is(:hover,:focus-visible)) .jk-about-photo:is(:hover,:focus-visible){z-index:1000;opacity:1;filter:grayscale(0) saturate(1) contrast(1) blur(calc(.35px * (1 - var(--dock-influence)))) drop-shadow(0 2px 3px rgba(0, 0, 0, calc(.08 + (.08 * var(--dock-influence)))))}.jk-about-gallery.is-focused .jk-about-photo:not(.is-selected){opacity:.2;filter:blur(10px)saturate(.75)}.jk-about-photo.is-selected{z-index:4000}.jk-about-cursor-tooltip{z-index:3200;opacity:0;visibility:hidden;pointer-events:none;width:max-content;transform:translate3d(var(--tooltip-x,0), var(--tooltip-y,0), 0) rotate(var(--tooltip-rotate,0deg));transform-origin:50% 100%;will-change:transform, opacity;transition:opacity .18s,visibility .18s,transform .28s cubic-bezier(.23,1,.32,1);position:fixed;top:0;left:0}.jk-about-cursor-tooltip.is-visible{opacity:1;visibility:visible}.jk-about-cursor-tooltip-pill{color:#fafafa;white-space:nowrap;background:#1a1a1a;border-radius:999px;width:max-content;max-width:320px;padding:6px 16px;font-family:Inter Variable,Inter,system-ui,sans-serif;font-size:14px;font-weight:500;line-height:22.4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.jk-about-photo:focus-visible{outline:none!important}.jk-about-photo:focus-visible .jk-about-photo-surface{outline:2px solid var(--jk-text);outline-offset:3px}.jk-about-focus-layer{--focus-item-region-width:min(calc(100vw - 40px), 320px);--focus-payload-region-width:min(calc(100vw / 3), 320px);--focus-content-gap:calc((var(--focus-item-region-width) / 4.2) + 12px);--focus-photo-shift-x:calc((var(--focus-payload-region-width) + var(--focus-content-gap)) / 2);z-index:3000;pointer-events:none;position:fixed;inset:0}.jk-about-focus-backdrop{background:color-mix(in srgb, var(--jk-bg) 50%, transparent);cursor:zoom-out;pointer-events:auto;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:fixed;inset:0}.jk-about-focus-backdrop:hover,.jk-about-focus-backdrop:focus,.jk-about-focus-backdrop:focus-visible,.jk-about-focus-backdrop:active{background:color-mix(in srgb, var(--jk-bg) 50%, transparent);outline:none}.jk-about-focus-photo{z-index:1;aspect-ratio:2/3;border-radius:var(--about-photo-radius);pointer-events:none;transform-origin:50% 80%;border:1px solid #ffffff47;width:100%;margin:0;position:relative;overflow:hidden;transform:rotateY(-12deg);box-shadow:0 8px 18px #0000002e}.jk-about-focus-media{position:absolute;inset:0}.jk-about-focus-nav{z-index:2;color:#fff;pointer-events:auto;transform-origin:0;-webkit-backdrop-filter:blur(8px);background:#000c;border-radius:999px;align-items:center;gap:0;width:max-content;height:40px;margin-top:16px;padding:0;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff26,0 4px 8px #0000002e}.jk-about-focus-nav button{width:40px;height:40px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .16s cubic-bezier(.16,1,.3,1);display:flex}.jk-about-focus-nav button:hover{background:#ffffff2e}.jk-about-focus-nav button:focus-visible{outline-offset:-3px;outline:2px solid #fff}.jk-about-focus-content{pointer-events:none;position:absolute;inset:0}.jk-about-focus-content.is-video{--focus-item-region-width:min(52vw, 640px);--focus-content-gap:clamp(40px, 5vw, 72px)}.jk-about-focus-content.is-video .jk-about-focus-photo{aspect-ratio:16/9}.jk-about-focus-photo-stage{width:var(--focus-item-region-width);transition:translate .42s cubic-bezier(.22,.61,.36,1);position:absolute;top:50%;left:50%;translate:-50% -50%}.jk-about-focus-content.is-details-visible .jk-about-focus-photo-stage{translate:calc(-50% - var(--focus-photo-shift-x)) -50%}.jk-about-focus-copy{top:calc(50% - 64px);left:calc(50% + (var(--focus-item-region-width) / 2) + (var(--focus-content-gap) / 2) - (var(--focus-payload-region-width) / 2));width:var(--focus-payload-region-width);max-height:calc(100vh - 40px);color:var(--jk-text);font-family:var(--font-mono);pointer-events:auto;font-size:14px;font-weight:400;line-height:22.4px;position:absolute;overflow:auto;translate:0}.jk-about-focus-copy-body{height:calc((var(--focus-item-region-width) * .75) + 8px)}.jk-about-focus-content.is-video .jk-about-focus-copy-body{height:calc((var(--focus-item-region-width) * .28125) + 8px)}.jk-about-focus-copy h3{color:var(--jk-text);font:inherit;margin:0 0 16px;font-size:14px;font-weight:600;line-height:24.64px}.jk-about-focus-overview{margin:0;font-size:12px;line-height:24px}.jk-footer{width:100%;color:var(--theme-selector-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:normal;white-space:nowrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:128px;font-size:12px;font-weight:400;line-height:14.4px;display:flex}.jk-footer-visitor{text-align:right;margin-left:auto}.jk-footer p{color:inherit;font:inherit;margin:0}@media (hover:none){.jk-floating-project-label{display:none}}@media (width<=720px){.jk-project-lightbox-scroll{padding:20px 0 96px}.jk-project-lightbox-panel{width:100%;padding:16px 20px}.jk-project-lightbox-phone{width:34%}.jk-project-lightbox-copy{padding-top:36px}.jk-project-lightbox-compare{column-gap:20px;padding-top:36px}.jk-project-compare-cell{min-height:154px}.jk-project-lightbox-close{bottom:24px}.jk-about-focus-layer{--focus-item-region-width:min(calc(100vw - 48px), 240px);--focus-payload-region-width:min(calc(100vw - 48px), 320px);--focus-content-gap:24px}.jk-about-focus-content.is-details-visible .jk-about-focus-photo-stage{translate:-50% calc(-50% - min(12vh,76px))}.jk-about-focus-copy{top:calc(50% + (var(--focus-item-region-width) * .75) - min(12vh, 76px) + var(--focus-content-gap));width:var(--focus-payload-region-width);max-height:25vh;left:50%;translate:-50%}.jk-about-focus-copy-body{height:auto}.jk-about-focus-content.is-video{--focus-item-region-width:min(calc(100vw - 48px), 360px);--focus-content-gap:24px}.jk-about-focus-content.is-video .jk-about-focus-copy{top:calc(50% + (var(--focus-item-region-width) * .28125) - min(12vh, 76px) + var(--focus-content-gap))}}@media (width<=639px){.landing-page{width:calc(100% - 48px);padding:48px 0}.jk-about{margin-top:48px}.jk-footer{margin-top:64px}.jk-projects{margin-top:32px}.jk-project-playground{--project-screen-width:clamp(70px, 23%, 84px);width:100%;height:420px;margin-left:0;transform:none}}@media (width<=360px){.jk-identity-copy>span{white-space:normal}}:root{--expo-out:cubic-bezier(.61, 0, 0, 1);--theme-selector-active:#000;--theme-selector-muted:#75757e}:root[data-theme=light]{--theme-selector-active:#000;--theme-selector-muted:#75757e}:root[data-theme=dark]{--theme-selector-active:#f0f0f2;--theme-selector-muted:#8b8b94}:root[data-theme=blueprint]{--neutral-page:#003b98;--neutral-container:#00328a;--neutral-stroke:#5c9bff;--page:#003b98;--ink:#cfe2ff;--line:#5c9bff;--accent:#cfe2ff;--accent-soft:#003fa8;--theme-selector-active:#cfe2ff;--theme-selector-muted:#9ec4ff}::view-transition-group(root){animation-duration:1.1s;animation-timing-function:var(--expo-out)}::view-transition-old(root){z-index:-1;animation:none}::view-transition-new(root){filter:blur(2px);animation-name:theme-reveal-down}:root[data-theme-direction=up]::view-transition-new(root){animation-name:theme-reveal-up}@keyframes theme-reveal-down{0%{clip-path:polygon(0% 0%,100% 0%,100% 0%,0% 0%);filter:blur(8px)}50%{filter:blur(4px)}to{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);filter:blur()}}@keyframes theme-reveal-up{0%{clip-path:polygon(0% 100%,100% 100%,100% 100%,0% 100%);filter:blur(8px)}50%{filter:blur(4px)}to{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);filter:blur()}}.theme-revealing body,.theme-revealing .landing-page{transition:none}.theme-transition-fallback-layer{z-index:2147483645;pointer-events:none;min-width:320px;min-height:100dvh;position:fixed;inset:0;overflow:hidden}.theme-transition-fallback-layer>div{min-height:100dvh}.theme-transition-fallback-new{z-index:2147483646;animation:theme-reveal-down 1.1s var(--expo-out) both;will-change:clip-path, filter}:root[data-theme-direction=up] .theme-transition-fallback-new{animation-name:theme-reveal-up}.theme-selector{color:var(--theme-selector-muted);flex:none;align-self:center;align-items:center;gap:10px;margin-left:auto;display:flex}.theme-selector-button{width:14px;height:14px;color:var(--theme-selector-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0;transition:color .15s cubic-bezier(.4,0,.2,1);display:block}.theme-selector-button:hover,.theme-selector-button.is-active{color:var(--theme-selector-active)}.theme-selector-button:focus-visible{color:var(--theme-selector-active);outline:none}.theme-selector-button svg{width:14px;height:14px;display:block;overflow:hidden}.theme-selector-button line{transform-box:fill-box;transform-origin:50%}.theme-sun-ray.is-animated{animation:.3s both theme-sun-ray-in;animation-delay:var(--ray-delay,0s)}@keyframes theme-sun-ray-in{0%{opacity:0}to{opacity:1}}.blueprint-guides{z-index:19;pointer-events:none;position:absolute;top:0;left:0;right:0;overflow:hidden}.blueprint-guide{opacity:.9;display:block;position:absolute}.blueprint-guide-v{background-image:repeating-linear-gradient(#5c9bff 0 1.5px,#0000 1.5px 5px);width:.5px}.blueprint-guide-h{background-image:repeating-linear-gradient(90deg,#5c9bff 0 1.5px,#0000 1.5px 5px);height:.5px}:root[data-theme=blueprint] body{background-color:#003b98;background-image:radial-gradient(circle,#5c9bff6b .7px,#0000 .7px);background-size:8px 8px}:root[data-theme=blueprint] body[data-page=landing]{--jk-bg:#003b98;--jk-preview:#00328a;--jk-text:#cfe2ff;--jk-muted:#9ec4ff;--jk-faint:#80b0fc;--jk-border:#5c9bff;--jk-border-hover:#9ec4ff;--jk-hover:#003fa8;--jk-inline-underline:#9ec4ffa8;--jk-inline-underline-hover:#cfe2ff;--jk-key:#003fa8;--jk-key-edge:#5c9bff;--jk-toast:#cfe2ff;--jk-toast-ink:#003b98;background-color:#003b98;background-image:radial-gradient(circle,#5c9bff6b .7px,#0000 .7px);background-size:8px 8px}:root[data-theme=blueprint] .landing-page .portrait{filter:none;outline-offset:0;background:#00328a;border-color:#0000;outline:.5px dotted #5c9bff}:root[data-theme=blueprint] .jk-company-link img{filter:brightness(0)saturate()invert(84%)sepia(20%)saturate(745%)hue-rotate(184deg)brightness(103%)contrast(101%)}:root[data-theme=blueprint] .jk-square-icon,:root[data-theme=blueprint] .jk-shopify-icon{background-color:#9ec4ff}:root[data-theme=blueprint] .jk-project-playground{background-image:radial-gradient(circle,#9ec4ff5c .65px,#0000 .75px);background-size:8px 8px}:root[data-theme=blueprint] .jk-floating-project-frame{box-shadow:none;background:#d8d8d8;border:.5px dashed #5c9bff}:root[data-theme=blueprint] .jk-floating-project.has-theme-background .jk-floating-project-frame{background:var(--jk-preview);border:0}:root[data-theme=blueprint] .jk-floating-project.has-theme-background:after{box-shadow:none;border:1px dashed #9ec4ff5c}:root[data-theme=blueprint] .jk-floating-project.has-theme-background:hover:after{border-color:#0000}:root[data-theme=blueprint] .jk-floating-project.has-theme-background:hover:after,:root[data-theme=blueprint] .jk-floating-project.has-theme-background:focus-visible:after{box-shadow:none}:root[data-theme=blueprint] .jk-project-placeholder{background:#d8d8d8}:root[data-theme=blueprint] .jk-project-lightbox-frame{box-shadow:none;background:#00328a;border:.5px dashed #5c9bff}:root[data-theme=blueprint] .site-dock-surface{background:#00328aeb;box-shadow:inset 0 0 0 1px #9ec4ff80,0 16px 42px #001b544d}@media (prefers-reduced-motion:reduce){.jk-link-video-preview-media{transition:none}::view-transition-group(root){animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.jk-floating-project,.jk-floating-project-drift{transition:none}.jk-floating-project{will-change:auto}.jk-floating-project-drift{will-change:auto;animation:none}.jk-floating-project-label,.jk-project-frame-arrow,.jk-project-frame-dot,.jk-project-frame-pause{transition:none}.jk-project-frame-controls.has-progress .jk-project-frame-dot[data-active=true]:after{animation:none;transform:translateY(-50%)scaleX(1)}}
