.CopyEmail-module__6nzi7q__copy{width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;place-items:center;margin:-.4375rem;padding:0;transition:background-color .2s,color .2s;display:inline-grid}.CopyEmail-module__6nzi7q__copy:hover{background-color:var(--surface-hover);color:var(--text-primary)}.CopyEmail-module__6nzi7q__copy:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.CopyEmail-module__6nzi7q__icon{width:1.125rem;height:1.125rem}.CopyEmail-module__6nzi7q__srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.ThemeToggle-module__38LGyq__toggle{--track-width:3.5rem;--track-height:1.875rem;--track-pad:.1875rem;--knob-size:calc(var(--track-height) - (var(--track-pad) * 2));--knob-travel:calc(var(--track-width) - var(--knob-size) - (var(--track-pad) * 2));width:var(--track-width);height:var(--track-height);padding:0 var(--track-pad);background-color:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:space-between;align-items:center;transition:background-color .2s;display:inline-flex;position:relative}.ThemeToggle-module__38LGyq__toggle:hover{background-color:var(--surface-hover)}.ThemeToggle-module__38LGyq__toggle:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.ThemeToggle-module__38LGyq__knob{top:50%;left:var(--track-pad);width:var(--knob-size);height:var(--knob-size);background-color:var(--emphasis);border-radius:50%;transition:transform .26s cubic-bezier(.22,.61,.36,1);position:absolute;transform:translateY(-50%)}.ThemeToggle-module__38LGyq__toggle[data-state=light] .ThemeToggle-module__38LGyq__knob{transform:translateY(-50%) translateX(var(--knob-travel))}.ThemeToggle-module__38LGyq__slot{z-index:1;width:var(--knob-size);height:var(--knob-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.ThemeToggle-module__38LGyq__icon{width:.875rem;height:.875rem;color:var(--text-muted);transition:color .26s}.ThemeToggle-module__38LGyq__toggle[data-state=dark] .ThemeToggle-module__38LGyq__slot:first-of-type .ThemeToggle-module__38LGyq__icon,.ThemeToggle-module__38LGyq__toggle[data-state=light] .ThemeToggle-module__38LGyq__slot:last-of-type .ThemeToggle-module__38LGyq__icon{color:var(--canvas)}@media (prefers-reduced-motion:reduce){.ThemeToggle-module__38LGyq__knob,.ThemeToggle-module__38LGyq__icon{transition:none}}
.TopBar-module__7Lcfaq__bar{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:96rem;margin:0 auto;padding:2.25rem 1.25rem 1.25rem;font-size:.875rem;display:flex}.TopBar-module__7Lcfaq__identity{align-items:center;gap:3.5rem;min-width:0;display:flex}.TopBar-module__7Lcfaq__name{color:var(--text-primary);white-space:nowrap}.TopBar-module__7Lcfaq__back{color:var(--text-primary);white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.TopBar-module__7Lcfaq__back:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:.25rem}.TopBar-module__7Lcfaq__backIcon{width:1rem;height:1rem;transition:transform .25s cubic-bezier(.22,.61,.36,1)}.TopBar-module__7Lcfaq__back:hover .TopBar-module__7Lcfaq__backIcon{transform:translate(-3px)}@media (prefers-reduced-motion:reduce){.TopBar-module__7Lcfaq__backIcon,.TopBar-module__7Lcfaq__back:hover .TopBar-module__7Lcfaq__backIcon{transition:none;transform:none}}.TopBar-module__7Lcfaq__role{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:64rem){.TopBar-module__7Lcfaq__bar{font-size:.8125rem}.TopBar-module__7Lcfaq__identity{gap:2rem}}@media (max-width:48rem){.TopBar-module__7Lcfaq__bar{font-size:.75rem}.TopBar-module__7Lcfaq__identity{gap:1.25rem}}@media (max-width:34rem){.TopBar-module__7Lcfaq__bar{padding:1.5rem 1rem 1rem;font-size:.6875rem}.TopBar-module__7Lcfaq__identity{gap:.75rem}}
.PageShell-module__SoTHYG__page{flex-direction:column;min-height:100dvh;display:flex}.PageShell-module__SoTHYG__main{flex-direction:column;flex:1;width:100%;max-width:96rem;min-height:0;margin:0 auto;padding:0 1.25rem 1.25rem;display:flex}.PageShell-module__SoTHYG__headline{letter-spacing:-.02em;max-width:24em;color:var(--text-primary);flex:none;margin-top:3.5rem;font-size:clamp(1.75rem,3.4vw,3rem);font-weight:500;line-height:1.12}.PageShell-module__SoTHYG__content{gap:var(--section-gap);min-height:0;margin-top:var(--headline-gap);padding-bottom:var(--section-gap);flex-direction:column;flex:1;display:flex}@media (max-width:40rem){.PageShell-module__SoTHYG__headline{margin-top:2.5rem}}
.ExpandableImage-module__A8PvnW__trigger{cursor:zoom-in;background:0 0;border:none;padding:0;line-height:0;display:block;position:relative}.ExpandableImage-module__A8PvnW__trigger:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:1rem}.ExpandableImage-module__A8PvnW__hint{background-color:var(--text-primary);width:2rem;height:2rem;color:var(--canvas);opacity:0;border-radius:.5rem;place-items:center;transition:opacity .2s,transform .2s cubic-bezier(.22,.61,.36,1);display:grid;position:absolute;bottom:.75rem;right:.75rem;transform:scale(.9)}.ExpandableImage-module__A8PvnW__trigger:hover .ExpandableImage-module__A8PvnW__hint,.ExpandableImage-module__A8PvnW__trigger:focus-visible .ExpandableImage-module__A8PvnW__hint{opacity:1;transform:none}.ExpandableImage-module__A8PvnW__hintIcon{width:1.125rem;height:1.125rem}.ExpandableImage-module__A8PvnW__dialog{background:0 0;border:none;place-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:clamp(1rem,3vw,2.5rem);display:grid;overflow:hidden}.ExpandableImage-module__A8PvnW__dialog:not([open]){display:none}.ExpandableImage-module__A8PvnW__dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#000000d1}.ExpandableImage-module__A8PvnW__full{object-fit:contain;border-radius:.75rem;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.ExpandableImage-module__A8PvnW__close{color:#fff;cursor:pointer;background-color:#0009;border:none;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;padding:0;transition:background-color .2s;display:grid;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.ExpandableImage-module__A8PvnW__close:hover{background-color:#000c}.ExpandableImage-module__A8PvnW__close:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.ExpandableImage-module__A8PvnW__closeIcon{width:1.25rem;height:1.25rem}@media (prefers-reduced-motion:reduce){.ExpandableImage-module__A8PvnW__hint{transition:opacity .12s;transform:none}}
.ProductSection-module__Z9x1eW__body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.ProductSection-module__Z9x1eW__media{justify-content:center;align-items:center;display:flex}.ProductSection-module__Z9x1eW__image{border-radius:1rem;width:auto;max-width:100%;height:auto;max-height:clamp(18rem,42vh,26rem);display:block}.ProductSection-module__Z9x1eW__copy{flex-direction:column;gap:.75rem;display:flex}.ProductSection-module__Z9x1eW__name{letter-spacing:-.02em;color:var(--text-primary);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;line-height:1.1}.ProductSection-module__Z9x1eW__nameLink{width:fit-content;color:inherit;align-items:center;gap:.5rem;display:inline-flex}.ProductSection-module__Z9x1eW__nameLink:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:.375rem}.ProductSection-module__Z9x1eW__nameArrow{width:.6em;height:.6em;color:var(--text-secondary);flex-shrink:0;transition:transform .25s cubic-bezier(.22,.61,.36,1),color .25s}.ProductSection-module__Z9x1eW__nameLink:hover .ProductSection-module__Z9x1eW__nameArrow,.ProductSection-module__Z9x1eW__nameLink:focus-visible .ProductSection-module__Z9x1eW__nameArrow{color:var(--text-primary);transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.ProductSection-module__Z9x1eW__nameArrow,.ProductSection-module__Z9x1eW__nameLink:hover .ProductSection-module__Z9x1eW__nameArrow{transition:none;transform:none}}.ProductSection-module__Z9x1eW__tagline{color:var(--text-primary);font-size:clamp(1.0625rem,1.5vw,1.25rem)}.ProductSection-module__Z9x1eW__description{max-width:40ch;color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.ProductSection-module__Z9x1eW__download{flex-direction:column;gap:.875rem;margin-top:1.25rem;display:flex}.ProductSection-module__Z9x1eW__downloadLabel{color:var(--text-secondary);font-size:.9375rem}.ProductSection-module__Z9x1eW__actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.ProductSection-module__Z9x1eW__divider{letter-spacing:.08em;color:var(--text-muted);flex-direction:column;align-self:stretch;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.ProductSection-module__Z9x1eW__divider:before,.ProductSection-module__Z9x1eW__divider:after{content:"";border-left:1px solid var(--border);flex:1}.ProductSection-module__Z9x1eW__stores{flex-wrap:wrap;gap:.625rem;display:flex}.ProductSection-module__Z9x1eW__store{background-color:var(--surface);color:var(--text-primary);white-space:nowrap;border-radius:.625rem;align-items:center;gap:.5rem;padding:.6875rem 1.125rem;font-size:.9375rem;transition:background-color .2s;display:inline-flex}.ProductSection-module__Z9x1eW__store:hover{background-color:var(--surface-hover)}.ProductSection-module__Z9x1eW__store:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.ProductSection-module__Z9x1eW__storeIcon{flex-shrink:0;width:1.125rem;height:1.125rem}.ProductSection-module__Z9x1eW__qr{flex-direction:column;align-items:center;gap:.5rem;display:flex}.ProductSection-module__Z9x1eW__qrCode{background-color:#fff;border-radius:.75rem;place-items:center;width:6.5rem;height:6.5rem;padding:.625rem;display:grid}.ProductSection-module__Z9x1eW__qrCode svg{width:100%;height:100%;display:block}.ProductSection-module__Z9x1eW__qrHint{color:var(--text-secondary);font-size:.75rem}@media (max-width:60rem){.ProductSection-module__Z9x1eW__body{grid-template-columns:minmax(0,1fr)}}@media (max-width:40rem){.ProductSection-module__Z9x1eW__qr,.ProductSection-module__Z9x1eW__divider{display:none}}
.Publications-module__y3bLXa__empty{color:var(--text-secondary);font-size:1.0625rem}.Publications-module__y3bLXa__emptyLink{color:var(--text-primary);text-underline-offset:.2em;text-decoration:underline}.Publications-module__y3bLXa__grid{grid-template-columns:repeat(auto-fill,minmax(0,14rem));gap:clamp(1.5rem,3vw,2.5rem);padding:0;list-style:none;display:grid}.Publications-module__y3bLXa__book{flex-direction:column;gap:1rem;display:flex}.Publications-module__y3bLXa__book:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:.75rem}.Publications-module__y3bLXa__cover{aspect-ratio:2/3;background-color:var(--surface);border-radius:.75rem;transition:transform .35s cubic-bezier(.22,.61,.36,1);display:block;position:relative;overflow:hidden}.Publications-module__y3bLXa__book:hover .Publications-module__y3bLXa__cover,.Publications-module__y3bLXa__book:focus-visible .Publications-module__y3bLXa__cover{transform:translateY(-4px)}.Publications-module__y3bLXa__coverImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.Publications-module__y3bLXa__text{flex-direction:column;gap:.25rem;display:flex}.Publications-module__y3bLXa__title{letter-spacing:-.01em;color:var(--text-primary);justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:1rem;line-height:1.35;display:flex}.Publications-module__y3bLXa__subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.4}.Publications-module__y3bLXa__year{color:var(--text-muted);margin-top:.125rem;font-size:.8125rem}.Publications-module__y3bLXa__arrow{width:1rem;height:1rem;color:var(--text-secondary);flex-shrink:0;margin-top:.2em;transition:transform .25s cubic-bezier(.22,.61,.36,1),color .25s}.Publications-module__y3bLXa__book:hover .Publications-module__y3bLXa__arrow{color:var(--text-primary);transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.Publications-module__y3bLXa__cover,.Publications-module__y3bLXa__arrow,.Publications-module__y3bLXa__book:hover .Publications-module__y3bLXa__cover,.Publications-module__y3bLXa__book:hover .Publications-module__y3bLXa__arrow{transition:none;transform:none}}
.hero-module__ZhWl1q__heroType{width:fit-content;font-size:var(--hero-size);letter-spacing:-.02em;color:var(--emphasis);white-space:nowrap;margin:0 auto;font-weight:500;line-height:1}
.page-module__E0kJGG__page{flex-direction:column;min-height:100dvh;display:flex}.page-module__E0kJGG__main{flex-direction:column;flex:1;width:100%;max-width:96rem;min-height:0;margin:0 auto;padding:0 1.25rem 1.25rem;display:flex}.page-module__E0kJGG__hero{z-index:0;flex:none;position:relative;}.page-module__E0kJGG__gridWrap{z-index:1;min-height:0;margin-top:calc(var(--hero-size) * -.42);flex:1;position:relative}@media (min-width:64rem){.page-module__E0kJGG__page{height:100dvh;overflow:hidden}}:is(html[data-intro=play] .page-module__E0kJGG__page,html[data-intro=handoff] .page-module__E0kJGG__page){visibility:hidden}html[data-intro=done] .page-module__E0kJGG__page{visibility:visible}
.Tabs-module__ro353q__tabbed{flex-direction:column;gap:2.5rem;display:flex}.Tabs-module__ro353q__tabs{background-color:var(--surface);border-radius:999px;align-self:flex-start;padding:.25rem;display:flex;position:relative}.Tabs-module__ro353q__indicator{width:var(--tab-w,6rem);background-color:var(--emphasis);height:calc(100% - .5rem);transform:translateX(calc(var(--tab-x,.25rem) - .25rem));border-radius:999px;transition:transform .3s cubic-bezier(.22,.61,.36,1),width .3s cubic-bezier(.22,.61,.36,1);position:absolute;top:.25rem;left:.25rem}.Tabs-module__ro353q__tab{z-index:1;white-space:nowrap;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.625rem 1.25rem;font-size:.9375rem;transition:color .3s;position:relative}.Tabs-module__ro353q__tab[aria-selected=true]{color:var(--canvas)}.Tabs-module__ro353q__tab:not([aria-selected=true]):hover{color:var(--text-primary)}.Tabs-module__ro353q__tab:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.Tabs-module__ro353q__panel{gap:var(--section-gap);flex-direction:column;display:flex}.Tabs-module__ro353q__panel[hidden]{display:none}@media (prefers-reduced-motion:reduce){.Tabs-module__ro353q__indicator{transition:none}}@media (max-width:34rem){.Tabs-module__ro353q__tab{padding:.5rem .875rem;font-size:.875rem}}.Tabs-module__ro353q__raised{gap:2.5rem}.Tabs-module__ro353q__raised .Tabs-module__ro353q__tabs{scrollbar-width:none;background-color:#0000;border-radius:0;align-self:flex-start;gap:.5rem;max-width:100%;padding:0;overflow-x:auto}.Tabs-module__ro353q__raised .Tabs-module__ro353q__tabs::-webkit-scrollbar{display:none}.Tabs-module__ro353q__raised .Tabs-module__ro353q__indicator{height:100%;transform:translateX(var(--tab-x,0));top:0;left:0}
.LottieBackground-module__sfp7CW__background{z-index:0;background-color:#fff;position:absolute;inset:0}.LottieBackground-module__sfp7CW__player{position:absolute;inset:0}.LottieBackground-module__sfp7CW__player svg{display:block;width:100%!important;height:100%!important}@media (max-width:48rem){.LottieBackground-module__sfp7CW__background{display:none}}
.ProjectCard-module__JGCjrW__card{background-color:var(--surface);border-radius:1.5rem;flex-direction:column;gap:1.5rem;height:100%;padding:1.25rem;transition:background-color .25s;display:flex;position:relative;overflow:hidden}.ProjectCard-module__JGCjrW__card:hover{background-color:var(--surface-hover)}.ProjectCard-module__JGCjrW__card:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.ProjectCard-module__JGCjrW__logo,.ProjectCard-module__JGCjrW__column,.ProjectCard-module__JGCjrW__arrow{z-index:1;position:relative}.ProjectCard-module__JGCjrW__column{flex-direction:column;flex:1;gap:1.5rem;display:flex}.ProjectCard-module__JGCjrW__still{z-index:0;background-color:#fff;background-position:top;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__title,.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__statValue{color:var(--black-1000)}.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__summary,.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__statLabel,.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__arrow{color:var(--black-600)}.ProjectCard-module__JGCjrW__lightGround:hover .ProjectCard-module__JGCjrW__arrow{color:var(--black-1000)}.ProjectCard-module__JGCjrW__lightGround:focus-visible{outline-color:var(--black-1000)}.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__onDark{display:none}.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__onLight{display:block}.ProjectCard-module__JGCjrW__lightGround .ProjectCard-module__JGCjrW__logoFallback{color:var(--black-1000)}@media (min-width:60rem){.ProjectCard-module__JGCjrW__featured{flex-direction:row;align-items:center;gap:2.5rem;padding:2rem}.ProjectCard-module__JGCjrW__featured .ProjectCard-module__JGCjrW__logo{flex:none;width:clamp(8rem,14vw,12rem);margin:0}.ProjectCard-module__JGCjrW__featured .ProjectCard-module__JGCjrW__body{gap:.875rem;margin-bottom:0}.ProjectCard-module__JGCjrW__featured .ProjectCard-module__JGCjrW__title{letter-spacing:-.02em;font-size:clamp(1.5rem,2.4vw,2rem)}.ProjectCard-module__JGCjrW__featured .ProjectCard-module__JGCjrW__summary{font-size:1rem}}.ProjectCard-module__JGCjrW__logo{aspect-ratio:1;justify-content:center;align-items:center;width:clamp(9rem,27vh,19rem);margin:0 auto;display:flex}.ProjectCard-module__JGCjrW__logoImg{object-fit:contain;width:auto;max-width:100%;max-height:62%}.ProjectCard-module__JGCjrW__onLight{display:none}html[data-theme=light] .ProjectCard-module__JGCjrW__onDark{display:none}html[data-theme=light] .ProjectCard-module__JGCjrW__onLight{display:block}.ProjectCard-module__JGCjrW__logoFallback{letter-spacing:.02em;color:var(--text-primary);font-size:1.25rem;font-weight:500}.ProjectCard-module__JGCjrW__body{flex-direction:column;gap:.625rem;margin-bottom:auto;display:flex}.ProjectCard-module__JGCjrW__title{letter-spacing:-.015em;color:var(--text-primary);font-size:1.25rem;font-weight:500;line-height:1.25}.ProjectCard-module__JGCjrW__arrow{width:1.125rem;height:1.125rem;color:var(--text-secondary);transition:transform .25s cubic-bezier(.22,.61,.36,1),color .25s;position:absolute;bottom:1.25rem;right:1.25rem}.ProjectCard-module__JGCjrW__card:hover .ProjectCard-module__JGCjrW__arrow{color:var(--text-primary);transform:translate(2px,-2px)}.ProjectCard-module__JGCjrW__summary{color:var(--text-secondary);font-size:.9375rem;line-height:1.55}.ProjectCard-module__JGCjrW__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding-top:.5rem;display:grid}.ProjectCard-module__JGCjrW__stat{flex-direction:column-reverse;gap:.25rem;min-width:0;display:flex}.ProjectCard-module__JGCjrW__statLabel{color:var(--text-secondary);font-size:.8125rem;line-height:1.35}.ProjectCard-module__JGCjrW__statValue{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:400;line-height:1}@media (prefers-reduced-motion:reduce){.ProjectCard-module__JGCjrW__arrow,.ProjectCard-module__JGCjrW__card:hover .ProjectCard-module__JGCjrW__arrow{transition:none;transform:none}}
.ResumeProfile-module__w0PBeW__profile{flex-direction:column;gap:1.75rem;max-width:46rem;display:flex}.ResumeProfile-module__w0PBeW__identity{flex-direction:column;gap:.375rem;display:flex}.ResumeProfile-module__w0PBeW__name{letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:500;line-height:1}.ResumeProfile-module__w0PBeW__role{color:var(--text-secondary);font-size:clamp(1rem,1.6vw,1.25rem)}.ResumeProfile-module__w0PBeW__summary{max-width:54ch;color:var(--text-secondary);text-wrap:pretty;font-size:1.0625rem;line-height:1.65}.ResumeProfile-module__w0PBeW__actions{flex-wrap:wrap;gap:.625rem;display:flex}.ResumeProfile-module__w0PBeW__action{background-color:var(--surface);color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.8125rem 1.25rem;font-size:.9375rem;transition:background-color .2s,opacity .2s;display:inline-flex}.ResumeProfile-module__w0PBeW__action:hover{background-color:var(--surface-hover)}.ResumeProfile-module__w0PBeW__action:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.ResumeProfile-module__w0PBeW__primary{background-color:var(--text-primary);color:var(--canvas)}.ResumeProfile-module__w0PBeW__primary:hover{background-color:var(--text-primary);opacity:.88}.ResumeProfile-module__w0PBeW__actionIcon{flex-shrink:0;width:1.125rem;height:1.125rem}.ResumeProfile-module__w0PBeW__stats{flex-wrap:wrap;gap:2.5rem;margin-top:.5rem;display:flex}.ResumeProfile-module__w0PBeW__stat{flex-direction:column-reverse;gap:.25rem;display:flex}.ResumeProfile-module__w0PBeW__statValue{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1}.ResumeProfile-module__w0PBeW__statLabel{color:var(--text-secondary);font-size:.875rem}@media (max-width:40rem){.ResumeProfile-module__w0PBeW__stats{gap:1.75rem}}
.CaseStudy-module__qFhm-G__study{gap:var(--section-gap);flex-direction:column;max-width:none;display:flex}.CaseStudy-module__qFhm-G__intro{max-width:46rem;color:var(--text-secondary);text-wrap:pretty;font-size:clamp(1.0625rem,1.7vw,1.375rem);line-height:1.55}.CaseStudy-module__qFhm-G__track{gap:var(--section-gap);flex-direction:column;display:flex}.CaseStudy-module__qFhm-G__placeholder{max-width:62ch;color:var(--text-muted);font-size:1rem;line-height:1.7}.CaseStudy-module__qFhm-G__lead{grid-template-columns:minmax(0,1fr) minmax(0,40rem);align-items:center;gap:4rem;display:grid}.CaseStudy-module__qFhm-G__leadWide{grid-template-columns:minmax(0,1fr)}.CaseStudy-module__qFhm-G__leadMark{grid-template-columns:minmax(0,1fr) auto}.CaseStudy-module__qFhm-G__leadBody{flex-direction:column;gap:clamp(2.75rem,5vh,3.75rem);display:flex}@media (max-width:64rem){.CaseStudy-module__qFhm-G__lead{grid-template-columns:minmax(0,1fr)}.CaseStudy-module__qFhm-G__leadArt{max-width:32rem}}.CaseStudy-module__qFhm-G__overview{grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:start;gap:2.5rem;scroll-margin-top:4rem;display:grid}.CaseStudy-module__qFhm-G__overviewWide{grid-template-columns:minmax(0,1fr)}.CaseStudy-module__qFhm-G__overviewWide .CaseStudy-module__qFhm-G__narrative{grid-column:auto}.CaseStudy-module__qFhm-G__facts{flex-direction:column;gap:1.75rem;display:flex}.CaseStudy-module__qFhm-G__fact{flex-direction:column;gap:.375rem;display:flex}.CaseStudy-module__qFhm-G__factLabel{color:var(--text-primary);font-size:1rem;font-weight:500}.CaseStudy-module__qFhm-G__factValue{color:var(--text-secondary);margin:0;font-size:1.0625rem;line-height:1.4}.CaseStudy-module__qFhm-G__narrative{flex-direction:column;grid-column:2;gap:clamp(2.5rem,5vh,3.5rem);display:flex}.CaseStudy-module__qFhm-G__section{flex-direction:column;gap:1rem;scroll-margin-top:4rem;display:flex}.CaseStudy-module__qFhm-G__heading{letter-spacing:-.02em;color:var(--text-primary);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;line-height:1.15}.CaseStudy-module__qFhm-G__body strong{font-weight:500}.CaseStudy-module__qFhm-G__highlight strong{color:var(--text-primary)}.CaseStudy-module__qFhm-G__body{max-width:62ch;color:var(--text-secondary);text-wrap:pretty;font-size:1rem;line-height:1.7}.CaseStudy-module__qFhm-G__stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:2rem;display:grid}.CaseStudy-module__qFhm-G__stat{flex-direction:column-reverse;justify-content:flex-end;gap:.375rem;display:flex}.CaseStudy-module__qFhm-G__statValue{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:500;line-height:1}.CaseStudy-module__qFhm-G__statLabel{max-width:22ch;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.CaseStudy-module__qFhm-G__breakdown{flex-wrap:wrap;gap:.375rem 1.25rem;margin-top:1.5rem;display:flex}.CaseStudy-module__qFhm-G__breakdownMark{color:var(--text-muted);margin-right:-.875rem;font-size:.875rem;line-height:1.4}.CaseStudy-module__qFhm-G__breakdownPart{align-items:baseline;gap:.375rem;display:flex}.CaseStudy-module__qFhm-G__breakdownValue{color:var(--text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem;line-height:1.4}.CaseStudy-module__qFhm-G__breakdownLabel{color:var(--text-muted);font-size:.875rem;line-height:1.4}.CaseStudy-module__qFhm-G__typography{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2.5rem 2rem;margin-top:1.75rem;display:grid}.CaseStudy-module__qFhm-G__typeface{flex-direction:column;gap:1rem;display:flex}.CaseStudy-module__qFhm-G__typefaceRamp{flex-wrap:wrap;align-items:flex-end;gap:.875rem 1rem;display:flex}.CaseStudy-module__qFhm-G__typefaceStep{flex-direction:column;align-items:center;gap:.125rem;display:flex}.CaseStudy-module__qFhm-G__typefaceGlyph{letter-spacing:-.02em;color:var(--text-primary);font-weight:500;line-height:1;display:block}.CaseStudy-module__qFhm-G__typefaceStepLabel{white-space:nowrap;color:var(--text-muted);font-size:.6875rem;line-height:1.3}.CaseStudy-module__qFhm-G__typefaceName{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:500;line-height:1.2}.CaseStudy-module__qFhm-G__typefacePlatform{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.875rem;line-height:1.4;display:flex}.CaseStudy-module__qFhm-G__typefaceIcon{flex-shrink:0;width:1rem;height:1rem}.CaseStudy-module__qFhm-G__subsection{flex-direction:column;margin-top:4.5rem;display:flex}.CaseStudy-module__qFhm-G__subsection:first-of-type{margin-top:2rem}.CaseStudy-module__qFhm-G__subheading{color:var(--text-primary);margin:0;font-size:1.0625rem;font-weight:500;line-height:1.4}.CaseStudy-module__qFhm-G__subnote{max-width:46rem;color:var(--text-secondary);text-wrap:pretty;margin-top:.75rem;font-size:.9375rem;line-height:1.65}.CaseStudy-module__qFhm-G__palettes{flex-direction:column;gap:1.5rem;margin-top:1.75rem;display:flex}.CaseStudy-module__qFhm-G__palette{flex-direction:column;gap:.5rem;display:flex}.CaseStudy-module__qFhm-G__paletteName{color:var(--text-secondary);font-size:.875rem;line-height:1.4}.CaseStudy-module__qFhm-G__ramp{flex-wrap:nowrap;gap:.375rem;display:flex}.CaseStudy-module__qFhm-G__rampStep{flex-direction:column;flex:1 1 0;gap:.375rem;min-width:0;display:flex}.CaseStudy-module__qFhm-G__rampChip{border:1px solid var(--border);border-radius:.5rem;width:100%;height:3rem;display:block}.CaseStudy-module__qFhm-G__rampLabel{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.6875rem;line-height:1.3}.CaseStudy-module__qFhm-G__typeRamp{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start;gap:2.5rem 2rem;margin-top:2.5rem;display:grid}.CaseStudy-module__qFhm-G__typeTier{flex-direction:column;gap:.75rem;min-width:0;display:flex}.CaseStudy-module__qFhm-G__typeTierHead{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;padding-bottom:.625rem;display:flex}.CaseStudy-module__qFhm-G__typeTierName{color:var(--text-primary);font-size:.9375rem;line-height:1.4}.CaseStudy-module__qFhm-G__typeTierFace{color:var(--text-muted);font-size:.8125rem;line-height:1.4}.CaseStudy-module__qFhm-G__typeRow{grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:1rem;display:grid}.CaseStudy-module__qFhm-G__typeSpecimen{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:1.1;overflow:hidden}.CaseStudy-module__qFhm-G__typeMeta{flex-direction:column;gap:.0625rem;display:flex}.CaseStudy-module__qFhm-G__typeName{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.CaseStudy-module__qFhm-G__typeNumbers{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem;line-height:1.4}.CaseStudy-module__qFhm-G__unitTable{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%;margin-top:2rem}.CaseStudy-module__qFhm-G__unitTable th,.CaseStudy-module__qFhm-G__unitTable td{vertical-align:baseline;padding:.5rem 1rem .5rem 0}.CaseStudy-module__qFhm-G__unitTable thead th{border-bottom:1px solid var(--border);color:var(--text-muted);padding-bottom:.75rem;font-size:.75rem;font-weight:400;line-height:1.3}.CaseStudy-module__qFhm-G__unitTable tbody tr+tr th,.CaseStudy-module__qFhm-G__unitTable tbody tr+tr td{border-top:1px solid var(--border)}.CaseStudy-module__qFhm-G__unitCell{width:5rem;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:400;line-height:1.4}.CaseStudy-module__qFhm-G__unitBarCell{width:7.5rem}.CaseStudy-module__qFhm-G__unitBarWrap{align-items:center;gap:.75rem;display:flex}.CaseStudy-module__qFhm-G__unitValue{width:1.5rem;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:.75rem;line-height:1.4}.CaseStudy-module__qFhm-G__unitBar{background-color:var(--text-primary);border-radius:.125rem;flex:none;height:.5rem;display:block}.CaseStudy-module__qFhm-G__unitTokens{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.CaseStudy-module__qFhm-G__unitToken+.CaseStudy-module__qFhm-G__unitToken:before{content:", ";color:var(--text-muted)}.CaseStudy-module__qFhm-G__unitEmpty{color:var(--border)}.CaseStudy-module__qFhm-G__unitExceptions{margin-top:2.5rem}.CaseStudy-module__qFhm-G__unitExceptionsNote{max-width:46rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.65}.CaseStudy-module__qFhm-G__findingList{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:2rem;margin-top:2rem;display:grid}.CaseStudy-module__qFhm-G__finding{flex-direction:column;gap:.375rem;min-width:0;display:flex}.CaseStudy-module__qFhm-G__findingLabel{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.625rem;font-size:.8125rem;line-height:1.4;display:flex}.CaseStudy-module__qFhm-G__findingValue{color:var(--text-muted);font-variant-numeric:tabular-nums}.CaseStudy-module__qFhm-G__findingBody{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.6}@media (max-width:48rem){.CaseStudy-module__qFhm-G__unitBar{display:none}.CaseStudy-module__qFhm-G__unitCell{width:3.5rem}.CaseStudy-module__qFhm-G__unitBarCell{width:2.75rem}.CaseStudy-module__qFhm-G__unitTable th,.CaseStudy-module__qFhm-G__unitTable td{padding-right:.75rem}.CaseStudy-module__qFhm-G__unitTokens{font-size:.75rem}}.CaseStudy-module__qFhm-G__withAside{grid-template-columns:minmax(0,1fr) minmax(0,34rem);align-items:start;gap:3rem;display:grid}.CaseStudy-module__qFhm-G__withAsideArt{grid-template-columns:minmax(0, 1fr) minmax(0, var(--aside-w,44rem));align-items:center}.CaseStudy-module__qFhm-G__asideArt{justify-self:center;width:100%;height:auto;display:block}.CaseStudy-module__qFhm-G__withAsideLeft{grid-template-columns:minmax(0, var(--aside-w,44rem)) minmax(0, 1fr)}.CaseStudy-module__qFhm-G__withAsideLeft .CaseStudy-module__qFhm-G__asideProse{order:2}.CaseStudy-module__qFhm-G__asideProse{flex-direction:column;gap:1rem;min-width:0;display:flex}@media (max-width:64rem){.CaseStudy-module__qFhm-G__withAside{grid-template-columns:minmax(0,1fr);gap:2rem}.CaseStudy-module__qFhm-G__withAsideLeft .CaseStudy-module__qFhm-G__asideProse{order:0}}.CaseStudy-module__qFhm-G__screenRow{flex-wrap:wrap;justify-content:flex-start;gap:2rem;margin-top:2.5rem;display:flex}.CaseStudy-module__qFhm-G__screenRow>*{flex:none;width:min(100%,15rem)}.CaseStudy-module__qFhm-G__screenShot{border:1px solid var(--border);border-radius:1.25rem;width:100%;display:block}@media (max-width:48rem){.CaseStudy-module__qFhm-G__screenRow{gap:1rem}.CaseStudy-module__qFhm-G__screenRow>*{width:min(100%,9rem)}}.CaseStudy-module__qFhm-G__shots{flex-wrap:nowrap;gap:1rem;margin-top:2rem;display:flex}.CaseStudy-module__qFhm-G__shots>*{flex:1 1 0;min-width:0}.CaseStudy-module__qFhm-G__shot{aspect-ratio:8/5;object-fit:cover;border:1px solid var(--border);background-color:var(--surface);border-radius:.5rem;width:100%;display:block}@media (max-width:48rem){.CaseStudy-module__qFhm-G__shots{gap:.5rem}.CaseStudy-module__qFhm-G__shot{border-radius:.375rem}}.CaseStudy-module__qFhm-G__srOnly{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.CaseStudy-module__qFhm-G__compare{border-collapse:collapse;text-align:left;width:100%;margin-top:2rem}.CaseStudy-module__qFhm-G__compare th,.CaseStudy-module__qFhm-G__compare td{vertical-align:baseline;padding:.6875rem 1.25rem .6875rem 0}.CaseStudy-module__qFhm-G__compare thead th{border-bottom:1px solid var(--border);padding-bottom:.875rem;font-weight:400}.CaseStudy-module__qFhm-G__compare tbody tr+tr th,.CaseStudy-module__qFhm-G__compare tbody tr+tr td{border-top:1px solid var(--border)}.CaseStudy-module__qFhm-G__compareColName{color:var(--text-secondary);font-size:.8125rem;line-height:1.35;display:block}.CaseStudy-module__qFhm-G__compareColMeta{color:var(--text-muted);font-size:.6875rem;line-height:1.35;display:block}.CaseStudy-module__qFhm-G__compareLabel{width:32%;color:var(--text-primary);font-size:.8125rem;font-weight:400;line-height:1.45}.CaseStudy-module__qFhm-G__compareExpected{width:17%;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.45}.CaseStudy-module__qFhm-G__compareCell{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.45}.CaseStudy-module__qFhm-G__compareCell[data-ok=true]{color:var(--text-muted)}.CaseStudy-module__qFhm-G__compareMark{width:1.125rem;color:var(--text-muted);display:inline-block}.CaseStudy-module__qFhm-G__compareCell[data-ok=false] .CaseStudy-module__qFhm-G__compareMark{color:var(--text-primary)}@media (max-width:48rem){.CaseStudy-module__qFhm-G__compare th,.CaseStudy-module__qFhm-G__compare td{padding-right:.75rem;font-size:.75rem}.CaseStudy-module__qFhm-G__compareLabel{width:34%}.CaseStudy-module__qFhm-G__compareColMeta{display:none}}.CaseStudy-module__qFhm-G__pipeline{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:0;margin-top:2.5rem;list-style:none;display:grid}.CaseStudy-module__qFhm-G__pipeStage{flex-direction:column;gap:1rem;min-width:0;display:flex}.CaseStudy-module__qFhm-G__pipeNode{border:1px solid var(--border);background-color:var(--surface);border-radius:.75rem;flex-direction:column;gap:.375rem;padding:1.25rem;display:flex}.CaseStudy-module__qFhm-G__pipeHead{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.125rem;display:flex}.CaseStudy-module__qFhm-G__pipeMeta{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;line-height:1.3}.CaseStudy-module__qFhm-G__pipeName{color:var(--text-primary);font-size:1rem;font-weight:500;line-height:1.4}.CaseStudy-module__qFhm-G__pipeVia{color:var(--text-secondary);background-color:var(--surface-hover);border-radius:.3125rem;flex:none;margin-top:-.1875rem;padding:.1875rem .5rem;font-size:.6875rem;line-height:1.3}.CaseStudy-module__qFhm-G__pipeVia[data-kind=generated]{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-strong,var(--border))}.CaseStudy-module__qFhm-G__pipeDetail{color:var(--text-secondary);text-wrap:pretty;margin:0;font-size:.8125rem;line-height:1.6}.CaseStudy-module__qFhm-G__pipeLink{justify-content:center;align-items:center;margin-top:3.25rem;padding:0 1.25rem;display:flex;position:relative}.CaseStudy-module__qFhm-G__pipeLink:before{content:"";border-top:1px solid var(--border);position:absolute;top:50%;left:0;right:0}.CaseStudy-module__qFhm-G__pipeLink[data-kind=manual]:before{border-top-style:dashed}.CaseStudy-module__qFhm-G__pipeLinkLabel{text-align:center;max-width:7rem;color:var(--text-muted);background-color:var(--canvas);padding:.375rem 0;font-size:.6875rem;line-height:1.35;position:relative}.CaseStudy-module__qFhm-G__pipeFanOut{flex-direction:column;gap:.75rem;display:flex}@media (max-width:64rem){.CaseStudy-module__qFhm-G__pipeline{grid-template-columns:minmax(0,1fr)}.CaseStudy-module__qFhm-G__pipeLink{margin-top:0;padding:1rem 0}.CaseStudy-module__qFhm-G__pipeLink:before{border-top:0;border-left:1px solid var(--border);inset:0 auto 0 50%}.CaseStudy-module__qFhm-G__pipeLink[data-kind=manual]:before{border-top-style:none;border-left-style:dashed}.CaseStudy-module__qFhm-G__pipeLinkLabel{max-width:none;padding:.25rem .75rem}}.CaseStudy-module__qFhm-G__colorSystem{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:2rem;margin-top:1.75rem;display:grid}.CaseStudy-module__qFhm-G__tierCard{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.CaseStudy-module__qFhm-G__tierName{color:var(--text-primary);flex-basis:100%;font-size:1.0625rem;font-weight:500;line-height:1.4}.CaseStudy-module__qFhm-G__swatch{flex-direction:column;gap:.5rem;display:flex}.CaseStudy-module__qFhm-G__swatchChip{border:1px solid var(--border);border-radius:.625rem;width:2.75rem;height:2.75rem}.CaseStudy-module__qFhm-G__swatchLabel{color:var(--text-muted);font-size:.6875rem;line-height:1.4}.CaseStudy-module__qFhm-G__componentPreviews{flex-wrap:wrap;gap:1.5rem;display:flex}.CaseStudy-module__qFhm-G__componentPreviews>*{flex:16rem;min-width:0}.CaseStudy-module__qFhm-G__componentPreview{aspect-ratio:16/9;object-fit:contain;background-color:var(--surface);border:1px solid var(--border);border-radius:.75rem;width:100%;display:block}.CaseStudy-module__qFhm-G__componentPreviewOnDark{background-color:var(--surface-dark-fixed)}.CaseStudy-module__qFhm-G__figure{margin:0}.CaseStudy-module__qFhm-G__image{width:100%;height:auto;display:block}.CaseStudy-module__qFhm-G__onLight{display:none}html[data-theme=light] .CaseStudy-module__qFhm-G__onDark{display:none}html[data-theme=light] .CaseStudy-module__qFhm-G__onLight{display:block}.CaseStudy-module__qFhm-G__figureMark{justify-content:center;display:flex}.CaseStudy-module__qFhm-G__figureMark .CaseStudy-module__qFhm-G__image{width:auto;max-width:min(100%,18rem)}@media (max-width:64rem){.CaseStudy-module__qFhm-G__figureMark .CaseStudy-module__qFhm-G__image{max-width:min(45%,9rem)}}.CaseStudy-module__qFhm-G__screens{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;display:flex}.CaseStudy-module__qFhm-G__screens .CaseStudy-module__qFhm-G__figure{align-items:center;display:flex}.CaseStudy-module__qFhm-G__screens .CaseStudy-module__qFhm-G__image{width:auto;max-width:100%;max-height:38rem}.CaseStudy-module__qFhm-G__evidence{flex-wrap:wrap;gap:1.25rem;display:flex}.CaseStudy-module__qFhm-G__evidence>*{flex:24rem;min-width:0}.CaseStudy-module__qFhm-G__process{--process-gap:2rem;gap:var(--process-gap);flex-direction:column;margin-top:.5rem;padding:0;list-style:none;display:flex}.CaseStudy-module__qFhm-G__step{grid-template-columns:2rem minmax(0,1fr);gap:.25rem 1.25rem;display:grid;position:relative}.CaseStudy-module__qFhm-G__step:before{content:"";top:1.75rem;left:calc(1rem - .5px);bottom:calc(var(--process-gap) * -1);background-color:var(--border);width:1px;position:absolute}.CaseStudy-module__qFhm-G__step:last-child:before{bottom:0}.CaseStudy-module__qFhm-G__stepNumber{text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums;grid-row:1/span 2;font-size:.875rem;line-height:1.6}.CaseStudy-module__qFhm-G__stepTitle{color:var(--text-primary);font-size:1.0625rem;font-weight:500;line-height:1.4}.CaseStudy-module__qFhm-G__artefacts{flex-direction:column;gap:2.5rem;margin-top:.5rem;display:flex}.CaseStudy-module__qFhm-G__artefact{flex-direction:column;gap:.75rem;display:flex}.CaseStudy-module__qFhm-G__artefactImage{border:1px solid var(--border);border-radius:.75rem;width:100%;max-width:min(100%,40rem);margin-top:2.5rem;display:block;overflow:hidden}.CaseStudy-module__qFhm-G__artefactImages{margin-top:var(--section-gap);flex-wrap:wrap;justify-content:center;gap:6rem;display:flex}.CaseStudy-module__qFhm-G__artefactImageSmall{border-radius:.75rem;width:100%;max-width:min(100%,13rem);display:block;overflow:hidden}.CaseStudy-module__qFhm-G__artefactImage.CaseStudy-module__qFhm-G__figureMark{border:none;max-width:min(100%,12rem)}@media (max-width:60rem){.CaseStudy-module__qFhm-G__overview{grid-template-columns:minmax(0,1fr);gap:2.5rem}.CaseStudy-module__qFhm-G__narrative{grid-column:auto}}@media (max-width:48rem){.CaseStudy-module__qFhm-G__screens{grid-template-columns:minmax(0,1fr)}.CaseStudy-module__qFhm-G__step{grid-template-columns:minmax(0,1fr);gap:.375rem}.CaseStudy-module__qFhm-G__stepNumber{text-align:left;grid-row:auto}.CaseStudy-module__qFhm-G__step:before{content:none}}.CaseStudy-module__qFhm-G__board{width:100vw;margin-top:.5rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;container-type:inline-size}.CaseStudy-module__qFhm-G__boardStage{aspect-ratio:16/9;position:relative}.CaseStudy-module__qFhm-G__card{background-color:#fff;border-radius:1.6cqi;margin:0;padding:1.4cqi;position:absolute;box-shadow:0 .1cqi .3cqi #0000000d,0 1cqi 2.4cqi #00000017}.CaseStudy-module__qFhm-G__quote{align-items:center;gap:1.2cqi;display:flex}.CaseStudy-module__qFhm-G__avatar{object-fit:contain;flex-shrink:0;width:4.5cqi;height:4.5cqi}.CaseStudy-module__qFhm-G__quoteBody{color:#1a1a1a;text-wrap:pretty;margin:0;font-size:1cqi;line-height:1.45}.CaseStudy-module__qFhm-G__mark{color:var(--text-primary);font-family:Georgia,Times New Roman,serif;font-size:7cqi;line-height:1;position:absolute}.CaseStudy-module__qFhm-G__wordmark{text-align:center;letter-spacing:-.03em;color:#0000;background-image:linear-gradient(200deg,#93d6fa 0%,#62b4ea 26%,#3b82cc 52%,#1d51a4 76%,#123a80 100%);-webkit-background-clip:text;background-clip:text;width:34%;margin:0;font-size:5.1cqi;font-weight:700;line-height:1.05;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.CaseStudy-module__qFhm-G__closing{text-align:center;align-items:center}.CaseStudy-module__qFhm-G__closingBody{max-width:46ch;margin:0 auto;font-size:clamp(1.125rem,1.9vw,1.5rem);line-height:1.6}
.Timeline-module__V0GRYa__timeline{--marker-size:.625rem;--marker-top:.4rem;--rail-start:calc(var(--marker-top) + var(--marker-size) / 2);max-width:46rem;padding:0;list-style:none;position:relative}.Timeline-module__V0GRYa__timeline:before,.Timeline-module__V0GRYa__timeline:after{content:"";left:0;top:var(--rail-start);width:1px;height:var(--rail-length,calc(100% - var(--rail-start)));z-index:0;position:absolute}.Timeline-module__V0GRYa__timeline:before{background-color:var(--border)}.Timeline-module__V0GRYa__timeline:after{background-color:var(--accent);transform:scaleY(var(--rail-progress,0));transform-origin:top}.Timeline-module__V0GRYa__entry{padding:0 0 2.75rem 2rem;position:relative}.Timeline-module__V0GRYa__entry:last-child{padding-bottom:0}.Timeline-module__V0GRYa__marker{z-index:1;left:calc(var(--marker-size) / -2);top:var(--marker-top);width:var(--marker-size);height:var(--marker-size);background-color:var(--text-muted);border-radius:50%;position:absolute}.Timeline-module__V0GRYa__entry:first-child .Timeline-module__V0GRYa__marker,.Timeline-module__V0GRYa__marker[data-passed=true]{background-color:var(--emphasis);box-shadow:0 0 0 4px var(--surface)}@media (prefers-reduced-motion:no-preference){.Timeline-module__V0GRYa__marker{transition:box-shadow .22s ease-out}}.Timeline-module__V0GRYa__logo{align-items:center;height:2rem;margin-bottom:.875rem;display:flex}.Timeline-module__V0GRYa__logoImg{object-fit:contain;object-position:left center;width:auto;max-width:11rem;max-height:100%}.Timeline-module__V0GRYa__onLight{display:none}html[data-theme=light] .Timeline-module__V0GRYa__onDark{display:none}html[data-theme=light] .Timeline-module__V0GRYa__onLight{display:block}.Timeline-module__V0GRYa__head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.Timeline-module__V0GRYa__role{letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(1.0625rem,1.6vw,1.25rem);font-weight:500;line-height:1.3}.Timeline-module__V0GRYa__company{color:var(--text-secondary);font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.3}.Timeline-module__V0GRYa__company:before{content:"· "}.Timeline-module__V0GRYa__period{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem}.Timeline-module__V0GRYa__description{max-width:54ch;color:var(--text-secondary);text-wrap:pretty;margin-top:.75rem;font-size:.9375rem;line-height:1.6}.Timeline-module__V0GRYa__accomplishments{flex-direction:column;gap:.5rem;max-width:54ch;margin-top:.875rem;padding:0;list-style:none;display:flex}.Timeline-module__V0GRYa__accomplishment{color:var(--text-secondary);text-wrap:pretty;padding-left:1rem;font-size:.875rem;line-height:1.6;position:relative}.Timeline-module__V0GRYa__accomplishment:before{content:"";background-color:var(--text-muted);border-radius:50%;width:.25rem;height:.25rem;position:absolute;top:.6em;left:0}.Timeline-module__V0GRYa__clients{flex-direction:column;gap:1.75rem;margin-top:1.75rem;padding:0;list-style:none;display:flex}.Timeline-module__V0GRYa__client{padding-left:1.25rem;position:relative}.Timeline-module__V0GRYa__client:before,.Timeline-module__V0GRYa__client:after{content:"";width:1px;height:100%;position:absolute;top:0;left:0}.Timeline-module__V0GRYa__client:before{background-color:var(--border)}.Timeline-module__V0GRYa__client:after{background-color:var(--accent);transform:scaleY(var(--client-progress,0));transform-origin:top}.Timeline-module__V0GRYa__clientLogo{align-items:center;height:1.5rem;margin-bottom:.625rem;display:flex}.Timeline-module__V0GRYa__clientName{letter-spacing:-.01em;color:var(--text-primary);font-size:.9375rem;font-weight:500;line-height:1.3}.Timeline-module__V0GRYa__clientName+.Timeline-module__V0GRYa__description{margin-top:.5rem}@media (max-width:40rem){.Timeline-module__V0GRYa__entry{padding-bottom:2.25rem;padding-left:1.5rem}.Timeline-module__V0GRYa__company:before{content:none}.Timeline-module__V0GRYa__head{flex-direction:column;gap:.125rem}.Timeline-module__V0GRYa__client{padding-left:.875rem}}
.WorkGallery-module__2EYO3G__work{flex-direction:column;gap:1.25rem;display:flex}.WorkGallery-module__2EYO3G__bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem 1rem;display:flex}@media (max-width:48rem){.WorkGallery-module__2EYO3G__bar{display:none}}.WorkGallery-module__2EYO3G__toggle{color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:.875rem;transition:color .2s;display:inline-flex}.WorkGallery-module__2EYO3G__toggle:hover,.WorkGallery-module__2EYO3G__toggle[aria-pressed=true]{color:var(--text-primary)}.WorkGallery-module__2EYO3G__toggle:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:.25rem}.WorkGallery-module__2EYO3G__toggleIcon{flex-shrink:0;width:1rem;height:1rem}.WorkGallery-module__2EYO3G__reset{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;transition:color .2s}.WorkGallery-module__2EYO3G__reset:hover{color:var(--text-primary)}.WorkGallery-module__2EYO3G__reset:focus-visible{outline:2px solid var(--emphasis);outline-offset:4px;border-radius:.25rem}.WorkGallery-module__2EYO3G__hint{color:var(--text-muted);font-size:.8125rem}.WorkGallery-module__2EYO3G__picker{z-index:2;flex-wrap:wrap;gap:.375rem;display:flex;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.WorkGallery-module__2EYO3G__swatch{cursor:pointer;background-color:#fff;background-position:top;background-repeat:no-repeat;background-size:cover;border-radius:.5rem;width:2.75rem;height:1.875rem;transition:transform .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #0000001f}.WorkGallery-module__2EYO3G__swatch:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #00000040}.WorkGallery-module__2EYO3G__swatch[aria-pressed=true]{box-shadow:inset 0 0 0 1px #0003, 0 0 0 2px var(--accent)}.WorkGallery-module__2EYO3G__swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.WorkGallery-module__2EYO3G__animate{letter-spacing:.02em;color:#fff;background-color:#000000d1;justify-content:center;align-items:center;width:auto;padding:0 .6875rem;font-size:.75rem;display:flex}.WorkGallery-module__2EYO3G__projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:60rem){.WorkGallery-module__2EYO3G__projects{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.WorkGallery-module__2EYO3G__swatch,.WorkGallery-module__2EYO3G__swatch:hover{transition:none;transform:none}}
.page-module__j6Q3dW__contact{flex-direction:column;gap:1.5rem;max-width:46rem;display:flex}.page-module__j6Q3dW__methods{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.page-module__j6Q3dW__card{background-color:var(--surface);border-radius:1.25rem;flex-direction:column;justify-content:space-between;gap:2.5rem;min-height:12rem;padding:1.25rem;transition:background-color .25s;display:flex}a.page-module__j6Q3dW__card:hover{background-color:var(--surface-hover)}a.page-module__j6Q3dW__card:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.page-module__j6Q3dW__primary{background-color:var(--text-primary);color:var(--canvas)}.page-module__j6Q3dW__primary:hover{background-color:var(--text-primary);opacity:.88}.page-module__j6Q3dW__cardHead{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-module__j6Q3dW__cardBody{flex-direction:column;gap:.25rem;min-width:0;display:flex}.page-module__j6Q3dW__label{letter-spacing:-.01em;font-size:1.0625rem}.page-module__j6Q3dW__value{opacity:.65;font-size:.875rem}.page-module__j6Q3dW__email{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.9375rem;transition:color .2s}.page-module__j6Q3dW__email:hover{color:var(--text-primary)}.page-module__j6Q3dW__email:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px;border-radius:.25rem}.page-module__j6Q3dW__iconPlate{background-color:var(--surface-hover);border-radius:.625rem;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.page-module__j6Q3dW__primary .page-module__j6Q3dW__iconPlate{background-color:color-mix(in srgb, currentColor 14%, transparent)}.page-module__j6Q3dW__icon{width:1.375rem;height:1.375rem;color:inherit}.page-module__j6Q3dW__arrow{flex-shrink:0;width:1.125rem;height:1.125rem;transition:transform .25s cubic-bezier(.22,.61,.36,1)}a.page-module__j6Q3dW__card:hover .page-module__j6Q3dW__arrow{transform:translate(2px,-2px)}.page-module__j6Q3dW__meta{color:var(--text-muted);font-size:.875rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.page-module__j6Q3dW__arrow,a.page-module__j6Q3dW__card:hover .page-module__j6Q3dW__arrow{transition:none;transform:none}}@media (max-width:40rem){.page-module__j6Q3dW__methods{grid-template-columns:minmax(0,1fr)}.page-module__j6Q3dW__card{gap:1.5rem;min-height:0}}
.page-module__TYY22G__resume{gap:3rem;display:grid}@media (min-width:64rem){.page-module__TYY22G__resume{grid-template-columns:minmax(0,46rem) minmax(0,30rem);align-items:start;gap:4rem;max-width:80rem}.page-module__TYY22G__profileColumn{grid-area:1/2}.page-module__TYY22G__experience{grid-area:1/1}}.page-module__TYY22G__download{background-color:var(--text-primary);color:var(--canvas);border-radius:999px;align-self:flex-start;align-items:center;gap:.625rem;padding:.875rem 1.25rem;font-size:.9375rem;transition:opacity .2s;display:inline-flex}.page-module__TYY22G__download:hover{opacity:.88}.page-module__TYY22G__download:focus-visible{outline:2px solid var(--emphasis);outline-offset:3px}.page-module__TYY22G__downloadIcon{flex-shrink:0;width:1.125rem;height:1.125rem}.page-module__TYY22G__format{background-color:color-mix(in srgb, currentColor 16%, transparent);letter-spacing:.04em;border-radius:.25rem;padding:.125rem .375rem;font-size:.6875rem}.page-module__TYY22G__heading{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:2rem;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:500;line-height:1}
.page-module__FaNFKG__work{display:contents}
