/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--leading-tight:1.25;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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}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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.z-10{z-index:10}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-11{height:calc(var(--spacing) * 11)}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.max-h-none{max-height:none}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-12{min-height:calc(var(--spacing) * 12)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[31rem\]{max-width:31rem}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[1\.6rem\]{border-radius:1.6rem}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[var\(--work-card-border\)\]{border-color:var(--work-card-border)}.border-transparent{border-color:#0000}.bg-\[var\(--canvas\)\]{background-color:var(--canvas)}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing) * 0)}.p-5{padding:calc(var(--spacing) * 5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-11{padding-right:calc(var(--spacing) * 11)}.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-\[0\.98rem\]{font-size:.98rem}.text-\[clamp\(1\.5rem\,6vw\,2rem\)\]{font-size:clamp(1.5rem,6vw,2rem)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.035em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.text-\[var\(--body\)\]{color:var(--body)}.text-\[var\(--canvas\)\]{color:var(--canvas)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-red-600{color:var(--color-red-600)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0000003d)}.ring,.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.24\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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-\[2px\]{--tw-backdrop-blur:blur(2px);-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,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\,background-color\]{transition-property:transform,opacity,background-color;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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-\[var\(--nav-hover\)\]:hover{background-color:var(--nav-hover)}.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink)}.hover\:opacity-90:hover{opacity:.9}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--ink\)\]:focus-visible{outline-color:var(--ink)}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-55:disabled{opacity:.55}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:top-4{top:calc(var(--spacing) * 4)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:items-center{align-items:center}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (prefers-color-scheme:dark){.dark\:text-red-400{color:var(--color-red-400)}}.\[\&\:\:backdrop\]\:bg-transparent::backdrop{background-color:#0000}}:root{--canvas:#fafafa;--ink:#1d1d1d;--body:#4a4948;--muted:#716f6c;--rule:#35302a1f;--nav-shell:#e8ecefdb;--nav-border:#2f3b451a;--nav-text:#59636c;--nav-hover:#ffffff94;--nav-hover-text:#293239;--nav-active:#fff;--nav-selected:#2f3b45;--nav-selected-ink:#f9fbfc;--nav-highlight:#ffffffb8;--nav-shadow:#20293112;--profile-surface:#ecebea;--bubble-ink:#26331b;--bubble-shadow:#29302214;--button-hover:#343331;--button-hover-ink:#fff;--social-hover-border:#35302a38;--work-card-surface:#fff;--work-card-border:#35302a24;--work-card-hover-border:#35302a42;--work-card-shadow:#201d1a14;--work-card-media-okta:radial-gradient(ellipse at 50% 112%,#dedcfa 0%,#f1eaf0eb 34%,transparent 64%),radial-gradient(circle at 82% 58%,#fef5ef 0%,transparent 52%),#fffdfc;--work-card-media-freshworks:radial-gradient(circle at 16% 18%,#fbecfb 0%,transparent 52%),radial-gradient(circle at 84% 22%,#feefe6 0%,transparent 54%),radial-gradient(circle at 24% 92%,#e0f1ff 0%,transparent 56%),#e0f5e9;--notes-preview-border:#35302a24;--notes-preview-shadow:#201d1a2e;--work-access-backdrop:#1113158a;--work-access-panel:#fff;--work-access-panel-border:#1d1d1d26;--work-access-panel-shadow:#1114183d;--work-access-slot:#f4f5f6;--work-access-slot-border:#1d1d1d33;--work-access-focus:#2f3b45;--work-access-focus-halo:#2f3b459e;--work-access-error:#a8251a;--work-access-error-surface:#a8251a0e;--trip-card-surface:#fff;--trip-card-border:#35302a24;--trip-card-hover-border:#35302a42;--trip-card-shadow:#201d1a14;--trip-map-water:#e9eef2;--trip-map-route:#1d1d1d80;--trip-map-pin:#1d1d1d;--trip-map-label:#4a4948;--trip-measure:66ch;--annotate-ink:#b4643a;--case-nav-width:11rem;--case-nav-gap:clamp(2rem,4vw,3.5rem);--case-body-width:54rem;--case-reading-width:44rem;--case-media-tint:#f1f0ef;--case-screen-surface:#fff;--case-screen-border:#35302a29;--case-screen-block:#35302a21;--case-screen-accent:#35302a4d;--case-marker-amber:#fbe3a4;--case-marker-ink:#2c2413;--page-gutter:clamp(1rem,.5rem + 2.5vw,1.5rem);--content-width:42.5rem;--home-divider-space:clamp(2rem,1.5rem + 2vw,2.5rem);--sans:"DM Sans Variable","DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--mono:var(--sans);--type-size-display:clamp(2.4rem,8vw,4.75rem);--type-size-page-title:clamp(2rem,5vw,3.25rem);--type-size-h1:clamp(1.4rem,1.3rem + .5vw,1.625rem);--type-size-h2:clamp(1.125rem,1.07rem + .28vw,1.25rem);--type-size-h3:clamp(1rem,.95rem + .25vw,1.0625rem);--type-size-body:1rem;--type-size-body-compact:.96rem;--type-size-body-small:.92rem;--type-size-ui:.875rem;--type-size-caption:.8125rem;--type-size-label:.75rem;--type-weight-display:650;--type-weight-page-title:400;--type-weight-heading:700;--type-weight-subheading:600;--type-weight-body:400;--type-weight-ui:500;--type-leading-display:1;--type-leading-page-title:1.08;--type-leading-h1:1.4;--type-leading-h2:1.35;--type-leading-h3:1.4;--type-leading-body:1.5;--type-leading-ui:1.35;--type-tracking-display:-.055em;--type-tracking-page-title:-.045em;--type-tracking-heading:-.035em;--type-tracking-subheading:-.025em;--type-tracking-ui:-.01em;--type-tracking-label:.08em}html[data-theme=dark]{--canvas:#111315;--ink:#f2f3f4;--body:#c5c8ca;--muted:#9aa0a5;--rule:#ffffff24;--nav-shell:#272d32e6;--nav-border:#ffffff1a;--nav-text:#c0c7cc;--nav-hover:#ffffff14;--nav-hover-text:#f8fafb;--nav-active:#ffffff14;--nav-selected:#e5e9ec;--nav-selected-ink:#20272c;--nav-highlight:#ffffff14;--nav-shadow:#0000004d;--profile-surface:#24272a;--bubble-ink:#edf2e9;--bubble-shadow:#0000003d;--button-hover:#e6e9eb;--button-hover-ink:#171a1c;--social-hover-border:#ffffff42;--work-card-surface:#191c1f;--work-card-border:#ffffff24;--work-card-hover-border:#ffffff47;--work-card-shadow:#0000004d;--notes-preview-border:#ffffff2e;--notes-preview-shadow:#0000007a;--work-access-backdrop:#000000b3;--work-access-panel:#191c1f;--work-access-panel-border:#ffffff2b;--work-access-panel-shadow:#00000094;--work-access-slot:#24282c;--work-access-slot-border:#fff3;--work-access-focus:#f2f3f4;--work-access-focus-halo:#e5e9ecad;--work-access-error:#ffb4ab;--work-access-error-surface:#ffb4ab13;--trip-card-surface:#191c1f;--trip-card-border:#ffffff24;--trip-card-hover-border:#ffffff47;--trip-card-shadow:#0000004d;--trip-map-water:#171d23;--trip-map-route:#f2f3f48c;--trip-map-pin:#f2f3f4;--trip-map-label:#c5c8ca;--annotate-ink:#e0a077;--case-media-tint:#15181a;--case-screen-surface:#21262a;--case-screen-border:#ffffff29;--case-screen-block:#ffffff24;--case-screen-accent:#ffffff52;--case-marker-amber:#7a5f1c;--case-marker-ink:#fdf3dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body,html{background:var(--canvas)}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:var(--nav-selected);color:var(--nav-selected-ink)}.sunshine-overlay{object-fit:cover;object-position:top;mix-blend-mode:multiply;pointer-events:none;z-index:9998;opacity:0;width:100%;height:100%;transition:opacity .7s cubic-bezier(.23,1,.32,1);position:fixed;inset:0}.sunshine-overlay[data-active=true]{opacity:1}.sunshine-static-overlay{display:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}main h1[tabindex="-1"]:focus-visible{outline:none}.page{z-index:1;min-height:100dvh;padding-left:max(var(--page-gutter),env(safe-area-inset-left));padding-right:max(var(--page-gutter),env(safe-area-inset-right));position:relative}.site-header{z-index:100;width:min(100%,var(--content-width));margin-inline:auto;justify-content:center;align-items:center;min-height:4.5rem;margin-bottom:clamp(2rem,3vw,3rem);display:flex;position:sticky;top:0}.segmented-nav{border:1px solid var(--nav-border);background:var(--nav-shell);width:18rem;max-width:100%;height:2.875rem;box-shadow:0 .625rem 1.875rem var(--nav-shadow),inset 0 1px 0 var(--nav-highlight);-webkit-backdrop-filter:saturate(115%)blur(14px);border-radius:.95rem;align-items:stretch;gap:0;padding:0;display:inline-flex;overflow:hidden}.segmented-nav__link{min-width:0;height:2.75rem;color:var(--nav-text);letter-spacing:-.01em;white-space:nowrap;border-radius:.7rem;flex:1 1 0;justify-content:center;align-items:center;padding:0 clamp(.3rem,1.5vw,.4rem);font-size:clamp(.8rem,.725rem + .3vw,.875rem);font-weight:500;transition:background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.segmented-nav__link:hover{background:var(--nav-hover);color:var(--nav-hover-text)}.segmented-nav__link:first-child{border-radius:0 .7rem .7rem 0}.segmented-nav__link:last-child{border-radius:.7rem 0 0 .7rem}.segmented-nav__link[aria-current]{background:var(--nav-selected);color:var(--nav-selected-ink);font-weight:600;box-shadow:inset 0 1px #ffffff14,inset 1px 0 #ffffff0a,inset -1px 0 #0f14181f}.segmented-nav__link:focus-visible{outline-offset:-4px;outline:2px solid}.appearance-controls{border:1px solid var(--nav-border);background:var(--nav-shell);width:2.875rem;height:2.875rem;box-shadow:0 .625rem 1.875rem var(--nav-shadow),inset 0 1px 0 var(--nav-highlight);-webkit-backdrop-filter:saturate(115%)blur(14px);border-radius:.95rem;align-items:stretch;padding:0;display:inline-flex;position:absolute;top:50%;left:calc(50% + 9.75rem);overflow:hidden;transform:translateY(-50%)}.appearance-control{width:2.75rem;height:2.75rem;color:var(--nav-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.85rem;flex:0 0 2.75rem;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s,opacity .18s;display:inline-flex;position:relative}@media (hover:hover) and (pointer:fine){.appearance-control:hover{background:var(--nav-hover);color:var(--nav-hover-text)}}.appearance-control[data-active=true]{background:var(--nav-selected);color:var(--nav-selected-ink)}.appearance-control:focus-visible{outline-offset:-4px;outline:2px solid}.theme-icon{place-items:center;display:inline-grid}html[data-appearance-motion] .appearance-control,html[data-appearance-motion] .copy-email-button,html[data-appearance-motion] .segmented-nav__link,html[data-appearance-motion] .social-link,html[data-appearance-motion] .sunshine-overlay{transition:none}.content{width:min(100%,var(--content-width));margin-inline:auto;padding:2.9rem 0 clamp(3.5rem,8vw,5rem)}.content--home{padding-bottom:0}.page-transition{transform-origin:50% 0;animation:content-settle .52s cubic-bezier(.22,1,.36,1) 90ms both}.page-transition--staggered{animation:none}[data-cascade-item]{opacity:1;transform:none}[data-cascade-item][data-cascade-state=hidden]{opacity:0;transform:translateY(var(--cascade-distance));filter:blur(var(--cascade-blur,0))}[data-cascade-item][data-cascade-state=visible]{opacity:1;filter:blur();transition:opacity var(--cascade-duration) var(--cascade-ease) var(--cascade-delay),transform var(--cascade-duration) var(--cascade-ease) var(--cascade-delay),filter var(--cascade-duration) var(--cascade-ease) var(--cascade-delay);transform:none}[data-cascade-item][data-cascade-immediate=true],[data-cascade-item][data-cascade-state=hidden]:focus-within{opacity:1;filter:none;transition:none;transform:none}@keyframes content-settle{0%{filter:blur(6px);opacity:.08;transform:translateY(.45rem)scale(.992)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}.profile-greeting{width:max-content;position:relative}.profile-greeting__trigger{z-index:1;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative}.profile-greeting__trigger:focus-visible{outline:2px solid var(--ink);outline-offset:.4rem;border-radius:50%}.profile-photo{background:var(--profile-surface);will-change:transform;border-radius:50%;width:8.75rem;height:8.75rem;display:block;overflow:hidden}.profile-photo img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.profile-greeting__bubble{z-index:10;width:max-content;min-width:42px;min-height:38px;max-width:min(220px,calc(100vw - 75px - (2 * var(--page-gutter))));box-sizing:border-box;background:var(--nav-shell);color:var(--bubble-ink);box-shadow:0 8px 22px var(--bubble-shadow);pointer-events:none;transform-origin:0 0;border-radius:18px;justify-content:flex-start;align-items:center;padding:9px 15px 9px 18px;display:flex;position:absolute;top:-60px;left:75px;overflow:visible}.profile-greeting__bubble--typing{justify-content:center;padding:9px 15px}.profile-greeting__tail{z-index:-1;background:var(--nav-shell);border-radius:50%;display:block;position:absolute}.profile-greeting__tail--primary{width:12px;height:12px;bottom:-8px;left:10px}.profile-greeting__tail--secondary{opacity:.82;width:6px;height:6px;bottom:-16px;left:2px}.profile-greeting__typing{justify-content:center;align-items:center;gap:4px;padding:2px 4px;display:flex}.profile-greeting__dot{background:var(--bubble-ink);border-radius:50%;width:7px;height:7px;display:inline-block}.profile-greeting__message{font-family:var(--sans);word-break:break-word;font-size:15px;font-weight:500;line-height:1.35}.profile-greeting__cursor{background:var(--bubble-ink);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;display:inline-block}.intro-heading{margin-top:2.5rem}.intro-heading h1{color:var(--ink);font-size:var(--type-size-h1);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h1);text-wrap:balance;margin:0}.intro-body{gap:1.5rem;margin-top:clamp(1.5rem,1.25rem + .8vw,1.75rem);display:grid}.intro-body p{color:var(--body);font-size:var(--type-size-body);font-weight:var(--type-weight-body);text-wrap:pretty;margin:0;line-height:1.48}.copy-email-button{border:1px solid var(--ink);background:var(--ink);min-width:7.5rem;height:2.75rem;color:var(--canvas);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 1rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s,transform .15s}.copy-email-button:hover{background:var(--button-hover);border-color:var(--button-hover);color:var(--button-hover-ink);transform:translateY(-1px)}.copy-email-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.profile-links{padding-bottom:var(--home-divider-space);border-bottom:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;gap:.75rem;margin-top:2.9rem;font-size:.82rem;line-height:1.5}.profile-links,.social-links{align-items:center;display:flex}.social-links{gap:.45rem}.social-link{border:1px solid var(--rule);width:2.75rem;height:2.75rem;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background-color .15s,border-color .15s,transform .15s;display:inline-flex}.social-link:hover{border-color:var(--social-hover-border);background:var(--nav-active);color:var(--ink);transform:translateY(-1px)}.work-showcase{padding-top:0}.work-showcase--home{padding-top:var(--home-divider-space);scroll-margin-top:5.5rem}.work-showcase__title{color:var(--ink);font-family:var(--sans);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);text-wrap:balance;margin:0 0 1.5rem}.work-card-list{gap:2.5rem}.work-card,.work-card-list{flex-direction:column;display:flex}.work-card{border:1px solid var(--work-card-border);background:var(--work-card-surface);border-radius:.875rem;gap:0;transition:border-color .16s,box-shadow .16s;overflow:hidden}.work-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:.875rem}.work-card__media{aspect-ratio:7/4;border-bottom:1px solid var(--work-card-border);isolation:isolate;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.work-card__media--okta{background:var(--work-card-media-okta)}.work-card__media--freshworks{background:var(--work-card-media-freshworks)}.work-card__mesh-gradient,.work-card__shader{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.work-card__shader{z-index:0;overflow:hidden}.work-card__mesh-gradient canvas{width:100%;height:100%}.work-card__logo{z-index:1;object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;height:auto;max-height:58%;transition:transform .22s cubic-bezier(.16,1,.3,1);display:block;position:relative}.work-card__logo--okta{width:min(11rem,42%)}.work-card__logo--freshworks{width:min(19rem,72%)}.work-card__content{gap:1.25rem;padding:clamp(1rem,.8rem + 1vw,1.35rem);display:grid}.work-card__header{gap:.35rem;display:grid}.work-card__title{color:var(--ink);font-size:var(--type-size-h3);font-weight:var(--type-weight-subheading);letter-spacing:var(--type-tracking-subheading);line-height:var(--type-leading-h3);margin:0}.work-card__description{color:var(--muted);font-size:var(--type-size-body-small);margin:0;line-height:1.5}.work-card__cta{background:var(--ink);width:100%;min-height:2.75rem;color:var(--canvas);font-size:var(--type-size-ui);letter-spacing:var(--type-tracking-ui);font-weight:600;line-height:var(--type-leading-ui);border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1rem;display:inline-flex}.work-card__cta-arrow{transition:transform .16s cubic-bezier(.16,1,.3,1);display:inline-block}@media (hover:hover) and (pointer:fine){.work-card:hover{border-color:var(--work-card-hover-border);box-shadow:0 .9rem 2.5rem var(--work-card-shadow)}.work-card:hover .work-card__logo--freshworks{transform:scale(1.01)}}.work-card:focus-visible{border-color:var(--work-card-hover-border);box-shadow:0 .9rem 2.5rem var(--work-card-shadow)}.work-card:focus-visible .work-card__cta-arrow,.work-card:hover .work-card__cta-arrow{transform:translate(.2rem)}.notes-section--home{margin-top:var(--home-divider-space);padding-top:var(--home-divider-space);padding-bottom:var(--home-divider-space);border-top:1px solid var(--rule);scroll-margin-top:5.5rem}.notes-page__group-header,.notes-section__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.notes-section__header{align-items:center;margin-bottom:1.5rem}.notes-section__controls{align-items:center;gap:1rem;margin-left:auto;display:flex}.notes-page__group h2,.notes-page__group-header p{font-size:var(--type-size-ui);font-weight:var(--type-weight-body);letter-spacing:var(--type-tracking-ui);margin:0;line-height:1.55}.notes-page__group h2{color:var(--muted)}.notes-section__title{color:var(--ink);font-family:var(--sans);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);text-wrap:balance;margin:0}.notes-page__group-header p,.notes-section__all-link{color:var(--muted);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums}.notes-section__all-link{min-height:2.5rem;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:.22em;align-items:center;padding-inline:.25rem;transition:color .18s;display:inline-flex}.notes-list{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.notes-list__item{min-width:0}.note-row{min-height:1.75rem;color:var(--ink);font-size:var(--type-size-ui);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding-block:.15rem;line-height:1.55;display:grid;position:relative}.note-row:focus-visible{border-radius:.2rem}.note-row__title{align-items:baseline;gap:.32rem;min-width:0;display:inline-flex}.note-row__title-text{width:fit-content;color:var(--muted);font-size:var(--type-size-body-small);font-weight:var(--type-weight-body);letter-spacing:normal;background-image:linear-gradient(var(--rule),var(--rule));background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;line-height:1.5;position:relative}.note-row__title-text:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .38s cubic-bezier(.22,1,.36,1);position:absolute;inset:auto 0 0;transform:scaleX(0)}.note-row__arrow{opacity:0;transition:opacity .24s,transform .42s cubic-bezier(.22,1,.36,1);display:inline-block;transform:translate(-.18rem,.18rem)}.note-row__meta{color:var(--muted);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.note-row__preview{display:none}.note-row:focus-visible .note-row__title-text:after,.note-row:hover .note-row__title-text:after{transform:scaleX(1)}.note-row:focus-visible .note-row__arrow,.note-row:hover .note-row__arrow{opacity:.8;transform:translate(0)}.notes-pagination{align-items:center;gap:0;display:flex}.notes-pagination__control{width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;flex:0 0 2.5rem;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.notes-pagination__control:disabled{color:var(--muted);cursor:default;opacity:.42}.site-footer{width:min(100%,var(--content-width));padding:var(--home-divider-space) 0 clamp(4rem,10vw,7rem);border-top:1px solid var(--rule);color:var(--muted);margin-inline:auto}.site-footer__content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.site-footer__made-with{font-size:var(--type-size-label);font-weight:var(--type-weight-ui);letter-spacing:.01em;align-items:center;gap:.35rem;margin:0;line-height:1.5;display:inline-flex}.fave-heart{width:1.25em;height:1.25em;display:inline-block;position:relative}.fave-heart__sprite{pointer-events:none;background:url(/heart-sprite.png) 0 0/1080px 36px no-repeat;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute;top:50%;left:50%}.fave-heart:hover .fave-heart__sprite{background-position:-1044px 0;transition:background-position .8s steps(29)}.india-clock{color:var(--muted);font-family:var(--sans);font-size:var(--type-size-label);font-variant-numeric:tabular-nums;font-weight:var(--type-weight-ui);align-items:baseline;gap:.5rem;line-height:1;display:inline-flex}.india-clock__digits,.sliding-number{align-items:center;display:inline-flex}.india-clock__digits{min-width:10.4ch;color:var(--ink)}.india-clock__meridiem{letter-spacing:var(--type-tracking-label);margin-left:.6ch}.india-clock__separator{text-align:center;width:.6ch;display:inline-block}.india-clock__placeholder{letter-spacing:.025em}.india-clock__zone{font-weight:var(--type-weight-ui);letter-spacing:.01em}.sliding-number__digit{font-variant-numeric:tabular-nums;width:1ch;line-height:1;display:inline-block;position:relative;overflow:visible clip}.sliding-number__placeholder{visibility:hidden}.sliding-number__measure{visibility:hidden;position:absolute}.sliding-number__glyph{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.notes-pagination svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.notes-pagination__control:first-child svg{transform:translate(.125rem)}.notes-pagination__control:last-child svg{transform:translate(-.125rem)}.content--notes{padding-top:4rem;padding-bottom:clamp(4rem,10vw,7rem)}.notes-page__header{max-width:36rem}.notes-page__header h1{color:var(--ink);font-size:var(--type-size-page-title);font-weight:var(--type-weight-page-title);letter-spacing:var(--type-tracking-page-title);line-height:var(--type-leading-page-title);text-wrap:balance;margin:0}.notes-page__header>p:last-child{max-width:32rem;color:var(--body);font-size:var(--type-size-body);text-wrap:pretty;margin:1.5rem 0 0;line-height:1.55}.notes-page__group{padding-top:var(--home-divider-space);border-top:1px solid var(--rule);margin-top:clamp(3.5rem,8vw,5.5rem);scroll-margin-top:5.5rem}.notes-page__group-header{margin-bottom:.875rem}.content--note-detail{width:min(100%,76rem);padding-top:4rem;padding-bottom:clamp(4rem,10vw,7rem)}.note-article__back{width:fit-content;min-height:2.75rem;color:var(--muted);font-size:var(--type-size-caption);font-weight:var(--type-weight-ui);align-items:center;gap:.45rem;margin-left:max(0px,50% - 22rem);display:inline-flex}.note-article{margin-top:clamp(2.75rem,7vw,4.75rem)}.note-article__header{width:min(100%,44rem);margin-inline:auto}.note-article__meta{color:var(--muted);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem;display:flex}.note-article__header h1{color:var(--ink);font-size:clamp(2.25rem,1.55rem + 3vw,4.25rem);font-weight:var(--type-weight-page-title);letter-spacing:-.048em;text-wrap:balance;margin:0;line-height:1.02}.note-article__description{max-width:39rem;color:var(--body);text-wrap:pretty;margin:1.5rem 0 0;font-size:clamp(1.05rem,1rem + .25vw,1.2rem);line-height:1.5}.note-article__hero{border:1px solid var(--rule);background:var(--work-card-surface);border-radius:clamp(.85rem,2vw,1.4rem);width:min(100%,44rem);margin:clamp(2.5rem,7vw,4.5rem) auto 0;overflow:hidden}.note-article__figure img,.note-article__gallery img,.note-article__hero img{width:100%;height:auto;display:block}.note-article__toc{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);width:min(100%,44rem);margin:clamp(2.5rem,7vw,4rem) auto 0;padding:1.25rem 0}.note-article__toc-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.note-article__toc-header h2,.note-article__toc-header p{font-size:var(--type-size-caption);margin:0;line-height:1.4}.note-article__toc-header h2{color:var(--ink);font-weight:var(--type-weight-ui);letter-spacing:var(--type-tracking-ui)}.note-article__toc-header p{color:var(--muted);font-variant-numeric:tabular-nums}.note-article__toc ol{gap:.2rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.note-article__toc li{margin:0}.note-article__toc a{min-height:2rem;color:var(--body);font-size:var(--type-size-body-small);text-underline-offset:.22em;align-items:center;line-height:1.45;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s;display:flex}.note-article__toc-subsection a{color:var(--muted);padding-left:1rem}.note-article__body{width:min(100%,44rem);color:var(--body);margin:clamp(3rem,8vw,5rem) auto 0;font-size:clamp(1.05rem,1rem + .22vw,1.1875rem);line-height:1.66}.note-article__body>:first-child{margin-top:0}.note-article__body ol,.note-article__body p,.note-article__body ul{margin:1.5rem 0 0}.note-article__body h2,.note-article__body h3{color:var(--ink);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);text-wrap:balance;scroll-margin-top:6rem}.note-article__body h2{margin:clamp(3.5rem,8vw,5rem) 0 0;font-size:clamp(1.55rem,1.35rem + .8vw,1.9rem);line-height:1.18}.note-article__body h3{margin:2.75rem 0 0;font-size:clamp(1.18rem,1.1rem + .35vw,1.35rem);line-height:1.3}.note-article__body ol,.note-article__body ul{padding-left:1.25rem}.note-article__body li+li{margin-top:.45rem}.note-article__body a{color:var(--ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:.08em}.note-article__body hr{background:var(--rule);border:0;width:100%;height:1px;margin:clamp(3.5rem,9vw,6rem) 0}.note-article__quote{border-left:2px solid var(--ink);margin:3rem 0 0;padding:1.4rem 0 1.4rem 1.35rem}.note-article__quote blockquote,.note-article__quote figcaption{margin:0}.note-article__quote blockquote{color:var(--ink);font-size:clamp(1.2rem,1.08rem + .5vw,1.45rem);font-weight:var(--type-weight-subheading);letter-spacing:var(--type-tracking-subheading);line-height:var(--type-leading-h3)}.note-article__quote figcaption{color:var(--muted);font-size:var(--type-size-caption);margin-top:.6rem}.note-article__figure,.note-article__gallery,.note-article__video{margin-top:clamp(2.5rem,7vw,4rem)}.note-article__figure--wide,.note-article__wide{width:min(64rem,calc(100vw - (2 * var(--page-gutter))));max-width:none;margin-left:50%;transform:translate(-50%)}.note-article__figure--full{width:min(76rem,calc(100vw - (2 * var(--page-gutter))));max-width:none;margin-left:50%;transform:translate(-50%)}.note-article__figure img,.note-article__gallery img,.note-article__video video{background:var(--work-card-surface);border-radius:clamp(.7rem,1.5vw,1rem)}.note-article__video video{width:100%;height:auto;display:block}.note-article__figure figcaption,.note-article__gallery figcaption,.note-article__video figcaption{color:var(--muted);font-size:var(--type-size-caption);margin-top:.7rem;line-height:1.45}.note-article__gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem);display:grid}.note-article__gallery-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.note-article__gallery-grid figure{min-width:0;margin:0}.note-article__callout{border:1px solid var(--rule);background:var(--nav-hover);border-radius:.85rem;margin-top:2.5rem;padding:1.25rem}.note-article__callout-title{color:var(--ink);font-size:var(--type-size-ui);font-weight:var(--type-weight-heading);margin:0 0 .5rem!important}.note-article__callout>div>:first-child{margin-top:0}.note-article__footnote-reference a{place-items:center;min-width:1.5rem;min-height:1.5rem;font-size:.72em;display:inline-grid}.note-article__footnotes{border-top:1px solid var(--rule);color:var(--muted);font-size:var(--type-size-body-small);margin-top:4rem;padding-top:1.5rem}.note-article__footnotes h2{margin-top:0}.note-neighbors{width:min(100%,44rem);padding-top:var(--home-divider-space);border-top:1px solid var(--rule);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:clamp(4rem,10vw,7rem);display:grid}.note-neighbors a{min-height:3.5rem;color:var(--ink);font-size:var(--type-size-ui);line-height:var(--type-leading-ui);flex-direction:column;justify-content:center;gap:.35rem;display:flex}.note-neighbors a:last-child{text-align:right}.note-neighbors__label{color:var(--muted);font-size:var(--type-size-caption)}@media (hover:hover) and (pointer:fine) and (min-width:1000px){.note-row__preview{z-index:4;border:1px solid var(--notes-preview-border);background:var(--work-card-surface);width:8.3125rem;height:6.25rem;box-shadow:0 .8rem 2rem var(--notes-preview-shadow);opacity:0;pointer-events:none;border-radius:.7rem;transition:opacity .1s cubic-bezier(0,0,.2,1),transform .1s cubic-bezier(0,0,.2,1);display:block;position:absolute;top:-.875rem;left:calc(100% + 1rem);overflow:hidden;transform:translateY(5px)}.note-row__preview img{object-fit:cover;width:100%;height:100%;display:block}.note-row:focus-visible .note-row__preview,.note-row:hover .note-row__preview{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.note-article__back:hover,.note-article__toc a:hover,.notes-pagination__control:not(:disabled):hover,.notes-section__all-link:hover{color:var(--ink)}.note-article__toc a:hover{text-decoration-color:currentColor}.notes-pagination__control:not(:disabled):hover{background:var(--nav-hover);transform:scale(1.05)}}.content--work-access{min-height:calc(100dvh - 4.5rem);padding-top:4rem}.work-access-locked{max-width:35rem;margin-top:clamp(3rem,8vw,5.25rem)}.work-access-locked h1{color:var(--ink);font-size:var(--type-size-page-title);font-weight:var(--type-weight-display);letter-spacing:var(--type-tracking-page-title);line-height:var(--type-leading-page-title);text-wrap:balance;margin:0}.work-access-locked>p:not(.section-label){max-width:31rem;color:var(--body);font-size:var(--type-size-body);text-wrap:pretty;margin:1.5rem 0 0;line-height:1.55}.work-access-dialog__close,.work-access-dialog__submit,.work-access-locked__button{appearance:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.work-access-locked__button{border:1px solid var(--ink);background:var(--ink);min-height:2.875rem;color:var(--canvas);font-size:var(--type-size-ui);letter-spacing:var(--type-tracking-ui);font-weight:600;line-height:var(--type-leading-ui);border-radius:999px;margin-top:2rem;padding:.75rem 1.15rem;transition:background-color .16s,color .16s,transform .16s}.work-access-dialog__close:focus-visible,.work-access-dialog__submit:focus-visible,.work-access-locked__button:focus-visible{outline:2px solid var(--work-access-focus);outline-offset:4px}.work-access-dialog{color:var(--ink);color-scheme:light;font-family:var(--sans);overscroll-behavior:none}html[data-theme=dark] .work-access-dialog{color-scheme:dark}.work-access-dialog::backdrop{background:0 0}.work-access-dialog__backdrop{background:var(--work-access-backdrop);-webkit-backdrop-filter:blur(3px)saturate(90%)}.work-access-dialog__positioner{padding:max(1.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overscroll-behavior:contain;scrollbar-gutter:stable;align-items:flex-start}.work-access-dialog__panel{border-color:var(--work-access-panel-border);background:var(--work-access-panel);max-width:31rem;color:var(--ink);box-shadow:0 1.5rem 5rem var(--work-access-panel-shadow);isolation:isolate;border-radius:1.6rem}.work-access-dialog__eyebrow{color:var(--muted)}.work-access-dialog__title{color:var(--ink);text-wrap:balance}.work-access-dialog__description{color:var(--body);text-wrap:pretty}.work-access-dialog__close{color:var(--muted);background:0 0;border:1px solid #0000}.work-access-code-input{isolation:isolate}.work-access-code-input__slots{gap:clamp(.25rem,1.7vw,.5rem);max-width:20.5rem;margin-inline:auto}.work-access-code-input__slot{border:1px solid var(--work-access-slot-border);border-color:var(--work-access-slot-border);background:var(--work-access-slot);min-width:0;max-width:3rem;color:var(--ink);box-shadow:inset 0 1px 0 var(--nav-highlight);border-radius:.72rem;transition:border-color .2s,background-color .2s,box-shadow .2s}.work-access-code-input__slot[data-active=true]{border-color:var(--work-access-focus);box-shadow:inset 0 1px 0 var(--nav-highlight),0 0 0 2px var(--work-access-panel),0 0 0 4px var(--work-access-focus-halo)}.work-access-code-input__slots[data-status=error] .work-access-code-input__slot{border-color:var(--work-access-error);background:var(--work-access-error-surface);transition-delay:.15s}.work-access-code-input__slots[data-status=error] .work-access-code-input__slot[data-active=true]{box-shadow:0 0 0 2px var(--work-access-panel),0 0 0 4px var(--work-access-error)}@supports (color:color-mix(in lab,red,red)){.work-access-code-input__slots[data-status=error] .work-access-code-input__slot[data-active=true]{box-shadow:0 0 0 2px var(--work-access-panel),0 0 0 4px color-mix(in srgb,var(--work-access-error) 72%,transparent)}}.work-access-code-input__slots[data-disabled=true]{cursor:wait}.work-access-code-input__character{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:650;line-height:1}.work-access-code-input__caret{background:currentColor;border-radius:999px;width:2px;height:1.5rem}.work-access-code-input__success-ring{overflow:visible}.work-access-dialog__message{max-width:20.5rem;color:var(--work-access-error);margin-inline:auto;font-weight:550}.work-access-dialog__form[aria-busy=true]{cursor:wait}.work-access-dialog__submit{border-color:var(--ink);background:var(--ink);color:var(--canvas)}.work-access-dialog__submit:disabled{cursor:wait}@media (min-height:36rem){.work-access-dialog__positioner{align-items:center}}@media (hover:hover) and (pointer:fine){.work-access-dialog__submit:hover:not(:disabled),.work-access-locked__button:hover{background:var(--button-hover);color:var(--button-hover-ink);transform:translateY(-1px)}.work-access-dialog__close:hover{border-color:var(--work-card-border);background:var(--nav-hover);color:var(--ink)}}@media (forced-colors:active){.note-neighbors,.notes-page__group,.notes-section--home,.site-footer,.work-card{border-color:canvastext}.note-row__title-text{background-image:none;text-decoration:underline}.note-row__preview{box-shadow:none;border-color:canvastext}.notes-pagination__control:disabled{color:graytext;opacity:1}.notes-pagination__control:not(:disabled):focus-visible{outline-color:highlight}.work-card__media{border-bottom-color:canvastext}.work-card__shader{display:none}.work-card__cta{color:buttontext;background:buttonface;border:1px solid buttontext}.work-access-dialog__backdrop{forced-color-adjust:none;background:#000000b3}.work-access-dialog__panel{color:canvastext;box-shadow:none;background:canvas;border:2px solid canvastext}.work-access-code-input__slot{color:fieldtext;box-shadow:none;background:field;border:1px solid graytext}.work-access-code-input__slot[data-active=true]{outline-offset:2px;box-shadow:none;border-color:highlight;outline:2px solid highlight}.work-access-code-input__slots[data-status=error] .work-access-code-input__slot{background:field;border-style:dashed;border-color:canvastext}.work-access-code-input__success-ring rect{stroke:highlight}.work-access-dialog__message{color:canvastext}.work-access-dialog__close,.work-access-dialog__submit,.work-access-locked__button{color:buttontext;background:buttonface;border:1px solid buttontext}.work-access-dialog__close:focus-visible,.work-access-dialog__submit:focus-visible,.work-access-locked__button:focus-visible{outline:2px solid highlight}}.content--work-detail{padding-top:4rem}.work-detail__back{width:fit-content;min-height:2.75rem;color:var(--muted);align-items:center;gap:.45rem;padding-inline:.15rem;font-size:.82rem;font-weight:500;display:inline-flex}.work-detail{margin-top:clamp(3rem,7vw,5rem)}.work-detail__header{max-width:36rem}.work-detail__header h1{color:var(--ink);font-size:var(--type-size-display);font-weight:var(--type-weight-display);letter-spacing:var(--type-tracking-display);line-height:var(--type-leading-display);margin:0}.work-detail__meta{color:var(--muted);margin:1.25rem 0 0;font-size:.84rem}.work-detail__summary{max-width:33rem;color:var(--body);font-size:var(--type-size-body);text-wrap:pretty;margin:2rem 0 0;line-height:1.55}.work-detail__projects{margin-top:clamp(4rem,9vw,6.5rem)}.work-detail__projects>h2{color:var(--ink);font-family:var(--sans);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);text-wrap:balance;margin:0 0 1.5rem}.work-detail__list{border-top:1px solid var(--rule)}.work-detail__item{border-bottom:1px solid var(--rule);padding:1.5rem 0}.work-detail__item h3,.work-detail__item-type,.work-detail__item>p:last-child{margin:0}.work-detail__item-type{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.work-detail__item h3{color:var(--ink);font-size:var(--type-size-h3);font-weight:var(--type-weight-subheading);letter-spacing:var(--type-tracking-subheading);line-height:var(--type-leading-h3);margin-top:.55rem}.work-detail__item>p:last-child{max-width:34rem;color:var(--body);font-size:var(--type-size-body-small);margin-top:.65rem;line-height:1.5}.content--section{padding-top:6rem}.section-intro{max-width:34rem}.section-label{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.68rem;font-weight:600}.section-intro h1{font-size:var(--type-size-page-title);font-weight:var(--type-weight-page-title);letter-spacing:var(--type-tracking-page-title);line-height:var(--type-leading-page-title);text-wrap:balance;margin:0}.section-intro>p:last-child{max-width:31rem;color:var(--body);font-size:var(--type-size-body);margin:2rem 0 0;line-height:1.55}.not-found__link{color:var(--ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:.08em}@media (max-width:600px){.site-header{min-height:0;padding-top:max(.75rem,env(safe-area-inset-top));flex-direction:row;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem}.segmented-nav{flex:auto;width:auto;min-width:0;max-width:18rem}.appearance-controls{flex:0 0 2.875rem;position:static;transform:none}.content{padding-top:2rem}.content:not(.content--section){padding-top:3.75rem}.notes-section--home{padding-bottom:var(--home-divider-space)}.content--note-detail,.content--notes{padding-bottom:4rem}.note-neighbors{grid-template-columns:1fr;gap:.75rem}.note-neighbors a:last-child{text-align:left}.note-article__gallery-grid,.note-article__gallery-grid[data-columns="3"]{grid-template-columns:1fr}}@media (max-width:640px){.work-card__content{padding:1rem}.work-card__logo--okta{width:min(9rem,48%)}.work-card__logo--freshworks{width:min(15rem,76%)}.content.content--work-access{min-height:calc(100dvh - 3.875rem);padding-top:3rem}.work-access-locked{margin-top:2.5rem}.work-access-dialog__positioner{padding-inline-start:max(.75rem,env(safe-area-inset-left));padding-inline-end:max(.75rem,env(safe-area-inset-right))}.work-access-dialog__panel{border-radius:1.3rem;padding:1.25rem}.work-access-dialog__header{padding-right:2.75rem}}@media (max-width:360px){.site-footer__content{flex-direction:column;align-items:flex-start}.work-access-dialog__panel{padding:1rem}.work-access-code-input__slots{gap:.2rem}.work-access-code-input__slot{border-radius:.55rem}.note-row{grid-template-columns:1fr;gap:0}.note-row__meta{text-align:left;margin-top:-.1rem;margin-bottom:.25rem;font-size:.78125rem;line-height:1.4}}@media (min-width:641px) and (max-width:800px){.work-showcase{width:calc(100% - 5.5rem);margin-inline:auto}}@media (max-width:520px){.profile-photo{width:7.5rem;height:7.5rem}.profile-greeting__bubble{max-width:min(220px,calc(100vw - 65px - (2 * var(--page-gutter))));left:65px}.intro-heading{margin-top:2rem}.intro-body p{font-size:var(--type-size-body-compact);line-height:1.52}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-card,.work-card__cta-arrow,.work-card__logo{transition:none;transform:none!important}.work-card__shader{display:none}.note-row__arrow,.note-row__preview,.note-row__title-text:after,.notes-pagination__control,.notes-section__all-link{transition:none}.notes-pagination__control:not(:disabled):hover{transform:none}.note-row:focus-visible .note-row__preview,.note-row:hover .note-row__preview,.note-row__preview{transform:translateY(0)}.page-transition{filter:none;opacity:1;animation:none;transform:none}[data-cascade-item],[data-reveal-item]{filter:none!important;opacity:1!important;transform:none!important}[data-cascade-item]{transition:none!important}.sunshine-overlay{transition:none}.work-access-code-input__slot,.work-access-dialog__close,.work-access-dialog__submit,.work-access-locked__button{transition:none;transform:none!important}.work-access-code-input__caret{opacity:1;animation:none!important}.sunshine-overlay[data-active=true]{opacity:0}.sunshine-static-overlay{z-index:9998;mix-blend-mode:multiply;opacity:0;pointer-events:none;background:radial-gradient(circle at 14% 8%,#fff2b2d1,#0000 30%),radial-gradient(at 78% 18%,#7491504d,#0000 34%),radial-gradient(at 42% 82%,#4f74393d,#0000 38%);display:block;position:fixed;inset:0}.sunshine-static-overlay[data-active=true]{opacity:.18}::view-transition-old(root){animation:none!important;-webkit-mask:none!important;mask:none!important}::view-transition-new(root){animation:none!important;-webkit-mask:none!important;mask:none!important}*,:after,:before{transition-duration:.01ms!important}}.photos-page__grid{gap:2rem;margin-top:clamp(3rem,6vw,4.5rem);display:grid}.trip-card{border:1px solid var(--trip-card-border);background:var(--trip-card-surface);box-shadow:0 .625rem 1.875rem var(--trip-card-shadow);border-radius:1.1rem;transition:border-color .18s,transform .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden}.trip-card:hover{border-color:var(--trip-card-hover-border);transform:translateY(-2px)}.trip-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.trip-card__media{aspect-ratio:2;display:block;position:relative}.trip-card__media img{object-fit:cover}.trip-card__body{padding:1.15rem 1.35rem 1.3rem;display:block}.trip-card__title-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.trip-card__title{color:var(--ink);font-size:var(--type-size-h2);font-weight:var(--type-weight-subheading);letter-spacing:var(--type-tracking-subheading);line-height:var(--type-leading-h2)}.trip-card__year{color:var(--muted);font-size:var(--type-size-caption);font-weight:500}.trip-card__subtitle{max-width:34rem;color:var(--body);font-size:var(--type-size-body-small);margin-top:.45rem;line-height:1.5;display:block}.trip-card__meta{color:var(--muted);font-size:var(--type-size-caption);white-space:pre-wrap;margin-top:.85rem;display:block}.content--trip{padding-top:4rem}.trip-detail__back{width:fit-content;min-height:2.75rem;color:var(--muted);align-items:center;gap:.45rem;padding-inline:.15rem;font-size:.82rem;font-weight:500;display:inline-flex}.trip-detail{margin-top:clamp(3rem,7vw,5rem)}.trip-detail__header h1{color:var(--ink);font-size:var(--type-size-display);font-weight:var(--type-weight-display);letter-spacing:var(--type-tracking-display);line-height:var(--type-leading-display);margin:0}.trip-detail__subtitle{max-width:33rem;color:var(--body);font-size:var(--type-size-body);text-wrap:pretty;margin:2rem 0 0;line-height:1.55}.trip-detail__stats{flex-wrap:wrap;gap:1rem 2.4rem;margin:2.2rem 0 0;padding:0;list-style:none;display:flex}.trip-detail__stat-value{color:var(--ink);letter-spacing:-.02em;font-size:1.35rem;font-weight:600;display:block}.trip-detail__stat-label{color:var(--muted);font-size:var(--type-size-caption)}.trip-figure,.trip-video{margin:0}.trip-figure img{border-radius:1rem;width:100%;height:auto;display:block}.trip-figure figcaption,.trip-gallery figcaption,.trip-map figcaption,.trip-video figcaption{color:var(--muted);font-size:var(--type-size-caption);text-align:center;margin-top:.6rem}.trip-article>p{max-width:var(--trip-measure);color:var(--body);font-size:var(--type-size-body);margin-inline:auto;margin-bottom:0;line-height:1.65}.trip-gallery{--gallery-gap:.5rem}.trip-gallery,.trip-gallery__row{gap:var(--gallery-gap);flex-direction:column;display:flex}.trip-gallery__row{align-items:stretch}@media (min-width:40rem){.trip-gallery__row{flex-direction:row;align-items:flex-start}.trip-gallery__item{flex:0 0 0;flex-grow:var(--photo-grow,1000);min-width:0}}.trip-gallery__item{margin:0}.trip-gallery__frame{aspect-ratio:var(--photo-aspect,4/5);border-radius:.6rem;display:block;position:relative;overflow:hidden}.trip-gallery__frame img{object-fit:cover}.trip-video video{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:1rem;width:100%;display:block}.trip-map{border:1px solid var(--trip-card-border);background:var(--trip-card-surface);border-radius:1.1rem;flex-direction:column;align-items:center;gap:.9rem;margin:clamp(2.5rem,5vw,3.5rem) 0 0;padding:clamp(1.25rem,3vw,2rem);display:flex}.trip-map__svg{width:min(100%,26rem);height:auto;overflow:visible}.trip-map__land{fill:var(--trip-map-land);stroke:var(--trip-map-stroke);stroke-width:.6px;stroke-linejoin:round}.trip-map__route{fill:none;stroke:var(--trip-map-route);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.trip-map[data-drawn=true] .trip-map__route{opacity:1;animation:trip-map-draw 2.4s linear forwards}@keyframes trip-map-draw{to{stroke-dashoffset:0}}.trip-map__photo,.trip-map__stop{opacity:0;transition:opacity .5s}.trip-map[data-drawn=true] .trip-map__stop{opacity:1;transition-delay:2.2s}.trip-map[data-drawn=true] .trip-map__photo{opacity:1;transition-delay:2.5s}.trip-map__pin{fill:var(--trip-map-pin);stroke:var(--trip-card-surface);stroke-width:2.5px}.trip-map__photo{fill:var(--trip-map-route);stroke:var(--trip-card-surface);stroke-width:1.5px}.trip-map__label{fill:var(--trip-map-label);font-family:var(--sans);letter-spacing:.01em;paint-order:stroke;stroke:var(--trip-card-surface);stroke-width:3.5px;font-size:15px;font-weight:600}@media (prefers-reduced-motion:reduce){.trip-map__route{opacity:1;stroke-dashoffset:0;animation:none}.trip-map__photo,.trip-map__stop{opacity:1;transition:none}}.trip-detail__captured{color:var(--muted);font-size:var(--type-size-caption);text-align:center;margin:clamp(2.5rem,5vw,3.5rem) 0 0}.trip-detail__more{margin-top:clamp(4rem,9vw,6.5rem)}.trip-detail__more>h2{color:var(--ink);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);margin:0}.trip-detail__more .photos-page__grid{margin-top:1.5rem}.trip-detail__cover{margin-top:clamp(2.5rem,6vw,4rem)}.trip-article>*+*{margin-top:clamp(2rem,4vw,2.75rem)}.trip-article__wide{width:100%}@media (min-width:71rem){.trip-article__wide{width:62rem;margin-inline:calc((var(--content-width) - 62rem) / 2)}}.work-detail__group{margin-top:clamp(3.5rem,8vw,5.5rem)}.work-detail__group-header h2{color:var(--ink);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);margin:0}.work-detail__group-header p{max-width:32rem;color:var(--muted);font-size:var(--type-size-body-small);margin:.5rem 0 0;line-height:1.5}.case-study__more .work-card-list,.work-detail__group .work-card-list{margin-top:1.75rem}.work-card__media--marquee{background:var(--case-media-tint);pointer-events:none;display:block}.work-card__media--marquee.work-card__media--browser{--marquee-gap:clamp(1.5rem,5vw,3.25rem)}.work-card__media--marquee.work-card__media--phone{--marquee-gap:clamp(.9rem,2.5vw,1.5rem)}.work-card__media--marquee:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--case-media-tint) 0,transparent 10%,transparent 90%,var(--case-media-tint) 100%);position:absolute;inset:0}.work-card__marquee{display:flex;position:absolute;inset:0;overflow:hidden}.work-card__media--browser .work-card__marquee{align-items:flex-start;padding-top:clamp(1.75rem,5vw,3rem)}.work-card__media--phone .work-card__marquee{align-items:center}.work-card__marquee-track{will-change:transform;width:max-content;animation:work-card-marquee var(--marquee-duration,26s) linear infinite;display:flex}.work-card__marquee-set{gap:var(--marquee-gap);padding-inline:calc(var(--marquee-gap) / 2);display:flex}.work-card__marquee-item{flex:none;display:block}.work-card__media--browser .case-screen--browser{width:clamp(19rem,55vw,32rem)}.work-card__media--phone .case-screen--phone{width:clamp(5.5rem,13vw,7.5rem)}@keyframes work-card-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.work-card--project .work-card__header{gap:.6rem}.work-card--project .work-card__title{letter-spacing:-.022em;text-wrap:balance;font-size:clamp(1.1rem,1rem + .45vw,1.35rem);font-weight:600;line-height:1.34}.work-card--project .work-card__description{max-width:38rem}.work-card__headline{margin:.25rem 0 0}.work-card__headline strong{color:var(--ink);letter-spacing:-.02em;font-size:clamp(1rem,.95rem + .25vw,1.12rem);font-weight:600;line-height:1.25}.work-card__tags{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.work-card__tag{border:1px solid var(--rule);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.24rem .6rem;font-size:.72rem;font-weight:500;line-height:1.35}.work-card__tag--period{font-variant-numeric:tabular-nums}.work-card__tag-short{display:none}@media (max-width:47.9375rem){.work-card__tag[data-has-short=true] .work-card__tag-full{display:none}.work-card__tag[data-has-short=true] .work-card__tag-short{display:inline}}.case-screen{border:1px solid var(--case-screen-border);background:var(--case-screen-surface);flex-direction:column;display:flex;overflow:hidden}.case-screen--browser{aspect-ratio:45/32;border-radius:.6rem;width:clamp(13rem,26vw,17rem)}.case-screen--phone{aspect-ratio:993/2035;border-radius:.9rem;width:clamp(5rem,11vw,6.75rem)}.case-screen__image{object-fit:cover;width:100%;height:100%;display:block}.case-screen__chrome{border-bottom:1px solid var(--case-screen-border);align-items:center;gap:.22rem;padding:.4rem .5rem;display:flex}.case-screen--phone .case-screen__chrome{justify-content:center}.case-screen__dot{background:var(--case-screen-block);border-radius:50%;width:.28rem;height:.28rem}.case-screen__body{flex:1;gap:.4rem;min-height:0;padding:.5rem;display:flex}.case-screen__rail{background:var(--case-screen-block);opacity:.55;border-radius:.22rem;width:22%}.case-screen__stack{flex-direction:column;flex:1;gap:.34rem;min-width:0;display:flex}.case-screen__title{background:var(--case-screen-accent);border-radius:999px;width:62%;height:.42rem}.case-screen__title[data-wide=true]{width:78%}.case-screen__row{background:var(--case-screen-block);border-radius:999px;height:.3rem}.case-screen__row[data-emphasis=true]{background:var(--case-screen-accent);opacity:.7;width:84%}.case-screen--placeholder[data-variant="1"] .case-screen__stack{gap:.46rem}.case-screen--placeholder[data-variant="2"] .case-screen__rail{width:32%}.content--case-study{width:min(100%,calc(var(--case-nav-width) + 3.5rem + var(--case-body-width)));padding-top:4rem;padding-bottom:clamp(4rem,10vw,7rem)}.case-study{grid-template-columns:minmax(0,1fr);margin-top:clamp(2.75rem,7vw,4.5rem);display:grid}.case-study__body,.case-study__header{width:min(100%,var(--case-body-width));min-width:0;margin-inline:auto}.case-study__header h1{max-width:46rem;color:var(--ink);font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem);font-weight:var(--type-weight-page-title);letter-spacing:-.042em;text-wrap:balance;margin:0;line-height:1.06}.case-study__description{max-width:38rem;color:var(--body);text-wrap:pretty;margin:1.5rem 0 0;font-size:clamp(1.02rem,1rem + .2vw,1.15rem);line-height:1.55}.case-study__facts{flex-wrap:wrap;gap:1rem 2.25rem;margin:2.25rem 0 0;padding:0;list-style:none;display:flex}.case-study__facts li{flex-direction:column;gap:.2rem;display:flex}.case-study__fact-label{color:var(--muted);font-size:var(--type-size-caption);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.case-study__fact-value{color:var(--ink);font-size:var(--type-size-body-small);font-weight:500}.case-study__layout{grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:clamp(2.5rem,6vw,4rem);display:grid}.case-study-nav{display:none}@media (min-width:72rem){.case-study{grid-template-columns:var(--case-nav-width) minmax(0,var(--case-body-width));column-gap:var(--case-nav-gap);align-items:start}.case-study__layout{display:contents}.case-study__header{grid-area:1/2;width:100%;margin-inline:0}.case-study-nav{grid-area:2/1;align-self:start;margin-top:clamp(2.5rem,6vw,4rem);display:block;position:sticky;top:7rem}.case-study__body{margin-top:clamp(2.5rem,6vw,4rem);grid-area:2/2;width:100%;margin-inline:0}}.case-study-nav__list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.case-study-nav__link{min-height:2rem;color:var(--muted);font-size:var(--type-size-body-small);align-items:center;gap:.55rem;padding:.3rem 0;line-height:1.35;transition:color .2s;display:flex}.case-study-nav__marker{opacity:.45;background:currentColor;flex:none;width:.9rem;height:1px;transition:width .24s cubic-bezier(.22,1,.36,1),opacity .24s}.case-study-nav__link[data-state=active]{color:var(--ink);font-weight:500}.case-study-nav__link[data-state=active] .case-study-nav__marker{opacity:1;width:1.6rem}.case-study-nav__link[data-state=past]{color:var(--body)}@media (hover:hover) and (pointer:fine){.case-study-nav__link:hover{color:var(--ink)}}.case-study-nav__link:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:.25rem}.case-study-section{border-top:1px solid var(--rule);margin-top:clamp(3rem,7vw,4.5rem);padding-top:clamp(2rem,5vw,3rem);scroll-margin-top:7.5rem}.case-study-section:first-child{border-top:0;margin-top:0;padding-top:0}.case-study-section__kicker{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.68rem;font-weight:600}.case-study-section__title{color:var(--ink);font-size:clamp(1.35rem,1.1rem + 1vw,1.95rem);font-weight:var(--type-weight-heading);letter-spacing:-.028em;text-wrap:pretty;margin:0;line-height:1.22}.case-study-section__content{margin-top:1.5rem}.case-study-section__content>p,.case-study-section__heading{max-width:var(--case-reading-width)}.case-study-section__content>p{color:var(--body);font-size:var(--type-size-body);margin:0;line-height:1.68}.case-study-section__content>*+*{margin-top:clamp(1.35rem,3vw,1.9rem)}.case-study-summary{gap:1rem;display:grid}@media (min-width:40rem){.case-study-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-study-summary__card{border:1px solid var(--rule);background:var(--work-card-surface);border-radius:.9rem;padding:1.15rem 1.25rem 1.3rem}.case-study-summary__label{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.66rem;font-weight:600}.case-study-summary__card[data-tone=outcome] .case-study-summary__label{color:var(--ink)}.case-study-summary__copy{color:var(--body);font-size:var(--type-size-body-small);margin:0;line-height:1.6}.case-study-stats{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:1rem 1.75rem;margin:0;padding:1.15rem 0 0;display:grid}.case-study-stats__item{flex-direction:column-reverse;gap:.25rem;display:flex}.case-study-stats__value{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:600;line-height:1.1}.case-study-stats__label{color:var(--muted);font-size:var(--type-size-caption)}.case-study-figure{margin:0}.case-study-figure__frame{border:1px solid var(--rule);background:var(--case-media-tint);border-radius:1rem;justify-content:center;align-items:center;padding:clamp(1.25rem,4vw,2.25rem);display:flex}.case-study-figure__frame .case-screen--browser{width:min(100%,34rem)}.case-study-figure figcaption{color:var(--muted);font-size:var(--type-size-caption);text-align:center;margin-top:.65rem}.split-carousel{margin:0}.split-carousel__stage{border:1px solid var(--rule);background:var(--work-card-surface);border-radius:1rem;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:clamp(1.15rem,3vw,1.75rem);display:grid}@media (min-width:46rem){.split-carousel__stage{grid-template-columns:minmax(0,.48fr) minmax(0,.52fr);align-items:center;gap:clamp(1.25rem,3vw,2rem)}}.split-carousel__eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.66rem;font-weight:600}.split-carousel__title{color:var(--ink);font-size:1.05rem;font-weight:var(--type-weight-subheading);margin:0;line-height:1.35}.split-carousel__body{color:var(--body);font-size:var(--type-size-body-small);margin:.6rem 0 0;line-height:1.6}.split-carousel__note{border:1px solid var(--rule);color:var(--muted);border-radius:999px;margin:.85rem 0 0;padding:.2rem .55rem;font-size:.7rem;font-weight:500;display:inline-flex}.split-carousel__visual{background:var(--case-media-tint);border-radius:.75rem;justify-content:center;align-items:center;padding:clamp(1rem,3vw,1.5rem);display:flex}.split-carousel__visual .case-screen--browser{width:min(100%,22rem)}.split-carousel__thumbs{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.split-carousel__thumb{border:1px solid var(--rule);background:var(--case-media-tint);cursor:pointer;border-radius:.5rem;padding:.3rem;transition:border-color .18s,transform .18s cubic-bezier(.22,1,.36,1);display:block}.split-carousel__thumb[data-active=true]{border-color:var(--ink)}@media (hover:hover) and (pointer:fine){.split-carousel__thumb:hover{transform:translateY(-2px)}}.split-carousel__thumb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.split-carousel__thumb-visual{pointer-events:none;display:block}.split-carousel__thumb-visual .case-screen{width:clamp(3rem,6vw,4.25rem)}.split-carousel__thumb-visual .case-screen--phone{width:clamp(1.6rem,3vw,2.2rem)}.case-study-section__content{position:relative}.annotate,.annotate__target{display:inline}.annotate__arrow{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.annotate__arrow path{fill:none;stroke:var(--annotate-ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.annotate[data-drawn=true] .annotate__arrow path{opacity:1;animation:annotate-draw .7s cubic-bezier(.33,1,.68,1) forwards}@keyframes annotate-draw{to{stroke-dashoffset:0}}.annotate__note{left:calc(var(--case-reading-width) + 1.75rem);width:calc(var(--case-body-width) - var(--case-reading-width) - 2.25rem);color:var(--annotate-ink);text-wrap:pretty;margin:0;font-family:Caveat Variable,Caveat,cursive;font-size:1.15rem;font-weight:600;line-height:1.28;position:absolute}.annotate__note-text{--tegaki-progress:0;font-size:1.15rem;line-height:1.28;display:inline-block}.annotate[data-drawn=true] .annotate__note-text{animation:annotate-write 1.5s linear .42s forwards}@keyframes annotate-write{to{--tegaki-progress:1}}@media (prefers-reduced-motion:reduce){.annotate__arrow path{opacity:1;stroke-dashoffset:0;animation:none}.annotate__note-text{--tegaki-progress:1;animation:none}}.case-highlighter{background:0 0;display:inline-block;position:relative}.case-study__more{width:min(100%,var(--case-body-width));border-top:1px solid var(--rule);margin-inline:auto;margin-top:clamp(4rem,9vw,6.5rem);padding-top:clamp(2rem,5vw,3rem)}.case-study__more>h2{color:var(--ink);font-size:var(--type-size-h2);font-weight:var(--type-weight-heading);letter-spacing:var(--type-tracking-heading);line-height:var(--type-leading-h2);margin:0 0 1.5rem}@media (prefers-reduced-motion:reduce){.work-card__marquee-track{animation:none}.case-study-nav__marker{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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-ease{syntax:"*";inherits:false}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_next/static/media/dm-sans-latin-ext-wght-normal.076198e1.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_next/static/media/dm-sans-latin-wght-normal.09c66476.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/caveat-cyrillic-ext-wght-normal.b916f506.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/caveat-cyrillic-wght-normal.4267e6ee.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/caveat-latin-ext-wght-normal.07d5d42b.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/caveat-latin-wght-normal.ef8507f6.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}