@font-face{font-family:geistSans;src:url(../media/GeistVariable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap}@font-face{font-family:geistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_f282ac43-module__vPfvNW__className{font-family:geistSans,geistSans Fallback}.geistsans_f282ac43-module__vPfvNW__variable{--font-geist-sans:"geistSans", "geistSans Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.z-0{z-index:0}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.size-full{width:100%;height:100%}.h-full{height:100%}.min-h-full{min-height:100%}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.object-top{object-position:top}.align-middle{vertical-align:middle}.leading-none{--tw-leading:1;line-height:1}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,)}}:root{--primitive-black-2:#00000008;--primitive-black-3:#0000000d;--primitive-black-4:#00000014;--primitive-black-5:#0000001c;--primitive-black-6:#00000026;--primitive-black-8:#00000059;--primitive-black-10:#00000094;--primitive-black-12:#000000eb;--primitive-white-1:#ffffff08;--primitive-white-2:#ffffff0d;--primitive-white-3:#ffffff14;--primitive-white-4:#ffffff1c;--primitive-white-5:#ffffff26;--primitive-white-6:#ffffff30;--primitive-white-8:#ffffff54;--primitive-white-10:#fff9;--primitive-white-12:#ffffffed;--background-1:#f2f2f2;--background-2:#fafafa;--surface-canvas:var(--background-2);--surface-shot-well:var(--background-1);--surface-hover:var(--primitive-black-2);--surface-active:var(--primitive-black-3);--surface-subtle:var(--primitive-black-2);--foreground:var(--primitive-black-12);--muted-foreground:var(--primitive-black-10);--tertiary-foreground:var(--primitive-black-8);--border:var(--primitive-black-5);--border-muted:var(--primitive-black-4);--border-strong:var(--primitive-black-6);--selection-bg:#e9e5c9;--selection-fg-primary:#635b30;--selection-fg-secondary:#888157;--selection-fg-tertiary:#938d6b;--ring:#dbcd79;--freshfold-iteration-card-padding:5%;--freshfold-iteration-screen-width:78%;--project-phone-bottom-crop-width:44.65%;--project-phone-bottom-crop-top-inset:9.35%;--project-single-phone-bottom-crop-width:48%;--project-single-phone-bottom-crop-top-inset:8.5%;--project-solution-device-height:95%}.dark{--background-1:#121212;--background-2:#1c1c1c;--surface-canvas:var(--background-1);--surface-shot-well:var(--background-2);--surface-hover:var(--primitive-white-1);--surface-active:var(--primitive-white-2);--surface-subtle:var(--primitive-white-2);--foreground:var(--primitive-white-12);--muted-foreground:var(--primitive-white-10);--tertiary-foreground:var(--primitive-white-8);--border:var(--primitive-white-4);--border-muted:var(--primitive-white-3);--border-strong:var(--primitive-white-5);--selection-bg:#413c4b;--selection-fg-primary:#c8b6ed;--selection-fg-secondary:#9e90ba;--selection-fg-tertiary:#9086a6;--ring:#a98fd8}*{box-sizing:border-box}html{background:var(--surface-canvas)}body{background:var(--surface-canvas);color:var(--foreground);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0;font-size:1rem;font-weight:400;line-height:1.5}::selection{background:var(--selection-bg);color:var(--selection-fg-primary)}a{color:inherit}.site-shell{min-height:100svh;padding:7rem 1.5rem 2rem}.content-column{width:min(100%,520px);margin:0 auto}.project__years,.experience-row__years{letter-spacing:normal;text-transform:none;color:var(--tertiary-foreground);margin:0;font-size:1rem;font-weight:400;line-height:1.5}h1,h2,p{margin-top:0}h1{letter-spacing:normal;margin:0;font-size:1rem;font-weight:400;line-height:1.5}.identity{position:relative}.identity__copy{width:100%}.identity__title{flex:none}.identity__details{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-top:.75rem;display:flex}.identity__portrait{aspect-ratio:1;background:var(--foreground);width:5.5rem;image-rendering:pixelated;-webkit-mask-source-type:alpha;-webkit-mask-source-type:alpha;-webkit-mask:url(/images/profile/bayer-portrait-mask-light.png) 50%/100% 100% no-repeat;-webkit-mask-source-type:alpha;mask:url(/images/profile/bayer-portrait-mask-light.png) 50%/100% 100% no-repeat alpha}.dark .identity__portrait{-webkit-mask-image:url(/images/profile/bayer-portrait-mask-dark.png);mask-image:url(/images/profile/bayer-portrait-mask-dark.png)}.theme-toggle{width:2rem;height:2rem;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;margin:0;padding:0;transition:background-color .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1);display:inline-flex;position:absolute;top:0;right:-.25rem}.theme-toggle:hover{background:var(--surface-hover)}.theme-toggle:active{transform:scale(.92)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.theme-toggle__icon-swap{place-items:center;animation:.15s cubic-bezier(.215,.61,.355,1) theme-icon-swap;display:grid}.theme-toggle__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}@keyframes theme-icon-swap{0%{opacity:0;transform:translateY(1.5px)scale(.86)rotate(-10deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.section{padding-top:4rem}h2{color:var(--muted-foreground);letter-spacing:.0075rem;margin-bottom:1rem;font-size:.875rem;font-weight:500;line-height:1rem}.prose{letter-spacing:normal;max-width:100%;color:var(--muted-foreground);font-size:1rem}.prose p{margin-bottom:1.25rem}.prose p:last-child{margin-bottom:0}.about__role{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground);text-underline-offset:6px}.contact-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.contact-list--identity{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1.25rem;margin-left:auto;display:flex}.contact-list a,.contact-list__copy{color:inherit;font:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:6px;align-items:center;gap:.35rem;padding-bottom:6px;transition:text-decoration-color .2s cubic-bezier(.23,1,.32,1);display:inline-flex}.contact-list--identity a,.contact-list--identity .contact-list__copy{padding-bottom:0}.contact-list__copy{cursor:pointer;background:0 0;border:0;padding:0}.contact-list a:hover,.contact-list__copy:hover{-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.contact-list a:focus-visible,.contact-list__copy:focus-visible,.project:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.contact-list a:active,.contact-list__copy:active,.project:active{transform:scale(.97)}.section--projects{padding-top:4rem}.project-list{gap:2rem;display:grid}.project{padding:1rem 0;text-decoration:none;transition:background-color .1s cubic-bezier(.23,1,.32,1),transform .1s cubic-bezier(.23,1,.32,1);display:block}.project:hover{background:var(--surface-hover)}.project__content,.project__heading{display:block}.project__media{isolation:isolate;aspect-ratio:4/3;background:var(--surface-shot-well);width:100%;margin-bottom:1rem;display:block;position:relative;overflow:hidden}.project-preview-video{z-index:1;place-items:center;display:grid;position:absolute;inset:0}.project-preview-video__screen-shell{aspect-ratio:1984/1080;width:85%}.project-preview-video__device-shell{aspect-ratio:433/882;height:85%}.project-preview-video__device-shell>*{width:100%;height:100%}.project-preview-video__media{object-fit:contain;width:100%;height:100%;display:block}.project-preview-video--iphone .project-preview-video__media{object-fit:cover;object-position:top}.project-dither{z-index:-10;pointer-events:none;position:absolute;inset:0}.project-dither__shader{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.project__content{min-width:0}.project__heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project__title{font-size:1rem;font-weight:400;line-height:1.5}.experience-list{margin:0;padding:0;list-style:none}.experience-row{border-bottom:1px solid var(--border-muted);grid-template-columns:8.5rem 1fr;gap:1.5rem;padding:0 0 .75rem;font-size:1rem;line-height:1.5;display:grid}.experience-row+.experience-row{padding-top:.75rem}.experience-row__details{color:inherit;flex-wrap:wrap;gap:.5rem;text-decoration:none;display:flex}.experience-row__years{color:var(--muted-foreground)}.experience-row__role{color:var(--foreground)}.experience-row__company{color:var(--tertiary-foreground)}.site-footer{border-top:1px solid var(--border-muted);color:var(--muted-foreground);letter-spacing:.0075rem;margin-top:4rem;padding-top:.75rem;font-size:.875rem;font-weight:500;line-height:1rem}.site-footer--contact{color:var(--foreground);letter-spacing:normal;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.5;display:flex}.contact-list--footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1.25rem;margin-left:auto;display:flex}.contact-list--footer a,.contact-list--footer .contact-list__copy{padding-bottom:0}.work-header__nav{justify-content:space-between;align-items:flex-start;margin-bottom:4rem;display:flex}.work-header__nav .theme-toggle{flex:none;margin:-.25rem -.25rem 0 0;position:static}.work-header__back{display:inline-block}.work-header__back,.inline-link{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:6px;transition:color .2s cubic-bezier(.23,1,.32,1),text-decoration-color .2s cubic-bezier(.23,1,.32,1)}.work-header__back:hover,.inline-link:hover{-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.work-header h1{margin-bottom:.5rem}.work-header p{color:var(--muted-foreground);margin:0}.work-header p+p{margin-top:1.25rem}.work-list{gap:4rem;padding-top:4rem;display:grid}.work-entry{color:inherit;scroll-margin-top:2rem;text-decoration:none;display:block}.work-entry:hover h2{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.work-entry:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.work-entry__period{color:var(--tertiary-foreground);margin:0 0 .5rem}.work-entry h2{color:var(--foreground);letter-spacing:normal;margin:0 0 1rem;font-size:1rem;font-weight:400;line-height:1.5}.work-entry h2 span{color:var(--tertiary-foreground)}.work-entry>p:not(.work-entry__period){color:var(--muted-foreground);margin:0 0 1rem}.work-entry a{-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.project-media-card{isolation:isolate;aspect-ratio:4/3;background:var(--surface-shot-well);place-items:center;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.project-media-card .project-dither{z-index:0}.project-media-card__content{z-index:1;place-items:center;width:100%;height:100%;padding:7.5%;display:grid;position:relative}.project-media-card__content--video{padding:0}.project-media-card__content--screens{padding:4% 12.5%}.project-media-card__group{place-items:center;width:100%;height:100%;display:grid}.project-media-card__group--screens{gap:6%}.project-media-card__group--screens.project-media-card__group--2-up{grid-template-columns:repeat(2,minmax(0,1fr))}.project-media-card__group--screens.project-media-card__group--3-up{grid-template-columns:repeat(3,minmax(0,1fr))}.project-media-card__group--screens img{object-fit:contain;width:100%;height:100%;display:block}.project-media-card__group--iphone{grid-template-columns:repeat(2,minmax(0,1fr));gap:10.7%}.project-media-card__group--iphone>*{width:72%}.project-media-card__group--iphone.project-media-card__group--1-up{grid-template-columns:1fr}.project-media-card__group--iphone.project-media-card__group--1-up>*{width:32%}.project-media-card--top-cropped-phones .project-media-card__content{padding-top:var(--project-phone-bottom-crop-top-inset)}.project-media-card--top-cropped-phones:has(.project-media-card__group--1-up) .project-media-card__content{padding-top:var(--project-single-phone-bottom-crop-top-inset)}.project-media-card--top-cropped-phones .project-media-card__group--iphone{justify-content:center;align-items:flex-start;display:flex}.project-media-card--top-cropped-phones .project-media-card__group--iphone>*{flex:0 0 var(--project-phone-bottom-crop-width);width:var(--project-phone-bottom-crop-width)}.project-media-card--top-cropped-phones .project-media-card__group--iphone.project-media-card__group--1-up>*{flex-basis:var(--project-single-phone-bottom-crop-width);width:var(--project-single-phone-bottom-crop-width)}.project-media-card__phone-crop{overflow:visible}.project-media-card__phone-crop>*{width:100%}.project-media-card__image{object-fit:contain;max-width:100%;max-height:100%;display:block}.project-media-card:has(.project-media-card__video){background:#fff}.dark .project-media-card:has(.project-media-card__video){background:#1c1c1c}.project-video{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.project-video__media-shell{width:85%;min-width:0;max-width:85%;min-height:0;max-height:85%;position:relative}.project-video__media-shell>.project-media-card__video{position:absolute;inset:0}.project-video__device-shell{height:var(--project-solution-device-height);aspect-ratio:433/882}.project-video__device-shell>*{width:100%;height:100%}.project-video--iphone .project-media-card__video{object-fit:cover;object-position:top}.project-media-card__video{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.project-video__replay{width:2rem;height:2rem;color:var(--primitive-black-12);background:var(--primitive-white-12);box-shadow:0 1px 2px var(--primitive-black-5), 0 4px 12px var(--primitive-black-4);cursor:pointer;border:0;border-radius:9999px;place-items:center;padding:0;transition:background-color .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1);display:inline-grid;position:absolute;bottom:.75rem;right:.75rem}.project-video__replay:before{content:"";position:absolute;inset:-.375rem}.project-video__replay:hover{background:#fff}.project-video__replay:active{transform:scale(.92)}.project-video__replay:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.project-video__replay-icon-swap{place-items:center;animation:.5s cubic-bezier(.215,.61,.355,1) project-video-replay;display:grid}.project-video__replay-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}@keyframes project-video-replay{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.project-media-card__placeholder{color:var(--tertiary-foreground);background:var(--surface-canvas);padding:.25rem .5rem;font-size:.875rem}.project-page__image{color:var(--tertiary-foreground);margin-top:4rem;font-size:.875rem}.project-media-card--right-cropped .project-media-card__content{inset-block:12.5%;justify-content:flex-start;align-items:center;width:50%;height:auto;padding:0;display:flex;position:absolute;right:0;overflow:hidden visible}.project-media-card--right-cropped .project-media-card__image{object-fit:contain;object-position:left center;flex:none;width:auto;max-width:none;height:100%;max-height:100%;display:block}.project-media-card__annotation{z-index:2;width:48.05%;color:var(--muted-foreground);white-space:pre-line;gap:1.54cqi;font-size:2.69cqi;line-height:3.08cqi;display:grid;position:absolute;top:68%;left:4%}.project-media-card__annotation-line{background:linear-gradient(90deg,currentColor 0 95.7%,#000 95.7% 100%);width:100%;height:max(1px,.12cqi);display:block;position:relative}.project-media-card__annotation-line:after{content:"";border-top:.55cqi solid #0000;border-bottom:.55cqi solid #0000;border-left:1.05cqi solid #000;width:0;height:0;position:absolute;top:50%;right:-1.05cqi;transform:translateY(-50%)}.iphone-frame__outer,.iphone-frame__screen{fill:#e5e5e5;stroke:#e5e5e5}.iphone-frame__inner{fill:#fff}.dark .iphone-frame__outer,.dark .iphone-frame__screen{fill:#404040;stroke:#404040}.dark .iphone-frame__inner{fill:#262626}.project-media-trigger{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.project-media-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.project-video-trigger{position:relative}.project-video-trigger__open{z-index:2;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.project-video-trigger__open:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.project-video-trigger .project-media-card{z-index:3;pointer-events:none}.project-video-trigger .project-video__replay{z-index:3;pointer-events:auto}.project-page__media-frame{z-index:1;aspect-ratio:16/9;background:var(--primitive-black);width:100%;overflow:hidden}.project-page__media-frame iframe{border:0;width:100%;height:100%;display:block}.project-page__title{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-page__title span:last-child{color:var(--tertiary-foreground);font-weight:400}.project-page__context p,.project-page__primary-research p,.project-page__numbered-list,.project-page__problem p,.project-page__target-users p,.project-page__assumptions ol,.project-page__pricing p{color:var(--muted-foreground)}.project-page__context>p{margin:0}.project-page__context>p+p{margin-top:1.25rem}.project-page__problem>p{margin:0}.project-page__problem>p+p{margin-top:1.25rem}.work-item-hierarchy+p{margin-top:2rem}.project-page__primary-research>p,.project-page__collaboration>p,.project-page__learnings>p{margin:0}.project-page__primary-research>p+p{margin-top:1.25rem}.project-page__collaboration>p{color:var(--muted-foreground)}.project-page__primary-research>p+.project-page__numbered-list,.project-page__collaboration>p+.project-page__numbered-list,.project-page__learnings>p+.project-page__numbered-list{margin-top:1rem}.work-item-hierarchy{--hierarchy-line:var(--border);color:var(--muted-foreground);font:inherit;justify-items:center;margin:2rem 0 0;display:grid}.work-item-hierarchy__node{z-index:1;background:var(--surface-canvas);font:inherit;white-space:nowrap;align-items:center;gap:.375rem;padding:.25rem .625rem;display:inline-flex;position:relative}.work-item-hierarchy__epic-row{grid-template-columns:auto 1fr auto 1fr auto;align-items:center;width:100%;display:grid}.work-item-hierarchy__epic-row>*{justify-self:center}.work-item-hierarchy__node--faded{opacity:.28}.work-item-hierarchy__label--primary{color:var(--foreground)}.work-item-hierarchy__ellipsis{color:var(--tertiary-foreground);letter-spacing:.2em;opacity:.28;font-size:.75rem}.work-item-hierarchy__icon{flex:0 0 1em;place-items:center;width:1em;height:1em;display:inline-grid}.work-item-hierarchy__icon svg{width:100%;height:100%;display:block}.work-item-hierarchy__icon--project{color:var(--foreground)}.work-item-hierarchy__icon--epic{color:#7e57c2}.work-item-hierarchy__icon--task{color:#4c9fd8}.work-item-hierarchy__icon--story{color:#5aac44}.work-item-hierarchy__icon--bug{color:#ec5549}.work-item-hierarchy__connector{background:var(--hierarchy-line);width:1px;height:2rem}.work-item-hierarchy__children{grid-template-columns:repeat(3,1fr);width:100%;margin:2rem 0 0;padding:2rem 0 0;list-style:none;display:grid;position:relative}.work-item-hierarchy__children:before{background:var(--hierarchy-line);content:"";height:1px;position:absolute;top:0;left:16.666%;right:16.666%}.work-item-hierarchy__children:after{background:var(--hierarchy-line);content:"";width:1px;height:2rem;position:absolute;top:-2rem;left:50%}.work-item-hierarchy__children li{justify-items:center;display:grid;position:relative}.work-item-hierarchy__children li:before{background:var(--hierarchy-line);content:"";width:1px;height:2rem;position:absolute;top:-2rem;left:50%}.project-page__problem>.project-page__media-figure{margin-bottom:2rem}.comparison-table__intro{margin:0}.comparison-table__scroll{margin-top:2rem;overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;min-width:32rem;color:var(--muted-foreground)}.comparison-table th,.comparison-table td{border-bottom:1px solid var(--border-muted);font:inherit;text-align:left;vertical-align:middle;padding:.75rem}.comparison-table th:first-child,.comparison-table td:first-child{padding-left:0}.comparison-table thead th{color:var(--tertiary-foreground);vertical-align:bottom}.comparison-table tbody th{color:var(--foreground);white-space:nowrap}.comparison-table td{min-width:6.5rem}.comparison-table__check{color:var(--foreground)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.persona-list{margin:0;padding:0;list-style:none;display:grid}.persona{align-items:flex-start;gap:1rem;padding:1.25rem 0;display:flex}.persona+.persona{border-top:1px solid var(--border-muted)}.persona:last-child{border-bottom:1px solid var(--border-muted)}.persona__image{isolation:isolate;background:var(--surface-shot-well);border-radius:50%;flex:0 0 4.5rem;width:4.5rem;height:4.5rem;position:relative;overflow:hidden}.persona__portrait{object-fit:cover;object-position:50% 10%;transform:scale(1.35)}.persona__details{min-width:0}.persona__details p{margin:0;line-height:1.5rem}.persona__details p:last-child{color:var(--foreground)}.project-page__assumptions ol,.project-page__numbered-list{counter-reset:assumption;gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.project-page__assumptions li,.project-page__numbered-list>li{counter-increment:assumption;grid-template-columns:5.5rem 1fr;display:grid}.project-page__assumptions li:before,.project-page__numbered-list>li:before{content:counter(assumption, decimal-leading-zero);color:var(--tertiary-foreground);letter-spacing:normal;font-size:1rem;font-weight:400;line-height:1.5}.project-page__pricing-option+.project-page__pricing-option{margin-top:2rem}.project-page__pricing-option h3{color:var(--foreground);margin:0 0 .5rem;font-size:1rem;font-weight:400;line-height:1.5}.project-page__pricing-option p{margin:0}.project-page__problem p.project-page__highlight,.project-page__highlight{color:var(--foreground)}.project-page__solution>p{color:var(--muted-foreground);margin:0}.project-page__solution>p+p{margin-top:1.25rem}.project-page__problem .project-page__image,.project-page__solution .project-page__image{margin-top:2rem}.interactive-prototype__device{width:min(100%,22rem);margin:1rem auto 0;display:block}.interactive-prototype__screen{border:0;width:100%;height:100%;display:block}.interactive-prototype__link{margin-top:1rem;display:inline-flex}.interactive-prototype__link--mobile-only{display:none}.project-page__iterations h2{margin-bottom:1rem}.project-page__iterations>p{color:var(--muted-foreground);margin:0}.project-page__iterations>p+.freshfold-iteration-panels{margin-top:2rem}.project-page__design-decisions>p{color:var(--muted-foreground);margin:0}.project-page__design-decisions>p+.freshfold-iteration-panels,.project-page__design-decisions>.freshfold-iteration-panels+p,.project-page__design-decisions>.project-page__design-decisions-media{margin-top:2rem}.project-page__design-decisions-media .project-page__image{margin-top:0}.freshfold-iteration-panels{gap:1rem;display:grid}.freshfold-iteration-figure{margin:0}.freshfold-iteration-panel{margin-top:0}.project-media-card--large-phones .project-media-card__content{padding:var(--freshfold-iteration-card-padding)}.project-media-card--large-phones .project-media-card__group--iphone>*{width:var(--freshfold-iteration-screen-width)}.project-media-card--spacious .project-media-card__content{padding:12%}.freshfold-iteration-figure figcaption{color:var(--tertiary-foreground);margin-top:.5rem;font-size:.875rem;line-height:1rem}.project-page__iteration{margin:2rem 0}.project-page__iteration:last-child{margin-bottom:0}.project-page__iteration .project-page__image{margin-top:0}.project-page__iteration figcaption{color:var(--tertiary-foreground);margin-top:.5rem;font-size:.875rem;line-height:1rem}.project-page__media-figure{margin:0}.project-page__media-figure figcaption{color:var(--tertiary-foreground);margin-top:.5rem;font-size:.875rem;line-height:1rem}.project-page__impact>p,.project-page__learnings>p,.project-page__learning p{color:var(--muted-foreground)}.project-page__learnings>p+p{margin-top:1.25rem}.project-page__impact>p{margin:0}.project-page__impact>p+p{margin-top:1.25rem}.project-page__impact-metrics{margin:2rem 0;display:grid}.project-page__impact-metric{border-bottom:1px solid var(--border-muted);grid-template-columns:8.5rem 1fr;gap:1.5rem;padding:.75rem 0;display:grid}.project-page__impact-metric:first-child{padding-top:0}.project-page__impact-metric dt{color:var(--foreground)}.project-page__impact-metric dd{color:var(--muted-foreground);margin:0}.project-page__impact-media{margin:2rem 0 0}.project-page__impact-media figcaption{color:var(--tertiary-foreground);margin-top:.5rem;font-size:.875rem;line-height:1rem}.project-page__learning{margin-top:2rem}.project-page__learnings-list .project-page__learning{margin-top:0}.project-page__learning h3{color:var(--foreground);margin:0 0 .5rem;font-size:1rem;font-weight:400;line-height:1.5}.project-page__learning p{margin:0}.project-lightbox{--yarl__container_background_color:var(--surface-canvas)}@supports (color:color-mix(in lab, red, red)){.project-lightbox{--yarl__container_background_color:color-mix(in srgb, var(--surface-canvas) 88%, transparent)}}.project-lightbox{--yarl__color_button:var(--tertiary-foreground);--yarl__color_button_active:var(--foreground);cursor:e-resize}.project-lightbox .yarl__container{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:clamp(1rem,3vw,3rem)}.project-lightbox .yarl__slide{padding:0;overflow:visible}.project-lightbox .yarl__toolbar{padding:.5rem;left:auto;right:0}.project-lightbox .yarl__button{filter:none;width:2.5rem;height:2.5rem;box-shadow:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:background-color .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1);display:inline-flex}.project-lightbox .yarl__button:hover{background:var(--surface-hover)}.project-lightbox .yarl__button:active{transform:scale(.92)}.project-lightbox__close-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.project-lightbox__canvas{width:var(--project-lightbox-width);flex:0 auto;max-width:100%;height:auto;margin:auto}.project-lightbox__footer{justify-items:center;gap:.75rem;display:grid;position:absolute;bottom:1rem;left:0;right:0}.project-lightbox__caption{width:var(--project-lightbox-width);max-width:100%;color:var(--tertiary-foreground);text-align:center;margin:0;font-size:.875rem;line-height:1rem}.project-lightbox__dots{align-items:center;gap:.1875rem;min-height:.375rem;display:inline-flex}.project-lightbox__dot{background:var(--border-strong);width:.375rem;height:.375rem}.project-lightbox__dot--active{background:var(--foreground)}.project-lightbox__dot--distance-0{background:var(--foreground);width:.4375rem;height:.4375rem}.project-lightbox__dot--distance-1{width:.375rem;height:.375rem}.project-lightbox__dot--distance-2{opacity:.72;width:.25rem;height:.25rem}.prose ::selection,h2::selection,.work-header p::selection,.work-entry>p::selection,.project-page__problem p::selection,.project-page__solution p::selection,.project-page__impact p::selection,.project-page__learnings p::selection,.experience-row__years::selection{color:var(--selection-fg-secondary)}.project-page__highlight::selection{color:var(--selection-fg-primary)}.project__years::selection,.experience-row__company::selection,.project-page__title span:last-child::selection,.work-entry__period::selection,.work-entry h2 span::selection,.project-page__image::selection,.site-footer::selection{color:var(--selection-fg-tertiary)}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle__icon-swap,.project-video__replay,.project-video__replay-icon-swap{transition:none;animation:none}}@media (max-width:560px){.comparison-table th:first-child,.comparison-table td:first-child{z-index:1;background:var(--surface-canvas);box-shadow:1px 0 var(--border-muted);position:sticky;left:0}.comparison-table thead th:first-child{z-index:2}.site-shell{padding:1.5rem 1rem 2rem}.identity__details,.site-footer--contact{gap:.5rem;display:grid}.contact-list--identity,.contact-list--footer{justify-content:flex-start;gap:.5rem 1rem;margin-left:0}.section,.section--projects{padding-top:4rem}.project__heading{display:block}.project__years{margin-top:.5rem;display:block}.experience-row,.project-page__impact-metric{grid-template-columns:1fr;gap:.25rem}.interactive-prototype__device{display:none}.interactive-prototype__link--mobile-only{display:inline-flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
