.logo-hover-mark{display:inline-flex;width:18px;height:20px;flex-shrink:0;color:inherit}.logo-hover-mark svg{display:block;width:100%;height:100%;overflow:visible}.logo-hover-mark :is(.lh-trace,.lh-tip){opacity:0;pointer-events:none}.logo-hover-mark .lh-trace path{stroke-dasharray:100;stroke-dashoffset:100}.logo-hover-mark .lh-tip{filter:drop-shadow(0 0 1.5px #85d9ff) drop-shadow(0 0 3px #85d9ff)}.logo-hover-mark .lh-tip path{stroke-dasharray:4 96;stroke-dashoffset:100}:is(.brand,.sp-brand):is(:hover,:focus-visible) .lh-main path{animation:logo-center-bloom .65s .95s ease-out both}:is(.brand,.sp-brand):is(:hover,:focus-visible) .lh-trace{opacity:.7}:is(.brand,.sp-brand):is(:hover,:focus-visible) .lh-trace path{animation:logo-draw .95s ease-in-out both,logo-outline-out .65s .95s ease both}:is(.brand,.sp-brand):is(:hover,:focus-visible) .lh-tip{opacity:1}:is(.brand,.sp-brand):is(:hover,:focus-visible) .lh-tip path{animation:logo-pen-tip .95s ease-in-out both}@keyframes logo-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes logo-pen-tip{0%{stroke-dashoffset:100;opacity:0}8%,85%{opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes logo-outline-out{0%{opacity:1}to{opacity:0}}@keyframes logo-center-bloom{0%{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}@media(prefers-reduced-motion:reduce){.logo-hover-mark *{animation:none!important}.logo-hover-mark .lh-main path{opacity:1;clip-path:none}.logo-hover-mark :is(.lh-trace,.lh-tip){display:none}}@layer theme{:root,:host{--font-sans:var(--font-body-stack);--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:var(--font-mono-stack);--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:var(--font-size-xs);--text-xs--line-height:calc(1/.75);--text-sm:var(--font-size-sm);--text-sm--line-height:calc(1.25/.875);--text-base:var(--font-size-base);--text-base--line-height: 1.5 ;--text-lg:var(--font-size-lg);--text-lg--line-height:calc(1.75/1.125);--text-xl:var(--font-size-xl);--text-xl--line-height:calc(1.75/1.25);--text-2xl:var(--font-size-2xl);--text-2xl--line-height:calc(2/1.5);--text-3xl:var(--font-size-3xl);--text-3xl--line-height: 1.2 ;--text-4xl:var(--font-size-4xl);--text-4xl--line-height:calc(2.5/2.25);--text-5xl:var(--font-size-5xl);--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:var(--tracking-tighter);--tracking-tight:var(--tracking-tight);--tracking-normal:var(--tracking-normal);--tracking-wide:var(--tracking-wide);--tracking-wider:var(--tracking-wider);--tracking-widest:var(--tracking-widest);--leading-tight:var(--line-height-tight);--leading-snug:var(--line-height-snug);--leading-normal:var(--line-height-normal);--leading-relaxed:var(--line-height-relaxed);--leading-loose:var(--line-height-loose);--radius-xs:.125rem;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--font-body:var(--font-body-stack);--ease-out-strong:cubic-bezier(.16,1,.3,1);--font-display:var(--font-display-stack);--max-w-prose:38rem;--max-w-prose-sm:38rem;--max-w-post:38rem;--max-w-post-sm:38rem;--max-w-measure-wide:52rem;--max-w-measure-md:38rem;--max-w-measure-narrow:38rem;--max-w-measure-compact:34rem;--max-w-measure-tight:30rem;--max-w-media-tall:26rem;--max-w-media-portrait:48rem;--max-w-media-hero:38rem;--post-pad-inline:clamp(16px,3.6vw,64px);--tracking-mono:var(--tracking-mono);--underline-offset-sm:var(--underline-offset-sm);--underline-offset-md:var(--underline-offset-md);--decoration-thickness-sm:var(--decoration-thickness-sm);--spacing-prose-xs:.25em;--spacing-prose-sm:.35em;--spacing-prose-md:.45em;--spacing-prose-lg:.9em;--spacing-prose-xl:1.1em;--spacing-prose-2xl:1.15em;--spacing-prose-3xl:1.25em;--spacing-prose-4xl:1.35em;--spacing-prose-5xl:1.6em;--spacing-prose-6xl:2.25em;--spacing-page-pad:var(--page-pad);--spacing-s-1:4px;--spacing-s-2:8px;--spacing-s-3:12px;--spacing-s-4:16px;--spacing-s-5:20px;--spacing-s-6:24px;--spacing-s-8:32px;--spacing-s-10:40px;--spacing-s-12:48px;--spacing-s-14:56px;--spacing-s-16:64px;--spacing-s-20:80px;--spacing-s-24:96px;--spacing-s-32:128px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-border,currentColor)}::file-selector-button{border-color:var(--color-border,currentColor)}:root{color-scheme:light;--background:42 36% 94.5%;--foreground:0 0% 6%;--primary:0 0% 6%;--primary-foreground:45 100% 98%;--card:42 32% 97%;--card-foreground:0 0% 6%;--popover:42 32% 97%;--popover-foreground:0 0% 6%;--secondary:43 13% 89%;--secondary-foreground:0 0% 6%;--muted:43 13% 89%;--muted-foreground:40 2% 40%;--accent:0 0% 17%;--accent-foreground:45 100% 98%;--border:43 8% 84%;--border-strong:50 5% 75%;--input:43 8% 84%;--ring:0 0% 17%;--destructive:0 72% 50%;--destructive-foreground:0 0% 100%;--grid:43 8% 84%;--spark:0 0% 17%;--radius:.125rem;--spacingUnit:8;--page-max:38rem;--measure-wide:52rem;--page-gutter:24px;--page-pad:0px;--font-display-stack:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-body-stack:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono-stack:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-display:var(--font-display-stack);--font-body:var(--font-body-stack);--font-serif:var(--font-display-stack);--font-size-2xs:.75rem;--font-size-xs:.8125rem;--font-size-sm:.9375rem;--font-size-md:1rem;--font-size-base:1.125rem;--font-size-lg:1.3125rem;--font-size-xl:1.5rem;--font-size-2xl:clamp(1.9375rem,1.5vw + 1.58rem,2.3125rem);--font-size-3xl:clamp(2.375rem,1.2vw + 2.05rem,2.75rem);--font-size-4xl:var(--font-size-3xl);--font-size-5xl:var(--font-size-3xl);--line-height-tight:1.08;--line-height-snug:1.12;--line-height-normal:1.55;--line-height-relaxed:1.65;--line-height-loose:1.7;--tracking-tighter:-.03em;--tracking-tight:-.02em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--tracking-mono:.1em;--underline-offset-sm:.25em;--underline-offset-md:.55em;--decoration-thickness-sm:.1em;--text-marker-sm:.85em;--text-marker:.9em;--text-marker-md:.95em;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius)}.dark{color-scheme:dark;--background:0 0% 6%;--foreground:45 100% 98%;--primary:45 100% 98%;--primary-foreground:0 0% 6%;--card:0 0% 10%;--card-foreground:45 100% 98%;--popover:0 0% 10%;--popover-foreground:45 100% 98%;--secondary:60 1% 17%;--secondary-foreground:45 100% 98%;--muted:60 1% 17%;--muted-foreground:45 4% 72%;--accent:45 100% 98%;--accent-foreground:0 0% 6%;--border:60 1% 23%;--border-strong:60 1% 30%;--input:60 1% 23%;--ring:45 100% 98%;--destructive:0 56% 36%;--destructive-foreground:0 0% 100%;--grid:60 1% 23%;--spark:45 100% 98%}*{border-color:var(--color-border);outline-color:color-mix(in oklab,var(--color-ring)50%,transparent)}body{background-color:var(--color-background);color:var(--color-foreground);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);letter-spacing:-.011em;flex-direction:column;min-height:100vh;font-weight:400;display:flex}h1,h2,h3,h4{font-weight:600;line-height:var(--line-height-tight);letter-spacing:-.025em}html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;overflow-x:clip}body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1}:where(a,button,[role=button]){-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(a,button,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid hsl(var(--ring)/.65);outline-offset:3px}@media(prefers-reduced-motion:reduce){:where(*){scroll-behavior:auto!important;transition:none!important;animation:none!important}}body{background-color:hsl(var(--background));background-image:none;background-attachment:scroll}:where(h1,h2,h3,h4,h5,h6,[id]){scroll-margin-top:calc(1rem + env(safe-area-inset-top,0px))}:where(a,button,input,textarea,select,summary,[role=button]){-webkit-tap-highlight-color:transparent}:where(a,button,input,textarea,select,summary,[tabindex]):focus:not(:focus-visible){outline:none}::selection{background:hsl(var(--foreground));color:hsl(var(--background))}h1,h2,h3,h4,h5,h6,blockquote,figcaption{text-wrap:balance}p,li{text-wrap:pretty}code,pre{font-variant-ligatures:contextual;font-variant-numeric:tabular-nums}}@layer components;@layer utilities{.work-thumb{position:relative;overflow:hidden}.work-thumb img{transition:transform .6s var(--ease-out-strong)}.group:hover .work-thumb img{transform:scale(1.03)}.work-thumb:before{content:"";border:1px solid hsl(var(--accent)/0);pointer-events:none;z-index:2;transition:border-color .4s;position:absolute;inset:0}.group:hover .work-thumb:before{border-color:hsl(var(--accent)/.3)}.work-thumb:after{content:"";opacity:0;pointer-events:none;mix-blend-mode:soft-light;background:#fff;transition:opacity .3s;position:absolute;inset:0}.group:hover .work-thumb:after{opacity:.12}.dark .group:hover .work-thumb:after{opacity:.18}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.z-10{z-index:10}.-mx-6{margin-inline:calc(var(--spacing)*-6)}.-mx-\[var\(--page-pad\)\]{margin-inline:calc(var(--page-pad)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-12{margin-block:calc(var(--spacing)*12)}.my-prose-6xl{margin-block:var(--spacing-prose-6xl)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-14{margin-top:calc(var(--spacing)*14)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-prose-lg{margin-top:var(--spacing-prose-lg)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-prose-2xl{margin-bottom:var(--spacing-prose-2xl)}.mb-prose-md{margin-bottom:var(--spacing-prose-md)}.mb-prose-sm{margin-bottom:var(--spacing-prose-sm)}.mb-prose-xs{margin-bottom:var(--spacing-prose-xs)}.ml-0{margin-left:calc(var(--spacing)*0)}.media-grid{background-color:hsl(var(--muted));background-image:linear-gradient(135deg,hsl(var(--muted)),hsl(var(--border)/.3))}.dark .media-grid{background-color:hsl(var(--muted));background-image:linear-gradient(135deg,hsl(var(--muted)),hsl(var(--border)/.2))}.media-grid picture,.media-grid img{display:block}.media-grid picture{width:100%;height:100%}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.table{display:table}.aspect-4\/3{aspect-ratio:4/3}.aspect-\[3\/2\]{aspect-ratio:3/2}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-3{height:calc(var(--spacing)*3)}.h-12{height:calc(var(--spacing)*12)}.h-auto{height:auto}.h-full{height:100%}.max-h-\[76vh\]{max-height:76vh}.w-3{width:calc(var(--spacing)*3)}.w-12{width:calc(var(--spacing)*12)}.w-\[min\(40rem\,calc\(100vw-3rem\)\)\]{width:min(40rem,100vw - 3rem)}.w-\[min\(var\(--page-max\)\,calc\(100\%_-_\(var\(--page-gutter\)_\*_2\)\)\)\]{width:min(var(--page-max),calc(100% - (var(--page-gutter)*2)))}.w-full{width:100%}.max-w-\[var\(--max-w-prose\)\]{max-width:var(--max-w-prose)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.scroll-mt-28{scroll-margin-top:calc(var(--spacing)*28)}.list-\[square\]{list-style-type:square}.list-decimal{list-style-type:decimal}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-\[clamp\(0\.75rem\,2vw\,1\.35rem\)\]{gap:clamp(.75rem,2vw,1.35rem)}.gap-x-8{column-gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-card{background-color:var(--color-card)}.bg-card\/95{background-color:color-mix(in oklab,var(--color-card)95%,transparent)}.bg-foreground{background-color:var(--color-foreground)}.bg-muted\/40{background-color:color-mix(in oklab,var(--color-muted)40%,transparent)}.bg-secondary{background-color:var(--color-secondary)}.bg-secondary\/45{background-color:color-mix(in oklab,var(--color-secondary)45%,transparent)}.bg-transparent{background-color:#0000}.bg-linear-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--color-background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-\[clamp\(1\.75rem\,6vw\,5rem\)\]{padding-top:clamp(1.75rem,6vw,5rem)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-\[clamp\(2\.25rem\,7vw\,5rem\)\]{padding-bottom:clamp(2.25rem,7vw,5rem)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-prose-3xl{padding-left:var(--spacing-prose-3xl)}.font-body{font-family:var(--font-body)}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[length\:var\(--font-size-base\)\]{font-size:var(--font-size-base)}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[var\(--font-body\)\]{--tw-font-weight:var(--font-body);font-weight:var(--font-body)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--color-background)}.text-foreground{color:var(--color-foreground)}.text-foreground\/80{color:color-mix(in oklab,var(--color-foreground)80%,transparent)}.text-foreground\/90{color:color-mix(in oklab,var(--color-foreground)90%,transparent)}.text-inherit{color:inherit}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-90{opacity:.9}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}}.marker\:font-mono ::marker{font-family:var(--font-mono)}.marker\:font-mono::marker{font-family:var(--font-mono)}.marker\:text-\[var\(--text-marker\)\] ::marker{color:var(--text-marker)}.marker\:text-\[var\(--text-marker\)\]::marker{color:var(--text-marker)}.marker\:text-\[var\(--text-marker-sm\)\] ::marker{color:var(--text-marker-sm)}.marker\:text-\[var\(--text-marker-sm\)\]::marker{color:var(--text-marker-sm)}.marker\:text-muted-foreground ::marker{color:var(--color-muted-foreground)}.marker\:text-muted-foreground::marker{color:var(--color-muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:bottom-\[-2px\]:before{content:var(--tw-content);bottom:-2px}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:hidden:before{content:var(--tw-content);display:none}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:bg-current\/10:before{content:var(--tw-content);background-color:color-mix(in oklab,currentColor 10%,transparent)}.before\:transition-colors:before{content:var(--tw-content);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:duration-200:before{content:var(--tw-content);--tw-duration:.2s;transition-duration:.2s}.first\:pt-0:first-child{padding-top:calc(var(--spacing)*0)}.first-of-type\:mt-0:first-of-type{margin-top:calc(var(--spacing)*0)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-secondary\/70:hover{background-color:color-mix(in oklab,var(--color-secondary)70%,transparent)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:before\:bg-accent:hover:before{content:var(--tw-content);background-color:var(--color-accent)}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)40%,transparent)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)50%,transparent)}.focus-visible\:ring-ring\/65:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-ring)65%,transparent)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline:focus-visible,.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-ring\/50:focus-visible{outline-color:color-mix(in oklab,var(--color-ring)50%,transparent)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-55:disabled{opacity:.55}@media(width>=40rem){.sm\:flex{display:flex}.sm\:max-h-\[78vh\]{max-height:78vh}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:justify-self-start{justify-self:flex-start}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:pt-8{padding-top:calc(var(--spacing)*8)}.sm\:pb-8{padding-bottom:calc(var(--spacing)*8)}.sm\:pb-10{padding-bottom:calc(var(--spacing)*10)}.sm\:text-right{text-align:right}}@media(width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:-mx-8{margin-inline:calc(var(--spacing)*-8)}.md\:my-14{margin-block:calc(var(--spacing)*14)}.md\:my-16{margin-block:calc(var(--spacing)*16)}.md\:mt-12{margin-top:calc(var(--spacing)*12)}.md\:mt-18{margin-top:calc(var(--spacing)*18)}.md\:mt-20{margin-top:calc(var(--spacing)*20)}.md\:mb-8{margin-bottom:calc(var(--spacing)*8)}.md\:flex{display:flex}.md\:w-\[min\(48rem\,calc\(100vw-6rem\)\)\]{width:min(48rem,100vw - 6rem)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:gap-10{gap:calc(var(--spacing)*10)}.md\:px-8{padding-inline:calc(var(--spacing)*8)}}@media(width>=64rem){.lg\:-mx-12{margin-inline:calc(var(--spacing)*-12)}.lg\:my-20{margin-block:calc(var(--spacing)*20)}.lg\:mt-10{margin-top:calc(var(--spacing)*10)}.lg\:max-h-\[82vh\]{max-height:82vh}:where(.lg\:space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*16)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*16)*calc(1 - var(--tw-space-y-reverse)))}.lg\:px-12{padding-inline:calc(var(--spacing)*12)}}@media(hover:hover){.hover-hover\:flex{display:flex}}.\[\&_a\]\:text-foreground\/90 a{color:color-mix(in oklab,var(--color-foreground)90%,transparent)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:decoration-muted-foreground\/50 a{-webkit-text-decoration-color:color-mix(in oklab,var(--color-muted-foreground)50%,transparent);text-decoration-color:color-mix(in oklab,var(--color-muted-foreground)50%,transparent)}.\[\&_a\]\:decoration-dotted a{text-decoration-style:dotted}.\[\&_a\:hover\]\:text-foreground a:hover{color:var(--color-foreground)}.\[\&_a\:hover\]\:decoration-muted-foreground a:hover{-webkit-text-decoration-color:var(--color-muted-foreground);text-decoration-color:var(--color-muted-foreground)}.\[\&_code\]\:rounded-none code{border-radius:0}.\[\&_code\]\:bg-muted\/40 code{background-color:color-mix(in oklab,var(--color-muted)40%,transparent)}.\[\&_code\]\:px-1 code{padding-inline:calc(var(--spacing)*1)}.\[\&_code\]\:py-0\.5 code{padding-block:calc(var(--spacing)*.5)}.\[\&_code\]\:font-mono code{font-family:var(--font-mono)}.\[\&_code\]\:text-\[var\(--text-marker-md\)\] code{color:var(--text-marker-md)}.\[\&_li\]\:mt-1 li{margin-top:calc(var(--spacing)*1)}.\[\&_ol\]\:mt-3 ol{margin-top:calc(var(--spacing)*3)}.\[\&_ol\]\:mb-0 ol{margin-bottom:calc(var(--spacing)*0)}.\[\&_ol\]\:ml-0 ol{margin-left:calc(var(--spacing)*0)}.\[\&_ol\]\:ml-6 ol{margin-left:calc(var(--spacing)*6)}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}.\[\&_ol\]\:pl-6 ol{padding-left:calc(var(--spacing)*6)}.\[\&_p\]\:mt-3 p{margin-top:calc(var(--spacing)*3)}.\[\&_p\:first-child\]\:mt-0 p:first-child{margin-top:calc(var(--spacing)*0)}.\[\&_strong\]\:text-foreground strong{color:var(--color-foreground)}.\[\&_ul\]\:mt-3 ul{margin-top:calc(var(--spacing)*3)}.\[\&_ul\]\:mb-0 ul{margin-bottom:calc(var(--spacing)*0)}.\[\&_ul\]\:ml-0 ul{margin-left:calc(var(--spacing)*0)}.\[\&_ul\]\:ml-6 ul{margin-left:calc(var(--spacing)*6)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-6 ul{padding-left:calc(var(--spacing)*6)}.\[\&\>li\]\:my-1>li{margin-block:calc(var(--spacing)*1)}.\[\&\>li\]\:pl-1>li{padding-left:calc(var(--spacing)*1)}.\[\&\>li\]\:leading-relaxed>li{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/hanken-grotesk/hanken-grotesk-latin-wght-normal.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/hanken-grotesk/hanken-grotesk-latin-ext-wght-normal.woff2)format("woff2");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:Hanken Grotesk;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/hanken-grotesk/hanken-grotesk-latin-wght-italic.woff2)format("woff2");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:Hanken Grotesk;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/hanken-grotesk/hanken-grotesk-latin-ext-wght-italic.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2)format("woff2");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-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-400-normal.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2)format("woff2");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-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-500-normal.woff2)format("woff2");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:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-italic.woff2)format("woff2");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:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-400-italic.woff2)format("woff2");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;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader/newsreader-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans/instrument-sans-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Host Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/host-grotesk/host-grotesk-latin-wght-normal.woff2)format("woff2");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:Host Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/host-grotesk/host-grotesk-latin-ext-wght-normal.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono/geist-mono-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:Michroma;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/michroma/michroma-latin-400-normal.woff2)format("woff2")}:root{--t-xs:var(--font-size-xs);--t-sm:var(--font-size-sm);--t-base:var(--font-size-base);--t-lg:var(--font-size-lg);--t-xl:var(--font-size-xl);--t-2xl:var(--font-size-2xl);--t-3xl:var(--font-size-3xl);--t-4xl:var(--font-size-4xl);--t-5xl:var(--font-size-5xl);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:28px;--s-8:32px;--s-10:40px;--s-12:48px;--s-14:56px;--s-16:64px;--s-20:80px;--s-24:96px;--s-32:128px;--s-40:160px;--measure:var(--page-max);--gutter:var(--page-gutter);--paper:hsl(var(--background));--ink:hsl(var(--foreground));--faint:hsl(var(--muted-foreground));--rule:hsl(var(--border)/.44);--rule-strong:hsl(var(--border-strong)/.82);--link:hsl(var(--accent));--tag-bg:hsl(var(--secondary));--surface:hsl(var(--card));--surface-soft:hsl(var(--card)/.55);--wash:hsl(var(--foreground)/.04);--wash-strong:hsl(var(--foreground)/.07);--lh-display:1;--lh-tight:1.08;--lh-heading:1.16}body:after{content:"";z-index:80;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}.dark body:after{opacity:.06;mix-blend-mode:screen}@media(width<=900px){body:after{display:none}}.flow{grid-template-columns:[full-start]minmax(var(--gutter),1fr)[wide-start]minmax(0,calc((var(--measure-wide) - var(--measure))/2))[text-start]min(var(--measure),calc(100% - var(--gutter)*2))[text-end]minmax(0,calc((var(--measure-wide) - var(--measure))/2))[wide-end]minmax(var(--gutter),1fr)[full-end];display:grid}.flow>*{grid-column:text}.flow>.wide{grid-column:wide;width:100%}.flow>.full{grid-column:full;width:100%}.page-wrap{flex-direction:column;flex:1 0 auto;display:flex}.page{flex:1 0 auto;width:100%}body[data-project-theme=walletjump]{--project-canvas:#eef6f1}.dark body[data-project-theme=walletjump]{--project-canvas:#0e1512}body[data-project-theme=walletjump] .page-wrap{background-color:var(--project-canvas)}body[data-project-theme=walletjump] main#content{padding-top:0}body[data-project-theme=walletjump] .wj-case{margin-top:clamp(.75rem,1.5vw,1.25rem)}.brand{min-height:24px;color:hsl(var(--foreground));font-size:var(--t-base);letter-spacing:-.02em;white-space:nowrap;transition:color .18s ease,transform .36s var(--ease-out-strong);align-items:center;gap:0;margin-right:auto;font-weight:600;display:inline-flex;position:relative}.brand:after{content:"";opacity:.46;transform-origin:100%;height:1px;transition:transform .36s var(--ease-out-strong);background:currentColor;position:absolute;bottom:-.2rem;left:0;right:0;transform:scaleX(0)}.brand:is(:hover,:focus-visible):after{transform-origin:0;transform:scaleX(1)}.nav{gap:var(--s-5);flex-wrap:wrap;align-items:baseline;display:flex}.nav a{min-width:24px;min-height:24px;color:hsl(var(--muted-foreground));line-height:24px;font-size:var(--t-sm);letter-spacing:-.005em;transition:color .18s ease,transform .36s var(--ease-out-strong);white-space:nowrap;margin-block:-.5rem;padding-block:.5rem;font-weight:500;display:inline-block;position:relative}.nav a:hover,.nav a[aria-current=page]{color:hsl(var(--foreground))}.nav a:after,.site-text-link__label:after{content:"";opacity:.5;transform-origin:100%;height:1.5px;transition:transform .36s var(--ease-out-strong);background:currentColor;position:absolute;bottom:.45rem;left:0;right:0;transform:scaleX(0)}.nav a:is(:hover,:focus-visible):after,.site-text-link:is(:hover,:focus-visible) .site-text-link__label:after,.nav a[aria-current=page]:after{opacity:.82;transform-origin:0;transform:scaleX(1)}.nav a[aria-current=page]:after{opacity:1}@media(hover:hover)and (pointer:fine){.brand:is(:hover,:focus-visible),.nav a:is(:hover,:focus-visible),.site-text-link:is(:hover,:focus-visible){transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.brand,.brand:after,.nav a,.nav a:after{transition:color .12s,opacity .12s}.brand:is(:hover,:focus-visible),.nav a:is(:hover,:focus-visible){transform:none}}.muted{color:hsl(var(--muted-foreground))}.figure{margin-top:var(--s-10);margin-bottom:var(--s-10)}.flow>.wide .figcaption,.flow>.full .figcaption{padding:0 var(--gutter)}@media(prefers-reduced-motion:no-preference){[data-hero]:not(.home-page)>:nth-child(-n+5){animation:hero-rise .64s var(--ease-out-strong)both}[data-hero]>:first-child{animation-delay:0s}[data-hero]>:nth-child(2){animation-delay:70ms}[data-hero]>:nth-child(3){animation-delay:.14s}[data-hero]>:nth-child(4){animation-delay:.22s}[data-hero]>:nth-child(5){animation-delay:.3s}@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}@supports (animation-timeline:scroll()){@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@media(width<=900px){::view-transition-group(*){mix-blend-mode:normal;animation:none}::view-transition-old(*){mix-blend-mode:normal;animation:none}::view-transition-new(*){mix-blend-mode:normal;animation:none}}@media(prefers-reduced-motion:reduce){::view-transition-group(*){mix-blend-mode:normal;animation:none}::view-transition-old(*){mix-blend-mode:normal;animation:none}::view-transition-new(*){mix-blend-mode:normal;animation:none}}@media(width<=720px){:root{--font-size-2xl:1.75rem;--font-size-3xl:2rem}main#content{padding-top:var(--s-4)}}@media(width<=540px){.brand{flex:none}}.prose{color:hsl(var(--foreground));font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.prose>*+*{margin-top:24px}.prose h2{color:hsl(var(--foreground));font-size:var(--font-size-base);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--line-height-snug);margin-top:48px}.prose h3{color:hsl(var(--foreground));font-size:var(--font-size-base);letter-spacing:var(--tracking-tight);margin-top:32px;font-weight:700}.prose ul,.prose ol{padding-left:1.2em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:var(--s-2)}.prose li::marker{color:var(--faint)}.prose blockquote{margin-block:var(--s-10);padding-left:var(--s-6);color:hsl(var(--foreground));font-size:var(--t-lg);font-style:italic;line-height:1.5}.prose a{color:hsl(var(--accent));text-underline-offset:.16em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;transition:opacity .18s,text-decoration-thickness .2s}.prose a:hover{opacity:.85;text-decoration-thickness:2px}.figcaption{max-width:38rem;color:hsl(var(--muted-foreground));font-size:var(--font-size-2xs);margin-top:12px;line-height:1.6}main#content{padding-top:40px}.page-lede{max-width:32rem;margin-top:var(--s-5)}.page-content{margin-top:var(--s-8)}.section{padding-top:64px}.section__head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.section__title{color:hsl(var(--muted-foreground));font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.index-row{--index-row-pad-top:var(--s-7);padding:var(--index-row-pad-top)var(--s-4)var(--s-7);margin-inline:calc(var(--s-4)*-1);color:inherit;border-radius:8px;text-decoration:none;transition:background .2s;display:block}.old-articles .index-row:hover,.old-articles .index-row:focus-visible{background:var(--wash)}.old-articles .index-row.index-row--arrow{--old-articles-hover-arrow-width:calc(2.8rem + 1.02em + var(--s-2) + var(--s-1));position:relative;overflow:visible}.old-articles .index-row.index-row--arrow>.index-row__line-arrow{align-items:center;gap:var(--s-2);color:hsl(var(--muted-foreground));opacity:.62;right:var(--s-4);top:calc(var(--index-row-pad-top) + .83em);z-index:2;pointer-events:none;flex:none;margin-left:auto;transition:color .18s,opacity .18s;display:inline-flex;position:absolute;overflow:visible;transform:translateY(-50%)}.old-articles .index-row--arrow:hover .index-row__line-arrow,.old-articles .index-row--arrow:focus-visible .index-row__line-arrow{color:hsl(var(--accent));opacity:1}@media(prefers-reduced-motion:reduce){.index-row--arrow,.index-row--arrow .index-row__line-arrow{transition:none}}.quote-list{gap:var(--s-10);margin:0;padding:0;list-style:none;display:grid}.quote{padding:0}.quote__who{color:var(--faint);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.quote__text{max-width:34rem;margin:var(--s-2)0 0;color:hsl(var(--foreground));font-size:var(--font-size-base);line-height:1.65}.work-specs__stack-list{max-width:44rem;margin-top:var(--s-2)}.skills__logo--text{color:hsl(var(--foreground));font-size:var(--text-marker-sm);letter-spacing:.02em;font-weight:700}figcaption.text-xs{font-size:var(--font-size-2xs);letter-spacing:normal;text-transform:none;font-weight:400}.video-block{margin:var(--s-10)0}.video-block__frame{aspect-ratio:16/9;background:hsl(var(--muted)/.4);border-radius:8px;width:100%;margin:0;overflow:hidden}.work-detail .video-block__frame{border:1px solid var(--rule);border-radius:0}.video-block__frame iframe{border:0;width:100%;height:100%;display:block}.video-block__facade{background:hsl(var(--muted));width:100%;height:100%;font:inherit;cursor:pointer;border:0;padding:0;display:block;position:relative}.video-block__facade:focus-visible{outline-offset:-3px;outline-width:3px}.video-block__facade img{object-fit:cover;width:100%;height:100%;display:block}.video-block__play{background:var(--sp-blue);width:64px;height:64px;color:var(--sp-blue-ink);border-radius:999px;place-items:center;transition:transform .16s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #00000047}.video-block__play svg{margin-left:3px}.video-block__facade:hover .video-block__play,.video-block__facade:focus-visible .video-block__play{transform:translate(-50%,-50%)scale(1.06)}.video-block__notice{left:var(--s-3);bottom:var(--s-3);max-width:calc(100% - 2*var(--s-3));color:#fff;font-size:var(--font-size-2xs);text-align:left;background:#131518db;border-radius:6px;padding:6px 10px;line-height:1.4;position:absolute}.video-block__alt{padding-top:var(--s-2);color:hsl(var(--muted-foreground));font-size:var(--font-size-2xs);text-align:center;margin:0;line-height:1.45}.video-block__alt a{color:inherit;font-size:inherit;text-underline-offset:2px;text-decoration:underline}.video-block__caption{padding-top:var(--s-2);color:hsl(var(--muted-foreground));font-size:var(--font-size-2xs);text-align:center;line-height:1.45}.video-block__caption p{color:inherit;font-size:inherit;line-height:inherit;margin:0}.video-block__caption p:first-child{color:hsl(var(--foreground));font-weight:600}.principles{counter-reset:p;gap:var(--s-6);padding:0;list-style:none;display:grid}.principles li{counter-increment:p;gap:var(--s-4);font-size:var(--t-base);letter-spacing:var(--tracking-tight);grid-template-columns:2.5rem 1fr;align-items:baseline;display:grid}.principles li:before{content:counter(p,decimal-leading-zero);color:var(--faint);font-size:var(--t-xs);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-weight:600}.cv-row{gap:var(--s-6);padding:var(--s-5)0;grid-template-columns:8rem 1fr;display:grid}.cv-row[id]{scroll-margin-top:calc(5rem + env(safe-area-inset-top,0px))}.cv-row__when{color:var(--faint);font-size:var(--t-sm);font-variant-numeric:tabular-nums;padding-top:3px}.cv-row__logo{--cv-logo-height:1.72rem;--cv-logo-slot-height:2.15rem;--cv-logo-width:9.75rem;--cv-logo-mark-size:1.86rem;width:min(var(--cv-logo-width),100%);height:var(--cv-logo-slot-height);margin-bottom:var(--s-3);color:hsl(var(--foreground));justify-content:flex-start;align-items:center;display:flex}.cv-row__logo-img{width:auto;max-width:100%;height:auto;max-height:var(--cv-logo-height);object-fit:contain;object-position:left center;display:block}.cv-row__logo-img--dark,.dark .cv-row__logo-img--light{display:none}.dark .cv-row__logo-img--dark{display:block}.cv-row__logo--mark .cv-row__logo-img{width:var(--cv-logo-mark-size);height:var(--cv-logo-mark-size);max-height:var(--cv-logo-mark-size);border-radius:.45rem}.cv-row__logo-word{height:1.9rem;color:var(--cv-row-logo-color,hsl(var(--foreground)));font-size:var(--font-size-md);letter-spacing:0;white-space:nowrap;align-items:center;font-weight:750;line-height:1;display:inline-flex}.cv-row__logo--themesdev{--cv-logo-mark-size:1.95rem}.cv-row__logo--fitbrand{--cv-logo-height:1.48rem;--cv-logo-width:7.85rem}.cv-row__logo--ideefix{--cv-logo-height:2.62rem;--cv-logo-slot-height:2.7rem;--cv-logo-width:4.7rem}.cv-row__logo--dbk{--cv-logo-height:1.58rem;--cv-logo-width:5.25rem}.cv-row__role{font-size:var(--t-lg);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--line-height-snug)}.cv-row__where{color:hsl(var(--muted-foreground));font-size:var(--t-sm);margin-top:2px}.cv-row__meta{color:var(--faint);font-size:var(--font-size-xs);margin-top:var(--s-1);line-height:1.45}.cv-row__note{color:hsl(var(--muted-foreground));font-size:var(--t-sm);margin-top:var(--s-2);max-width:32rem}.resume-callout{gap:var(--s-3);margin-top:var(--s-16);padding:0 0 var(--s-4);background:0 0;grid-template-columns:1fr;display:grid}.resume-callout+.section{padding-top:var(--s-20)}.resume-callout .section__head{margin-bottom:0}.resume-callout__body{min-width:0}.resume-callout__list{gap:var(--s-5)var(--s-8);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.resume-callout__list li{align-items:flex-start;gap:var(--s-3);color:hsl(var(--muted-foreground));font-size:var(--t-sm);line-height:1.6;display:flex}.resume-callout__icon{width:1.45rem;height:1.45rem;color:hsl(var(--accent));fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:.04em}.skills{gap:var(--s-2)var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.skills li{align-items:center;gap:var(--s-2);background:var(--tag-bg);min-height:34px;color:hsl(var(--foreground));font-size:var(--font-size-xs);border-radius:999px;padding:4px 12px 4px 6px;font-weight:600;line-height:1;display:inline-flex}.skills__logo{background:hsl(var(--foreground)/.08);border-radius:999px;place-items:center;width:22px;height:22px;display:inline-grid;overflow:hidden}.skills__logo img{object-fit:contain;width:14px;height:14px}.skills__logo--dark-mark{background:hsl(var(--foreground)/.88);box-shadow:inset 0 0 0 1px hsl(var(--background)/.18)}.skills__logo--dark-mark img{filter:brightness(0)invert()}.dark .skills__logo--dark-mark{background:hsl(var(--foreground)/.9)}.dark .skills__logo--dark-mark img{filter:brightness(0)}@media(width<=720px){.cv-row{gap:var(--s-1);grid-template-columns:1fr}.cv-row__role{font-size:var(--t-base)}.resume-callout{gap:var(--s-3);padding:0 0 var(--s-5)}.resume-callout__list{grid-template-columns:1fr}.flow>.wide .figcaption,.flow>.full .figcaption{padding:0}.video-block{margin:var(--s-8)0}.video-block__play{width:52px;height:52px}.video-block__notice{left:var(--s-2);bottom:var(--s-2);max-width:calc(100% - 2*var(--s-2))}.video-block__caption{padding-top:var(--s-1);text-align:left}}[data-fs-reveal=slide-left]:not(.fs-visible){opacity:0}[data-fs-reveal=slide-left].fs-visible{opacity:1;animation:fs-slide-in-left .6s var(--ease-out-strong)both}[data-fs-reveal=slide-right]:not(.fs-visible){opacity:0}[data-fs-reveal=slide-right].fs-visible{opacity:1;animation:fs-slide-in-right .6s var(--ease-out-strong)both}[data-fs-reveal=scale]:not(.fs-visible){opacity:0}[data-fs-reveal=scale].fs-visible{opacity:1;animation:fs-scale-in .5s var(--ease-out-strong)both}[data-fs-reveal]:not(.fs-visible){opacity:0}[data-fs-reveal].fs-visible{opacity:1;animation:.5s ease-out both fs-fade-up}[data-fs-reveal=fade].fs-visible{animation:.4s ease-out both fs-fade-in}[data-fs-reveal].fs-visible{animation-delay:var(--fs-delay,var(--stagger-delay,0s))}@keyframes fs-fade-up{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}@keyframes fs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fs-slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fs-slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fs-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:root{--site-wide:92rem;--site-ultra-wide:112rem;--site-home-wide:104rem;--site-shell-gutter:clamp(1.25rem,3.4vw,3.75rem);--site-shell-width: calc(100% - clamp(2.5rem,6.8vw,7.5rem)) ;--site-paper:#f6f3ec;--site-signal:#ded9cf;--site-signal-soft:#ece8df;--site-ink:#171714;--site-ink-muted:#171714b3;--site-muted:#625f58;--site-rule:#c8c2b7;--site-inverse:#111210;--site-inverse-deep:#050604;--site-cream:#f4f0e8;--site-accent:#6b5fa3}.dark{--site-accent:#9086c9}.brand{font-size:clamp(1rem,1.15vw,1.2rem);font-weight:700}.nav{gap:clamp(1rem,2vw,2rem)}.nav a{font-size:clamp(.86rem,.95vw,1rem)}.site-text-link{align-items:center;gap:var(--space-1);min-height:44px;color:hsl(var(--muted-foreground));transition:color .18s ease,transform .36s var(--ease-out-strong);text-decoration:none;display:inline-flex}.site-text-link__label{position:relative}.site-text-link .site-text-link__label:after{bottom:-.2em}.site-text-link:is(:hover,:focus-visible){color:hsl(var(--foreground))}@media(prefers-reduced-motion:reduce){.site-text-link,.site-text-link__label:after{transition:none}.site-text-link:is(:hover,:focus-visible){transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}:root{--sp-paper: #f2f3ef;--sp-surface: #ffffff;--sp-sunk: #e7e9e3;--sp-ink: #131518;--sp-graphite: #5c6168;--sp-rule: #d7d9d3;--sp-blue: #2740f2;--sp-blue-ink: #ffffff;--sp-sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--sp-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sp-max: 1360px;--sp-gutter: clamp(20px, 4vw, 56px);--sp-radius: 14px;--sp-radius-sm: 8px;--sp-fs-hero: clamp(2.5rem, 6.2vw, 6rem);--sp-fs-h2: clamp(1.75rem, 3.2vw, 2.75rem);--sp-fs-h3: clamp(1.25rem, 1.6vw, 1.5rem);--sp-fs-lede: clamp(1.125rem, 1.45vw, 1.375rem);--sp-fs-body: 1.0625rem;--sp-fs-small: .9375rem;--sp-fs-data: .8125rem;--sp-section: clamp(72px, 10vw, 144px);--background: 75 12% 94%;--foreground: 216 12% 8%;--card: 0 0% 100%;--card-foreground: 216 12% 8%;--popover: 0 0% 100%;--popover-foreground: 216 12% 8%;--primary: 216 12% 8%;--primary-foreground: 75 12% 94%;--secondary: 80 9% 90%;--secondary-foreground: 216 12% 8%;--muted: 80 9% 90%;--muted-foreground: 214 6% 39%;--accent: 233 89% 55%;--accent-foreground: 0 0% 100%;--border: 80 7% 84%;--border-strong: 80 5% 72%;--input: 80 7% 84%;--ring: 233 89% 55%;--font-display-stack: var(--sp-sans);--font-body-stack: var(--sp-sans);--font-mono-stack: var(--sp-mono);--site-accent: var(--sp-blue)}.dark{--sp-paper: #0f1113;--sp-surface: #171a1d;--sp-sunk: #1d2124;--sp-ink: #ecede9;--sp-graphite: #9aa0a6;--sp-rule: #2a2e33;--sp-blue: #8c9bff;--sp-blue-ink: #0f1113;--background: 210 12% 7%;--foreground: 75 9% 92%;--card: 210 12% 10%;--card-foreground: 75 9% 92%;--popover: 210 12% 10%;--popover-foreground: 75 9% 92%;--primary: 75 9% 92%;--primary-foreground: 210 12% 7%;--secondary: 210 10% 13%;--secondary-foreground: 75 9% 92%;--muted: 210 10% 13%;--muted-foreground: 210 6% 63%;--accent: 233 100% 77%;--accent-foreground: 210 12% 7%;--border: 213 10% 18%;--border-strong: 213 8% 28%;--input: 213 10% 18%;--ring: 233 100% 77%}html{background:var(--sp-paper);color:var(--sp-ink)}body{background:var(--sp-paper)!important;color:var(--sp-ink);font-family:var(--sp-sans);font-size:var(--sp-fs-body);line-height:1.55;font-feature-settings:"ss01","cv11";display:flex;flex-direction:column;min-height:100vh}body:after{content:none!important;display:none!important}::selection{background:var(--sp-blue);color:var(--sp-blue-ink)}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--sp-blue);outline-offset:3px;border-radius:4px}.page-wrap{flex:1 0 auto;display:flex;flex-direction:column;background:transparent!important}.sp-wrap{width:min(var(--sp-max),calc(100% - var(--sp-gutter) * 2));margin-inline:auto}.sp-main{flex:1 0 auto}.sp-data{font-family:var(--sp-mono);font-size:var(--sp-fs-data);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--sp-graphite)}.sp-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--sp-blue) 55%,transparent);text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:color .16s ease,text-decoration-color .16s ease}.sp-link:hover{color:var(--sp-blue);text-decoration-color:var(--sp-blue)}.sp-arrow{display:inline-flex;align-items:center;gap:.4em;color:var(--sp-ink);font-weight:500;text-decoration:none}.sp-arrow span{transition:transform .2s ease}.sp-arrow:hover{color:var(--sp-blue)}.sp-arrow:hover span{transform:translate(3px)}.sp-button{display:inline-flex;align-items:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:999px;background:var(--sp-ink);color:var(--sp-paper);font-weight:500;font-size:1rem;text-decoration:none;transition:background-color .18s ease,color .18s ease}.sp-button:hover{background:var(--sp-blue);color:var(--sp-blue-ink)}.sp-button--ghost{background:transparent;color:var(--sp-ink);box-shadow:inset 0 0 0 1px var(--sp-rule)}.sp-button--ghost:hover{background:var(--sp-surface);color:var(--sp-ink);box-shadow:inset 0 0 0 1px var(--sp-ink)}.sp-status{display:inline-flex;align-items:center;gap:8px}.sp-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sp-blue);flex:none}.sp-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--sp-paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s ease}.sp-head[data-scrolled]{border-bottom-color:var(--sp-rule)}.sp-head__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding-top:env(safe-area-inset-top,0px)}.sp-brand{display:inline-flex;align-items:center;gap:10px;color:var(--sp-ink);text-decoration:none;font-weight:600;font-size:1.0625rem;letter-spacing:-.01em}.sp-brand img{width:30px;height:30px;border-radius:50%;object-fit:cover}.sp-nav{display:flex;align-items:center;gap:4px}.sp-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:999px;color:var(--sp-graphite);text-decoration:none;font-size:var(--sp-fs-small);font-weight:500;transition:color .16s ease,background-color .16s ease}.sp-nav a:hover,.sp-nav a[aria-current=page]{color:var(--sp-ink);background:var(--sp-sunk)}.sp-nav .sp-nav__cta{margin-left:8px;background:var(--sp-ink);color:var(--sp-paper)}.sp-nav .sp-nav__cta:hover{background:var(--sp-blue);color:var(--sp-blue-ink)}.sp-menu{display:none}@media(max-width:820px){.sp-nav{display:none}.sp-menu{display:block;position:relative}.sp-menu summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--sp-rule);font-weight:500;font-size:var(--sp-fs-small);cursor:pointer}.sp-menu summary::-webkit-details-marker{display:none}.sp-menu[open] summary{background:var(--sp-ink);color:var(--sp-paper);box-shadow:none}.sp-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:8px;border-radius:var(--sp-radius);background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule),0 18px 40px -16px #00000040;display:grid}.sp-menu__panel a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--sp-radius-sm);color:var(--sp-ink);text-decoration:none;font-weight:500}.sp-menu__panel a:hover,.sp-menu__panel a[aria-current=page]{background:var(--sp-sunk)}}.sp-section{padding-top:var(--sp-section)}.sp-section__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 32px;margin-bottom:clamp(28px,4vw,48px)}.sp-h2{margin:0;font-size:var(--sp-fs-h2);font-weight:600;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}.sp-section__intro{grid-column:1 / -1;max-width:40rem;margin:0;color:var(--sp-graphite);font-size:var(--sp-fs-lede);line-height:1.45;text-wrap:pretty}.sp-hero{padding-top:clamp(48px,9vw,128px)}.sp-hero__title{margin:0;max-width:17em;font-size:var(--sp-fs-hero);font-weight:600;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.sp-inline{color:inherit;text-decoration:none}.sp-tail{white-space:nowrap}.sp-inline__name{background-image:linear-gradient(var(--sp-blue),var(--sp-blue));background-size:0% .07em;background-position:0 92%;background-repeat:no-repeat;transition:background-size .26s ease,color .16s ease}.sp-inline:hover .sp-inline__name{background-size:100% .07em;color:var(--sp-blue)}.sp-thumb{display:inline-block;position:relative;width:1.55em;height:.92em;border-radius:.16em;overflow:hidden;vertical-align:-.08em;background:var(--sp-sunk);box-shadow:0 0 0 .03em color-mix(in srgb,var(--sp-ink) 14%,transparent);transform:rotate(var(--tilt, -3deg));transition:transform .26s cubic-bezier(.2,.8,.2,1)}.sp-thumb img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.sp-inline:hover .sp-thumb{transform:rotate(0) scale(1.12)}.sp-hero__foot{display:grid;grid-template-columns:minmax(0,36rem) auto;justify-content:space-between;align-items:end;gap:32px;margin-top:clamp(32px,5vw,64px)}.sp-hero__lede{margin:0;color:var(--sp-graphite);font-size:var(--sp-fs-lede);line-height:1.45;text-wrap:pretty}.sp-hero__lede strong{color:var(--sp-ink);font-weight:500}.sp-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sp-hero__status{margin:20px 0 0}@media(max-width:860px){.sp-hero__foot{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.sp-hero__title,.sp-hero__foot{animation:sp-rise .7s cubic-bezier(.2,.8,.2,1) both}.sp-hero__foot{animation-delay:.12s}.sp-hero .sp-thumb{animation:sp-drop .8s cubic-bezier(.2,.9,.25,1.2) both;animation-delay:.26s}.sp-hero .sp-inline:nth-of-type(2) .sp-thumb{animation-delay:.36s}}@keyframes sp-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes sp-drop{0%{opacity:0;transform:translateY(-.3em) rotate(-14deg) scale(.7)}to{opacity:1;transform:rotate(var(--tilt, -3deg))}}.sp-foot{margin-top:var(--sp-section);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.sp-foot__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:28px;color:var(--sp-graphite);font-size:var(--sp-fs-small)}.sp-foot__links{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}.sp-foot__links a{color:var(--sp-graphite);text-decoration:none}.sp-foot__links a:hover{color:var(--sp-ink)}.sp-foot__links button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:0;border-radius:999px;background:var(--sp-sunk);color:var(--sp-ink);font:inherit;cursor:pointer}.sp-pagehead{padding-top:clamp(48px,8vw,112px)}.sp-pagehead__title{margin:0;max-width:18em;font-size:clamp(2.25rem,5vw,4.5rem);font-weight:600;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.sp-pagehead__lede{margin:clamp(20px,2.5vw,32px) 0 0;max-width:38rem;color:var(--sp-graphite);font-size:var(--sp-fs-lede);line-height:1.45;text-wrap:pretty}.sp-section--tight{padding-top:clamp(56px,7vw,96px)}.sp-archive{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--sp-rule)}.sp-archive a{display:grid;grid-template-columns:4.5rem minmax(0,1.2fr) minmax(0,1fr) 1.5rem;align-items:baseline;gap:16px;padding:14px 0;border-top:1px solid var(--sp-rule);color:var(--sp-ink);text-decoration:none;transition:background-color .16s ease,padding .2s ease}.sp-archive__title{font-weight:500}.sp-archive__role{color:var(--sp-graphite);font-size:var(--sp-fs-small)}.sp-archive__go{color:var(--sp-blue);opacity:0;transition:opacity .16s ease,transform .2s ease}.sp-archive a:hover{background:var(--sp-sunk);padding-inline:12px}.sp-archive a:hover .sp-archive__go{opacity:1;transform:translate(2px)}@media(max-width:640px){.sp-archive a{grid-template-columns:3.25rem minmax(0,1fr);gap:2px 12px}.sp-archive__role{grid-column:2}.sp-archive__go{display:none}}.sp-case__head{padding-top:clamp(32px,5vw,72px)}.sp-case__back{font-size:var(--sp-fs-small);color:var(--sp-graphite)}.sp-case__back span{transition:transform .2s ease}.sp-case__back:hover span{transform:translate(-3px)}.sp-case__title{margin:clamp(24px,3vw,40px) 0 0;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:600;line-height:1;letter-spacing:-.05em;text-wrap:balance}.sp-case__lede{margin:24px 0 0;max-width:40rem;font-size:var(--sp-fs-lede);line-height:1.45;color:var(--sp-graphite);text-wrap:pretty}.sp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px 32px;margin:clamp(32px,4vw,48px) 0 0;padding-top:20px;border-top:1px solid var(--sp-rule)}.sp-facts dt{color:var(--sp-graphite);font-size:var(--sp-fs-small)}.sp-facts dd{margin:4px 0 0;font-weight:500}.sp-facts dd.sp-data{color:var(--sp-ink);font-size:.9375rem}.sp-shot{margin-top:clamp(32px,4vw,56px)}.sp-shot img{display:block;width:100%;height:auto;border-radius:var(--sp-radius);background:var(--sp-sunk);box-shadow:0 0 0 1px var(--sp-rule)}.sp-shot--tall{max-width:520px;margin-inline:auto}.sp-case__story{display:grid;gap:0;padding-top:clamp(48px,6vw,96px)}.sp-case__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px 48px;padding:28px 0;border-top:1px solid var(--sp-rule)}.sp-case__row h2{margin:0;font-size:var(--sp-fs-h3);font-weight:600;letter-spacing:-.02em}.sp-case__row p,.sp-case__row ul{margin:0;max-width:40rem;font-size:1.125rem;line-height:1.6;text-wrap:pretty}.sp-case__row ul{padding-left:1.1em;display:grid;gap:8px}.sp-case__row li::marker{color:var(--sp-blue)}.sp-case__gallery{padding-top:clamp(24px,3vw,40px)}.sp-case__proof{padding-top:clamp(48px,6vw,96px)}@media(max-width:760px){.sp-case__row{grid-template-columns:1fr}}.sp-timeline{margin:0;padding:0;list-style:none}.sp-timeline li{display:grid;grid-template-columns:5rem minmax(0,14rem) minmax(0,1fr);align-items:baseline;gap:8px 24px;padding:20px 0;border-top:1px solid var(--sp-rule)}.sp-timeline li:last-child{border-bottom:1px solid var(--sp-rule)}.sp-timeline__name{color:var(--sp-ink);font-size:var(--sp-fs-h3);font-weight:600;letter-spacing:-.02em;text-decoration:none}.sp-timeline__name:hover{color:var(--sp-blue)}.sp-timeline p{margin:0;color:var(--sp-graphite);max-width:36rem}@media(max-width:760px){.sp-timeline li{grid-template-columns:3.5rem minmax(0,1fr)}.sp-timeline p{grid-column:2}}.sp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px clamp(32px,6vw,96px);align-items:start}@media(max-width:860px){.sp-split{grid-template-columns:1fr}}.sp-prose p{margin:0 0 1.1em;font-size:1.1875rem;line-height:1.6;max-width:38rem;text-wrap:pretty}.sp-prose p:last-child{margin-bottom:0}.sp-contact{padding-top:clamp(32px,4vw,56px)}.sp-contact__mail{display:inline-flex;align-items:baseline;gap:.3em;color:var(--sp-ink);font-size:clamp(2rem,6vw,5rem);font-weight:600;letter-spacing:-.045em;line-height:1.05;text-decoration:none;overflow-wrap:anywhere}.sp-contact__mail span{color:var(--sp-blue);transition:transform .2s ease}.sp-contact__mail:hover{color:var(--sp-blue)}.sp-contact__mail:hover span{transform:translate(6px)}.sp-faq details{border-top:1px solid var(--sp-rule)}.sp-faq details:last-child{border-bottom:1px solid var(--sp-rule)}.sp-faq summary{display:flex;justify-content:space-between;gap:16px;padding:18px 0;list-style:none;cursor:pointer;font-weight:500;font-size:1.125rem}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq__icon{color:var(--sp-blue);font-family:var(--sp-mono);transition:transform .2s ease}.sp-faq details[open] .sp-faq__icon{transform:rotate(45deg)}.sp-faq details>div{padding:0 0 20px;color:var(--sp-graphite);max-width:38rem}.sp-faq details>div p{margin:0 0 .8em}.sp-body{padding-top:clamp(40px,5vw,72px)}.sp-body>*{max-width:52rem}.sp-body--legal>*{max-width:44rem}.sp-body .section{margin:0;padding:clamp(48px,6vw,80px) 0 0;border:0}.sp-body .section__head{margin:0 0 20px;padding:0;border:0}.sp-body .section__title{margin:0;font-family:var(--sp-sans);font-size:var(--sp-fs-h2);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-transform:none;color:var(--sp-ink)}.sp-body .cv-row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:8px 24px;padding:24px 0;border-top:1px solid var(--sp-rule);background:none;box-shadow:none}.sp-body .cv-row__when{font-family:var(--sp-mono);font-size:var(--sp-fs-data);color:var(--sp-graphite);text-transform:none;letter-spacing:0;padding-top:4px}.sp-body .cv-row__role{font-size:1.1875rem;font-weight:600;letter-spacing:-.015em;color:var(--sp-ink)}.sp-body .cv-row__where,.sp-body .cv-row__meta{color:var(--sp-graphite);font-size:var(--sp-fs-small);font-family:var(--sp-sans);text-transform:none;letter-spacing:0}.sp-body .cv-row__note{margin:10px 0 0;max-width:40rem;color:var(--sp-ink)}@media(max-width:640px){.sp-body .cv-row{grid-template-columns:1fr}}.sp-body .resume-callout__body{background:var(--sp-surface);border-radius:var(--sp-radius);box-shadow:0 0 0 1px var(--sp-rule);padding:clamp(20px,3vw,32px)}.sp-body .resume-callout__list{margin:0;padding:0;list-style:none;display:grid;gap:14px}.sp-body .resume-callout__list li{display:flex;gap:12px;align-items:flex-start}.sp-body .resume-callout__icon{width:20px;height:20px;flex:none;fill:none;stroke:var(--sp-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:none;margin-top:3px}.sp-body .skills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.sp-body .skills li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule);font-size:var(--sp-fs-small);font-family:var(--sp-sans);text-transform:none;letter-spacing:0}.sp-body .quote-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.sp-body .quote{padding:24px 0;border-top:1px solid var(--sp-rule);background:none;box-shadow:none}.sp-body .quote__text{margin:0;font-size:1.25rem;font-weight:500;line-height:1.35;letter-spacing:-.015em;color:var(--sp-ink)}.sp-body .quote__who{order:2;margin:12px 0 0;font-family:var(--sp-mono);font-size:var(--sp-fs-data);color:var(--sp-graphite);text-transform:none;letter-spacing:0}.sp-body .quote{display:flex;flex-direction:column}.sp-body .principles{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:0 32px;max-width:none}.sp-body .principles li{display:grid;grid-template-columns:1.5rem 1fr;padding:14px 0;border-top:1px solid var(--sp-rule);font-size:1.125rem;font-weight:500}.sp-body .principles li:before{content:"—";color:var(--sp-blue)}.sp-body .prose{font-family:var(--sp-sans);font-size:1.125rem;line-height:1.65;color:var(--sp-ink)}.sp-body .prose :where(h2,h3){font-family:var(--sp-sans);font-weight:600;letter-spacing:-.025em;color:var(--sp-ink);text-transform:none}.sp-body .prose a{color:inherit;text-decoration-color:var(--sp-blue);text-underline-offset:.2em}.sp-posts{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--sp-rule)}.sp-posts a{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:8px 24px;align-items:baseline;padding:22px 0;border-top:1px solid var(--sp-rule);color:var(--sp-ink);text-decoration:none}.sp-posts__text{display:grid;gap:6px;max-width:44rem}.sp-posts__title{font-size:var(--sp-fs-h3);font-weight:600;letter-spacing:-.02em;line-height:1.25;transition:color .16s ease}.sp-posts__desc{color:var(--sp-graphite)}.sp-posts a:hover .sp-posts__title{color:var(--sp-blue)}@media(max-width:640px){.sp-posts a{grid-template-columns:1fr}}:root{--sp-paper: #f6f2ea;--sp-surface: #fffdf8;--sp-sunk: #ece5d8;--sp-ink: #17140f;--sp-graphite: #6b6458;--sp-rule: #ddd4c4;--sp-blue: #c8561f;--sp-blue-ink: #fffdf8;--sp-green: #0f2a21;--sp-green-ink: #efe9dc;--sp-serif: "Newsreader", ui-serif, Georgia, serif;--background: 40 42% 94%;--foreground: 36 21% 7%;--card: 43 100% 99%;--muted: 39 28% 89%;--muted-foreground: 39 8% 39%;--border: 39 25% 82%;--accent: 20 73% 45%;--ring: 20 73% 45%}.dark{--sp-paper: #0c1813;--sp-surface: #12211b;--sp-sunk: #172a22;--sp-ink: #efe9dc;--sp-graphite: #a39d90;--sp-rule: #24362e;--sp-blue: #f0884a;--sp-blue-ink: #0c1813;--background: 153 33% 7%;--foreground: 40 38% 90%;--card: 155 29% 10%;--muted: 154 28% 13%;--muted-foreground: 40 6% 60%;--border: 152 20% 18%;--accent: 22 85% 62%;--ring: 22 85% 62%}.sp-hero__title,.sp-h2,.sp-pagehead__title,.sp-case__title,.sp-contact__mail{font-family:var(--sp-serif);font-weight:400;letter-spacing:-.025em}.sp-hero__title{line-height:1.04}.sp-status--live:before{background:#2f9e6b}.sp-status--alpha:before{background:var(--sp-blue)}.sp-status--sold:before{background:var(--sp-ink)}.sp-logowall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border-radius:var(--sp-radius);overflow:hidden;background:var(--sp-rule);box-shadow:0 0 0 1px var(--sp-rule)}.sp-logowall li{display:flex}.sp-logowall__item{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(88px,9vw,120px);padding:0 clamp(16px,2vw,28px);background:var(--sp-surface);transition:background-color .2s ease}a.sp-logowall__item:hover{background:var(--sp-paper)}.sp-logowall__img{max-width:100%;max-height:30px;width:auto;height:auto;filter:grayscale(1);opacity:.7;transition:filter .24s ease,opacity .24s ease}a.sp-logowall__item:hover .sp-logowall__img{filter:none;opacity:1}.sp-logowall__dark,.dark .sp-logowall__light{display:none}.dark .sp-logowall__dark{display:block}.dark .sp-logowall__mono{filter:grayscale(1) brightness(0) invert(1);opacity:.7}.dark a.sp-logowall__item:hover .sp-logowall__mono{filter:grayscale(1) brightness(0) invert(1);opacity:1}@media(max-width:1000px){.sp-logowall{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.sp-logowall{grid-template-columns:repeat(2,minmax(0,1fr))}}.sp-doodle{display:block;width:100%;height:100%;color:var(--sp-ink)}.sp-doodle__accent{fill:var(--sp-blue);opacity:.85}.sp-doodle__fill{fill:var(--sp-blue)}.sp-wj{display:inline-block;vertical-align:-.12em;margin-left:.15em}.sp-wj img{display:block;height:.95em;width:auto}.sp-wj__dark,.dark .sp-wj__light{display:none!important}.dark .sp-wj__dark{display:block!important}.sp-foot__bar{border-top:1px solid var(--sp-rule)}.sp-plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin:0;padding:0;list-style:none}.sp-pitem{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:20px 0;border-top:1px solid var(--sp-rule);color:var(--sp-ink);text-decoration:none}.sp-pitem__logo{display:block;width:56px;height:56px;border-radius:14px;overflow:hidden;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule);transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sp-pitem__logo img{display:block;width:100%;height:100%;object-fit:cover}.sp-pitem__logo--pad{padding:12px;background:#fff}.sp-pitem__logo--pad img{object-fit:contain}.sp-pitem:hover .sp-pitem__logo{transform:rotate(-4deg) scale(1.05)}.sp-pitem__text{display:grid;gap:4px;min-width:0}.sp-pitem__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px}.sp-pitem__name{font-weight:600;font-size:1.0625rem;letter-spacing:-.01em;transition:color .16s ease}.sp-pitem:hover .sp-pitem__name{color:var(--sp-blue)}.sp-pitem__desc{color:var(--sp-graphite);font-size:var(--sp-fs-small);line-height:1.45}.sp-pitem .sp-data{font-size:.75rem}@media(max-width:1000px){.sp-plist{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sp-plist{grid-template-columns:1fr}}.sp-brand .logo-hover-mark{width:20px;height:22px}.sp-brand{gap:9px;font-weight:650;letter-spacing:-.03em}.sp-endcta{padding-bottom:clamp(48px,7vw,96px)}.sp-endcta__title{margin:0;max-width:22em;font-family:var(--sp-serif);font-weight:400;font-size:clamp(2rem,4.4vw,4.25rem);line-height:1.12;letter-spacing:-.03em;text-wrap:balance}.sp-ilogo{display:inline-block;vertical-align:-.06em;margin:0 .06em}.sp-ilogo img{display:block;height:.72em;width:auto}.sp-ilogo__dark,.dark .sp-ilogo__light{display:none!important}.dark .sp-ilogo__dark{display:block!important}.sp-story .sp-h2{margin-bottom:clamp(28px,4vw,48px)}.sp-story__body{max-width:980px}.sp-story__body:after{content:"";display:block;clear:both}.sp-story__p{margin:0 0 1.1em;font-size:clamp(1.25rem,1.9vw,1.625rem);line-height:1.5;letter-spacing:-.012em;color:var(--sp-ink);text-wrap:pretty}.sp-sticker{width:clamp(200px,22vw,260px);margin:.3em 0 1.2em;padding:14px 16px 16px;border-radius:16px;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule),0 18px 34px -24px #281e0a73;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-sticker:hover{transform:rotate(0) translateY(-4px)!important}.sp-sticker .sp-doodle{height:auto;aspect-ratio:240 / 150;margin-bottom:8px}.sp-sticker__title{margin:0;font-weight:600;font-size:1rem;letter-spacing:-.01em}.sp-sticker__tags{margin:2px 0 0;color:var(--sp-graphite);font-size:.8125rem;line-height:1.4}.sp-sticker--0{float:right;margin-left:clamp(20px,4vw,56px);transform:rotate(2.5deg);background:#fbeee4}.sp-sticker--1{float:left;margin-right:clamp(20px,4vw,56px);transform:rotate(-2deg)}.sp-sticker--2{float:right;margin-left:clamp(20px,4vw,56px);transform:rotate(-1.5deg);background:#e8efe6}.sp-sticker--3{float:left;margin-right:clamp(20px,4vw,56px);transform:rotate(2deg);background:#f3ead8}.dark .sp-sticker--0{background:#2a1f18}.dark .sp-sticker--2{background:#17261f}.dark .sp-sticker--3{background:#241f16}@media(max-width:640px){.sp-sticker{float:none!important;margin:0 0 16px;width:70%}.sp-sticker--1,.sp-sticker--3{margin-left:auto}}.sp-home .sp-hero{text-align:center}.sp-home .sp-hero__title{margin-inline:auto;max-width:15em}.sp-home .sp-hero__foot{grid-template-columns:1fr;justify-items:center;gap:28px}.sp-home .sp-hero__lede{margin-inline:auto;max-width:34rem}.sp-home .sp-hero__status,.sp-home .sp-hero__actions{justify-content:center}.sp-home .sp-section__head{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.sp-home .sp-section__intro{margin-inline:auto}.sp-home .sp-story .sp-h2{text-align:center}.sp-home .sp-story__body{margin-inline:auto}.sp-endcta{text-align:center}.sp-endcta__title{margin-inline:auto}.sp-hero__photo{display:block;width:clamp(88px,9vw,128px);height:clamp(88px,9vw,128px);margin:0 auto clamp(20px,3vw,32px);border-radius:50%;object-fit:cover;transform:rotate(-3deg);box-shadow:0 0 0 6px var(--sp-surface),0 14px 30px -16px #281e0a73}.sp-fan{position:relative;display:flex;justify-content:center;margin-top:clamp(48px,6vw,88px);padding-bottom:20px}.sp-fan__card{display:block;width:clamp(200px,24vw,340px);margin:0 -2.2vw;border-radius:12px;overflow:hidden;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule),0 24px 48px -26px #281e0a80;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-fan__card img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.sp-fan__card--0{transform:rotate(-7deg) translateY(28px);z-index:1}.sp-fan__card--1{transform:rotate(-2deg);z-index:3}.sp-fan__card--2{transform:rotate(3deg) translateY(6px);z-index:2}.sp-fan__card--3{transform:rotate(8deg) translateY(30px);z-index:1}.sp-fan__card:hover{transform:rotate(0) translateY(-10px) scale(1.04);z-index:4}@media(max-width:760px){.sp-fan__card{width:46vw;margin:0 -9vw}.sp-fan__card--3{display:none}}.sp-logowall{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(28px,4vw,56px) clamp(40px,6vw,80px);background:none;box-shadow:none;border-radius:0;overflow:visible}.sp-logowall li{display:block}.sp-logowall__item{width:auto;height:auto;padding:0;background:none}a.sp-logowall__item:hover{background:none}.sp-logowall__img{max-height:26px;max-width:140px}.sp-logowall__img{height:26px;width:auto;max-height:none;object-fit:contain}.sp-logowall__item{display:flex}.sp-h2--big{font-size:clamp(2.5rem,5.4vw,5rem);line-height:1.02;letter-spacing:-.035em}.sp-home .sp-logowall{margin-top:clamp(16px,2vw,24px);gap:clamp(36px,4.5vw,64px) clamp(48px,6.5vw,96px)}.sp-home .sp-logowall__img{height:34px;max-width:170px}.sp-story__body{max-width:1040px;display:grid;gap:clamp(28px,4vw,56px)}.sp-step{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,24vw,280px);align-items:center;gap:clamp(28px,5vw,72px)}.sp-step--left{grid-template-columns:clamp(220px,24vw,280px) minmax(0,1fr)}.sp-step--left .sp-sticker{order:-1}.sp-step .sp-story__p{margin:0;max-width:34rem}.sp-step--right .sp-story__p{justify-self:end}.sp-step .sp-sticker{float:none;margin:0;width:100%}@media(max-width:760px){.sp-step,.sp-step--left{grid-template-columns:1fr}.sp-step--left .sp-sticker{order:0}.sp-step .sp-sticker{width:72%}.sp-step--left .sp-sticker{justify-self:end}.sp-step--right .sp-story__p{justify-self:start}}a.sp-wj{text-decoration:none;transition:opacity .16s ease}a.sp-wj:hover{opacity:.75}body:has(.sp-home) .sp-foot{margin-top:clamp(40px,5vw,72px)}.sp-home .sp-logowall{max-width:1180px;margin-inline:auto}.sp-home .sp-section{padding-top:clamp(104px,13vw,200px)}.sp-story__intro{margin:0 auto clamp(48px,6vw,88px);max-width:36rem;text-align:center;color:var(--sp-graphite);font-size:var(--sp-fs-lede);line-height:1.45}.sp-home .sp-story .sp-h2{margin-bottom:18px}.sp-story__body{gap:clamp(56px,7vw,104px)}.sp-step__text{max-width:34rem}.sp-step--right .sp-step__text{justify-self:end}.sp-step__title{margin:0 0 14px;font-family:var(--sp-serif);font-weight:400;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.1;letter-spacing:-.025em}.sp-step .sp-story__p{font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55;color:var(--sp-graphite)}@media(max-width:760px){.sp-step--right .sp-step__text{justify-self:start}}body:has(.sp-home) .sp-foot{margin-top:clamp(104px,13vw,200px)}.sp-mbs-mark{display:block;margin-bottom:8px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sp-mbs-mark img{display:block;width:72px;height:72px;border-radius:18px;box-shadow:0 0 0 6px var(--sp-surface),0 16px 32px -18px #281e0a80;transform:rotate(-4deg)}.sp-mbs-mark:hover{transform:rotate(4deg) scale(1.05)}.sp-h2--long{max-width:16em;margin-inline:auto;font-size:clamp(2.25rem,4.4vw,4rem)}:root{--sp-fs-body: 1.1875rem;--sp-fs-small: 1.0625rem;--sp-fs-data: .875rem;--sp-fs-lede: clamp(1.3125rem, 1.7vw, 1.5rem);--sp-fs-h3: clamp(1.375rem, 1.8vw, 1.625rem);--sp-fs-display: clamp(2.75rem, 5.6vw, 5.25rem);--sp-section: clamp(120px, 12vw, 192px);--sp-head-gap: clamp(48px, 5vw, 80px)}.sp-home .sp-section{padding-top:var(--sp-section)}body:has(.sp-home) .sp-foot{margin-top:var(--sp-section)}.sp-home .sp-section__head,.sp-story__intro{margin-bottom:var(--sp-head-gap)}.sp-endcta{padding-bottom:var(--sp-section)}.sp-h2--big,.sp-h2--long{font-size:var(--sp-fs-display)}.sp-h2--long{max-width:14em}.sp-endcta__title{font-size:clamp(2.5rem,4.8vw,4.75rem)}body{font-size:var(--sp-fs-body)}.sp-nav a{font-size:1.0625rem}.sp-brand{font-size:1.1875rem}.sp-section__intro,.sp-hero__lede,.sp-story__intro{font-size:var(--sp-fs-lede)}.sp-step__title{font-size:clamp(2rem,3vw,2.75rem)}.sp-step .sp-story__p{font-size:clamp(1.25rem,1.6vw,1.4375rem)}.sp-sticker__title{font-size:1.125rem}.sp-sticker__tags{font-size:.9375rem}.sp-pitem__name{font-size:1.25rem}.sp-pitem__desc{font-size:1.0625rem}.sp-pitem .sp-data{font-size:.8125rem}.sp-pitem{grid-template-columns:64px minmax(0,1fr);padding:24px 0}.sp-pitem__logo{width:64px;height:64px;border-radius:16px}.sp-button{font-size:1.0625rem;min-height:52px;padding:0 26px}.sp-foot__bar{font-size:1rem}.sp-hero__status{font-size:var(--sp-fs-data)}:where(.sp-main,.sp-foot) :is(h1,h2,h3){text-wrap:balance}:where(.sp-main,.sp-foot) :is(p,li,figcaption,blockquote){text-wrap:pretty}.sp-endcta__ask{margin:clamp(28px,3.5vw,44px) 0 0;color:var(--sp-graphite);font-size:var(--sp-fs-lede)}.sp-endcta__me{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);max-width:820px;margin:clamp(56px,6vw,88px) auto 0;text-align:left}.sp-endcta__photo{width:clamp(150px,16vw,210px);aspect-ratio:4 / 5;object-fit:cover;object-position:76% 30%;border-radius:16px;transform:rotate(-3deg);box-shadow:0 0 0 6px var(--sp-surface),0 18px 34px -20px #281e0a80}.sp-endcta__text{margin:0;font-size:clamp(1.25rem,1.6vw,1.4375rem);line-height:1.5;color:var(--sp-graphite)}.sp-endcta__me .sp-endcta__ask{margin:18px 0 20px;color:var(--sp-ink);font-family:var(--sp-serif);font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.02em;line-height:1.15}@media(max-width:640px){.sp-endcta__me{grid-template-columns:1fr;justify-items:start}}.sp-endcta__me .sp-endcta__ask{margin:0 0 12px}.sp-endcta__me .sp-endcta__text{margin:0 0 22px}.sp-contact__mail{font-size:clamp(2rem,4vw,3.5rem)}.sp-body .section__title{font-family:var(--sp-serif);font-weight:400;letter-spacing:-.025em}.sp-archive--logos a{grid-template-columns:4.5rem 8rem minmax(0,1.2fr) minmax(0,1fr) 1.5rem;align-items:center;padding:16px 0}@media(max-width:640px){.sp-archive--logos a{grid-template-columns:3.25rem minmax(0,1fr)}}.sp-body .resume-callout__body{background:none;box-shadow:none;padding:0;border-radius:0}.sp-body .resume-callout__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}.sp-body .resume-callout__list li{gap:16px;padding:22px 0;border-top:1px solid var(--sp-rule);font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.45;color:var(--sp-ink)}.sp-body .resume-callout__icon{width:24px;height:24px;margin-top:2px}@media(max-width:640px){.sp-body .resume-callout__list{grid-template-columns:1fr}}.sp-body .resume-callout__list{grid-template-columns:1fr}.sp-archive--logos a{grid-template-columns:4.5rem minmax(0,1.2fr) minmax(0,1fr) 1.5rem;position:relative}.sp-archive--logos li{position:relative}.sp-archive__float{position:absolute;left:calc(4.5rem + 16px);bottom:calc(100% - 6px);z-index:5;display:flex;align-items:center;justify-content:center;height:52px;padding:0 18px;border-radius:12px;background:var(--sp-blue);box-shadow:0 16px 32px -14px #281e0a80;opacity:0;transform:translateY(6px) rotate(-2deg);transition:opacity .18s ease,transform .26s cubic-bezier(.2,.8,.2,1);pointer-events:none}.sp-archive__float img{display:block;max-height:24px;max-width:140px;width:auto;height:auto;filter:brightness(0) invert(1)}.sp-archive__float--tile{padding:0;height:52px;width:52px;background:none}.sp-archive__float--tile img{max-height:none;max-width:none;width:52px;height:52px;border-radius:12px;filter:none}.sp-archive a:hover .sp-archive__float,.sp-archive a:focus-visible .sp-archive__float{opacity:1;transform:translateY(0) rotate(-2deg)}@media(hover:none){.sp-archive__float{display:none}}.sp-archive__float{left:auto;right:3.5rem;top:50%;bottom:auto;transform:translateY(-40%) rotate(-3deg)}.sp-archive a:hover .sp-archive__float,.sp-archive a:focus-visible .sp-archive__float{transform:translateY(-50%) rotate(-3deg)}.sp-archive__float img{height:24px;width:auto;max-width:150px;object-fit:contain}.sp-archive__float--tile img{height:52px;width:52px}.sp-archive__float{background:var(--brand, #1f1c17)}.sp-archive__float--ink img{filter:brightness(0)}.sp-archive__float--tile{background:none}.sp-pagehead--split{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,28vw,380px);align-items:center;gap:clamp(32px,6vw,96px)}.sp-pagehead__photo{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:76% 30%;border-radius:20px;transform:rotate(2deg);box-shadow:0 0 0 8px var(--sp-surface),0 24px 48px -26px #281e0a80}@media(max-width:760px){.sp-pagehead--split{grid-template-columns:1fr}.sp-pagehead__photo{max-width:280px}}.sp-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,40px);margin-top:clamp(64px,8vw,120px)}.sp-numbers>div{padding-top:20px;border-top:1px solid var(--sp-rule)}.sp-numbers__value{margin:0;font-family:var(--sp-serif);font-size:clamp(2.5rem,4.5vw,4rem);line-height:1;letter-spacing:-.03em}.sp-numbers__label{margin:12px 0 0;color:var(--sp-graphite);font-size:var(--sp-fs-small);line-height:1.4;max-width:16rem}@media(max-width:860px){.sp-numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}.sp-timeline__name{display:inline-flex;align-items:center;gap:14px}.sp-timeline__logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:10px;overflow:hidden;background:var(--sp-sunk);box-shadow:0 0 0 1px var(--sp-rule);font-family:var(--sp-serif);font-size:1.25rem}.sp-timeline__logo img{width:100%;height:100%;object-fit:cover}.sp-timeline__logo--pad{background:#fff;padding:8px}.sp-timeline__logo--pad img{object-fit:contain}.sp-timeline li{grid-template-columns:5rem minmax(0,17rem) minmax(0,1fr)}.sp-cvfacts{max-width:none!important;margin-top:0}.sp-body .cv-row{padding:28px 0}.sp-body .cv-row__role{font-family:var(--sp-serif);font-weight:400;font-size:clamp(1.375rem,2vw,1.75rem);letter-spacing:-.02em;line-height:1.15;margin-top:6px}.sp-body .cv-row__note{color:var(--sp-graphite);font-size:1.0625rem;line-height:1.6}.sp-archive__float--native img{filter:none}.sp-body .quote__person{order:2;display:flex;align-items:center;gap:12px;margin-top:16px}.sp-body .quote__person .quote__who{margin:0}.sp-body .quote__avatar{width:48px;height:48px;flex:none;border-radius:50%;object-fit:cover;background:var(--sp-sunk)}.sp-body .quote__avatar--initials{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sp-serif);font-size:1.125rem;color:var(--sp-graphite);box-shadow:inset 0 0 0 1px var(--sp-rule)}.sp-pagehead__photo,.sp-endcta__photo{object-position:center top}.sp-endcta__me--nophoto{grid-template-columns:1fr;text-align:center;justify-items:center;max-width:640px}.sp-body>.section:has(.cv-row),.sp-body>.resume-callout,.sp-body>.sp-cvfacts{max-width:none}.sp-body .cv-row{grid-template-columns:7rem minmax(0,1fr);gap:8px clamp(24px,3vw,40px)}.sp-body .cv-row>div:last-child{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);column-gap:clamp(32px,5vw,80px);align-content:start}.sp-body .cv-row>div:last-child>*{grid-column:1}.sp-body .cv-row__notes{grid-column:2!important;grid-row:1 / span 8}.sp-body .cv-row__notes .cv-row__note:first-child{margin-top:0}.sp-body .resume-callout__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,80px)}@media(max-width:860px){.sp-body .cv-row>div:last-child{grid-template-columns:1fr}.sp-body .cv-row__notes{grid-column:1!important;grid-row:auto;margin-top:8px}.sp-body .resume-callout__list{grid-template-columns:1fr}}.sp-article__head{max-width:860px;padding-top:clamp(32px,5vw,72px);text-align:center}.sp-article__head .sp-case__back{justify-content:center}.sp-article__meta{margin:clamp(28px,3vw,40px) 0 0}.sp-article__title{margin:14px auto 0;max-width:16em;font-family:var(--sp-serif);font-weight:400;font-size:clamp(2.5rem,5.4vw,4.75rem);line-height:1.04;letter-spacing:-.035em}.sp-article__lede{margin:24px auto 0;max-width:36rem;color:var(--sp-graphite);font-size:var(--sp-fs-lede);line-height:1.5}.sp-article__hero{margin-top:clamp(40px,5vw,72px);max-width:1120px}.sp-article__hero img{display:block;width:100%;height:auto;border-radius:calc(var(--sp-radius) * 1.4)}.sp-article__hero figcaption{margin-top:12px;text-align:center}.sp-article__body{max-width:40rem;padding-top:clamp(40px,5vw,72px);font-family:var(--sp-sans);font-size:1.1875rem;line-height:1.7;color:var(--sp-ink)}.sp-article__body :where(p,ul,ol){margin:0 0 1.2em}.sp-article__body :where(h2,h3){margin:2em 0 .6em;font-family:var(--sp-serif);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--sp-ink)}.sp-article__body h2{font-size:clamp(1.75rem,2.6vw,2.25rem)}.sp-article__body h3{font-size:clamp(1.375rem,2vw,1.625rem)}.sp-article__body a{color:inherit;text-decoration:underline;text-decoration-color:var(--sp-blue);text-underline-offset:.2em}.sp-article__body img{border-radius:var(--sp-radius)}.sp-article__body blockquote{margin:1.6em 0;padding:0;border:0;font-family:var(--sp-serif);font-size:1.5rem;line-height:1.35;color:var(--sp-ink)}.sp-article__body li::marker{color:var(--sp-blue)}.sp-article__body pre{margin:26px 0 30px;padding:18px 20px;border-radius:var(--sp-radius);background:var(--sp-sunk)!important;box-shadow:0 0 0 1px var(--sp-rule);font-size:.875rem;line-height:1.65;overflow-x:auto!important;scrollbar-width:thin;scrollbar-color:var(--sp-rule) transparent}.sp-article__body pre{color:var(--sp-ink)!important}.sp-article__body pre span{color:var(--shiki-light, var(--sp-ink))}.dark .sp-article__body pre span{color:var(--shiki-dark, var(--sp-ink))}.sp-article__body :not(pre)>code{padding:.1em .35em;border-radius:6px;background:var(--sp-sunk);font-size:.85em}.sp-article__body table{display:block;max-width:100%;margin:26px 0 30px;overflow-x:auto;border-collapse:collapse;font-size:.875rem;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--sp-rule) transparent}.sp-article__body :is(th,td){min-width:9rem;padding:10px 14px 10px 0;border-bottom:1px solid var(--sp-rule);text-align:left;vertical-align:top}.sp-article__body th{font-weight:600;color:var(--sp-graphite)}.sp-article__body ul.contains-task-list{padding-left:0;list-style:none}.sp-article__body li.task-list-item{display:flex;gap:.6em;align-items:baseline;padding-left:0}.sp-article__body li.task-list-item::marker{content:none}.sp-article__body li.task-list-item input{flex:none;accent-color:var(--sp-blue);transform:translateY(.1em)}.sp-article__nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1120px;margin-top:clamp(64px,8vw,120px);padding-top:28px;border-top:1px solid var(--sp-rule)}.sp-article__navlink{display:grid;gap:8px;color:var(--sp-ink);text-decoration:none}.sp-article__navlink>span:last-child{font-family:var(--sp-serif);font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.2;letter-spacing:-.02em;transition:color .16s ease}.sp-article__navlink:hover>span:last-child{color:var(--sp-blue)}.sp-article__navlink--older{text-align:right}@media(max-width:640px){.sp-article__nav{grid-template-columns:1fr}.sp-article__navlink--older{text-align:left}}.sp-case__title{font-family:var(--sp-serif);font-weight:400;letter-spacing:-.035em}.sp-case__row h2{font-family:var(--sp-serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.02em}.sp-case__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}.sp-case__gallery .sp-shot{margin-top:0}.sp-case__gallery .sp-shot:nth-child(3n+1){grid-column:1 / -1}.sp-case__gallery .sp-shot--tall{grid-column:auto!important;max-width:none}.sp-case__gallery .sp-shot img{height:100%;object-fit:cover;object-position:top}@media(max-width:760px){.sp-case__gallery{grid-template-columns:1fr}}.sp-next{margin-top:var(--sp-section)}.sp-next__link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:10px clamp(32px,5vw,72px);align-items:start;padding-top:28px;border-top:1px solid var(--sp-rule);color:var(--sp-ink);text-decoration:none}.sp-next__title{font-family:var(--sp-serif);font-size:var(--sp-fs-display);line-height:1;letter-spacing:-.035em;transition:color .16s ease}.sp-next__role{color:var(--sp-graphite)}.sp-next__shot{grid-column:2;grid-row:1 / span 3;width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top;border-radius:var(--sp-radius);box-shadow:0 0 0 1px var(--sp-rule);transform:rotate(1.5deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.sp-next__link:hover .sp-next__title{color:var(--sp-blue)}.sp-next__link:hover .sp-next__shot{transform:rotate(0) translateY(-6px)}@media(max-width:760px){.sp-next__link{grid-template-columns:1fr}.sp-next__shot{grid-column:1;grid-row:auto}}.sp-article__body :is(h2,h3,h4){font-family:var(--sp-serif)!important;font-weight:400!important;letter-spacing:-.02em!important}.sp-article__body h2{font-size:clamp(1.75rem,2.6vw,2.25rem)!important}.sp-article__body :is(h3,h4){font-size:clamp(1.375rem,2vw,1.625rem)!important}.sp-article__body p{font-size:inherit!important;line-height:inherit!important}.sp-fan__card img{object-position:top left}.sp-fan__card--0{z-index:1}.sp-fan__card--1{z-index:2}.sp-fan__card--2{z-index:3}.sp-fan__card--3{z-index:4}:root{--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-7: 56px;--space-8: 64px;--space-9: 72px;--space-10: 80px;--space-12: 96px;--space-16: 128px;--sig-wide: var(--sp-max)}.case-intro h1,.case-body .case-head h2,.case-close p{font-family:var(--sp-serif);font-weight:400;letter-spacing:-.03em}.sp-ilogo-run{white-space:nowrap}@media(max-width:640px){.sp-home .sp-story__body{gap:72px}.sp-step,.sp-step--left{gap:28px;justify-items:center;text-align:center}.sp-step .sp-sticker,.sp-step--left .sp-sticker{order:-1;justify-self:center;width:min(232px,66%);text-align:left}.sp-step .sp-step__text,.sp-step--right .sp-step__text{justify-self:center}.sp-step .sp-story__p{margin-inline:auto}.sp-sticker--0{transform:rotate(2deg)}.sp-sticker--1{transform:rotate(-2deg)}.sp-sticker--2{transform:rotate(-1.5deg)}.sp-sticker--3{transform:rotate(2deg)}.sp-step__title{margin-bottom:12px}.sp-home .sp-logowall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.sp-home .sp-logowall li{display:flex;justify-content:center}.sp-home .sp-logowall li:last-child:nth-child(odd){display:none}.sp-home .sp-logowall__item{justify-content:center;height:32px}.sp-home .sp-logowall__img{height:26px;width:auto;max-width:100%}.sp-endcta{text-align:left}.sp-endcta__title{font-size:2.125rem;line-height:1.18;text-wrap:pretty}.sp-endcta__me{justify-items:start;gap:28px;margin-top:48px}.sp-endcta__photo{width:148px;margin-left:6px}.sp-foot__bar{flex-direction:column;align-items:flex-start;gap:20px}.sp-foot__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;width:100%}.sp-foot__links button{justify-self:start}}.sp-nowrap{white-space:nowrap}.sp-faq__q{min-width:0}.sp-case__row ul{padding-left:0;list-style:none}.sp-case__row li{position:relative;padding-left:1.4em}.sp-case__row li:before{content:"";position:absolute;left:0;top:.8em;width:.7em;height:2px;border-radius:1px;background:var(--sp-blue)}.sp-menu__extra{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--sp-rule)}.sp-menu__extra a{flex:1;color:var(--sp-graphite)!important}.sp-menu__extra button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:999px;background:var(--sp-sunk);color:var(--sp-ink);font:inherit;cursor:pointer}body .now-ledger .now-entry__kind{font-family:var(--sp-serif);font-weight:400;letter-spacing:-.025em;font-size:clamp(2rem,3vw,2.75rem)}body .now-ledger .now-entry__subject{font-size:1.25rem;font-weight:600;letter-spacing:-.015em}body .now-ledger .now-entry__body>p{font-size:var(--sp-fs-body);line-height:1.6}body .now-ledger .now-ledger__updated{font-family:var(--sp-mono);font-size:var(--sp-fs-data)}body .now-ledger ul.now-entry__facets{gap:8px;font-size:.9375rem;color:var(--sp-ink)}body .now-ledger .now-entry__facets li{padding:4px 12px;border-radius:999px;background:var(--sp-sunk)}body .now-ledger .now-entry__facets li+li:before{content:none}body .now-ledger a.now-entry__link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:4px;font-size:1rem}body .now-ledger a.now-entry__link .site-text-link__label{font-size:inherit}body .now-ledger__foot,body .now-ledger__foot :is(p,a,span){font-size:1rem}@media(max-width:640px){.sp-archive--logos a{grid-template-columns:3.25rem minmax(0,1fr);gap:2px 12px;align-items:baseline;padding:14px 0}.sp-archive--logos .sp-archive__role{grid-column:2}.sp-body .cv-row{grid-template-columns:1fr;gap:6px}.sp-case .sp-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.sp-case .sp-facts>div:nth-child(n+3){grid-column:1 / -1}.sp-case__back{min-height:44px}.sp-facts dd a.sp-link{display:inline-block;padding:10px 4px;margin:-10px -4px}.sp-contact__mail{padding-block:5px}.sp-endcta .sp-button,.sp-arrow{min-height:44px}.sp-article__head{text-align:left}.sp-article__head .sp-case__back{justify-content:flex-start}.sp-article__title,.sp-article__lede{margin-inline:0}html body :is(.case-intro dt,.case-intro .case-intro__stack-label,.case-intro .work-specs__stack-list li,.case-proof dd,.case-facts dd,.case-steps .case-steps__system,.case-shot figcaption,.case-shot figcaption *,.case-note){font-size:.9375rem}html body :is(.case-proof>p,.case-steps .case-steps__num,.bd-journey__num){font-size:.875rem}html body .skills__logo--text{font-size:.75rem}}html{scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}.sp-plist-more summary{display:flex;list-style:none;cursor:pointer;width:fit-content;margin:clamp(24px,3vw,40px) auto 0}.sp-plist-more summary::-webkit-details-marker{display:none}.sp-plist-more[open] summary{display:none}.sp-plist-more>.sp-plist{margin-top:0}.sp-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(24px,3vw,32px)}.sp-jump .sp-button{min-height:44px;padding:0 18px;font-size:var(--sp-fs-small)}.sp-notfound__code{margin:0 0 12px}.sp-notfound__nl{margin-top:clamp(32px,4vw,48px)}.sp-contact__copy{margin:16px 0 0}.sp-contact__copy .sp-button{min-height:44px;padding:0 18px;font-size:var(--sp-fs-small);font-family:inherit;cursor:pointer;border:0}.sp-head__actions{display:none}@media(max-width:820px){.sp-brand{min-height:44px}.sp-head__actions{display:flex;align-items:center;gap:6px}.sp-head__cta{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:var(--sp-ink);color:var(--sp-paper);font-size:var(--sp-fs-small);font-weight:500;text-decoration:none}.sp-menu summary{padding-inline:14px}.sp-brand{white-space:nowrap}}@media(max-width:359px){.sp-head__cta{display:none}}@media(max-width:640px){.sp-foot__links{gap:0 16px}.sp-foot__links a{display:flex;align-items:center;min-height:44px}.sp-foot__links button{min-width:44px;min-height:44px;justify-content:center}.sp-facts dd a.sp-link{padding-inline:10px;margin-inline:-10px}}.sp-lab{width:min(1180px,calc(100vw - var(--sp-gutter) * 2));max-width:none}.sp-lab__grid{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,56px) clamp(28px,4vw,64px);margin:clamp(40px,5vw,72px) 0 0;padding:0;list-style:none}.sp-lab .sp-lab__grid>li{margin:0;padding:0;list-style:none}.sp-lab__grid>li::marker{content:none}.sp-lab__grid>li:nth-child(2n){margin-top:clamp(40px,6vw,96px)}.sp-labcard{display:grid;gap:clamp(16px,2vw,24px);padding:clamp(18px,2.2vw,28px);border-radius:22px;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule),0 24px 44px -32px #281e0a80;color:var(--sp-ink);text-decoration:none}.sp-lab a.sp-labcard,.sp-lab a.sp-labcard:hover{color:var(--sp-ink);text-decoration:none}.sp-labcard--0{background:#fbeee4;transform:rotate(-1.2deg)}.sp-labcard--1{transform:rotate(1deg)}.sp-labcard--2{background:#e8efe6;transform:rotate(.8deg)}.sp-labcard--3{background:#f3ead8;transform:rotate(-1deg)}.dark .sp-labcard--0{background:#2a1f18}.dark .sp-labcard--2{background:#17261f}.dark .sp-labcard--3{background:#241f16}.sp-labcard__art{display:block;padding:6px clamp(8px,3vw,40px) 0}.sp-labcard__art .sp-doodle{height:auto;max-height:220px;aspect-ratio:240 / 150;margin-inline:auto}.sp-labcard__body{display:grid;gap:10px;justify-items:start}.sp-labcard__name{font-family:var(--sp-serif);font-weight:400;font-size:clamp(1.625rem,2.4vw,2.125rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.sp-labcard__desc{max-width:32em;color:var(--sp-graphite);font-size:1rem;line-height:1.5;text-wrap:pretty}.sp-labcard__go{margin-top:6px;color:var(--sp-blue)}.sp-labcard:focus-visible{outline:2px solid var(--sp-blue);outline-offset:4px}@media(prefers-reduced-motion:no-preference){.sp-labcard{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease}.sp-labcard__go{transition:transform .2s ease}}.sp-labcard:hover{transform:rotate(0) translateY(-6px);box-shadow:0 0 0 1px var(--sp-rule),0 32px 52px -30px #281e0a99}.sp-labcard:hover .sp-labcard__go{transform:translate(4px)}@media(max-width:720px){.sp-lab__grid{grid-template-columns:minmax(0,1fr)}.sp-lab__grid>li:nth-child(2n){margin-top:0}.sp-labcard__art .sp-doodle{max-height:140px}}.sp-adoodle{float:right;clear:right;width:clamp(180px,19vw,236px);margin:.3em 0 1.2em 28px;padding:14px 16px 16px;border-radius:16px;background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule),0 18px 34px -24px #281e0a73;transform:rotate(2deg)}.sp-adoodle--left{float:left;clear:left;margin:.3em 28px 1.2em 0;transform:rotate(-2deg)}.sp-adoodle--t0{background:#fbeee4}.sp-adoodle--t2{background:#e8efe6}.sp-adoodle--t3{background:#f3ead8}.dark .sp-adoodle--t0{background:#2a1f18}.dark .sp-adoodle--t2{background:#17261f}.dark .sp-adoodle--t3{background:#241f16}.sp-adoodle .sp-doodle{height:auto;aspect-ratio:240 / 150;margin-bottom:8px}@media(min-width:1200px){.sp-adoodle{margin-right:-160px}.sp-adoodle--left{margin-right:32px;margin-left:-160px}}@media(max-width:640px){.sp-adoodle,.sp-adoodle--left{float:none;width:64%;margin:8px 0 28px}.sp-adoodle--left{margin-left:auto}}.sp-stores{--bw: min(1120px, 100vw - var(--sp-gutter) * 2);clear:both;width:var(--bw);margin:36px 0 52px calc((100% - var(--bw)) / 2);font-size:1rem;line-height:1.5}.sp-stores__group{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:18px clamp(24px,4vw,56px);padding:28px 0;border-top:1px solid var(--sp-rule)}.sp-stores__group:last-child{border-bottom:1px solid var(--sp-rule)}.sp-stores__head{display:grid;gap:8px;align-content:start}.sp-stores__title{margin:0;font-family:var(--sp-serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,1.875rem);line-height:1.1;letter-spacing:-.02em}.sp-stores__note{margin:0;color:var(--sp-graphite);font-size:var(--sp-fs-small);line-height:1.45}.sp-stores__kind--open:before{background:#2f9e6b}.sp-stores__kind--closed:before{background:var(--sp-graphite)}.sp-stores__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none}.sp-stores .sp-stores__cards>li{margin:0;padding:0;list-style:none}.sp-stores ul.sp-stores__cards,.sp-lab ul.sp-lab__grid{padding:0;margin-inline:0}.sp-stores__cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-stores__cards>li::marker{content:none}.sp-store{position:relative;display:grid;gap:14px;align-content:start;height:100%;padding:18px 18px 20px;border-radius:var(--sp-radius);background:var(--sp-surface);box-shadow:0 0 0 1px var(--sp-rule)}.sp-store--first{background:#fbeee4;transform:rotate(-1deg);box-shadow:0 0 0 1px var(--sp-rule),0 18px 34px -24px #281e0a73}.dark .sp-store--first{background:#2a1f18}.sp-store--closed{background:transparent;box-shadow:none;outline:1.5px dashed var(--sp-rule);outline-offset:-1.5px}.sp-store__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.sp-stores .sp-store__name{margin:0;font-family:var(--sp-serif);font-weight:400;font-size:1.375rem;line-height:1.15;letter-spacing:-.015em;color:var(--sp-ink)}.sp-store__flag{color:var(--sp-blue);font-size:.75rem}.sp-store dl{display:grid;gap:10px;margin:0}.sp-store dt{margin:0;font-family:var(--sp-mono);font-size:.75rem;color:var(--sp-graphite)}.sp-store dd{margin:2px 0 0;font-size:.9375rem;line-height:1.45;color:var(--sp-ink)}.sp-store code{padding:.05em .3em;border-radius:5px;background:var(--sp-sunk);font-size:.85em}@media(max-width:760px){.sp-stores__group{grid-template-columns:minmax(0,1fr)}.sp-stores__cards--4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.sp-store--first{transform:none}}.gatelamp-declaration{--gatelamp-border: var(--sp-rule);--gatelamp-head-bg: var(--sp-sunk);--gatelamp-link: var(--sp-blue);--gatelamp-radius: var(--sp-radius-sm);--gatelamp-caption-color: var(--sp-graphite);--gatelamp-caption-opacity: 1;font-size:var(--sp-fs-small);margin-block-start:2.5rem}@media(min-width:1024px)and (max-width:1599px){html{font-size:87.5%}:root{--sp-fs-hero: clamp(2.5rem, 5.2vw, 5.5rem);--sp-section: clamp(96px, 9vw, 136px);--sp-head-gap: clamp(40px, 4vw, 64px)}}.fs-skip-link{position:fixed;top:calc(.75rem + env(safe-area-inset-top,0px));left:calc(.75rem + env(safe-area-inset-left,0px));z-index:100;display:inline-flex;align-items:center;justify-content:center;width:1px;height:1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;background:hsl(var(--background) / .96);color:hsl(var(--foreground));font-family:var(--font-mono-stack);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;opacity:0;pointer-events:none}.fs-skip-link:focus-visible{width:auto;height:auto;padding:.6rem .85rem;border:1px solid hsl(var(--border));clip:auto;clip-path:none;overflow:visible;opacity:1;pointer-events:auto}
