*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.sticky{position:sticky}.mx-auto{margin-left:auto;margin-right:auto}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-zinc-200{--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-zinc-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-8{line-height:2rem}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.text-zinc-950{--tw-text-opacity: 1;color:rgb(9 9 11 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--case-sidebar-width: 255px;--case-main-padding-right: 32px;--case-secondary-header-height: 0px;--site-header-height: 79px;--site-header-padding-left: 32px;--site-header-padding-right: 33px;--home-bg: #f7f7f2;--page-ink: #161616;--page-muted: rgba(22, 22, 22, .62);--page-body-weight: 400;--page-subhead-weight: 600;--page-subhead-size: 1.05rem;--page-title-weight: 650;--page-display-weight: 700;--home-ink: var(--page-ink);--home-accent: #0b7a4b;--home-accent-contrast: #f7f7f2;--home-muted: var(--page-muted);--home-line: rgba(22, 22, 22, .14);--home-surface: #efefe8;--home-space-1: 8px;--home-space-2: 16px;--home-space-3: 24px;--home-space-4: 40px;--home-space-5: 64px;--home-space-6: 96px;--home-ease: cubic-bezier(.22, 1, .36, 1);--home-duration: .18s;--font-title: "Fraunces", ui-serif, Georgia, serif;--font-body: Inter, ui-sans-serif, system-ui, sans-serif;--home-font-sans: var(--font-body);--home-font-mono: "JetBrains Mono", ui-monospace, monospace;--context-accent: #b90e17;--context-shell-height: 64px;--section-list-header-height: 48px;--header-chrome-bg: #f7f7f4;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--page-gutter: clamp(16px, 4vw, 56px);--page-shell: 1080px;--page-prose: 820px;--page-canvas: 1149px;--page-inline: calc(var(--page-gutter) + var(--safe-left));--page-inline-end: calc(var(--page-gutter) + var(--safe-right));--page-body-size: 1.05rem;--page-body-leading: 1.55;--page-body-tracking: -.01em;--page-title-size: clamp(1.5rem, 2.8vw, 2rem);--page-display-size: clamp(2.15rem, 4.5vw, 3.25rem);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-body,.case-copy,.case-section-kicker,.about-section-content,.about-page-intro p,.about-contact-madlibs-line,.writing-article-content,.writing-index-header p,.writing-card-body p,.writing-media figcaption,.project-card-copy p,.case-study-meta-fields p{color:var(--page-muted);font-family:var(--font-body);font-weight:var(--page-body-weight)}.page-subhead,.case-copy h3,.case-copy strong,.writing-article-content h3,.about-publications h3,.case-study-embed-lab .case-copy h3,.case-study-embed-lab .embed-plate-caption strong,.case-study-embed-lab .case-vibe-link-copy strong,.case-study-embed-lab .embed-plate-vocalis-section-label,.case-study-embed-lab .embed-plate-vocalis-path-anchor,.writing-emphasis,.writing-article-content p.writing-emphasis{color:var(--page-ink);font-family:var(--font-body);font-weight:var(--page-subhead-weight)}.page-title,.case-section-title h2,.about-section-title h2,.writing-article-content h2,.writing-card-body h2{color:var(--page-ink);font-family:var(--font-title);font-weight:var(--page-title-weight)}.page-display,.case-hero h1,.about-page-intro h1,.about-contact-madlibs-lead h2,.writing-index-header h1,.writing-article-header h1{color:var(--page-ink);font-family:var(--font-title);font-weight:var(--page-display-weight)}body{margin:0;min-width:320px;background:#f7f4f3;font-family:var(--font-body);overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-title)}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-x:clip}html:has(.landing-page){scroll-behavior:smooth}.landing-page{background:var(--home-bg);color:var(--home-ink);display:flex;flex-direction:column;min-height:100svh;overflow-x:hidden;width:100%}.landing-page .home-work,.landing-page .home-lab{font-family:var(--home-font-sans)}.landing-page a:focus-visible,.landing-page button:focus-visible{outline:2px solid var(--home-accent);outline-offset:3px}.site-header-home{background:var(--home-bg);border-bottom:1px solid var(--home-line);color:var(--home-ink);justify-content:space-between}.site-header-home .site-header-logo{color:var(--home-ink)}.site-header-home .site-header-logo span{font-family:var(--font-title);font-size:14px;font-weight:400;letter-spacing:.01em}.site-header-home .site-header-nav{position:static;transform:none}.site-header-home .site-header-link{color:var(--home-ink);font-family:var(--font-title);font-size:13px;font-weight:500;letter-spacing:.12em;opacity:.55}.site-header-home .site-header-link.is-active,.site-header-home .site-header-link:hover{color:var(--home-accent);opacity:1}.site-header-home .site-header-menu-toggle{color:var(--home-ink)}.home-page{padding-top:var(--site-header-height)}.home-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.home-mono-label{align-items:center;color:var(--home-muted);display:inline-flex;font-family:var(--home-font-mono);font-size:11px;font-weight:500;gap:8px;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}.home-text-link{color:var(--home-accent);display:inline-flex;font-size:15px;font-weight:600;letter-spacing:-.01em;margin-top:var(--home-space-2);text-decoration:underline;text-underline-offset:3px;transition:color var(--home-duration) var(--home-ease)}.home-text-link:hover{color:var(--home-ink)}.motion-trace{color:var(--home-accent);display:block;flex-shrink:0}.motion-trace-hero{height:auto;pointer-events:none;width:min(160px,28vw)}.motion-trace-mark{height:14px;width:28px}.home-hero{display:grid;gap:var(--home-space-4);grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);padding:var(--home-space-4) clamp(20px,4vw,48px) var(--home-space-5)}.home-hero-intro{display:flex;flex-direction:column;justify-content:center;max-width:28rem;padding-top:var(--home-space-2)}.home-brand{color:var(--home-ink);font-family:var(--font-title);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-.05em;line-height:.95;margin:0 0 var(--home-space-3)}.home-headline{color:var(--home-ink);font-family:var(--font-title);font-size:clamp(1.25rem,2.2vw,1.65rem);font-weight:500;letter-spacing:-.03em;line-height:1.25;margin:0 0 var(--home-space-2);max-width:18ch}.home-support{color:var(--home-muted);font-size:1rem;font-weight:400;line-height:1.55;margin:0 0 var(--home-space-3);max-width:36ch}.home-hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.home-cta{align-items:center;border:1px solid var(--home-ink);display:inline-flex;font-size:14px;font-weight:600;letter-spacing:-.01em;min-height:44px;padding:0 18px;transition:background var(--home-duration) var(--home-ease),color var(--home-duration) var(--home-ease),border-color var(--home-duration) var(--home-ease)}.home-cta-primary{background:var(--home-accent);border-color:var(--home-accent);color:var(--home-accent-contrast)}.home-cta-primary:hover{background:var(--home-ink);border-color:var(--home-ink);color:var(--home-bg)}.home-cta-secondary{background:transparent;color:var(--home-ink)}.home-cta-secondary:hover{border-color:var(--home-accent);color:var(--home-accent)}.home-video-cluster{min-width:0;position:relative}.home-video-cluster-layout{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(96px,28%);grid-template-rows:auto auto;position:relative}.home-video-primary-wrap{display:flex;flex-direction:column;gap:12px;grid-column:1;grid-row:1 / span 2;min-width:0}.home-video-primary{aspect-ratio:16 / 10;background:var(--home-surface);border:1px solid var(--home-line);isolation:isolate;overflow:hidden;position:relative;width:100%}.home-video-primary.is-accent{border-color:var(--home-accent);border-width:2px}.home-video-poster,.home-video-el{background:var(--home-surface);height:100%;left:0;position:absolute;top:0;width:100%}.home-video-el{z-index:1}.home-video-chrome{align-items:flex-end;bottom:0;display:flex;justify-content:space-between;left:0;padding:10px 12px;pointer-events:none;position:absolute;right:0;z-index:2}.home-video-chrome .home-mono-label{background:#f7f7f2eb;color:var(--home-ink);padding:4px 8px}.home-video-actions{display:flex;gap:6px;pointer-events:auto}.home-control{background:#f7f7f2f2;border:1px solid var(--home-line);color:var(--home-ink);cursor:pointer;font-family:var(--home-font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;min-height:32px;padding:0 10px;text-transform:uppercase;transition:border-color var(--home-duration) var(--home-ease)}.home-control:hover,.home-control[aria-pressed=true]{border-color:var(--home-accent);color:var(--home-accent)}.home-video-meta{max-width:36rem}.home-video-title{font-size:1.15rem;font-weight:600;letter-spacing:-.03em;margin:0 0 4px}.home-video-desc{color:var(--home-muted);font-size:.95rem;line-height:1.45;margin:0}.home-video-support{display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:1}.home-video-thumb{background:var(--home-surface);border:1px solid var(--home-line);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;text-align:left;transition:border-color var(--home-duration) var(--home-ease);width:100%}.home-video-thumb:hover,.home-video-thumb:focus-visible{border-color:var(--home-accent)}.home-video-thumb img{aspect-ratio:16 / 11;display:block;height:auto;width:100%}.home-video-thumb .home-mono-label{left:8px;position:absolute;top:8px}.home-video-thumb-play{background:#f7f7f2f0;bottom:8px;color:var(--home-ink);font-family:var(--home-font-mono);font-size:10px;letter-spacing:.05em;padding:4px 8px;position:absolute;right:8px;text-transform:uppercase}.home-hero-trace{grid-column:2;grid-row:2;justify-self:end;margin-top:4px}.home-work{border-top:1px solid var(--home-line);padding:var(--home-space-5) clamp(20px,4vw,48px) var(--home-space-5)}.home-section-head{margin-bottom:var(--home-space-4);max-width:36rem}.home-section-head h2{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:650;letter-spacing:-.04em;line-height:1.1;margin:8px 0 0}.home-work-featured{display:grid;gap:var(--home-space-4);grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);margin-bottom:var(--home-space-5)}.home-work-copy h3{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;margin:10px 0 6px}.home-work-subtitle{color:var(--home-ink);font-size:1.05rem;font-weight:500;letter-spacing:-.02em;margin:0 0 12px}.home-work-desc{color:var(--home-muted);font-size:1rem;line-height:1.55;margin:0 0 16px;max-width:42ch}.home-work-contribution{color:var(--home-ink);display:flex;flex-direction:column;font-size:.95rem;gap:4px;line-height:1.45;margin:0 0 10px}.home-work-client{color:var(--home-muted);font-size:.85rem;margin:0}.home-work-media{aspect-ratio:16 / 10;background:var(--home-surface);border:1px solid var(--home-line);isolation:isolate;overflow:hidden;position:relative;width:100%}.home-work-media-placeholder{border-style:dashed}.home-work-placeholder-panel{align-items:flex-start;background:var(--home-accent);color:var(--home-accent-contrast);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:flex-end;padding:24px}.home-work-placeholder-panel .home-mono-label{color:#f7f7f2bf}.home-work-placeholder-panel p{font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:650;letter-spacing:-.04em;line-height:1.15;margin:0;max-width:12ch}.home-work-card.is-placeholder .home-work-copy h3{color:var(--home-muted)}.home-work-featured .home-work-media{aspect-ratio:16 / 9;min-height:280px}.home-work-still,.home-work-video{height:100%;left:0;position:absolute;top:0;width:100%}.home-work-video{z-index:1}.home-work-secondary{display:grid;gap:var(--home-space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.home-work-card{display:flex;flex-direction:column;gap:var(--home-space-3)}.home-work-card .home-work-copy h3{font-size:clamp(1.35rem,2.2vw,1.85rem)}.home-work-card .home-work-media{aspect-ratio:4 / 3}.home-lab{background:var(--home-ink);color:var(--home-bg);display:grid;gap:var(--home-space-4);grid-template-columns:minmax(0,.32fr) minmax(0,.68fr);padding:var(--home-space-5) clamp(20px,4vw,48px)}.home-lab-intro .home-mono-label{color:#f7f7f28c}.home-lab-intro h2{font-size:clamp(1.5rem,2.8vw,2rem);font-weight:650;letter-spacing:-.04em;margin:8px 0 12px}.home-lab-intro p{color:#f7f7f2b3;font-size:.95rem;line-height:1.5;margin:0;max-width:32ch}.home-lab-series-link{color:#7dcea0;margin-top:16px}.home-lab-series-link:hover{color:var(--home-bg)}.home-lab-day-mark{align-items:center;background:#1f1f1f;color:var(--home-accent);display:flex;font-family:var(--home-font-mono);font-size:clamp(2.5rem,5vw,3.25rem);font-weight:600;height:100%;justify-content:center;letter-spacing:-.04em}.home-lab-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-lab-tile-wrap{min-width:0}.home-lab-tile{background:transparent;border:1px solid rgba(247,247,242,.18);color:inherit;display:flex;flex-direction:column;height:100%;min-width:0;transition:border-color var(--home-duration) var(--home-ease)}.home-lab-tile:hover,.home-lab-tile:focus-visible{border-color:var(--home-accent)}.home-lab-media{aspect-ratio:16 / 10;background:#1f1f1f;overflow:hidden}.home-lab-media img,.home-lab-media video{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;width:100%}.home-lab-placeholder{background:repeating-linear-gradient(-45deg,#1f1f1f,#1f1f1f 6px,#242424 6px 12px);height:100%}.home-lab-copy{display:flex;flex-direction:column;gap:4px;padding:12px}.home-lab-copy .home-mono-label{color:#f7f7f28c}.home-lab-copy h3{font-size:.95rem;font-weight:600;letter-spacing:-.02em;margin:0}.home-lab-copy p{color:#f7f7f29e;font-size:.8rem;line-height:1.35;margin:0}.home-lab-trace{color:var(--home-accent)}@media(max-width:960px){.home-hero{grid-template-columns:1fr;padding-bottom:var(--home-space-4)}.home-hero-intro{max-width:none;padding-top:var(--home-space-3)}.home-video-cluster-layout{grid-template-columns:1fr}.home-video-primary-wrap{grid-column:1;grid-row:auto}.home-video-support{flex-direction:row;grid-column:1;grid-row:auto}.home-video-thumb{flex:1 1 0;min-width:0}.home-hero-trace{display:none}.home-work-featured,.home-work-secondary,.home-lab{grid-template-columns:1fr}.home-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.home-lab-grid{grid-template-columns:1fr}.home-brand{font-size:2.35rem}}@media(prefers-reduced-motion:reduce){.home-cta,.home-control,.home-text-link,.home-video-thumb,.home-lab-tile{transition:none}}@media(max-width:900px){.site-header-home.is-menu-open{background:var(--home-bg)}.site-header-home .site-header-nav-mobile .site-header-link{color:var(--home-ink);font-family:var(--font-title)}}.landing-hero{background:#111;cursor:none;flex:0 0 auto;min-height:calc(100svh - 112px);overflow:hidden;position:relative;width:100%}.landing-hero-video,.landing-hero-tint{height:100%;inset:0;position:absolute;width:100%}.landing-hero-video{filter:none;-o-object-fit:cover;object-fit:cover;opacity:0;pointer-events:none;visibility:hidden;z-index:0}.landing-hero-video.is-active{opacity:1;pointer-events:auto;visibility:visible;z-index:1}.landing-hero-tint{background:#0003;pointer-events:none}.landing-hero-media,.landing-hero-video-stage{inset:0;position:absolute}.landing-hero-expand{display:none}.landing-header{align-items:center;display:flex;justify-content:space-between;left:0;padding:16px 33px 0 32px;position:absolute;right:0;top:0;z-index:2}.site-header{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:var(--site-header-height);left:0;padding:0 var(--site-header-padding-right) 0 var(--site-header-padding-left);position:fixed;right:0;top:0;z-index:40}.site-header-inline{justify-content:flex-end;margin-left:var(--case-sidebar-width);position:relative;width:calc(100% - var(--case-sidebar-width));z-index:1}.site-header-inline .site-header-nav{position:static;transform:none}.site-header-overlay{background:transparent}.site-header-overlay.site-header-text-dark{--site-header-fg: #000000;--site-header-logo-filter: none}.site-header-overlay.site-header-text-light{--site-header-fg: #ffffff;--site-header-logo-filter: brightness(0) invert(1)}.site-header-overlay .site-header-logo{color:var(--site-header-fg, #000000);transition:color .35s ease}.site-header-overlay .site-header-logo img{filter:var(--site-header-logo-filter, none);transition:filter .35s ease}.site-header-overlay .site-header-link{color:var(--site-header-fg, #000000);transition:color .35s ease}.site-header-inline .site-header-logo{display:none}.site-header-logo{align-items:center;display:inline-flex;gap:8px}.site-header-logo img{height:27px;-o-object-fit:contain;object-fit:contain;width:auto}.site-header-logo span{font-family:var(--font-title);font-size:14px;font-weight:400;letter-spacing:.01em;line-height:1.2}.site-header-nav{align-items:center;display:flex;flex-shrink:0;gap:22px;position:absolute;right:var(--site-header-padding-right);top:50%;transform:translateY(-50%)}.site-header-link{color:#000;font-family:var(--font-title);font-size:13px;font-weight:500;letter-spacing:.12em;line-height:1.2;opacity:.55;text-transform:uppercase}.site-header-link.is-active,.site-header-link:hover{opacity:1}.site-header-menu-toggle{display:none}.site-header-menu-icon{display:grid;gap:6px;height:16px;width:22px}.site-header-menu-icon span{background:currentColor;border-radius:999px;display:block;height:2px;transform-origin:center;transition:transform .24s ease,opacity .24s ease;width:100%}.site-header-menu-backdrop{background:#1011172e;border:0;display:none;inset:0;padding:0;position:fixed;z-index:38}.site-header-nav-mobile{display:none}.projects-page{background:#fff;color:#000;min-height:100vh}.projects-section{display:grid;gap:8px;max-width:1149px;width:100%}.projects-item{padding:0;scroll-margin-top:32px}.projects-slab{align-items:center;border-radius:8px;color:inherit;display:grid;gap:36px;grid-template-columns:minmax(0,1fr) 500px;min-height:0;padding:8px 0}.projects-copy{display:grid;gap:14px;min-height:194px}.projects-meta-row{align-items:baseline;color:var(--case-muted);display:flex;min-height:17px}.projects-meta-row p{font-size:13px;line-height:1.2;margin:0}.projects-copy h2{display:flex;font-family:var(--font-title);font-size:42px;font-weight:700;gap:4px;letter-spacing:0;line-height:1;margin:0 0 8px}.projects-slab.is-lendsight-predictive-analytics .projects-copy h2{color:#330867}.projects-slab.is-vocalis-healthcare-translation .projects-copy h2{color:#38ad57}.projects-subtitle{color:#330867;font-size:15px;font-weight:700;line-height:1.2;margin:0}.projects-description{color:#303030;font-size:17px;line-height:1.3;margin:0;max-width:54ch}.projects-keywords{color:var(--case-muted);font-size:12px;font-weight:400;letter-spacing:-.12px;line-height:1.3;margin:2px 0 0}.projects-preview{aspect-ratio:16 / 9;background:var(--case-bg);border-radius:8px;height:auto;overflow:hidden;position:relative;width:100%}.projects-preview .case-frame-image{display:block;height:100%;width:100%}.projects-preview .case-frame-scroll{background:var(--case-bg);height:100%;overflow:hidden;position:relative;width:100%}.projects-preview .case-frame-poster{-o-object-fit:cover;object-fit:cover}.projects-preview .case-frame-video{border-radius:8px;inset:0;-o-object-fit:contain;object-fit:contain;pointer-events:none;position:absolute}.case-frame-panel.has-loop-video .case-frame-scroll{overflow:hidden}.case-frame-video{height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%}.landing-logo{align-items:center;display:inline-flex;height:30px;justify-content:center;width:18px}.landing-logo img{height:27px;width:13px}.landing-about-link{color:#000;font-size:16px;font-weight:500;line-height:1.2;text-transform:uppercase}.landing-header-actions{align-items:center;display:flex}.landing-menu-link{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:22px;width:32px}.landing-menu-link:focus-visible,.project-menu-close:focus-visible{outline:2px solid currentColor;outline-offset:4px}.landing-menu-link img{display:block;height:32px;width:32px}.landing-pointer-status{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:500;gap:2px;left:0;letter-spacing:.02em;line-height:1.2;pointer-events:none;position:absolute;text-align:center;top:0;transform:translateZ(0);translate:-50% -50%;z-index:4}.landing-pointer-status-tagline,.landing-pointer-status-action{margin:0;text-transform:uppercase;white-space:nowrap}.landing-pointer-status-time{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"zero" 1;font-variant-numeric:slashed-zero tabular-nums;margin:0;white-space:nowrap}.landing-carousel{bottom:10px;display:grid;gap:6px;left:12px;position:absolute;z-index:3}.landing-thumbnails{display:flex;gap:8px;position:relative}.landing-playhead{background:#fff;bottom:0;pointer-events:none;position:absolute;top:0;transform:translate(-50%);width:2px;z-index:5}.landing-thumbnail-scrub{cursor:ew-resize;inset:0;position:absolute;touch-action:none;z-index:4}.landing-thumbnail{background:#000;border:0;cursor:pointer;height:97px;overflow:visible;padding:0;position:relative;width:183px}.landing-thumbnail:after{background:#0000003d;content:"";inset:0;position:absolute;transition:background .18s ease;z-index:1}.landing-thumbnail.is-active:after{background:#4e4e4e8a}.landing-thumbnail.is-active{box-shadow:inset -1px 0 #fff;cursor:ew-resize}.landing-thumbnail:focus-visible{outline:2px solid #ffffff;outline-offset:3px}.landing-thumbnail video,.landing-thumbnail img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%}.landing-summary{align-items:start;display:grid;flex:0 0 auto;gap:36px;grid-template-columns:minmax(260px,.58fr) minmax(360px,.9fr);justify-content:space-between;min-height:112px;padding:12px 24px 14px}.landing-summary.is-about{display:grid;min-height:0;padding:12px 24px 14px}.landing-summary.is-project{align-items:stretch;display:block;padding:12px 24px 14px}.landing-active-context{align-items:stretch;-moz-column-gap:24px;column-gap:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding-top:0;width:100%}.landing-summary.is-project .landing-active-context{--landing-project-accent: #330867;max-width:none;padding-left:0}.landing-project-identity{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:flex-start;min-height:100%}.landing-project-eyebrow{color:var(--case-muted);font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1.2;margin:0;text-transform:uppercase}.landing-active-label{color:var(--landing-project-accent);display:inline-flex;font-family:var(--font-title);font-size:48px;font-weight:700;gap:4px;letter-spacing:0;line-height:1;margin:0;text-decoration:none;width:-moz-fit-content;width:fit-content}.landing-active-label sup{color:currentColor;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.34em;font-weight:700;line-height:1;margin-top:1px}.landing-active-label:hover sup{transform:translate(1px,-1px)}.landing-active-keywords{align-self:stretch;color:#303030;display:grid;font-size:14px;font-weight:600;gap:3px;grid-auto-rows:min-content;justify-items:end;line-height:1.2;list-style:none;margin:0;padding:0;text-align:right}.landing-text-link{align-self:end;color:#063b87;display:inline-flex;gap:6px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:.02em;line-height:1.2;margin-top:1px;text-decoration:none;text-underline-offset:4px;text-transform:uppercase;white-space:nowrap;width:-moz-fit-content;width:fit-content}.landing-text-link:hover{font-weight:700;text-decoration:underline}.landing-text-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}.landing-projects{background:#fff;flex:0 0 auto;padding:32px 24px 96px}.landing-projects-inner{display:grid;gap:8px;margin:0 auto;max-width:1149px;width:100%}.project-menu-overlay{color:#fff;inset:0;min-height:100vh;overflow-y:auto;position:fixed;z-index:60}.project-menu-backdrop{-webkit-backdrop-filter:blur(6.65px);backdrop-filter:blur(6.65px);background:#000000b3;inset:0;position:fixed}.project-menu-header{align-items:center;display:flex;justify-content:space-between;left:0;padding:16px 17px 0 32px;position:fixed;right:0;top:0;z-index:2}.project-menu-logo,.project-menu-about{color:#fff}.project-menu-close{align-items:center;background:transparent;border:0;color:#fff;cursor:pointer;display:inline-flex;font-size:27px;font-weight:300;height:32px;justify-content:center;line-height:1;margin-left:22px;padding:0;width:32px}.project-menu-content{margin:0 auto;max-width:1170px;padding:124px 24px 96px;position:relative;z-index:1}.project-menu-content h2{font-family:var(--font-title);font-size:52px;font-weight:700;letter-spacing:-1.04px;line-height:1.2;margin-bottom:18px}.project-menu-grid{display:grid;gap:60px;grid-template-columns:repeat(2,minmax(0,342px));justify-content:center}.project-menu-card{background:#fff;border-radius:12px;color:#000;display:flex;flex-direction:column;min-height:300px;overflow:hidden}.project-card-header{align-items:center;display:flex;gap:8px;min-height:53px;padding:16px 24px}.project-card-logo{height:47px;-o-object-fit:contain;object-fit:contain;width:51px}.project-card-logo.is-wide{height:32px;width:112px}.project-card-header p{font-size:18px;font-weight:500;line-height:1.1}.project-card-header span{color:#666;display:block;font-size:14px;line-height:1.2;margin-top:2px}.project-card-image{align-items:center;background:#30cfd0;display:flex;height:198px;justify-content:center;overflow:hidden;width:100%}.project-card-image img{height:161px;-o-object-fit:contain;object-fit:contain;width:276px}.project-card-content{align-items:end;display:grid;flex:1;gap:24px;grid-template-rows:1fr auto;min-height:112px;padding:18px}.project-card-content>div{align-self:stretch;min-height:40px}.project-card-content h3{color:#063b87;font-family:var(--font-title);font-size:18px;font-weight:700;line-height:1.1}.project-card-content p{color:#3c3c43;font-size:14px;line-height:1.25;margin-top:2px}.project-card-content>span{background:#063b87;border:1px solid #3c3c43;border-radius:100px;color:#fff;display:inline-flex;font-size:12px;justify-content:center;line-height:1;padding:8px 12px}.landing-case-button{align-items:center;background:#063b87;border:1px solid #063b87;border-radius:8px;box-shadow:0 1px 2px #1018280d;color:#fff;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;line-height:24px;min-height:46px;padding:10px 18px;text-align:center;width:176px}.landing-case-button:not(.is-disabled):hover{background:#052f6d;border-color:#052f6d}.landing-case-button.is-disabled{cursor:not-allowed;opacity:.45}.landing-loader{align-items:center;animation:landingLoaderExit .42s ease 3.2s forwards;background:radial-gradient(circle at 35% 20%,rgba(255,255,255,.95),transparent 32%),linear-gradient(145deg,#fffaf0,#eee4d4);display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.landing-loader-mark{position:relative}.landing-pen-stroke-svg{height:auto;overflow:visible;width:min(255px,60vw)}.landing-pen-stroke-shadow{animation:landingShadowReveal 3.2s cubic-bezier(.7,0,.25,1) forwards;filter:blur(1px);opacity:0;stroke:#0000001a;stroke-width:18;transform:translate(2px,3px)}.landing-pen-stroke{animation:landingFadeIn .2s ease-out forwards,landingDrawStroke 3.2s cubic-bezier(.7,0,.25,1) forwards;filter:drop-shadow(0 1px 0 rgba(0,0,0,.22));opacity:0;stroke-dasharray:1;stroke-dashoffset:1}.landing-pen-tip{animation:landingTipMove 3.2s cubic-bezier(.7,0,.25,1) forwards,landingTipFade 3.2s ease forwards;background:radial-gradient(circle,rgba(20,20,20,.95) 0 28%,rgba(20,20,20,.22) 45%,transparent 70%);border-radius:999px;height:18px;offset-distance:0%;offset-path:path("M112.232 200.76s-11.683 5.514-19.665 7.436c-12.245 2.948-21.295 7.669-32.219 1.401 0 0-19.733-4.108-13.51-43.735 6.222-39.626 14.377-60.852 29.012-97.976 9.379-23.792 27.395-59.48 27.395-59.48s-1.173 55.958-2.598 100.117l-3.649 113.075c-1.425 44.158-.11 26.572-1.521 43.519-1.347 16.17-2.91 50.383-2.91 50.383S93.603 380.143 88 421c-5 36.468-2.501 62.5-22.001 90.5s-37.299 15.247-44.898 8.942c-7.599-6.304-17.553-54.739-10.83-89.166 2.496-12.785 10.101-31.788 10.101-31.788s16.723-44.271 30.36-71.28C63.721 302.481 72.56 288.846 88 264.511c9.694-15.277 13.558-25.135 25.699-38.549 9.082-10.035 16.275-13.507 25.942-22.979 14.756-14.459 21.479-24.051 34.831-39.816 9.242-10.913 14.389-17.064 23.355-28.205 11.41-14.176 16.748-22.977 28.568-36.812 7.687-8.998 20.379-22.427 20.379-22.427s-20.523 16.624-31.949 29.014c-4.263 4.622-6.373 7.462-10.519 12.189-10.919 12.451-17.641 18.894-28.622 31.29-12.147 13.712-18.817 21.529-30.481 35.654-9.759 11.818-15.115 18.54-24.554 30.616-6.871 8.79-8.848 15.49-17.388 22.669-4.903 4.121-7.913 6.314-13.766 8.917-6.94 3.086-11.403 5.764-18.996 5.928-3.71.08-6.923.554-9.397-2.211-2.605-2.909-1.242-6.643.808-9.967 2.303-3.735 5.168-4.853 9.089-6.822 5.238-2.63 8.859-2.989 14.428-4.816 7.065-2.318 11.408-2.216 18.803-2.99 11.131-1.166 17.536-2.004 28.649-.687 8.227.974 12.954 1.721 20.689 4.687 7.183 2.753 10.874 5.192 17.295 9.428 9.455 6.238 14.774 10.162 22.05 18.843 6.095 7.274 7.885 12.537 12.876 20.608 4.705 7.607 5.184 17.25 14.116 17.699 4.888.245 6.725-1.003 9.914-4.715 4.431-5.158 5.503-8.627 7.731-14.924 2.085-5.893 3.23-11.532 3.448-17.779.186-5.309.534-7.094-3.677-10.331-3.561-2.737-7.507-3.057-11.463-.929");opacity:0;position:absolute;left:0;top:0;width:18px}@keyframes landingDrawStroke{to{stroke-dashoffset:0}}@keyframes landingFadeIn{to{opacity:1}}@keyframes landingShadowReveal{0%{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}8%{opacity:.55}to{opacity:.55;stroke-dasharray:1;stroke-dashoffset:0}}@keyframes landingTipMove{to{offset-distance:100%}}@keyframes landingTipFade{0%{opacity:0}5%,88%{opacity:1}to{opacity:0}}@keyframes landingLoaderExit{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.landing-loader,.landing-pen-stroke,.landing-pen-stroke-shadow,.landing-pen-tip{animation-duration:.01ms}}@media(max-width:900px){.landing-page{min-height:620px}.landing-hero{min-height:0}.landing-header{padding:18px 20px 0}.site-header{--site-header-padding-left: 20px;--site-header-padding-right: 20px}.site-header-overlay .site-header-link{font-size:11px}.landing-about-link{color:#fff;font-size:13px}.landing-menu-link{margin-left:12px}.landing-carousel{bottom:14px;left:16px;right:16px}.landing-thumbnails{overflow-x:auto;padding:2px 0 6px}.landing-playhead{top:2px;bottom:6px}.landing-pointer-status{font-size:8px;letter-spacing:.01em}.landing-thumbnail{flex:0 0 150px;height:82px}.landing-summary{align-items:start;flex-basis:145px;gap:12px;grid-template-columns:1fr;padding:14px 20px 16px}.landing-summary.is-project{padding:14px 20px 16px}.landing-active-context{gap:4px;grid-template-columns:1fr}.landing-summary.is-project .landing-active-context{gap:16px;grid-template-columns:minmax(0,1fr) auto}.landing-active-keywords{gap:2px;justify-items:start;text-align:left}.project-menu-content{padding:104px 20px 64px}.project-menu-content h2{font-size:42px;letter-spacing:0}.project-menu-grid,.projects-grid{gap:24px;grid-template-columns:1fr}.projects-main{padding:calc(var(--site-header-height) + 32px) 20px 64px}.projects-main h1{font-size:42px;letter-spacing:0}.project-menu-card{max-width:342px;width:100%}.landing-summary.is-about{padding:14px 20px 16px}.landing-projects{padding:24px 20px 64px}.landing-about-name{font-size:clamp(28px,7vw,34px)}.landing-about-role{font-size:18px}.landing-about-tagline{font-size:10px;line-height:1.2;max-width:none}.landing-active-keywords,.landing-text-link{font-size:13px}.landing-project-eyebrow{font-size:10px}.landing-active-label{font-size:34px;line-height:1}}.case-study-page{--case-ink: var(--page-ink);--case-muted: var(--page-muted);--case-line: var(--home-line, rgba(22, 22, 22, .14));--case-surface: rgba(255, 255, 255, .42);--case-bg: transparent;--case-accent: #3d5a73;--case-green: #3d5a73;--case-purple: var(--case-accent);--case-purple-muted: color-mix(in srgb, var(--case-accent) 42%, transparent);background-color:#f7f7f4;background-image:radial-gradient(ellipse 55% 60% at 12% 28%,rgba(183,207,227,.28) 0%,transparent 62%),radial-gradient(ellipse 50% 55% at 78% 35%,rgba(168,188,154,.22) 0%,transparent 60%),radial-gradient(ellipse 40% 36% at 48% 48%,rgba(232,223,184,.2) 0%,transparent 70%),linear-gradient(125deg,#f0f3f0,#f7f7f4,#f2f3ee);color:var(--case-ink);font-family:var(--font-body, Inter, sans-serif);min-height:100svh}.case-study-page:not(.resume-page){padding-top:calc(var(--context-shell-height) + var(--section-list-header-height) + var(--safe-top))}.case-study-page:not(.resume-page):before{background:var(--header-chrome-bg);content:"";height:calc(var(--context-shell-height) + var(--safe-top));left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:49}.case-study-vocalis{--case-accent: #4f6344;--case-green: #4f6344;--case-purple: #4f6344;--case-purple-muted: color-mix(in srgb, #4f6344 42%, transparent)}.case-study-vocalis .case-section-title h2{color:var(--case-ink)}.case-study-vocalis .case-sidebar,.case-study-vocalis .case-mobile-header,.case-study-vocalis .case-logo,.case-study-vocalis .case-nav,.case-study-vocalis .case-lab,.case-study-vocalis .case-sidebar-links,.case-study-vocalis.case-password-page .case-logo,.case-study-vocalis.case-password-page .case-lab{border-color:var(--case-line)}.case-sidebar{align-items:stretch;background:#f7f7f4b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--case-line);display:flex;flex-direction:column;height:calc(100svh - var(--context-shell-height));justify-content:space-between;left:0;overflow-y:auto;padding-bottom:24px;position:fixed;top:var(--context-shell-height);width:var(--case-sidebar-width);z-index:40}.case-logo{align-items:center;display:none;gap:8px;height:87px;padding:30px 20px 30px 32px}.case-logo img{height:27px;-o-object-fit:contain;object-fit:contain;width:auto}.case-logo span{font-family:var(--font-title);font-size:14px;font-weight:400;letter-spacing:.01em;line-height:1.2}.case-nav,.case-lab{border-bottom:1px solid var(--case-line);padding:24px 20px 24px 28px;width:100%}.case-nav{display:flex;flex-direction:column;gap:4px;padding-top:20px}.case-nav a{align-items:center;color:var(--case-muted);display:flex;font-family:var(--font-body, Inter, sans-serif);font-size:13px;font-weight:500;gap:10px;letter-spacing:-.01em;line-height:1.2;padding:8px 4px;text-decoration:none;transition:color .16s ease}.case-nav a:hover,.case-nav a.is-active{color:var(--case-ink)}.case-nav a.is-active .home-mono-label{color:var(--case-accent)}.case-nav a.is-active sup{color:var(--case-muted)}.case-nav sup,.case-section-title sup{font-size:.58em;line-height:1;margin-left:1px}.case-sidebar-links{border-bottom:1px solid var(--case-line);display:flex;flex-direction:column;gap:10px;padding:20px 20px 20px 28px;width:100%}.case-sidebar-links a{color:var(--context-accent, #b90e17);font-family:var(--font-body, Inter, sans-serif);font-size:13px;font-weight:500;letter-spacing:-.01em;line-height:1.2;text-decoration:underline;text-underline-offset:3px}.case-sidebar-links a:hover{color:var(--case-ink)}.case-lab img{aspect-ratio:892 / 212;display:block;height:auto;max-width:223px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;width:100%}.case-meta{color:var(--case-muted);display:grid;gap:14px;padding:20px 20px 0 28px;width:100%}.case-meta h2{font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:500;letter-spacing:.06em;line-height:1.2;margin:0;text-transform:uppercase}.case-meta p{font-family:var(--font-body, Inter, sans-serif);font-size:12px;font-weight:400;letter-spacing:-.01em;line-height:1.4;margin-top:6px}.case-profile-float{bottom:calc(20px + var(--safe-bottom));pointer-events:none;position:fixed;right:calc(20px + var(--safe-right));z-index:45}.case-profile-float .case-profile-ring{margin:0;pointer-events:auto}.case-profile-ring{align-items:center;background:var(--context-accent, #b90e17);border-radius:999px;box-shadow:0 12px 28px #16161629;display:flex;flex-shrink:0;height:131px;justify-content:center;margin:16px auto 0;padding:4px;width:131px}.case-profile{background:var(--home-surface, #efefe8);border:0;border-radius:999px;box-shadow:none;cursor:pointer;display:block;height:123px;margin:0;-o-object-fit:cover;object-fit:cover;width:123px}.case-profile:focus-visible{outline:2px solid var(--case-accent);outline-offset:4px}.case-mobile-header{display:none}.case-main{align-items:center;display:flex;flex-direction:column;margin:0 auto;min-width:0;overflow-x:clip;padding:28px var(--page-inline-end) 96px var(--page-inline);width:100%}.case-main>*{max-width:var(--page-canvas);width:100%}.case-main .case-frame-panel{margin-right:0;width:100%}.case-hero,.case-copy-section,.case-study-meta,.case-diagram{max-width:var(--page-canvas);width:100%}.case-hero-heading{align-items:flex-start;display:flex;gap:clamp(16px,3vw,32px);justify-content:space-between;margin:0}.case-hero-heading h1{flex:1 1 auto;margin:0;min-width:0}.case-hero-logo{flex:0 0 auto;max-width:min(180px,32vw);padding-top:4px}.case-hero-logo img{display:block;height:auto;max-height:48px;-o-object-fit:contain;object-fit:contain;-o-object-position:right center;object-position:right center;width:auto;max-width:100%}.case-copy-section{scroll-margin-top:calc(var(--context-shell-height) + var(--section-list-header-height) + 16px)}.case-study-meta{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1fr);margin-bottom:40px}.case-study-meta-copy{display:grid;gap:18px;min-width:0}.case-study-meta-link{color:var(--context-accent, #b90e17);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px;width:-moz-fit-content;width:fit-content}.case-study-meta-fields{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-meta-fields h2{color:var(--case-muted);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:500;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.case-study-meta-fields p{color:var(--case-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.9rem;font-weight:var(--page-body-weight);line-height:1.45;margin:0}.case-study-meta .case-profile-ring{margin:0}.case-hero{display:grid;gap:20px;margin-bottom:40px}.case-hero h1{font-family:var(--font-title, Fraunces, serif);font-size:var(--page-display-size);font-weight:var(--page-display-weight);letter-spacing:-.04em;line-height:1.05;max-width:var(--page-prose);margin:0}.case-frame-panel{background:var(--case-surface);border:1px solid var(--case-line);border-radius:0;height:600px;max-width:none;overflow:hidden;position:relative}.case-hero .case-frame-panel{border-radius:0}.case-frame-panel.is-figma-export{background:transparent;border:0;border-radius:0}.case-frame-panel.is-figma-export .case-frame-scroll{background:transparent}.case-hero-gradient{min-width:1149px}.case-frame-scroll{background:transparent;height:100%;overflow-x:auto;overflow-y:hidden;width:100%}.case-frame-scroll.has-horizontal-scroll{overscroll-behavior-x:contain}.case-frame-image{display:block;height:100%;max-width:none;width:auto}.case-frame-image.case-frame-video{height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%}.case-hero .case-frame-panel.has-loop-video{max-width:none}.hero-image{display:block;-o-object-fit:cover;object-fit:cover;position:absolute}.hero-image-left{height:237px;left:-101px;top:-68px;width:504px}.hero-laptop{height:547px;position:absolute;right:-307px;top:-223px;width:939px}.hero-laptop img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.hero-laptop span{background:linear-gradient(90deg,#222,#050505 40%,#343434);border-radius:0 0 90px 90px;bottom:-72px;box-shadow:0 28px 30px #00000040;display:block;height:52px;left:-100px;position:absolute;width:760px}.case-copy-section{align-items:start;display:flex;flex-wrap:wrap;gap:32px;padding:32px 0}.case-section-title{display:grid;flex:0 0 auto;gap:8px;min-width:-moz-min-content;min-width:min-content}.case-section-title h2{color:var(--case-ink);font-family:var(--font-title, Fraunces, serif);font-size:var(--page-title-size);font-weight:var(--page-title-weight);letter-spacing:-.03em;line-height:1.15;margin:0;text-transform:none}.case-section-kicker{color:var(--case-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.95rem;font-weight:var(--page-body-weight);letter-spacing:-.01em;line-height:1.45;margin:0;max-width:var(--page-prose)}.case-copy{color:var(--case-muted);display:grid;flex:1 1 240px;font-family:var(--font-body, Inter, sans-serif);font-weight:var(--page-body-weight);gap:18px;font-size:var(--page-body-size);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);max-width:var(--page-prose);min-width:0}.case-copy h3{color:var(--case-ink);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-subhead-size);font-weight:var(--page-subhead-weight);letter-spacing:-.015em;line-height:1.3;margin-top:18px}.case-copy h3:first-child{margin-top:0}.case-copy strong{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:inherit;font-weight:var(--page-subhead-weight)}.case-copy-section.is-figma-copy-row .case-section-title h2{color:var(--case-ink);font-family:var(--font-title, Fraunces, serif);font-size:1.25rem;font-weight:var(--page-subhead-weight);letter-spacing:-.02em;line-height:1.2;text-transform:none}.case-copy-section.is-figma-copy-row .case-copy{gap:4px;letter-spacing:-.01em}.case-copy-section.is-figma-copy-row .case-copy h3{font-size:1.1rem;letter-spacing:-.02em}.case-copy ul,.case-list-copy ul{list-style:disc;padding-left:27px}.case-diagram{display:grid;gap:10px;margin-top:22px;margin-bottom:32px}.case-diagram>h2{color:var(--case-ink);font-family:var(--font-title, Fraunces, serif);font-size:1.25rem;font-weight:var(--page-title-weight);letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.case-diagram.is-figma-export{gap:10px;margin-block:28px 48px;margin-inline:auto;max-width:var(--page-canvas);width:100%}.case-diagram.is-bleed-right .case-frame-panel{height:auto;overflow:hidden}.case-diagram.is-bleed-right .case-frame-scroll{overflow:hidden}.case-diagram.is-bleed-right .case-frame-image{height:auto;width:100%}.case-frame-panel.is-zoomable{position:relative}.case-zoom-controls{display:flex;gap:4px;position:absolute;right:12px;top:12px;z-index:2}.case-zoom-control{align-items:center;background:#f7f7f4f0;border:1px solid var(--case-line);border-radius:0;color:var(--case-ink);cursor:pointer;display:inline-flex;font-family:var(--font-body, Inter, sans-serif);font-size:18px;font-weight:600;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.case-zoom-control:hover:not(:disabled){background:#fff;border-color:var(--case-accent);color:var(--case-accent)}.case-zoom-control:focus-visible{outline:2px solid var(--case-accent);outline-offset:2px}.case-zoom-control:disabled{cursor:not-allowed;opacity:.35}.case-diagram.is-bleed-right.is-zoomable .case-frame-scroll.is-zoomed{overflow:auto;touch-action:none}.case-diagram.is-bleed-right.is-zoomable .case-frame-scroll.is-draggable{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.case-diagram.is-bleed-right.is-zoomable .case-frame-scroll.is-draggable.is-dragging{cursor:grabbing}.case-diagram.is-bleed-right.is-zoomable .case-frame-image{height:auto;max-width:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.green-panel{background:var(--case-accent);border-radius:0}.dashboard-panel{display:grid;gap:48px;grid-template-columns:repeat(3,778px);overflow-x:auto;padding:64px 48px}.dashboard-tier{color:#fff;display:grid;gap:4px;justify-items:center;text-align:center}.dashboard-tier h3,.prototype-block h3,.prototype-note h3,.prototype-callout h3{font-family:var(--font-title);font-size:24px;font-weight:500;line-height:1.2}.dashboard-tier img{width:100%}.dashboard-tier p{font-size:16px;line-height:1.2;max-width:589px;text-align:left}.discovery-panel{align-items:center;display:grid;gap:24px;grid-template-columns:repeat(5,minmax(180px,1fr));min-height:448px;overflow-x:auto;padding:24px}.discovery-card{align-items:center;display:flex;flex-direction:column;min-width:210px}.discovery-card:nth-child(2n){transform:translateY(70px)}.discovery-card:nth-child(4){transform:translateY(-40px)}.discovery-badge{border-radius:20px;color:#000;display:inline-flex;font-size:18px;font-weight:600;line-height:1.2;padding:4px 16px}.discovery-card p{border-radius:8px;color:#000;font-size:14px;line-height:1.2;margin-top:7px;padding:16px}.prototype-panel{color:#fff;display:grid;gap:24px;grid-template-columns:1.1fr .7fr 1.5fr;min-height:649px;padding:32px 24px}.prototype-block,.prototype-note,.prototype-callout{display:grid;gap:10px}.prototype-block img{align-self:start;max-width:100%}.prototype-note{align-self:center}.prototype-screens{align-content:center;display:grid;gap:18px;grid-template-columns:1fr 1fr}.prototype-screens img{border-radius:2px;width:100%}.prototype-screens img:last-child{transform:translateY(78px)}.prototype-callout{grid-column:2 / 4;justify-self:center;max-width:375px;text-align:center}.prototype-panel p{font-size:16px;line-height:1.2}.article-panel{align-items:center;display:grid;gap:16px;grid-template-columns:340px 1fr;overflow:hidden;padding:28px 24px;width:100%}.article-panel img:first-child{height:191px;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center;width:340px}.article-panel img:last-child{height:191px;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center;width:406px}.case-vibe-card{background:#fff;border:1px solid var(--case-line);color:inherit;display:grid;gap:0;margin-top:8px;max-width:42rem;overflow:hidden;text-decoration:none;transition:border-color .2s ease,transform .2s ease;width:100%}.case-vibe-card:hover{border-color:var(--context-accent, #b90e17);transform:translateY(-2px)}.case-vibe-card img{aspect-ratio:16 / 10;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.case-vibe-card-meta{display:grid;gap:8px;padding:18px 20px 20px}.case-vibe-card-meta strong{font-family:var(--font-display, Fraunces, Georgia, serif);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:550;letter-spacing:-.02em;line-height:1.25}.case-vibe-card-cta{color:var(--context-accent, #b90e17);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.case-list-copy{display:grid;font-family:var(--font-body, Inter, sans-serif);gap:4px;margin-top:24px}.case-copy a{color:var(--context-accent, #b90e17);text-decoration:underline;text-underline-offset:3px}.case-copy a:hover{color:var(--case-ink)}.about-page{--about-accent: var(--context-accent, #b90e17);--about-ink: var(--page-ink);--about-muted: var(--page-muted);--about-line: var(--home-line, rgba(22, 22, 22, .14));background-color:#f7f7f4;background-image:radial-gradient(ellipse 55% 60% at 12% 28%,rgba(183,207,227,.28) 0%,transparent 62%),radial-gradient(ellipse 50% 55% at 78% 35%,rgba(168,188,154,.22) 0%,transparent 60%),radial-gradient(ellipse 40% 36% at 48% 48%,rgba(232,223,184,.2) 0%,transparent 70%),linear-gradient(125deg,#f0f3f0,#f7f7f4,#f2f3ee);color:var(--about-ink);min-height:100svh;padding-top:calc(var(--context-shell-height) + var(--section-list-header-height) + var(--safe-top))}.about-page:before{background:var(--header-chrome-bg);content:"";height:calc(var(--context-shell-height) + var(--safe-top));left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:49}.section-list-header{background:var(--header-chrome-bg);border-bottom:1px solid var(--home-line, rgba(22, 22, 22, .14));display:flex;flex-wrap:nowrap;gap:4px 8px;left:0;overflow-x:auto;padding:8px calc(clamp(20px,4vw,56px) + var(--safe-right)) 8px calc(clamp(20px,4vw,56px) + var(--safe-left));position:fixed;right:0;scrollbar-width:none;top:calc(var(--context-shell-height) + var(--safe-top));transform:translateY(0);transition:transform .18s cubic-bezier(.22,1,.36,1);z-index:48}.section-list-header::-webkit-scrollbar{display:none}.section-list-header.is-scroll-hidden{transform:translateY(-100%)}.section-list-header-link{align-items:center;color:var(--home-muted, rgba(22, 22, 22, .62));display:inline-flex;flex:0 0 auto;font-family:var(--font-body, Inter, sans-serif);font-size:13px;font-weight:500;gap:8px;letter-spacing:-.01em;padding:8px 10px;text-decoration:none;transition:color .16s ease;white-space:nowrap}.section-list-header-link .home-mono-label{margin:0}.section-list-header-link:hover,.section-list-header-link.is-active{color:var(--home-ink, #161616)}.section-list-header-link.is-active .home-mono-label{color:var(--context-accent, #b90e17)}@media(max-width:720px){.case-study-meta-fields{grid-template-columns:1fr}.case-hero-heading{align-items:center}.case-hero-logo{max-width:min(120px,34vw)}.case-hero-logo img{max-height:36px}.case-profile-float{bottom:calc(14px + var(--safe-bottom));right:calc(14px + var(--safe-right))}.case-profile-float .case-profile-ring{height:96px;padding:3px;width:96px}.case-profile-float .case-profile{height:90px;width:90px}}@media(prefers-reduced-motion:reduce){.section-list-header{transition:none}.section-list-header.is-scroll-hidden{transform:none}}.about-main{display:grid;gap:56px;justify-items:center;margin:0 auto;min-width:0;padding:36px var(--page-inline-end) 96px var(--page-inline);width:100%}.about-main>*,.about-page-intro,.about-section,.about-contact-section{max-width:var(--page-canvas);width:100%}.about-page-intro h1{font-family:var(--font-title, Fraunces, serif);font-size:var(--page-display-size);font-weight:var(--page-display-weight);letter-spacing:-.045em;line-height:.98;margin:10px 0 14px}.about-page-intro p{color:var(--about-muted);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);margin:0}.about-section{display:grid;gap:20px;min-width:0;padding:8px 0;scroll-margin-top:calc(var(--context-shell-height) + var(--section-list-header-height) + 16px)}.about-section-title{display:grid;gap:8px;min-width:0}.about-section-title h2{color:var(--about-ink);font-family:var(--font-title, Fraunces, serif);font-size:var(--page-title-size);font-weight:var(--page-title-weight);letter-spacing:-.03em;line-height:1.15;margin:0}.about-section-content{color:var(--about-muted);display:grid;gap:20px;font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);max-width:none;min-width:0;width:100%}.about-section-content p{margin:0}.about-section#contact-me,.about-contact-section{align-items:start;display:grid;gap:20px}.about-contact-madlibs{display:grid;gap:clamp(28px,4vw,48px);grid-template-columns:minmax(12rem,.85fr) minmax(0,1.4fr);max-width:100%;width:100%}.about-contact-madlibs-lead h2{color:var(--about-ink);font-family:var(--font-title, Fraunces, serif);font-size:var(--page-display-size);font-weight:var(--page-display-weight);letter-spacing:-.045em;line-height:.98;margin:0 0 14px}.about-contact-madlibs-kicker{color:var(--about-muted);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:10px;font-weight:500;letter-spacing:.08em;line-height:1.3;margin:0;text-transform:uppercase}.about-contact-madlibs-form{display:grid;gap:28px;min-width:0;padding-top:4px}.about-contact-madlibs-line{color:var(--about-ink);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);letter-spacing:var(--page-body-tracking);line-height:1.75;margin:0;max-width:none;width:100%}.about-contact-inline{background:transparent;border:0;border-bottom:1.5px solid color-mix(in srgb,var(--about-ink) 55%,transparent);border-radius:0;color:var(--about-ink);display:inline;font:inherit;letter-spacing:inherit;line-height:inherit;margin:0 .15em;max-width:100%;min-width:8ch;padding:0 2px 2px;transition:border-color .16s ease;vertical-align:baseline;width:auto}.about-contact-inline.is-name{min-width:14ch;width:16ch}.about-contact-inline.is-need,.about-contact-inline.is-email{min-width:16ch;width:20ch}.about-contact-inline::-moz-placeholder{color:color-mix(in srgb,var(--about-muted) 88%,transparent);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:.62em;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.about-contact-inline::placeholder{color:color-mix(in srgb,var(--about-muted) 88%,transparent);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:.62em;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.about-contact-inline:focus-visible{border-bottom-color:var(--about-accent);outline:none}.about-contact-madlibs-form button,.about-contact-send{align-items:center;background:var(--about-accent, var(--context-accent, #b90e17));border:1px solid transparent;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body, Inter, sans-serif);font-size:10px;font-weight:600;letter-spacing:.06em;line-height:1;min-height:32px;padding:0 16px;text-align:center;text-transform:uppercase;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;width:-moz-fit-content;width:fit-content}.about-contact-madlibs-form button:hover,.about-contact-madlibs-form button:focus-visible,.about-contact-send:hover,.about-contact-send:focus-visible{background:var(--about-ink, #161616);color:#fff;outline:none}.about-contact-send:focus-visible{outline:2px solid var(--about-accent, var(--context-accent, #b90e17));outline-offset:2px}.about-contact-copy{display:grid;gap:4px}.about-contact-copy ul{list-style:disc;padding-left:27px}.about-venn-diagram{margin:12px 0 0;width:100%}.about-venn-static{background:transparent;border-radius:0;display:none;height:auto;width:100%}.about-venn-scale-host{aspect-ratio:1080 / 640;container-type:inline-size;overflow:visible;width:100%}.about-venn-frame{--about-venn-accent: var(--about-accent);--about-venn-ink: var(--about-ink);--about-venn-muted: var(--about-muted);background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--about-venn-ink);font-family:var(--font-body, Inter, sans-serif);height:640px;isolation:isolate;overflow:visible;position:relative;transform:scale(calc(100cqw / 1080));transform-origin:top left;width:1080px}.about-venn-circle-layer-wrap{bottom:0;height:100%;left:0;overflow:visible;position:absolute;width:54%;z-index:2}.about-venn-circle-plane{left:0;overflow:visible;position:absolute;top:0}.about-venn-big-circle{border:1.5px solid color-mix(in srgb,var(--about-venn-accent) 72%,#161616);border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff59;position:absolute}.about-venn-active-circle-label{background:none;border:0;color:var(--about-venn-accent);font-family:var(--font-title, Fraunces, serif);font-size:20px;font-weight:650;letter-spacing:-.03em;line-height:1.15;outline:none;position:absolute;text-transform:none;z-index:20}.about-venn-center-title{color:var(--about-venn-accent);font-family:var(--font-title);font-size:12px;font-weight:550;letter-spacing:-.01em;line-height:1.25;position:absolute;text-align:center;text-transform:none;transform:translate(-50%,-50%);z-index:20}.about-venn-text-menu{left:56%;position:absolute;top:96px;width:380px;z-index:20}.about-venn-menu-item{background:none;border:0;cursor:pointer;display:grid;gap:28px;grid-template-columns:40px 1fr;outline:none;padding-block:18px;text-align:left;width:100%}.about-venn-menu-number{color:var(--about-venn-accent);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:500;letter-spacing:.06em;padding-top:6px}.about-venn-menu-title{color:var(--about-venn-accent);font-family:var(--font-title);font-size:22px;font-weight:650;letter-spacing:-.03em;margin:0}.about-venn-menu-body{color:var(--about-venn-muted);font-size:14px;font-weight:400;letter-spacing:-.01em;line-height:1.55;margin:16px 0 0;max-width:34ch;padding-right:12px}@media(max-width:1480px){.resume-page .case-main{--case-main-padding-right: 24px;padding-left:64px;padding-right:var(--case-main-padding-right)}}@media(max-width:1200px){.about-venn-circle-layer-wrap{width:54%}.about-venn-text-menu{left:54%;top:80px;width:min(360px,44%)}.about-venn-menu-body{max-width:none}}@media(max-width:900px){.about-venn-static{display:block}.about-venn-scale-host{display:none}.projects-slab{align-items:start;gap:18px;grid-template-columns:1fr;min-height:0;padding:12px 0}.projects-preview{aspect-ratio:16 / 9;height:auto}.projects-copy{min-height:0}.projects-copy h2{font-size:36px}.about-venn-text-menu{left:auto;right:18px;top:64px;width:44%}.about-venn-menu-item{gap:14px;grid-template-columns:34px 1fr;padding-block:11px}.about-venn-menu-title{font-size:18px}.about-venn-menu-body{font-size:12px;margin-top:10px;max-width:none}}.about-publications{display:grid;gap:22px}.about-publications article{border-top:1px solid var(--about-line);display:grid;gap:6px;padding-top:18px}.about-publications article:first-child{border-top:0;padding-top:0}.about-publication-link{color:var(--about-ink);display:block;text-decoration:none;width:-moz-fit-content;width:fit-content}.about-publication-link:hover h3{color:var(--about-accent)}.about-publication-link:focus-visible{outline:2px solid var(--about-accent);outline-offset:4px}.about-publications h3{color:inherit;font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-subhead-size);font-weight:var(--page-subhead-weight);letter-spacing:-.015em;line-height:1.3;margin:0;transition:color .16s ease}.about-publications p{color:var(--about-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.92rem;font-weight:var(--page-body-weight);line-height:1.5;margin:0}.writing-page{--writing-ink: var(--page-ink);--writing-muted: var(--page-muted);--writing-accent: var(--context-accent, #b90e17);--writing-line: var(--home-line, rgba(22, 22, 22, .14));background-color:#f7f7f4;background-image:radial-gradient(ellipse 55% 60% at 12% 28%,rgba(183,207,227,.28) 0%,transparent 62%),radial-gradient(ellipse 50% 55% at 78% 35%,rgba(168,188,154,.22) 0%,transparent 60%),radial-gradient(ellipse 40% 36% at 48% 48%,rgba(232,223,184,.2) 0%,transparent 70%),linear-gradient(125deg,#f0f3f0,#f7f7f4,#f2f3ee);color:var(--writing-ink);min-height:100svh}.writing-shell{display:flex;flex-direction:column;align-items:center;margin:0 auto;padding:calc(var(--context-shell-height) + var(--safe-top) + 40px) var(--page-inline-end) calc(96px + var(--safe-bottom)) var(--page-inline);width:100%}.writing-shell>*{max-width:var(--page-canvas);width:100%}.writing-index-header{margin-bottom:40px}.writing-index-header h1{font-family:var(--font-title, Fraunces, serif);font-size:var(--page-display-size);font-weight:var(--page-display-weight);letter-spacing:-.04em;line-height:1.05;margin:10px 0 14px}.writing-index-header p{color:var(--writing-muted);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);margin:0}.writing-index-header a{color:var(--writing-accent);text-decoration:underline;text-underline-offset:3px}.writing-list{display:grid;gap:0}.writing-card{align-items:flex-start;border-top:1px solid var(--writing-line);color:inherit;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 120px;padding:28px 0;text-decoration:none;transition:opacity .2s ease}.writing-card:last-child{border-bottom:1px solid var(--writing-line)}.writing-card:hover{opacity:.88}.writing-card:hover .writing-card-body h2{color:var(--writing-accent)}.writing-card:focus-visible{outline:2px solid var(--writing-accent);outline-offset:6px}.writing-card-media{background:var(--home-surface, #efefe8);border:1px solid var(--writing-line);flex-shrink:0;overflow:hidden;width:120px}.writing-card-media img{aspect-ratio:1;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.writing-card-body{display:grid;gap:8px;min-width:0}.writing-card-meta{align-items:center;color:var(--writing-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;letter-spacing:0;line-height:1.3}.writing-card-body h2{color:var(--writing-ink);font-family:var(--font-title, Fraunces, serif);font-size:clamp(1.15rem,2vw,1.4rem);font-weight:var(--page-title-weight);letter-spacing:-.03em;line-height:1.25;margin:0;transition:color .16s ease}.writing-card-body p{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--writing-muted);display:-webkit-box;font-family:var(--font-body, Inter, sans-serif);font-size:.95rem;font-weight:var(--page-body-weight);line-height:1.45;margin:0;overflow:hidden}.writing-back-link{color:var(--writing-muted);display:inline-block;font-size:14px;font-weight:500;margin-bottom:32px;text-decoration:none}.writing-back-link:hover{color:var(--writing-accent)}.writing-article-header{display:grid;gap:16px;margin-bottom:40px}.writing-article-header h1{color:var(--writing-ink);font-family:var(--font-title, Fraunces, serif);font-size:var(--page-display-size);font-weight:var(--page-display-weight);letter-spacing:-.04em;line-height:1.1;margin:0}.writing-article-content{display:grid;gap:1.25em;font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);max-width:none;width:100%}.writing-article-content p{color:var(--writing-muted);font-weight:var(--page-body-weight);margin:0}.writing-article-content h2{color:var(--writing-ink);font-family:var(--font-title, Fraunces, serif);font-size:var(--page-title-size);font-weight:var(--page-title-weight);letter-spacing:-.03em;line-height:1.15;margin:1.2em 0 0}.writing-article-content h3{color:var(--writing-ink);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-subhead-size);font-weight:var(--page-subhead-weight);letter-spacing:-.015em;line-height:1.3;margin:.8em 0 0}.writing-emphasis,.writing-article-content p.writing-emphasis{color:var(--writing-ink);font-family:var(--font-body, Inter, sans-serif);font-weight:var(--page-subhead-weight)}.writing-article-content blockquote{border-left:2px solid var(--writing-accent);color:#161616d1;font-style:italic;margin:.2em 0;padding:.15em 0 .15em 1em}.writing-article-content a{color:var(--writing-accent);text-decoration:underline;text-underline-offset:3px}.writing-media{display:grid;gap:10px;margin:.4em auto;max-width:90%;width:90%}.writing-media img,.writing-media video{border:1px solid var(--writing-line);display:block;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;width:100%}.writing-media figcaption{color:var(--writing-muted);font-family:var(--font-body, Inter, sans-serif);font-size:14px;font-weight:var(--page-body-weight);line-height:1.4}@media(max-width:760px){.writing-shell{padding:calc(var(--context-shell-height) + var(--safe-top) + 28px) var(--page-inline-end) calc(72px + var(--safe-bottom)) var(--page-inline)}.writing-card{gap:16px;grid-template-columns:minmax(0,1fr) 80px;padding:22px 0}.writing-card-media{width:80px}.writing-card-body h2{font-size:1.05rem}.writing-card-body p{font-size:.9rem}.about-contact-madlibs{grid-template-columns:1fr;gap:24px}.about-contact-inline.is-name,.about-contact-inline.is-need,.about-contact-inline.is-email{display:inline-block;max-width:100%;width:min(100%,22ch)}}.resume-page{--resume-blue: #063b87;--case-purple: #063b87;--case-purple-muted: rgba(6, 59, 135, .5);--case-ink: #000000;--case-muted: #575757;--case-line: rgba(6, 59, 135, .2);--case-accent: #063b87;background:#fff;background-image:none}.resume-page .case-main{overflow-x:visible}.resume-page .case-copy-section{align-items:start;display:grid;flex-wrap:nowrap;grid-template-columns:minmax(0,1fr);row-gap:0}.resume-page .case-copy{flex:none}.resume-sidebar-contact{border-bottom:1px solid var(--case-purple-muted);display:flex;flex-direction:column;gap:10px;padding:24px 20px 30px 32px;width:100%}.resume-sidebar-contact a{color:var(--resume-blue);font-family:var(--font-title);font-size:13px;font-weight:500;letter-spacing:.06em;line-height:1.2;text-decoration:none}.resume-sidebar-contact a:hover{text-decoration:underline}@media(min-width:761px){.about-page .case-sidebar-rail,.resume-page .case-sidebar-rail{background:transparent;flex-direction:column;justify-content:flex-start;overflow:visible;padding-bottom:0;transition:background .35s ease,width .35s ease;width:52px}.about-page:has(.case-sidebar-rail:hover) .case-sidebar-rail,.about-page:has(.case-sidebar-rail:focus-within) .case-sidebar-rail,.resume-page:has(.case-sidebar-rail:hover) .case-sidebar-rail,.resume-page:has(.case-sidebar-rail:focus-within) .case-sidebar-rail{background:#fff;width:var(--case-sidebar-width)}.about-page .case-sidebar-rail .case-logo,.resume-page .case-sidebar-rail .case-logo{flex-shrink:0;height:87px;justify-content:center;opacity:1;overflow:hidden;padding:30px 0;pointer-events:auto;transition:padding .35s ease;width:100%}.about-page .case-sidebar-rail:is(:hover,:focus-within) .case-logo,.resume-page .case-sidebar-rail:is(:hover,:focus-within) .case-logo{justify-content:flex-start;padding:30px 20px 30px 32px}.about-page .case-sidebar-rail .case-logo span,.resume-page .case-sidebar-rail .case-logo span{max-width:0;opacity:0;overflow:hidden;transition:max-width .35s ease,opacity .28s ease;white-space:nowrap}.about-page .case-sidebar-rail:is(:hover,:focus-within) .case-logo span,.resume-page .case-sidebar-rail:is(:hover,:focus-within) .case-logo span{max-width:10rem;opacity:1}.about-page .case-sidebar-rail-body,.resume-page .case-sidebar-rail-body{display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;width:100%}.about-page .case-nav,.resume-page .case-nav{align-items:flex-start;border-bottom:0;gap:18px;padding:0 20px 0 22px;position:relative}.resume-page .case-nav-track{background:var(--case-purple-muted);left:26.5px;position:absolute;width:2px}.resume-page .case-nav-track-fill{background:var(--resume-blue);height:0%;left:0;position:absolute;top:0;transition:height .25s ease-out;width:100%}.about-page .case-sidebar-rail .case-nav-label,.resume-page .case-sidebar-rail .case-nav-label{left:23px;max-width:0;opacity:0;overflow:hidden;position:absolute;top:50%;transform:translateY(-50%);transition:max-width .35s ease,opacity .28s ease;white-space:nowrap}.about-page .case-sidebar-rail:is(:hover,:focus-within) .case-nav-label,.resume-page .case-sidebar-rail:is(:hover,:focus-within) .case-nav-label{max-width:11rem;opacity:1}.resume-page .case-sidebar-rail .resume-sidebar-contact{align-items:center;border-bottom:0;flex-shrink:0;gap:16px;margin-top:auto;max-height:none;opacity:1;overflow:visible;padding:16px 0 30px;transition:align-items .35s ease,gap .35s ease,padding .35s ease;width:100%}.resume-page .case-sidebar-rail .resume-sidebar-contact a{text-orientation:mixed;writing-mode:vertical-rl}.resume-page .case-sidebar-rail:is(:hover,:focus-within) .resume-sidebar-contact{align-items:flex-start;gap:10px;padding:8px 20px 30px 32px}.resume-page .case-sidebar-rail:is(:hover,:focus-within) .resume-sidebar-contact a{writing-mode:horizontal-tb}.about-page .case-sidebar-rail .case-nav-link,.resume-page .case-sidebar-rail .case-nav-link{flex-shrink:0;gap:0;height:11px;width:11px}.about-page .case-nav-link,.resume-page .case-nav-link{align-items:center;color:var(--case-purple-muted);display:flex;font-family:var(--font-title);font-size:13px;font-weight:500;gap:12px;letter-spacing:.06em;line-height:1.2;position:relative;transition:color .3s ease}.about-page .case-nav-link.is-active,.resume-page .case-nav-link.is-active,.about-page .case-nav-link:hover,.resume-page .case-nav-link:hover{color:var(--about-blue, var(--resume-blue))}.about-page .case-nav-marker,.resume-page .case-nav-marker{background:currentColor;border-radius:50%;flex-shrink:0;height:8px;margin-left:1.5px;opacity:.35;position:relative;transition:height .3s ease,margin-left .3s ease,opacity .3s ease,width .3s ease;width:8px;z-index:1}.about-page .case-nav-link.is-active .case-nav-marker,.resume-page .case-nav-link.is-active .case-nav-marker{height:11px;margin-left:0;opacity:1;width:11px}.resume-page .case-nav-link.is-passed .case-nav-marker{background:var(--resume-blue);opacity:1}.about-page .case-nav-link:hover .case-nav-marker,.resume-page .case-nav-link:hover .case-nav-marker{opacity:.7}.resume-page .case-nav-link.is-passed:hover .case-nav-marker,.about-page .case-nav-link.is-active:hover .case-nav-marker,.resume-page .case-nav-link.is-active:hover .case-nav-marker{opacity:1}.about-page .case-nav-link:focus-visible,.resume-page .case-nav-link:focus-visible{outline:2px solid var(--about-blue, var(--resume-blue));outline-offset:4px}.resume-page .case-nav-link.is-active,.resume-page .case-nav-link:hover{color:var(--resume-blue)}.resume-page .case-nav-link:focus-visible{outline-color:var(--resume-blue)}.about-page:has(.case-sidebar-rail:hover) .site-header.site-header-inline,.about-page:has(.case-sidebar-rail:focus-within) .site-header.site-header-inline,.about-page:has(.case-sidebar-rail:hover) .context-shell,.about-page:has(.case-sidebar-rail:focus-within) .context-shell,.resume-page:has(.case-sidebar-rail:hover) .site-header.site-header-inline,.resume-page:has(.case-sidebar-rail:focus-within) .site-header.site-header-inline{background:#fff}@media(prefers-reduced-motion:reduce){.about-page .case-sidebar-rail,.resume-page .case-sidebar-rail{background:#fff;transition:none;width:var(--case-sidebar-width)}.resume-page .case-nav-track-fill{transition:none}.about-page .case-sidebar-rail .case-logo,.resume-page .case-sidebar-rail .case-logo{height:87px;justify-content:flex-start;opacity:1;padding:30px 20px 30px 32px;pointer-events:auto}.about-page .case-sidebar-rail-body,.resume-page .case-sidebar-rail-body{justify-content:center}.about-page .case-sidebar-rail .case-logo span,.resume-page .case-sidebar-rail .case-logo span,.about-page .case-sidebar-rail .case-nav-label,.resume-page .case-sidebar-rail .case-nav-label{max-width:none;opacity:1}.about-page .case-sidebar-rail .case-nav,.resume-page .case-sidebar-rail .case-nav{align-items:flex-start;gap:18px;padding:0 20px 0 22px}.about-page .case-sidebar-rail .case-nav-link,.resume-page .case-sidebar-rail .case-nav-link{gap:0;height:11px;width:11px}.resume-page .case-sidebar-rail .resume-sidebar-contact{align-items:flex-start;gap:10px;margin-top:auto;max-height:none;opacity:1;padding:0 20px 30px 32px}.resume-page .case-sidebar-rail .resume-sidebar-contact a{writing-mode:horizontal-tb}}}.resume-page .case-section-title h2{color:var(--resume-blue);display:flex;font-family:var(--font-title);font-size:36px;font-weight:700;gap:4px;letter-spacing:0;line-height:1.1;margin:0;text-transform:none;white-space:nowrap}.resume-section-content{gap:0;position:relative}.resume-page .resume-dial{margin-left:-108px;margin-right:calc(-1 * var(--case-main-padding-right));max-width:none;width:calc(100% + 108px + var(--case-main-padding-right))}.resume-dial{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.resume-dial-stage{cursor:default;display:grid;justify-items:center;outline-offset:6px;overflow:visible;padding-bottom:40px;position:relative;width:100%}.resume-dial-center,.resume-dial-detail{cursor:auto}.resume-dial-stage.is-hovering .resume-dial-strand--main{color:#063b876b}.resume-dial-stage.is-hovering .resume-dial-rung{stroke:#063b8729}.resume-dial-stage:focus-visible{outline:2px solid var(--resume-blue)}.resume-dial-arc{left:0;overflow:visible;pointer-events:none;position:absolute;top:0}.resume-dial-strand{fill:none;stroke:currentColor;stroke-linecap:round}.resume-dial-strand--outer,.resume-dial-strand--inner{color:#063b8724;stroke-width:.75}.resume-dial-strand--main{color:#063b8747;stroke-width:1}.resume-dial-rung{fill:none;stroke:#063b871a;stroke-linecap:round;stroke-width:.75}.resume-dial-year{align-items:center;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;gap:7px;padding:0 6px 2px;position:absolute;transform:translate(-50%,-100%)}.resume-dial-year:before{content:"";inset:-14px -20px -24px;position:absolute}.resume-dial-year-label{color:var(--case-purple-muted);display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1.2;opacity:.55;text-transform:uppercase;transform-origin:center bottom;white-space:nowrap}.resume-dial-year.is-active .resume-dial-year-label{color:var(--resume-blue);font-size:12px;opacity:1}.resume-dial-year:hover .resume-dial-year-label{opacity:.82}.resume-dial-year.is-active:hover .resume-dial-year-label{opacity:1}.resume-dial-year-dot{background:#fff;border:1px solid rgba(6,59,135,.35);border-radius:50%;display:block;flex-shrink:0;height:6px;position:relative;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,height .25s ease,width .25s ease;width:6px;z-index:1}.resume-dial-year.is-active .resume-dial-year-dot{background:var(--resume-blue);border-color:var(--resume-blue);height:8px;width:8px}.resume-dial-year:hover .resume-dial-year-dot{box-shadow:0 0 0 3px #063b871f}.resume-dial-year-stem{background:linear-gradient(to bottom,#063b8757,#063b8714);left:50%;margin-left:-.5px;pointer-events:none;position:absolute;top:calc(100% - 1px);transform-origin:top center;width:1px;z-index:0}.resume-dial-year.is-active .resume-dial-year-stem{background:linear-gradient(to bottom,#063b878c,#063b871f)}.resume-dial-center{display:grid;justify-items:center;left:50%;max-width:min(600px,82%);padding:0 20px;position:absolute;transform:translate(-50%);width:100%;z-index:2}.resume-dial-connector{background:linear-gradient(to bottom,#063b8773,#063b8714);display:block;height:20px;margin:0 0 16px;width:1px}.resume-dial-detail{animation:resumeDialFadeIn .38s ease;text-align:center;width:100%}.resume-dial-detail .resume-job,.resume-dial-detail .resume-education-entry,.resume-dial-detail .resume-job-header,.resume-dial-detail .resume-education-header{gap:8px;justify-items:center;text-align:center}.resume-dial-detail .resume-job-dates{display:none}.resume-dial-detail .resume-job-logo{margin-inline:auto;max-height:36px;-o-object-position:center center;object-position:center center}.resume-dial-detail .resume-job h3,.resume-dial-detail .resume-education-entry h3{color:var(--resume-blue);font-size:15px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.resume-dial-detail .resume-job-role,.resume-dial-detail .resume-education-meta{color:var(--case-purple-muted);font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1.35;text-align:center;text-transform:uppercase}.resume-dial-detail .resume-job ul{gap:6px;justify-self:stretch;margin-top:10px;text-align:left}.resume-dial-detail .resume-job li{color:#1a1a1a;font-size:14px;letter-spacing:-.08px;line-height:1.5}@keyframes resumeDialFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.resume-dial-year-dot,.resume-dial-year-label{transition:none}.resume-dial-detail{animation:none}}.resume-job,.resume-education-entry,.resume-skill-group{display:grid;gap:8px}.resume-job-header,.resume-education-header{display:grid;gap:10px}.resume-job-logo{display:block;height:auto;max-height:44px;max-width:223px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;width:auto}.resume-job-logo.is-compact{max-height:56px;max-width:120px}.resume-job-logo.is-wide{max-width:260px}.resume-job h3,.resume-education-entry h3,.resume-skill-group h3{color:#000;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.2px;line-height:1.2;margin:0}.resume-job-role,.resume-education-meta{color:var(--case-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;font-weight:400;letter-spacing:-.16px;line-height:1.2;margin:0}.resume-job-dates{color:var(--resume-blue, var(--case-purple));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-style:normal;font-weight:600;letter-spacing:.06em;line-height:1.2;margin:0;text-transform:uppercase}.resume-job ul{display:grid;gap:8px;list-style:disc;margin:8px 0 0;padding-left:20px}.resume-job li{color:var(--case-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:400;letter-spacing:-.16px;line-height:1.2}.resume-skill-group p{color:var(--case-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:400;letter-spacing:-.18px;line-height:1.2;margin:0}@media(max-width:760px){:root{--case-secondary-header-height: 54px}.resume-page{--case-secondary-header-height: 96px}.case-sidebar{display:none}.about-main{padding:24px var(--page-inline-end) calc(80px + var(--safe-bottom)) var(--page-inline)}.about-section,.resume-page .case-copy-section{align-items:start;grid-template-columns:1fr;row-gap:16px}.resume-page .resume-dial{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}.about-section-title,.case-section-title{flex:1 0 100%}.about-section-content,.case-copy{flex:1 1 100%}.site-header{--site-header-padding-left: 20px;--site-header-padding-right: 20px;align-items:center;justify-content:space-between}.site-header-inline{justify-content:flex-start;margin-left:0;position:fixed;width:100%;z-index:40}.site-header-inline .site-header-logo{display:inline-flex}.site-header-nav-desktop{display:none}.site-header-menu-toggle{align-items:center;align-self:center;background:none;border:0;color:#000;cursor:pointer;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;margin-left:auto;padding:0;position:relative;width:40px;z-index:1}.site-header-overlay .site-header-menu-toggle{color:var(--site-header-fg, #000000)}.site-header-overlay.is-menu-open{background:#fff}.site-header-overlay.is-menu-open .site-header-logo{color:#000}.site-header-overlay.is-menu-open .site-header-logo img{filter:none}.site-header-overlay.is-menu-open .site-header-menu-toggle{color:#000}.site-header.is-menu-open .site-header-menu-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}.site-header.is-menu-open .site-header-menu-icon span:nth-child(2){opacity:0}.site-header.is-menu-open .site-header-menu-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-header-logo{align-items:center;align-self:center;flex-shrink:0}.site-header-menu-backdrop{display:block;opacity:0;pointer-events:none;transition:opacity .24s ease}.site-header.is-menu-open .site-header-menu-backdrop{opacity:1;pointer-events:auto}.site-header-nav-mobile{background:#fff;border-bottom:1px solid rgba(51,8,103,.5);display:grid;gap:0;left:0;opacity:0;padding:8px 0 12px;pointer-events:none;position:fixed;right:0;top:var(--site-header-height);transform:translateY(-8px);transition:opacity .24s ease,transform .24s ease,visibility .24s ease;visibility:hidden;z-index:42}.site-header.is-menu-open .site-header-nav-mobile{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.site-header-nav-mobile .site-header-link{color:#000;display:block;font-family:var(--font-title);font-size:14px;font-weight:500;letter-spacing:.12em;opacity:.55;padding:14px 20px;text-transform:uppercase}.site-header-nav-mobile .site-header-link.is-active,.site-header-nav-mobile .site-header-link:hover{color:#330867;opacity:1}.landing-page{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}.landing-hero{cursor:auto;display:flex;flex:0 0 auto;flex-direction:column;min-height:auto;overflow:visible;padding-top:var(--site-header-height)}.landing-hero-media{display:flex;flex:0 0 auto;flex-direction:column;gap:0;inset:auto;position:relative;width:100%}.landing-hero-video-stage{aspect-ratio:16 / 9;background:#111;flex:0 0 auto;max-height:42svh;overflow:hidden;position:relative;width:100%}.landing-hero-video,.landing-hero-tint{height:100%;inset:0;position:absolute;width:100%}.landing-hero-video{-o-object-fit:contain;object-fit:contain}.landing-hero-expand{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe0;border:1px solid rgba(51,8,103,.18);border-radius:999px;bottom:12px;color:#330867;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;position:absolute;right:12px;width:36px;z-index:4}.landing-hero-expand:focus-visible{outline:2px solid #330867;outline-offset:2px}.landing-carousel{background:#111;bottom:auto;flex:0 0 auto;left:auto;padding:12px 16px 14px;position:relative;right:auto;width:100%}.landing-thumbnails{overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.landing-thumbnails::-webkit-scrollbar{display:none}.landing-thumbnail{flex:0 0 132px;height:74px;width:132px}.landing-pointer-status{display:none}.landing-summary{flex:0 0 auto;flex-basis:auto;padding:20px 20px 24px}.landing-summary.is-project{padding:20px 20px 24px}.landing-summary.is-project .landing-active-context{gap:20px;grid-template-columns:1fr}.landing-project-identity{gap:16px;height:auto;justify-content:flex-start;min-height:0}.landing-active-label{font-size:clamp(32px,9vw,42px)}.landing-active-keywords{gap:6px;justify-items:start;text-align:left;width:100%}.landing-projects{padding:20px 20px 64px}.site-header-overlay{--site-header-fg: #ffffff;--site-header-logo-filter: brightness(0) invert(1)}.site-header-overlay .site-header-logo,.site-header-overlay .site-header-menu-toggle{color:#fff}.case-mobile-header{background:#f7f7f4eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--case-line);display:block;left:0;padding:12px 20px;position:fixed;right:0;top:var(--context-shell-height);z-index:39}.case-mobile-header nav{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;scrollbar-width:none}.case-mobile-header nav::-webkit-scrollbar{display:none}.case-mobile-header nav a{color:var(--case-muted);flex:0 0 auto;font-family:var(--font-body, Inter, sans-serif);font-size:13px;font-weight:500;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.case-mobile-header nav a.is-active{color:var(--case-ink)}.case-mobile-header nav a.is-active sup{color:var(--case-muted)}.case-mobile-header-contact{border-top:1px solid var(--case-purple-muted);display:flex;flex-wrap:nowrap;gap:16px;margin-top:10px;overflow-x:auto;padding-top:10px;scrollbar-width:none}.case-mobile-header-contact::-webkit-scrollbar{display:none}.case-mobile-header-contact a{color:var(--resume-blue, var(--case-purple));flex:0 0 auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:-.28px;line-height:1.2;text-decoration:none;white-space:nowrap}.case-mobile-header-contact a:hover{text-decoration:underline}.case-main{padding:20px var(--page-inline-end) calc(72px + var(--safe-bottom)) var(--page-inline)}.about-section,.case-copy-section{scroll-margin-top:calc(var(--context-shell-height) + var(--section-list-header-height) + 12px)}.case-frame-panel{height:430px}.hero-image-left{height:170px;left:-70px;top:-48px;width:360px}.hero-laptop{height:320px;right:-320px;top:-80px;width:640px}.case-copy{font-size:16px}.dashboard-panel{grid-template-columns:repeat(3,82vw);padding:36px 20px}.discovery-panel,.prototype-panel,.article-panel{grid-template-columns:1fr}.discovery-card,.discovery-card:nth-child(2n),.discovery-card:nth-child(4),.prototype-screens img:last-child{transform:none}.prototype-callout{grid-column:auto}.article-panel img:first-child,.article-panel img:last-child{height:auto;width:100%}}.creative-space-page{background-color:#eef2ea;background-image:radial-gradient(ellipse 55% 60% at 12% 28%,#b7cfe3 0%,transparent 62%),radial-gradient(ellipse 48% 52% at 28% 72%,#9bb8d4 0%,transparent 58%),radial-gradient(ellipse 50% 55% at 78% 35%,#a8bc9a 0%,transparent 60%),radial-gradient(ellipse 58% 48% at 88% 78%,#8fa88a 0%,transparent 55%),radial-gradient(ellipse 40% 36% at 48% 48%,#e8dfb8 0%,transparent 70%),radial-gradient(ellipse 35% 40% at 62% 18%,#f3eedc 0%,transparent 65%),radial-gradient(ellipse 42% 38% at 40% 88%,#c2d0b4 0%,transparent 60%),linear-gradient(125deg,#c9dceb,#eef2ea 45%,#c2d0b4);color:var(--home-ink, #161616);display:flex;flex-direction:column;min-height:100svh;position:relative}.creative-space-page.is-loading{overflow:hidden}.creative-space-live{display:flex;flex:1;flex-direction:column;min-height:100svh;opacity:1;transition:opacity .45s var(--home-ease, ease)}.creative-space-live.is-behind-loader{opacity:0;pointer-events:none}.brand-loader.landing-loader{z-index:60}.app-shell,.app-shell-stage{min-height:100svh;overflow-x:clip;position:relative}.app-shell-page{min-height:100svh;overflow-x:clip;width:100%}.context-shell{align-items:center;box-sizing:border-box;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);left:0;min-height:calc(var(--context-shell-height) + var(--safe-top));padding:calc(14px + var(--safe-top)) calc(clamp(16px,3vw,36px) + var(--safe-right)) 14px calc(clamp(16px,3vw,36px) + var(--safe-left));pointer-events:none;position:fixed;right:0;top:0;z-index:50}.context-shell>*{pointer-events:auto}.context-shell-logo{align-items:center;color:var(--home-ink, #161616);display:inline-flex;justify-self:start;text-decoration:none}.context-shell-logo img{display:block;flex-shrink:0;height:22px;-o-object-fit:contain;object-fit:contain;width:auto}.context-switcher{justify-self:center}.context-switcher-track{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff7a;border:1px solid rgba(22,22,22,.1);border-radius:999px;display:inline-flex;gap:0;padding:3px;position:relative}.context-switcher-pill{background:#b90e17;border-radius:999px;bottom:3px;left:3px;pointer-events:none;position:absolute;top:3px;width:40px;z-index:0}.context-switcher-item{align-items:center;border-radius:999px;color:var(--home-muted, rgba(22, 22, 22, .62));display:inline-flex;font-family:var(--font-body, Inter, sans-serif);font-size:10px;font-weight:500;gap:1px;letter-spacing:.06em;line-height:1;min-height:28px;padding:0 10px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .16s ease;white-space:nowrap;z-index:1}.context-shell .context-switcher-item,.case-study-page .context-shell .context-switcher-item,.about-page .context-shell .context-switcher-item,.writing-page .context-shell .context-switcher-item,.projects-page .context-shell .context-switcher-item,.creative-space-page .context-shell .context-switcher-item{color:var(--home-muted, rgba(22, 22, 22, .62))}.context-switcher-item:hover,.context-shell .context-switcher-item:hover,.case-study-page .context-shell .context-switcher-item:hover{color:var(--home-ink, #161616)}.context-switcher-item.is-active{color:#fff;font-weight:600}.context-shell .context-switcher-item.is-active,.case-study-page .context-shell .context-switcher-item.is-active,.about-page .context-shell .context-switcher-item.is-active,.writing-page .context-shell .context-switcher-item.is-active,.projects-page .context-shell .context-switcher-item.is-active,.creative-space-page .context-shell .context-switcher-item.is-active{color:#fff}.context-switcher-item:focus-visible{outline:2px solid #b90e17;outline-offset:2px}.projects-page{background-color:#f7f7f4;background-image:radial-gradient(ellipse 55% 60% at 12% 28%,rgba(183,207,227,.28) 0%,transparent 62%),radial-gradient(ellipse 50% 55% at 78% 35%,rgba(168,188,154,.22) 0%,transparent 60%),radial-gradient(ellipse 40% 36% at 48% 48%,rgba(232,223,184,.2) 0%,transparent 70%),linear-gradient(125deg,#f0f3f0,#f7f7f4,#f2f3ee);color:var(--home-ink, #161616);min-height:100svh}.projects-gallery{min-height:100svh;padding:calc(var(--context-shell-height) + var(--safe-top) + 36px) var(--page-inline-end) calc(clamp(48px,8vh,96px) + var(--safe-bottom)) var(--page-inline)}.projects-gallery-grid{display:grid;gap:clamp(20px,3vw,36px);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 auto;max-width:var(--page-canvas);padding:0;width:100%}.project-card{margin:0;min-width:0}.project-card-link{color:inherit;display:flex;flex-direction:column;gap:4px;text-decoration:none}.project-card-link.is-static{cursor:default}.project-card-media{isolation:isolate;overflow:visible;position:relative;width:100%;z-index:0}.project-card-frame{align-items:flex-end;background:transparent;border:0;display:flex;justify-content:center;overflow:hidden;position:relative;transform:translateZ(0);transition:transform .28s cubic-bezier(.22,1,.36,1);width:100%;z-index:1}.project-card-frame img{display:block;height:auto;max-height:min(52vh,420px);max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center bottom;object-position:center bottom;width:auto}.project-card-link:hover .project-card-frame,.project-card-link:focus-visible .project-card-frame{transform:translateY(-10px)}.project-card-copy{margin-top:0;padding-top:2px;position:relative;z-index:1}.project-card-copy h2{font-family:var(--font-title, Fraunces, serif);font-size:1rem;font-weight:var(--page-title-weight);letter-spacing:-.02em;line-height:1.2;margin:0 0 4px;transition:color .18s ease}.project-card-copy p{color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.88rem;font-weight:var(--page-body-weight);line-height:1.35;margin:0}.project-card-link:hover .project-card-copy h2,.project-card-link:focus-visible .project-card-copy h2{color:var(--context-accent, #b90e17)}@media(max-width:1100px){.projects-gallery-grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}}@media(max-width:960px){.projects-gallery{min-height:auto;padding:calc(var(--context-shell-height) + var(--safe-top) + 28px) var(--page-inline-end) calc(clamp(40px,6vh,72px) + var(--safe-bottom)) var(--page-inline)}.projects-gallery-grid{gap:28px;grid-template-columns:1fr;max-width:420px}}@media(min-width:961px)and (max-width:1100px){.projects-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(hover:none),(pointer:coarse){.project-card-link:hover .project-card-frame{transform:none}.project-card-link:focus-visible .project-card-frame{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.project-card-frame{transition:none}.project-card-link:hover .project-card-frame,.project-card-link:focus-visible .project-card-frame{transform:none}}.lab-focus{background:radial-gradient(ellipse 70% 55% at 50% 40%,#f4f6f1eb,#eef2eafa);cursor:pointer;inset:0;position:fixed;z-index:55}.lab-focus-stage{align-items:center;display:flex;flex-direction:column;gap:20px;height:100%;justify-content:center;padding:calc(72px + var(--safe-top)) calc(clamp(20px,4vw,48px) + var(--safe-right)) calc(48px + var(--safe-bottom)) calc(clamp(20px,4vw,48px) + var(--safe-left))}.lab-focus-media{background:transparent;border:0;cursor:default;max-height:min(62svh,640px);max-width:min(720px,92vw);padding:0}.lab-focus-media.is-linked{cursor:none}.lab-focus-media.is-plate-still{cursor:pointer;height:auto;max-height:min(84svh,920px);max-width:min(1120px,94vw);width:auto}.lab-focus-media img,.lab-focus-media video,.lab-focus-youtube{display:block;height:auto;max-height:min(62svh,640px);-o-object-fit:contain;object-fit:contain;pointer-events:none;width:100%}.lab-focus-media.is-plate-still img{height:auto;max-height:min(84svh,920px);max-width:min(1120px,94vw);width:auto}.lab-focus-media:not(.is-video) img{background:transparent}.lab-focus-media video{background:transparent}.lab-focus-media.is-youtube{aspect-ratio:16 / 9;background:#0a0a0a;cursor:default;max-height:min(62svh,640px);overflow:hidden;width:min(720px,92vw)}.lab-focus-media.is-youtube.is-youtube-short{aspect-ratio:9 / 16;height:auto;max-height:min(72svh,720px);width:min(360px,92vw,40.5svh)}.lab-focus-youtube{border:0;height:100%;max-height:none;pointer-events:auto;width:100%}.lab-focus-cta.is-visible{display:inline-flex;align-items:center;justify-content:center}.lab-focus-soon-note{color:var(--home-ink-muted, #5c5c5c);font-family:var(--font-body, Inter, sans-serif);font-size:14px;margin-top:12px}.lab-focus-copy{cursor:default;max-width:36rem;text-align:center}.lab-focus-cta{background:transparent;border:0;color:var(--context-accent, #b90e17);cursor:pointer;display:none;font-family:var(--font-body, Inter, sans-serif);font-size:14px;font-weight:560;letter-spacing:-.01em;margin-top:16px;min-height:44px;padding:10px 4px;text-decoration:underline;text-underline-offset:3px}.lab-focus-copy h2{font-family:var(--font-title, Fraunces, serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.03em;margin:0 0 10px}.lab-focus-copy p:last-child{color:var(--home-muted, rgba(22, 22, 22, .7));font-size:.98rem;line-height:1.5;margin:0}.lab-focus-cursor{background:#161616e6;border-radius:999px;color:#fff;font-family:var(--font-body, Inter, sans-serif);font-size:11px;font-weight:500;letter-spacing:.04em;padding:8px 12px;pointer-events:none;position:fixed;text-transform:lowercase;transform:translate(12px,12px);white-space:nowrap;z-index:56}.creative-space-top{display:none}.creative-space-stage{flex:1 1 auto;height:100svh;min-height:520px;position:relative;width:100%}.creative-space-canvas{bottom:calc(36px + var(--safe-bottom));height:auto;left:0;position:absolute;top:calc(var(--context-shell-height) + var(--safe-top) + 36px);touch-action:none;width:100%}.creative-space-canvas canvas{display:block;height:100%!important;width:100%!important}.creative-space-hud{bottom:28px;display:flex;flex-direction:column;gap:10px;left:50%;pointer-events:none;position:absolute;transform:translate(-50%);z-index:2}.creative-space-phase{color:var(--home-muted, rgba(22, 22, 22, .62));font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:11px;letter-spacing:.06em;margin:0;text-align:center;text-transform:uppercase}.creative-space-fallback{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:calc(var(--context-shell-height) + 12px) clamp(16px,3vw,36px) 48px}.creative-space-fallback-card{background:transparent;border:0;color:inherit;cursor:pointer;margin:0;padding:0;text-align:left}.creative-space-fallback-card img{aspect-ratio:4 / 3;background:var(--home-surface, #efefe8);border:1px solid var(--home-line, rgba(22, 22, 22, .14));display:block;-o-object-fit:cover;object-fit:cover;width:100%}.creative-space-fallback-caption{display:flex;flex-direction:column;gap:2px;padding:8px 2px 0}.creative-space-fallback-card strong{font-family:var(--font-title, Fraunces, serif);font-size:.95rem;font-weight:600}@media(max-width:900px){.about-main{gap:40px;padding:20px var(--page-inline-end) calc(80px + var(--safe-bottom)) var(--page-inline)}.about-page-intro p{max-width:none}}@media(max-width:720px){:root{--context-shell-height: 68px;--section-list-header-height: 52px;--page-gutter: 16px;--page-display-size: clamp(1.85rem, 8vw, 2.5rem);--page-title-size: clamp(1.35rem, 5vw, 1.75rem)}.context-shell{gap:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.context-shell-logo{justify-self:start}.context-switcher{justify-self:center;max-width:100%;min-width:0}.context-switcher-track{max-width:100%}.context-switcher-item{letter-spacing:.04em;min-height:32px;padding:0 8px}.app-shell,.app-shell-stage,.app-shell-page{overflow-x:clip}.lab-focus{cursor:pointer}.lab-focus-media{cursor:pointer;max-height:min(48svh,520px);max-width:min(100%,92vw)}.lab-focus-media img,.lab-focus-media video{max-height:min(48svh,520px)}.lab-focus-media.is-plate-still,.lab-focus-media.is-plate-still img{max-height:min(72svh,640px);max-width:min(100%,94vw);width:auto}.lab-focus-media.is-youtube{max-height:min(48svh,520px)}.lab-focus-media.is-youtube.is-youtube-short{max-height:min(68svh,640px);width:min(320px,88vw,38.25svh)}.lab-focus-cursor{display:none}.lab-focus-cta{display:inline-flex;align-items:center;justify-content:center}.creative-space-stage{min-height:100svh}.creative-space-hud{bottom:calc(18px + var(--safe-bottom));padding:0 16px;width:min(100%,28rem)}.creative-space-fallback{grid-template-columns:repeat(2,minmax(0,1fr));padding:calc(var(--context-shell-height) + var(--safe-top) + 12px) var(--page-gutter) calc(48px + var(--safe-bottom))}.section-list-header-link{font-size:12px;padding:8px}}@media(max-width:480px){.context-switcher-item{font-size:9px;letter-spacing:.03em;padding:0 6px}.project-card-frame{aspect-ratio:4 / 5}.writing-card{gap:12px;grid-template-columns:minmax(0,1fr) 72px}.writing-card-media{width:72px}.writing-media{max-width:100%;width:100%}.creative-space-fallback{grid-template-columns:1fr}.case-hero-logo img{max-width:100px}.case-frame-panel{height:min(56svh,380px)}.case-study-embed-lab .embed-plate-vocalis-explore-phones.is-row,.case-study-embed-lab .embed-plate-vocalis-phones,.case-study-embed-lab .embed-plate-vocalis-phones.is-pair{grid-template-columns:1fr}.about-contact-madlibs-line{font-size:1.05rem;line-height:1.7}.about-contact-inline.is-name,.about-contact-inline.is-need,.about-contact-inline.is-email{width:min(100%,100%)}}@media(hover:none),(pointer:coarse){.lab-focus-cta{display:inline-flex;align-items:center;justify-content:center}.lab-focus-cursor{display:none}}@media(prefers-reduced-motion:reduce){.app-shell-page{transform:none!important}}.case-study-embed-lab{--embed-measure: var(--page-canvas);--embed-prose: none;--embed-space-1: 8px;--embed-space-2: 16px;--embed-space-3: 24px;--embed-space-4: 40px;--embed-space-5: 64px;--embed-space-6: 88px}.case-study-embed-lab .case-main{gap:var(--embed-space-5)}.case-study-embed-lab .case-hero,.case-study-embed-lab .case-study-meta,.case-study-embed-lab .case-copy-section,.case-study-embed-lab .embed-plate,.case-study-embed-lab .case-diagram{max-width:var(--embed-measure);width:100%}.case-study-embed-lab .case-hero,.case-study-embed-lab .case-study-meta{margin-bottom:0}.case-study-embed-lab .case-copy-section{display:grid;flex-wrap:unset;gap:var(--embed-space-3);padding:0}.case-study-embed-lab .case-section-title{display:grid;gap:var(--embed-space-1);max-width:none}.case-study-embed-lab .case-section-title h2{font-family:var(--font-title, Fraunces, serif);font-size:var(--page-title-size);font-weight:var(--page-title-weight);letter-spacing:-.03em;line-height:1.15;margin:0}.case-study-embed-lab .case-section-kicker{color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.95rem;font-weight:var(--page-body-weight);letter-spacing:-.01em;line-height:1.45;margin:0;max-width:var(--embed-prose)}.case-study-embed-lab .case-copy{display:grid;flex:unset;font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-body-size);font-weight:var(--page-body-weight);gap:var(--embed-space-2);letter-spacing:var(--page-body-tracking);line-height:var(--page-body-leading);max-width:var(--embed-prose)}.case-study-embed-lab .case-copy h3{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-subhead-size);font-weight:var(--page-subhead-weight);letter-spacing:-.015em;line-height:1.3;margin:0}.case-study-embed-lab .case-study-meta-fields{gap:clamp(2rem,6vw,5rem);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.case-study-embed-lab .case-study-meta-fields>div{min-width:0;width:100%}.case-study-embed-lab .case-hero h1{font-family:var(--font-title, Fraunces, serif);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:var(--page-display-weight);letter-spacing:-.035em;line-height:1.2;max-width:28ch}.case-study-embed-lab .case-hero .case-frame-panel:not(.has-loop-video){background:transparent;border:0;display:flex;height:auto;justify-content:center;overflow:visible}.case-study-embed-lab .case-hero .case-frame-panel:not(.has-loop-video) .case-frame-scroll{background:transparent;display:flex;height:auto;justify-content:center;overflow:visible;width:100%}.case-study-embed-lab .case-hero .case-frame-panel:not(.has-loop-video) .case-frame-image{display:block;height:auto;margin:0 auto;max-height:min(520px,70vh);max-width:100%;-o-object-fit:contain;object-fit:contain;width:auto}.case-study-embed-lab .embed-plate{margin-block:0;margin-inline:auto;padding:0}.case-study-embed-lab .embed-plate-annotation{color:var(--case-accent, #3d5a73);display:block;margin:0 0 var(--embed-space-3)}.case-study-embed-lab .embed-plate-body{color:var(--page-ink)}.case-study-embed-lab .embed-plate-tiers{display:grid;gap:var(--embed-space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-embed-lab .embed-plate-tier{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0}.case-study-embed-lab .embed-plate-tier>.home-mono-label{color:var(--case-accent, #3d5a73);display:block;margin:0}.case-study-embed-lab .embed-plate-caption{color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.92rem;font-weight:var(--page-body-weight);line-height:1.5;margin:0}.case-study-embed-lab .embed-plate-caption strong{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-weight:var(--page-subhead-weight)}.case-study-embed-lab .embed-plate-tier p,.case-study-embed-lab .embed-plate-card p,.case-study-embed-lab .embed-plate-callout,.case-study-embed-lab .embed-plate-muted{color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.92rem;font-weight:var(--page-body-weight);line-height:1.5;margin:0}.case-study-embed-lab .embed-plate-still{background:transparent;border:0;display:block;margin:0;overflow:visible;padding:0;text-align:left;width:100%}.case-study-embed-lab .embed-plate-still img{display:block;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;width:100%}.case-study-embed-lab .embed-plate-journey-still{margin:0}.case-study-embed-lab .embed-plate-flow{--embed-flow-gap: 52px;display:grid;gap:var(--embed-space-2) var(--embed-flow-gap);grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}.case-study-embed-lab .embed-plate-flow-step{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0;position:relative}.case-study-embed-lab .embed-plate-flow-step.is-up{padding-top:0}.case-study-embed-lab .embed-plate-flow-step.is-down{padding-top:var(--embed-space-5)}.case-study-embed-lab .embed-plate-card{background:#fff;border:1px solid var(--home-line, rgba(22, 22, 22, .14));border-radius:10px;padding:var(--embed-space-2) var(--embed-space-2) var(--embed-space-3)}.case-study-embed-lab .embed-plate-card .home-mono-label{color:var(--context-accent, #b90e17);display:block;margin-bottom:var(--embed-space-1)}.case-study-embed-lab .embed-plate-arrow{color:var(--context-accent, #b90e17);flex-shrink:0;height:28px;opacity:.85;width:64px}.case-study-embed-lab .embed-plate-arrow.is-flip{transform:scaleY(-1)}.case-study-embed-lab .embed-plate-flow-step>.embed-plate-arrow{height:32px;left:calc(var(--embed-flow-gap) * -1);overflow:visible;pointer-events:none;position:absolute;top:28px;width:var(--embed-flow-gap)}.case-study-embed-lab .embed-plate-flow-step.is-down>.embed-plate-arrow{top:calc(var(--embed-space-5) + 28px)}.case-study-embed-lab .embed-plate-journey{display:grid;gap:var(--embed-space-3);grid-template-columns:repeat(4,minmax(0,1fr))}.case-study-embed-lab .embed-plate-journey-stage{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0;position:relative}.case-study-embed-lab .embed-plate-journey-arrow{left:-42px;position:absolute;top:18%}.case-study-embed-lab .embed-plate-callout{color:var(--home-ink, #161616);margin-top:var(--embed-space-1);padding-left:0}.case-study-embed-lab .embed-plate-callout strong{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-weight:var(--page-subhead-weight)}.case-study-embed-lab .embed-plate-explore{display:grid;gap:var(--embed-space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-embed-lab .embed-plate-explore-col{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0}.case-study-embed-lab .embed-plate-explore-col>.home-mono-label{color:var(--case-accent, #3d5a73);margin:0}.case-study-embed-lab .embed-plate-explore-still{background:transparent}.case-study-embed-lab .embed-plate-explore-still img{background:transparent;border:0;border-radius:6px;box-shadow:0 1px #1616160a,0 8px 24px #16161614;height:auto;width:100%}.case-study-embed-lab .embed-plate-explore-filters{align-items:start;display:grid;gap:var(--embed-space-2);grid-template-columns:minmax(72px,.34fr) minmax(0,1fr);margin:0}.case-study-embed-lab .embed-plate-explore-filters-main{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0}.case-study-embed-lab .embed-plate-explore-still.is-sidebar img{max-height:220px;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top}.case-study-embed-lab .embed-plate-explore-still.is-panel img{max-height:160px;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top}.case-study-embed-lab .embed-plate-explore-dates{display:grid;gap:var(--embed-space-2);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin:0}.case-study-embed-lab .embed-plate-explore-dates-side{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0}.case-study-embed-lab .embed-plate-explore-still.is-calendar img{max-height:200px;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top}.case-study-embed-lab .embed-plate-explore-still.is-presets img,.case-study-embed-lab .embed-plate-explore-still.is-flow img{max-height:110px;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top}.case-study-embed-lab .embed-plate-explore-next{display:flex;flex-direction:column;gap:var(--embed-space-2);margin:0}.case-study-embed-lab .embed-plate-explore-still.is-dash img{max-height:140px;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left}.case-study-embed-lab .embed-plate-annotation-list{display:grid;gap:var(--embed-space-2);list-style:none;margin:var(--embed-space-1) 0 0;padding:0}.case-study-embed-lab .embed-plate-annotation-list li{align-items:flex-start;display:flex;gap:8px}.case-study-embed-lab .embed-plate-annotation-list .embed-plate-arrow{margin-top:2px;width:40px}.case-study-embed-lab .embed-plate-annotation-list span{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:.88rem;font-weight:var(--page-body-weight);line-height:1.45}.case-study-embed-lab .case-vibe-section{padding-top:var(--embed-space-2)}.case-study-embed-lab .case-vibe-copy{gap:var(--embed-space-4)}.case-study-embed-lab .case-vibe-link{align-items:center;border-bottom:1px solid var(--home-line, rgba(22, 22, 22, .14));border-top:1px solid var(--home-line, rgba(22, 22, 22, .14));color:inherit;display:grid;gap:var(--embed-space-3);grid-template-columns:120px minmax(0,1fr);padding:var(--embed-space-3) 0;text-decoration:none;transition:opacity .15s ease}.case-study-embed-lab .case-vibe-link:hover{opacity:.82}.case-study-embed-lab .case-vibe-link img{aspect-ratio:4 / 3;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.case-study-embed-lab .case-vibe-link-copy{display:grid;gap:6px;min-width:0}.case-study-embed-lab .case-vibe-link-copy strong{font-family:var(--font-body, Inter, sans-serif);font-size:var(--page-subhead-size);font-weight:var(--page-subhead-weight);letter-spacing:-.015em;line-height:1.3}.case-study-embed-lab .case-vibe-link-cta{color:var(--context-accent, #b90e17);font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.case-study-embed-lab .case-vibe-split{display:grid;gap:var(--embed-space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-embed-lab .case-vibe-split h3{margin-bottom:var(--embed-space-2)}.case-study-embed-lab .case-vibe-split ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.case-study-embed-lab .case-vibe-split li{border-top:1px solid var(--home-line, rgba(22, 22, 22, .12));color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.95rem;font-weight:var(--page-body-weight);line-height:1.45;padding-top:10px}.case-study-embed-lab .case-vibe-split li:first-child{border-top:0;padding-top:0}.case-study-embed-lab .embed-plate-vocalis-grid{display:grid;gap:var(--embed-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-embed-lab .embed-plate-vocalis-grid.is-explore{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-embed-lab .embed-plate-frame-slot{align-items:flex-start;background:color-mix(in srgb,var(--case-accent, #3d5a73) 6%,#fff);border:1px dashed color-mix(in srgb,var(--case-accent, #3d5a73) 28%,transparent);border-radius:10px;display:flex;flex-direction:column;gap:var(--embed-space-1);justify-content:space-between;min-height:180px;padding:var(--embed-space-2)}.case-study-embed-lab .embed-plate-frame-slot-note{color:var(--home-muted, rgba(22, 22, 22, .5));font-family:var(--home-font-mono, "JetBrains Mono", monospace);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.case-study-embed-lab .embed-plate-vocalis-product{display:grid;gap:var(--embed-space-4);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.case-study-embed-lab .embed-plate-vocalis-product-block,.case-study-embed-lab .embed-plate-vocalis-explore-block,.case-study-embed-lab .embed-plate-vocalis-phone{display:flex;flex-direction:column;gap:var(--embed-space-2);min-width:0}.case-study-embed-lab .embed-plate-vocalis-section-label{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:.78rem;font-weight:var(--page-subhead-weight);letter-spacing:.08em;margin:0;text-transform:uppercase}.case-study-embed-lab .embed-plate-vocalis-phones{align-items:flex-start;display:grid;gap:var(--embed-space-3);grid-template-columns:repeat(2,max-content);justify-content:start}.case-study-embed-lab .embed-plate-vocalis-phones.is-pair{grid-template-columns:repeat(2,max-content)}.case-study-embed-lab .embed-plate-vocalis-phones.is-translate-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.case-study-embed-lab .embed-plate-vocalis-phones.is-translate-row .embed-plate-vocalis-still.is-phone{width:100%}.case-study-embed-lab .embed-plate-vocalis-still.is-phone{width:-moz-fit-content;width:fit-content}.case-study-embed-lab .embed-plate-vocalis-still.is-phone img{display:block;height:auto;margin:0;max-height:418px;max-width:100%;-o-object-fit:contain;object-fit:contain;width:auto}.case-study-embed-lab .embed-plate-vocalis-phones.is-translate-row .embed-plate-vocalis-still.is-phone img{margin:0 auto;max-height:360px}.case-study-embed-lab .embed-plate-vocalis-board img{display:block;height:auto;max-height:none;-o-object-fit:contain;object-fit:contain;width:100%}.case-study-embed-lab .embed-plate-vocalis-explore-stack{display:flex;flex-direction:column;gap:var(--embed-space-4)}.case-study-embed-lab .embed-plate-vocalis-priority{width:100%}.case-study-embed-lab .embed-plate-vocalis-explore{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-embed-lab .embed-plate-vocalis-analytics{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr)}.case-study-embed-lab .embed-plate-explore-still.is-vocalis-board img{box-shadow:none;max-height:none;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;width:100%}.case-study-embed-lab .embed-plate-explore-still.is-path-still{margin-inline:auto;max-width:88%}.case-study-embed-lab .embed-plate-explore-still.is-path-still img{max-height:320px;width:100%}.case-study-embed-lab .embed-plate-vocalis-explore-phones{align-items:flex-end;display:grid;gap:var(--embed-space-2);justify-content:start;margin:0}.case-study-embed-lab .embed-plate-vocalis-explore-phones.is-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-embed-lab .embed-plate-vocalis-explore-phones.is-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.case-study-embed-lab .embed-plate-vocalis-explore-phones .embed-plate-vocalis-still.is-phone{width:100%}.case-study-embed-lab .embed-plate-vocalis-explore-phones .embed-plate-vocalis-still.is-phone img,.case-study-embed-lab .embed-plate-explore-col>.embed-plate-vocalis-still.is-phone img{display:block;height:auto;margin:0 auto;max-height:320px;max-width:100%;-o-object-fit:contain;object-fit:contain;width:100%}.case-study-embed-lab .embed-plate-vocalis-explore-phones.is-row .embed-plate-vocalis-still.is-phone img{max-height:260px}.case-study-embed-lab .embed-plate-explore-col>.embed-plate-vocalis-still.is-phone{width:-moz-fit-content;width:fit-content}.case-study-embed-lab .embed-plate-explore-col.is-understand>.embed-plate-vocalis-still.is-centered{margin-inline:auto}.case-study-embed-lab .embed-plate-vocalis-path-map{display:flex;flex-direction:column;font-family:var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif);gap:var(--embed-space-3);padding:var(--embed-space-3) 0 var(--embed-space-2)}.case-study-embed-lab .embed-plate-vocalis-path-track{align-items:stretch;display:grid;gap:.35rem;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;width:100%}.case-study-embed-lab .embed-plate-vocalis-path-step{align-items:center;display:grid;gap:.4rem;grid-template-columns:auto minmax(0,1fr);min-width:0;position:relative}.case-study-embed-lab .embed-plate-vocalis-path-step:first-child{grid-template-columns:minmax(0,1fr)}.case-study-embed-lab .embed-plate-vocalis-path-arrow.embed-plate-arrow{align-self:start;height:22px;margin-top:.95rem;width:36px}.case-study-embed-lab .embed-plate-vocalis-path-node{align-items:center;display:grid;gap:.55rem;grid-template-rows:3rem minmax(2.6rem,auto);justify-items:center;min-width:0;text-align:center;width:100%}.case-study-embed-lab .embed-plate-vocalis-path-main{align-items:center;display:flex;height:3rem;justify-content:center;position:relative;width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}.case-study-embed-lab .embed-plate-vocalis-path-anchor{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:clamp(.88rem,1.25vw,1.15rem);font-weight:var(--page-subhead-weight);letter-spacing:-.01em;line-height:1.15;max-width:9.5rem;text-transform:none}.case-study-embed-lab .embed-plate-vocalis-path-pill{background:#fff;border:1.5px solid rgba(22,22,22,.55);border-radius:999px;box-shadow:0 4px 14px #1616160f;color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:.9rem;font-weight:var(--page-subhead-weight);line-height:1;padding:.65rem 1.2rem;position:relative;z-index:1}.case-study-embed-lab .embed-plate-vocalis-path-step.is-vocalis-touch .embed-plate-vocalis-path-pill{border-color:var(--home-ink, #161616)}.case-study-embed-lab .embed-plate-vocalis-path-ring{border:1.5px solid color-mix(in srgb,var(--case-accent, #4f6344) 55%,#161616);border-radius:999px;inset:-6px -9px;opacity:.95;pointer-events:none;position:absolute;z-index:0}.case-study-embed-lab .embed-plate-vocalis-path-caption{color:var(--page-muted);font-family:var(--font-body, Inter, sans-serif);font-size:.8rem;font-weight:var(--page-body-weight);line-height:1.4;margin:0;max-width:12rem}.case-study-embed-lab .embed-plate-vocalis-path-caption.is-empty{visibility:hidden}.case-study-embed-lab .embed-plate-vocalis-path-callout{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin:.25rem auto 0;max-width:100%;text-align:center;width:100%}.case-study-embed-lab .embed-plate-vocalis-path-callout-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.case-study-embed-lab .embed-plate-vocalis-path-callout-slot{align-items:flex-start;display:flex;justify-content:center;min-height:2.5rem}.case-study-embed-lab .embed-plate-vocalis-path-callout-slot.is-point{color:var(--context-accent, #b90e17)}.case-study-embed-lab .embed-plate-vocalis-path-callout-arrow.embed-plate-arrow{height:40px;transform:rotate(-90deg);transform-origin:center;width:48px}.case-study-embed-lab .embed-plate-vocalis-path-callout p{color:var(--page-ink);font-family:var(--font-body, Inter, sans-serif);font-size:.92rem;font-weight:var(--page-body-weight);line-height:1.45;margin:0 auto;max-width:24rem}.case-study-vocalis.case-study-embed-lab{--case-accent: #4f6344}@media(max-width:1100px){.case-study-embed-lab .embed-plate-explore{grid-template-columns:1fr}.case-study-embed-lab .embed-plate-explore-still.is-sidebar img{max-height:280px;max-width:180px}.case-study-embed-lab .embed-plate-explore-still.is-panel img,.case-study-embed-lab .embed-plate-explore-still.is-calendar img,.case-study-embed-lab .embed-plate-explore-still.is-dash img{max-height:none}}@media(max-width:980px){.case-study-embed-lab .case-main{gap:var(--embed-space-4)}.case-study-embed-lab .embed-plate-tiers,.case-study-embed-lab .embed-plate-journey,.case-study-embed-lab .embed-plate-flow,.case-study-embed-lab .embed-plate-vocalis-product,.case-study-embed-lab .embed-plate-vocalis-analytics,.case-study-embed-lab .embed-plate-vocalis-phones.is-translate-row,.case-study-embed-lab .case-vibe-split{grid-template-columns:1fr}.case-study-embed-lab .embed-plate-vocalis-explore-phones.is-row{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-embed-lab .embed-plate-vocalis-phones,.case-study-embed-lab .embed-plate-vocalis-phones.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.case-study-embed-lab .embed-plate-vocalis-still.is-phone{width:100%}.case-study-embed-lab .embed-plate-vocalis-still.is-phone img{margin:0 auto}.case-study-embed-lab .embed-plate-vocalis-path-track{gap:var(--embed-space-3);grid-template-columns:1fr}.case-study-embed-lab .embed-plate-vocalis-path-step{grid-template-columns:auto minmax(0,1fr);justify-content:start}.case-study-embed-lab .embed-plate-vocalis-path-step:first-child{grid-template-columns:minmax(0,1fr)}.case-study-embed-lab .embed-plate-vocalis-path-arrow.embed-plate-arrow{align-self:center;margin-top:0;transform:rotate(90deg)}.case-study-embed-lab .embed-plate-vocalis-path-node{grid-template-rows:auto auto;justify-items:start;text-align:left}.case-study-embed-lab .embed-plate-vocalis-path-main{height:auto;justify-content:flex-start;min-height:2.75rem}.case-study-embed-lab .embed-plate-vocalis-path-callout-rail{display:none}.case-study-embed-lab .embed-plate-flow-step.is-down{padding-top:0}.case-study-embed-lab .embed-plate-flow-step>.embed-plate-arrow,.case-study-embed-lab .embed-plate-journey-arrow{display:none}.case-study-embed-lab .embed-plate-explore-filters,.case-study-embed-lab .embed-plate-explore-dates{grid-template-columns:1fr}.case-study-embed-lab .case-vibe-link{grid-template-columns:88px minmax(0,1fr)}}.case-focus-still{background:transparent;border:0;display:block;margin:0;outline:none;overflow:visible;padding:0;text-align:left;width:100%}.case-focus-still:focus,.case-focus-still:focus-visible{outline:none}.case-focus-still.is-focusable{cursor:none}.case-focus-still img{display:block;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;width:100%}.case-focus-still-placeholder{aspect-ratio:16 / 10;background:var(--case-surface, rgba(255, 255, 255, .42));width:100%}.case-frame-panel.is-focus-still{background:transparent;border:0;height:auto;overflow:visible}.case-diagram-focus-still img{border:1px solid var(--case-line, rgba(22, 22, 22, .14))}@media(hover:none),(pointer:coarse){.case-focus-still.is-focusable{cursor:pointer}}.hover\:bg-zinc-100:hover{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.hover\:text-zinc-950:hover{--tw-text-opacity: 1;color:rgb(9 9 11 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media(min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}
