@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/roboto-slab-regular.ttf)format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/roboto-slab-light.ttf)format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/roboto-slab-medium.ttf)format("truetype")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-weight:400;--background:#f7f7f7;--foreground:#1f1f1f;--muted:gray;--surface:#f2f2f2;--border:#e6e6e6;--image-border:#f0f0f0;--contact-heading:#1f1f1f;--button-hover-text:#666;--sidebar-muted:gray;--diagram-card:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-weight:300;--background:#141414;--foreground:#f0f0f0;--muted:gray;--surface:#1a1a1a;--border:#1f1f1f;--image-border:#1f1f1f;--contact-heading:#f0f0f0;--button-hover-text:gray;--sidebar-muted:#666;--diagram-card:#141414}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:Roboto Slab,Georgia,serif;font-size:.9375rem;line-height:1.375rem;font-weight:var(--font-weight);margin:0}h1,h2,h3,p{font:inherit;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}:is(a:focus-visible,button:focus-visible){outline:2px solid var(--foreground);outline-offset:4px}.page-shell{flex-direction:column;gap:120px;width:min(680px,100% - 40px);margin:0 auto;padding-top:200px;display:flex;position:relative}.home-cat{display:none}@media (min-width:1121px){.home-cat{z-index:5;pointer-events:none;width:28px;max-width:none;height:28px;image-rendering:pixelated;display:block;position:fixed;bottom:0;right:40px}}:root[data-theme=dark] .home-cat{filter:invert()}.header{z-index:10;border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:flex-start;width:min(680px,100% - 40px);height:68px;padding:16px 0;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.theme-controls{border:0;gap:4px;min-width:0;margin:0;padding:0;display:flex}.theme-controls button{border:1px solid var(--border);background:var(--surface);border-radius:60px;place-items:center;width:36px;height:36px;padding:0;transition:background-color .3s ease-in-out,border-color .3s ease-in-out;display:grid}.icon{flex-shrink:0;display:block}.theme-button .icon{grid-area:1/1;display:none}:root:not([data-theme=dark]) .theme-button .light-theme-icon.default-icon,:root[data-theme=dark] .theme-button .dark-theme-icon.default-icon{display:block}:root:not([data-theme=dark]) .theme-dark,:root[data-theme=dark] .theme-light{display:none}.pill,.inline-link{background:var(--surface);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:4px;transition:background-color .3s ease-in-out,border-color .3s ease-in-out,color .3s ease-in-out;display:inline-flex}.pill{border-radius:60px;height:36px;padding:7px 14px;font-size:.875rem;line-height:1.25rem}.say-hi{font-size:.875rem}.inline-link{height:28px;color:var(--muted);border-radius:4px;padding:3px 6px}main{flex-direction:column;gap:100px;display:flex}section{min-width:0}h2{color:var(--foreground);margin-bottom:24px;font-size:1rem;font-weight:500;line-height:1.25rem}:root[data-theme=dark] h2{font-weight:400}.identity{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.identity span{color:var(--muted)}.identity h1,.identity span{font-size:1.125rem;line-height:1.5rem}.identity h1{font-weight:500}:root[data-theme=dark] .identity h1,:root[data-theme=dark] .identity span{font-weight:300}.intro-copy{flex-direction:column;gap:12px;display:flex}:root:not([data-theme=dark]) .page-shell .intro-copy>p,:root:not([data-theme=dark]) .page-shell .experience p{font-weight:400}.elsewhere{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.project-list,.experience-list{flex-direction:column;gap:24px;display:flex}.project-card{border:1px solid var(--border);background:var(--background);border-radius:12px;padding:8px;transition:background-color .3s ease-in-out,border-color .3s ease-in-out;overflow:hidden}.project-card>a{display:block}.project-image{border:1px solid var(--image-border);border-radius:6px;height:386px;position:relative;overflow:hidden}.project-image-crop{transition:transform .4s ease-in-out;position:absolute;inset:0;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;display:block}.project-copy{justify-content:space-between;align-items:flex-start;margin-top:8px;padding:8px 12px;display:flex;position:relative}.project-copy>div{width:540px;max-width:100%}.project-copy p,.experience p{color:var(--muted);margin-top:8px}.arrow{opacity:0;transition:opacity .3s ease-in-out;position:absolute;top:8px;right:12px}@media (hover:hover) and (pointer:fine){.pill:hover{background:var(--background);color:var(--button-hover-text)}.inline-link:hover,.theme-button:hover{background:var(--background)}:root:not([data-theme=dark]) .theme-button:hover .light-theme-icon.default-icon,:root[data-theme=dark] .theme-button:hover .dark-theme-icon.default-icon{display:none}:root:not([data-theme=dark]) .theme-button:hover .light-theme-icon.hover-icon,:root[data-theme=dark] .theme-button:hover .dark-theme-icon.hover-icon{display:block}.project-card:hover{background:var(--surface)}.project-card:hover .project-image-crop{transform:scale(1.05)}.project-card:hover .arrow{opacity:1}}.experience{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 130px;gap:16px;padding-top:12px;display:grid}.dates{color:var(--muted);text-align:right;font-size:.75rem;line-height:1.25rem}:root[data-theme=dark] .dates{line-height:1rem}#contact-heading{color:var(--contact-heading)}.contact-links{flex-wrap:wrap;gap:4px;display:flex}.contact-links .pill{height:32px;padding:5px 14px}footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:20px 0;display:flex}.page-shell>footer{height:62px}footer,footer span{font-size:.9375rem;line-height:1.375rem}footer>span:first-child{color:var(--muted)}@media (max-width:640px){.page-shell{gap:72px;padding-top:144px}footer{margin-top:0}main{gap:64px}.project-image{aspect-ratio:662/386;height:auto}.project-copy>div{width:auto}.experience{grid-template-columns:minmax(0,1fr) auto;gap:12px}}@media (max-width:380px){.experience{grid-template-columns:1fr;gap:8px}.dates{text-align:left;grid-row:1}}html{scroll-behavior:smooth}.case-page{background:var(--background);min-height:100vh;padding-top:200px;position:relative}.case-header{z-index:10;border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:flex-start;width:min(680px,100% - 40px);height:68px;padding:16px 0;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.case-header-actions{align-items:center;gap:8px;display:flex}.back-button{border:1px solid var(--border);background:var(--surface);border-radius:60px;place-items:center;width:36px;height:36px;transition:background-color .3s ease-in-out,border-color .3s ease-in-out;display:grid;position:relative}.back-button img{opacity:1;grid-area:1/1;transition:opacity .3s ease-in-out}.back-button .back-hover{opacity:0}.case-copy-link{min-width:81px}.copy-link-control{flex-shrink:0;position:relative}.copy-link-feedback{z-index:1;border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;line-height:20px;animation:2.5s ease-in-out both copy-link-feedback;position:absolute;top:40px;right:0}@keyframes copy-link-feedback{0%,80%{opacity:1}to{opacity:0}}.case-sidebar-positioner{width:200px;position:absolute;top:200px;bottom:180px;left:20px}.case-sidebar{flex-direction:column;gap:6px;width:200px;display:flex;position:sticky;top:92px}.sidebar-item{width:200px;color:var(--sidebar-muted);font-size:12px;font-weight:400;line-height:16px;transition:color .3s ease-in-out}.sidebar-item.is-active{color:var(--foreground)}.case-sections{flex-direction:column;gap:80px;width:min(680px,100% - 40px);margin:0 auto;display:flex}.case-section{flex-direction:column;gap:32px;scroll-margin-top:104px;display:flex}.case-intro{flex-direction:column;gap:24px;display:flex}.case-title{flex-direction:column;gap:8px;display:flex}.case-title h1{font-size:18px;font-weight:500;line-height:24px}:root[data-theme=dark] .case-title h1{font-weight:400}.case-title p,.case-metadata span,.info-card>p:last-child{color:var(--muted)}.case-metadata{flex-direction:column;gap:16px;display:flex}.metadata-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:16px;display:grid;position:relative}.metadata-row:before{content:"";border-top:1px solid var(--border);position:absolute;top:0;left:0;right:0}.metadata-row>div{flex-direction:column;gap:4px;display:flex}.metadata-row-single{grid-template-columns:1fr}.case-metadata span{font-size:14px;line-height:20px}.case-metadata a{text-underline-position:from-font;text-decoration:underline}.case-heading{flex-direction:column;gap:20px;display:flex}.case-heading h2{color:var(--foreground);margin:0;font-size:16px;font-weight:500;line-height:20px}:root[data-theme=dark] .case-heading h2{font-weight:400}.case-body{flex-direction:column;gap:12px;display:flex}.case-body ul,.decision-block ul{margin:0;padding-left:21px}.case-image{border:1px solid var(--border);background:0 0;border-radius:12px;width:100%;height:385px;padding:0;display:block;position:relative;overflow:hidden}.case-image img,.case-image-slide img{object-fit:cover;width:100%;height:100%;transition:transform .4s ease-in-out;display:block}.case-image-placeholder{border:1px solid var(--border);background:var(--image-border)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.info-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;min-height:86px;padding:16px 20px;display:flex;overflow:hidden}.info-grid-tall .info-card{min-height:130px}.info-grid-outcomes .info-card{min-height:108px}.retireus-job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.retireus-job-card{min-height:150px}.retireus-job-card>p:first-child{color:var(--muted);font-weight:500}.retireus-job-card>p:nth-child(2){color:var(--foreground)}.retireus-job-card>p:last-child{color:var(--button-hover-text)}.retireus-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.retireus-visual-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;padding:7px;overflow:hidden}.retireus-visual-image{aspect-ratio:680/385;border-radius:8px;height:auto}.retireus-visual-copy{flex-direction:column;gap:4px;height:60px;padding:12px;display:flex;overflow:hidden}.retireus-visual-copy p:last-child{color:var(--muted);font-size:12px;line-height:16px}.info-stack{flex-direction:column;gap:4px;display:flex}.genfeed-three-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.genfeed-detail-card{min-height:150px}.genfeed-detail-card>p:first-child{color:var(--muted);font-weight:500}.genfeed-detail-card>p:nth-child(2){color:var(--foreground)}.genfeed-detail-card>p:last-child{color:var(--button-hover-text)}.genfeed-process{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;height:144px;padding:20px;display:flex;overflow:hidden}.genfeed-process-item{align-items:center;gap:8px;display:flex}.genfeed-process-item p{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:6px;align-items:center;height:48px;padding:16px 20px;font-size:12px;line-height:normal;display:flex}.genfeed-process-item span{color:var(--muted);font-size:12px;line-height:16px}.fairo-three-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fairo-metric-grid .info-card{min-height:80px}.fairo-research-grid .info-card{min-height:140px}.fairo-scope-grid .info-card{min-height:120px}.process-diagram{border:1px solid var(--border);background:var(--image-border);border-radius:12px;height:340px;position:relative;overflow:hidden}.process-step{z-index:1;background:var(--diagram-card);border-radius:6px;flex-direction:column;gap:6px;width:100px;height:100px;padding:10px 12px;font-size:10px;line-height:12px;display:flex;position:absolute}.process-step p:first-child{color:var(--button-hover-text)}.process-step p:last-child{color:var(--muted)}.process-step:after{content:"";border-top:1px solid var(--muted);width:8px;position:absolute;top:50px;left:104px}.step-1,.step-6{left:15px}.step-2,.step-7{left:132px}.step-3,.step-8{left:249px}.step-4,.step-9{left:366px}.step-5{left:483px}.step-1,.step-2,.step-3,.step-4,.step-5{top:39px}.step-6,.step-7,.step-8,.step-9{top:199px}.step-5:after,.step-9:after{display:none}.process-return{border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);border-left:1px solid var(--muted);border-radius:0 0 20px 20px;width:481px;height:40px;position:absolute;top:149px;left:63px}.decision-block{flex-direction:column;gap:12px;display:flex}.decision-block h3{font-weight:500}.case-image-slider{border-radius:0;width:100%;height:auto;overflow:visible}.case-image-viewport{border-radius:12px;width:100%;height:385px;overflow:hidden}.case-image-track{width:100%;height:385px;position:relative}.case-image-slide{border:1px solid var(--border);opacity:0;pointer-events:none;background:0 0;border-radius:12px;width:100%;height:385px;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.case-image-slide.is-active{z-index:1;opacity:1;pointer-events:auto}.case-image-slide.is-outgoing{z-index:2;pointer-events:none}.case-image-slide.is-incoming{z-index:3;pointer-events:none}.case-image-track.is-next .case-image-slide.is-outgoing,.opened-image-outgoing.is-next{animation:.5s cubic-bezier(.4,0,.2,1) both slider-out-next}.case-image-track.is-next .case-image-slide.is-incoming,.opened-image-incoming.is-next{animation:.5s cubic-bezier(.4,0,.2,1) both slider-in-next}.case-image-track.is-previous .case-image-slide.is-outgoing,.opened-image-outgoing.is-previous{animation:.5s cubic-bezier(.4,0,.2,1) both slider-out-previous}.case-image-track.is-previous .case-image-slide.is-incoming,.opened-image-incoming.is-previous{animation:.5s cubic-bezier(.4,0,.2,1) both slider-in-previous}.slider-controls{align-items:center;gap:4px;margin-top:8px;display:flex}.slider-arrow{border:1px solid var(--border);background:var(--surface);border-radius:4px;place-items:center;width:36px;height:30px;padding:4px 6px;transition:background-color .3s ease-in-out,border-color .3s ease-in-out;display:grid;position:relative}.slider-arrow img{grid-area:1/1}.slider-arrow .arrow-state{display:none}:root:not([data-theme=dark]) .slider-arrow:not(:disabled) .arrow-light-default,:root[data-theme=dark] .slider-arrow:not(:disabled) .arrow-dark-default,:root:not([data-theme=dark]) .slider-arrow:disabled .arrow-light-disabled,:root[data-theme=dark] .slider-arrow:disabled .arrow-dark-disabled{display:block}:root[data-theme=dark] .slider-arrow:disabled{background:#141414}.case-image-slider>.slider-controls .slider-arrow:disabled{cursor:default}:root:not([data-theme=dark]) .case-image-slider>.slider-controls .slider-arrow:disabled{background:var(--background)}.slider-arrow-next img{transform:rotate(180deg)}.opened-image-overlay{z-index:100;cursor:zoom-out;background:0 0;border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;animation:.25s ease-in-out both opened-image-fade-in;display:flex;position:fixed;inset:0}.opened-image-backdrop{cursor:zoom-out;background:#141414cc;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.opened-image-overlay.is-closing{pointer-events:none;animation:.25s ease-in-out both opened-image-fade-out}.opened-image-content{z-index:1;pointer-events:none;width:min(100vw - 240px,176.623vh - 211.948px);max-width:1200px;position:relative}.opened-image-frame{aspect-ratio:680/385;cursor:default;pointer-events:auto;border:1px solid #666;border-radius:12px;width:100%;position:relative;overflow:hidden}.opened-image-frame img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.opened-slider-controls{pointer-events:auto;justify-content:center;gap:4px;margin-top:8px;display:flex}.opened-slider-arrow:disabled{cursor:default}.opened-slider-arrow{background:#1a1a1a;border-color:#1f1f1f}.opened-slider-arrow .arrow-state{display:none!important}.opened-slider-arrow:not(:disabled) .arrow-dark-default,.opened-slider-arrow:disabled .arrow-dark-disabled{display:block!important}.opened-slider-arrow:disabled{background:#141414}@keyframes opened-image-fade-in{0%{opacity:0}to{opacity:1}}@keyframes opened-image-fade-out{0%{opacity:1}to{opacity:0}}@keyframes slider-out-next{0%{opacity:1;transform:translate(0)}to{opacity:.96;transform:translate(-24px)}}@keyframes slider-in-next{0%{opacity:.96;transform:translate(24px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes slider-out-previous{0%{opacity:1;transform:translate(0)}to{opacity:.96;transform:translate(24px)}}@keyframes slider-in-previous{0%{opacity:.96;transform:translate(-24px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.case-footer{width:min(680px,100% - 40px);height:62px;margin:120px auto 0}@media (hover:hover) and (pointer:fine){.back-button:hover,.slider-arrow:hover{background:var(--background)}.opened-slider-arrow:not(:disabled):hover,.opened-slider-arrow:disabled:hover{background:#141414;border-color:#1f1f1f}.case-image-slider>.slider-controls .slider-arrow:disabled:hover{background:var(--background)}:root[data-theme=dark] .case-image-slider>.slider-controls .slider-arrow:disabled:hover{background:#141414}.slider-arrow:not(:disabled):hover .arrow-light-default,.slider-arrow:not(:disabled):hover .arrow-dark-default{display:none}.slider-arrow:not(:disabled):hover .arrow-hover{display:block}:root[data-theme=dark] .slider-arrow:not(:disabled):hover .arrow-dark-default,:root:not([data-theme=dark]) .case-image-slider>.slider-controls .slider-arrow:not(:disabled):hover .arrow-light-default,:root:not([data-theme=dark]) .case-image-slider>.slider-controls .slider-arrow:not(:disabled):hover .arrow-hover{display:none}:root:not([data-theme=dark]) .case-image-slider>.slider-controls .slider-arrow:not(:disabled):hover .arrow-inline-light-hover{display:block}.opened-slider-arrow:not(:disabled):hover .arrow-dark-default{display:none!important}.opened-slider-arrow:not(:disabled):hover .arrow-hover{display:block!important}.back-button:hover .back-default{opacity:0}.back-button:hover .back-hover{opacity:1}.sidebar-item:hover{color:var(--button-hover-text)}.case-image:hover,.case-image-slide:hover{cursor:zoom-in}.case-image:hover img,.case-image-slide:hover img{transform:scale(1.05)}.case-image-track.is-animating .case-image-slide:hover img{transform:none}}@media (max-width:1120px){.case-sidebar-positioner{display:none}}@media (max-width:640px){.case-page{padding-top:144px}.case-sections{gap:64px}.metadata-row,.info-grid,.retireus-job-grid,.retireus-visual-grid,.genfeed-three-column-grid,.fairo-three-column-grid{grid-template-columns:1fr}.genfeed-process{flex-direction:column;align-items:stretch;height:auto}.genfeed-process-item{flex-direction:column}.genfeed-process-item span{transform:rotate(90deg)}.genfeed-process-item p{justify-content:center}.info-grid-tall .info-card,.info-grid-outcomes .info-card{min-height:82px}.case-image,.case-image-viewport,.case-image-track,.case-image-slide{aspect-ratio:680/385;height:auto}.opened-image-content{width:min(100vw - 40px,176.623vh - 176.623px)}.process-diagram{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:auto;padding:16px;display:grid}.process-step{width:100%;height:88px;position:relative;inset:auto}.process-step:after,.process-return{display:none}.case-footer{margin-top:72px}}
