.Modal-module-scss-module__GBQoIG__overlay{z-index:var(--layer-modal-overlay);background:var(--overlay-modal);position:fixed;inset:0}.Modal-module-scss-module__GBQoIG__content{--media-frame-shadow:var(--shadow-accent-modal);--media-frame-shadow-large:var(--shadow-accent-modal);border:var(--border-width) solid var(--color-text);background:var(--color-page);outline:var(--border-width) solid var(--color-text);box-shadow:var(--media-frame-shadow,var(--shadow-accent));padding:var(--media-frame-padding-large)}@media (min-width:48rem){.Modal-module-scss-module__GBQoIG__content{box-shadow:var(--media-frame-shadow-large,var(--shadow-accent-large));padding:var(--media-frame-padding-large)}}.Modal-module-scss-module__GBQoIG__content{z-index:var(--layer-modal);max-width:none;max-height:var(--modal-max-block-size);color:var(--color-ink);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.Modal-module-scss-module__GBQoIG__close{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;z-index:2;top:var(--space-3);right:var(--space-3);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-ink);background:var(--color-accent);color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}@media (hover:hover){.Modal-module-scss-module__GBQoIG__close:hover{background:var(--color-ink);color:var(--color-text)}}.Modal-module-scss-module__GBQoIG__visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.MediaFigure-module-scss-module__DfvRVa__figure{border:var(--border-width) solid var(--color-text);background:var(--color-page);outline:var(--border-width) solid var(--color-text);box-shadow:var(--media-frame-shadow,var(--shadow-accent))}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__figure{box-shadow:var(--media-frame-shadow-large,var(--shadow-accent-large))}}.MediaFigure-module-scss-module__DfvRVa__figure{min-width:0;margin:0}.MediaFigure-module-scss-module__DfvRVa__figure.MediaFigure-module-scss-module__DfvRVa__alignRight{--media-frame-shadow:var(--shadow-accent-left);--media-frame-shadow-large:var(--shadow-accent-left-large)}@media (hover:hover) and (pointer:fine){.MediaFigure-module-scss-module__DfvRVa__figure:hover{border-color:var(--color-card)}}.MediaFigure-module-scss-module__DfvRVa__media,.MediaFigure-module-scss-module__DfvRVa__modalMedia{width:100%;display:block;position:relative;overflow:hidden}.MediaFigure-module-scss-module__DfvRVa__media{background:var(--media-fill);line-height:0}.MediaFigure-module-scss-module__DfvRVa__mediaButton{min-height:var(--touch-target);cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.MediaFigure-module-scss-module__DfvRVa__wide .MediaFigure-module-scss-module__DfvRVa__media,.MediaFigure-module-scss-module__DfvRVa__wide .MediaFigure-module-scss-module__DfvRVa__modalMedia{aspect-ratio:16/9}.MediaFigure-module-scss-module__DfvRVa__standard .MediaFigure-module-scss-module__DfvRVa__media,.MediaFigure-module-scss-module__DfvRVa__standard .MediaFigure-module-scss-module__DfvRVa__modalMedia{aspect-ratio:4/3}.MediaFigure-module-scss-module__DfvRVa__landscape .MediaFigure-module-scss-module__DfvRVa__media,.MediaFigure-module-scss-module__DfvRVa__landscape .MediaFigure-module-scss-module__DfvRVa__modalMedia{aspect-ratio:3/2}.MediaFigure-module-scss-module__DfvRVa__portrait .MediaFigure-module-scss-module__DfvRVa__media,.MediaFigure-module-scss-module__DfvRVa__portrait .MediaFigure-module-scss-module__DfvRVa__modalMedia{aspect-ratio:3/4}.MediaFigure-module-scss-module__DfvRVa__image{object-fit:cover;object-position:center}.MediaFigure-module-scss-module__DfvRVa__intrinsicImage{width:100%;height:auto;display:block}.MediaFigure-module-scss-module__DfvRVa__modalIntrinsicImage{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:78vh;margin-inline:auto;display:block}.MediaFigure-module-scss-module__DfvRVa__modalWide{width:min(94vw,138.667vh)}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__modalWide{width:min(80vw,138.667vh,90rem)}}.MediaFigure-module-scss-module__DfvRVa__modalStandard{width:min(94vw,104vh)}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__modalStandard{width:min(80vw,104vh,90rem)}}.MediaFigure-module-scss-module__DfvRVa__modalLandscape{width:min(94vw,117vh)}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__modalLandscape{width:min(80vw,117vh,90rem)}}.MediaFigure-module-scss-module__DfvRVa__modalPortrait{width:min(94vw,58.5vh)}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__modalPortrait{width:min(70vw,58.5vh,36rem)}}.MediaFigure-module-scss-module__DfvRVa__modalIntrinsic{width:min(94vw,36rem)}@media (min-width:48rem){.MediaFigure-module-scss-module__DfvRVa__modalIntrinsic{width:min(70vw,36rem)}}.MediaFigure-module-scss-module__DfvRVa__modalMedia{border:var(--border-width) solid var(--color-ink);background:var(--color-page)}.MediaFigure-module-scss-module__DfvRVa__modalImage{object-fit:contain}.MediaFigure-module-scss-module__DfvRVa__caption,.MediaFigure-module-scss-module__DfvRVa__modalCaption{padding:var(--media-frame-padding);color:var(--color-text)}.MediaFigure-module-scss-module__DfvRVa__caption{font-family:var(--font-detail),monospace;font-size:clamp(.5rem,1.6vw,.625rem);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;line-height:1.35}.MediaFigure-module-scss-module__DfvRVa__modalCaption{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;margin:0;line-height:1.35}
.CaseStudyToc-module-scss-module__zuiN6q__toc{z-index:var(--layer-case-study-toc);top:var(--header-height);border-bottom:var(--border-width) solid var(--color-dark-border);background:var(--color-header);position:sticky}@media (min-width:48rem){.CaseStudyToc-module-scss-module__zuiN6q__toc{background:0 0;border-bottom:0;align-self:start}}.CaseStudyToc-module-scss-module__zuiN6q__list{gap:var(--space-1);padding:var(--space-2) var(--page-gutter);scrollbar-width:none;margin:0;list-style:none;display:flex;overflow-x:auto}.CaseStudyToc-module-scss-module__zuiN6q__list::-webkit-scrollbar{display:none}@media (min-width:48rem){.CaseStudyToc-module-scss-module__zuiN6q__list{padding:var(--space-6) 0 0;flex-direction:column;overflow:visible}}.CaseStudyToc-module-scss-module__zuiN6q__item{flex:none}.CaseStudyToc-module-scss-module__zuiN6q__link{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;align-items:center;gap:var(--space-2);padding-inline:var(--space-3);border-bottom:var(--border-width-accent) solid #0000;color:var(--color-text-muted);white-space:nowrap;text-decoration:none;display:inline-flex}.CaseStudyToc-module-scss-module__zuiN6q__link.CaseStudyToc-module-scss-module__zuiN6q__linkActive{border-bottom-color:var(--color-accent);color:var(--color-accent)}@media (hover:hover){.CaseStudyToc-module-scss-module__zuiN6q__link:hover{color:var(--color-accent)}}@media (min-width:48rem){.CaseStudyToc-module-scss-module__zuiN6q__link{width:100%;padding-inline:0;padding-left:var(--space-3);border-bottom:0;border-left:var(--border-width-accent) solid #0000;white-space:normal;align-items:flex-start}.CaseStudyToc-module-scss-module__zuiN6q__link.CaseStudyToc-module-scss-module__zuiN6q__linkActive{border-left-color:var(--color-accent);border-bottom-color:#0000}}.CaseStudyToc-module-scss-module__zuiN6q__label{max-width:var(--case-study-toc-width);text-overflow:ellipsis;display:inline;overflow:hidden}@media (min-width:48rem){.CaseStudyToc-module-scss-module__zuiN6q__label{max-width:none;text-overflow:unset;overflow:visible}}
.AboutPage-module-scss-module__D2yGXq__main{background:var(--color-page)}.AboutPage-module-scss-module__D2yGXq__layout{width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);padding-block:var(--section-padding-block) var(--section-padding-block-large);margin-inline:auto}.AboutPage-module-scss-module__D2yGXq__kicker{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-emphasis);letter-spacing:var(--tracking-detail);text-transform:uppercase;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-6);border-top:var(--border-width-accent) solid var(--color-accent);display:flex}.AboutPage-module-scss-module__D2yGXq__title{margin:var(--space-5) 0 0;letter-spacing:var(--tracking-heading-display);font-size:clamp(2.75rem,10vw,5.5rem);line-height:var(--leading-heading-display)}.AboutPage-module-scss-module__D2yGXq__banner{height:15rem;margin-top:var(--space-6);border:var(--border-width) solid var(--color-dark-border);box-shadow:var(--shadow-accent);position:relative;overflow:hidden}@media (min-width:48rem){.AboutPage-module-scss-module__D2yGXq__banner{height:clamp(18rem,26vw,28rem);margin-top:var(--space-7);box-shadow:var(--shadow-accent-large)}}.AboutPage-module-scss-module__D2yGXq__bannerImage{object-fit:cover;object-position:center}.AboutPage-module-scss-module__D2yGXq__article{margin-top:var(--space-6);font-size:var(--type-body-lg);line-height:var(--leading-reading);display:flow-root}.AboutPage-module-scss-module__D2yGXq__floatMedia{width:min(100%,18rem);margin-top:var(--space-5);margin-bottom:var(--space-5);shape-outside:none;margin-inline:auto}@media (min-width:48rem){.AboutPage-module-scss-module__D2yGXq__floatMedia{shape-outside:margin-box;width:min(34%,17rem);margin-inline:0}}.AboutPage-module-scss-module__D2yGXq__floatMedia+.AboutPage-module-scss-module__D2yGXq__paragraph{margin-top:0}.AboutPage-module-scss-module__D2yGXq__alignRight{float:none}@media (min-width:48rem){.AboutPage-module-scss-module__D2yGXq__alignRight{float:right;margin-right:0;margin-left:var(--space-6)}}.AboutPage-module-scss-module__D2yGXq__alignLeft{float:none}@media (min-width:48rem){.AboutPage-module-scss-module__D2yGXq__alignLeft{float:left;margin-left:0;margin-right:var(--space-6)}}.AboutPage-module-scss-module__D2yGXq__paragraph{margin:0}.AboutPage-module-scss-module__D2yGXq__paragraph:not(:first-of-type){margin-top:var(--space-5)}.AboutPage-module-scss-module__D2yGXq__bottomNav{border-top:var(--border-width) solid var(--color-dark-border);padding-top:var(--space-6);margin-top:var(--space-6)}.AboutPage-module-scss-module__D2yGXq__pager{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.AboutPage-module-scss-module__D2yGXq__pagerLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;align-items:center;gap:var(--space-2);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-border-muted);color:var(--color-text-muted);text-decoration:none;display:inline-flex}@media (hover:hover){.AboutPage-module-scss-module__D2yGXq__pagerLink:hover{border-color:var(--color-accent);color:var(--color-accent)}}.AboutPage-module-scss-module__D2yGXq__pagerIcon{flex:none;width:.85em;height:.85em;display:inline-flex}.AboutPage-module-scss-module__D2yGXq__pagerIcon svg{width:100%;height:100%;display:block}
.CaseStudy-module-scss-module__HyWvwW__main{--case-study-toc-height:calc(var(--touch-target) + var(--space-2) + var(--space-2) + var(--border-width));--case-study-toc-width:14rem;background:var(--color-page)}.CaseStudy-module-scss-module__HyWvwW__hero,.CaseStudy-module-scss-module__HyWvwW__body{border-bottom:var(--border-width) solid var(--color-dark-border)}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__bodyInner{width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);grid-template-columns:var(--case-study-toc-width) minmax(0, 1fr);align-items:start;column-gap:var(--space-7);margin-inline:auto;display:grid}}.CaseStudy-module-scss-module__HyWvwW__article{min-width:0}.CaseStudy-module-scss-module__HyWvwW__heroInner,.CaseStudy-module-scss-module__HyWvwW__sectionInner,.CaseStudy-module-scss-module__HyWvwW__bottomNav{width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);margin-inline:auto}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__sectionInner{width:auto;margin-inline:0;padding-inline:0}}.CaseStudy-module-scss-module__HyWvwW__heroInner{padding-block:var(--section-padding-block)}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__heroInner{padding-block:var(--section-padding-block-large)}}.CaseStudy-module-scss-module__HyWvwW__kicker{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-emphasis);letter-spacing:var(--tracking-detail);text-transform:uppercase;padding-top:var(--space-6);border-top:var(--border-width-accent) solid var(--color-accent);margin:0}.CaseStudy-module-scss-module__HyWvwW__title{margin:var(--space-5) 0 0;letter-spacing:var(--tracking-heading-display);font-size:clamp(3.5rem,15vw,9rem);line-height:.92}.CaseStudy-module-scss-module__HyWvwW__introduction{margin:var(--space-6) 0 0;font-size:clamp(1.25rem,3vw,2rem);line-height:1.35}.CaseStudy-module-scss-module__HyWvwW__overview{margin:var(--space-6) 0 0;font-size:var(--type-body-lg);line-height:var(--leading-copy)}.CaseStudy-module-scss-module__HyWvwW__details{border-top:var(--border-width) solid var(--color-dark-border);gap:var(--space-5);padding:var(--space-6) 0 0;margin:var(--space-7) 0 0;display:grid}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__details{grid-template-columns:repeat(3,1fr)}}.CaseStudy-module-scss-module__HyWvwW__details div{min-width:0}.CaseStudy-module-scss-module__HyWvwW__details dt{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-emphasis);letter-spacing:var(--tracking-detail);text-transform:uppercase;color:var(--color-accent)}.CaseStudy-module-scss-module__HyWvwW__details dd{margin:var(--space-2) 0 0;line-height:var(--leading-compact)}.CaseStudy-module-scss-module__HyWvwW__section{border-bottom:var(--border-width) solid var(--color-dark-border)}.CaseStudy-module-scss-module__HyWvwW__sectionInner{padding-block:var(--section-padding-block)}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__sectionInner{padding-block:var(--section-padding-block-large)}}.CaseStudy-module-scss-module__HyWvwW__eyebrow{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-emphasis);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--color-accent);margin:0}.CaseStudy-module-scss-module__HyWvwW__sectionTitle{font-size:var(--type-heading-section);letter-spacing:var(--tracking-heading-section);line-height:var(--leading-heading-section);margin:var(--space-4) 0 0;scroll-margin-top:var(--case-study-toc-height)}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__sectionTitle{scroll-margin-top:0}}.CaseStudy-module-scss-module__HyWvwW__copy{margin-top:var(--space-6);display:flow-root}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__copy{margin-top:var(--space-7)}}.CaseStudy-module-scss-module__HyWvwW__copy>:first-child{margin-top:0}.CaseStudy-module-scss-module__HyWvwW__mediaFloat{width:100%;margin-bottom:var(--space-6);shape-outside:none}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__mediaFloat{width:54%;margin-bottom:var(--space-4);shape-outside:margin-box}}.CaseStudy-module-scss-module__HyWvwW__mediaFloat+.CaseStudy-module-scss-module__HyWvwW__paragraph,.CaseStudy-module-scss-module__HyWvwW__mediaFloat+.CaseStudy-module-scss-module__HyWvwW__list{margin-top:0}.CaseStudy-module-scss-module__HyWvwW__alignRight{float:none;margin-left:0;margin-right:0}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__alignRight{float:right;margin-left:var(--space-6)}}.CaseStudy-module-scss-module__HyWvwW__alignLeft{float:none;margin-left:0;margin-right:0}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__alignLeft{float:left;margin-right:var(--space-6)}}.CaseStudy-module-scss-module__HyWvwW__paragraph,.CaseStudy-module-scss-module__HyWvwW__list{font-size:var(--type-body-lg);line-height:var(--leading-reading)}.CaseStudy-module-scss-module__HyWvwW__paragraph{margin:var(--space-5) 0 0}.CaseStudy-module-scss-module__HyWvwW__list{margin:var(--space-5) 0 0;line-height:var(--leading-compact);padding-inline-start:0;list-style:none}.CaseStudy-module-scss-module__HyWvwW__list li{margin-top:var(--space-1);margin-left:0;padding-inline-start:calc(var(--space-4) + .55em);display:block;position:relative}.CaseStudy-module-scss-module__HyWvwW__list li:before{content:"•";color:var(--color-accent);font-weight:var(--font-weight-heading);position:absolute;inset-inline-start:0}.CaseStudy-module-scss-module__HyWvwW__list li:first-child{margin-top:0}@media (min-width:48rem){.CaseStudy-module-scss-module__HyWvwW__list li{margin-left:var(--space-2);padding-inline-start:0;position:static}.CaseStudy-module-scss-module__HyWvwW__list li:before{padding-left:var(--space-4);margin-inline-end:.55em;position:static}}.CaseStudy-module-scss-module__HyWvwW__bottomNav{padding-block:var(--section-padding-block-large)}.CaseStudy-module-scss-module__HyWvwW__pager{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.CaseStudy-module-scss-module__HyWvwW__pagerLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;align-items:center;gap:var(--space-2);padding-inline:var(--space-4);border:var(--border-width) solid var(--color-border-muted);color:var(--color-text-muted);text-decoration:none;display:inline-flex}@media (hover:hover){.CaseStudy-module-scss-module__HyWvwW__pagerLink:hover{border-color:var(--color-accent);color:var(--color-accent)}}.CaseStudy-module-scss-module__HyWvwW__pagerIcon{flex:none;width:.85em;height:.85em;display:inline-flex}.CaseStudy-module-scss-module__HyWvwW__pagerIcon svg{width:100%;height:100%;display:block}.CaseStudy-module-scss-module__HyWvwW__pagerLinkCurrent{border-color:var(--color-accent);background:var(--color-accent-muted);color:var(--color-accent)}
.ContactFooter-module-scss-module__A1l1xq__footer{border-top:var(--border-width) solid var(--color-dark-border);background:var(--color-header)}@media print{.ContactFooter-module-scss-module__A1l1xq__footer{display:none}}.ContactFooter-module-scss-module__A1l1xq__layout{width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);padding-block:var(--section-padding-block);margin-inline:auto}.ContactFooter-module-scss-module__A1l1xq__kicker{font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-kicker);text-transform:uppercase;margin:0}.ContactFooter-module-scss-module__A1l1xq__title{margin:var(--space-4) 0 0;color:var(--color-text);letter-spacing:var(--tracking-heading-display);font-size:clamp(2.75rem,10vw,6rem);line-height:var(--leading-heading-display);text-transform:uppercase}.ContactFooter-module-scss-module__A1l1xq__contactNav{margin-top:var(--space-6)}.ContactFooter-module-scss-module__A1l1xq__linkList{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ContactFooter-module-scss-module__A1l1xq__contactLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;padding-inline:var(--space-4);border:var(--border-width) solid var(--color-dark-border);align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.ContactFooter-module-scss-module__A1l1xq__contactLink:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-ink)}}.ContactFooter-module-scss-module__A1l1xq__legal{border-top:var(--border-width) solid var(--color-dark-border);padding-top:var(--space-6);margin-top:var(--space-6)}.ContactFooter-module-scss-module__A1l1xq__copyright{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-heading);letter-spacing:var(--tracking-detail);text-transform:uppercase;margin:0}
.Hero-module-scss-module__rtoUUG__section{background:var(--color-page);overflow:hidden}.Hero-module-scss-module__rtoUUG__layout{min-height:clamp(40rem,158vw,42rem);width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);padding-block:var(--section-padding-block) 0;margin-inline:auto;display:grid;position:relative}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__layout{min-height:clamp(34rem,65vw,44rem);padding-top:min(8vw,var(--space-9));grid-template-columns:minmax(0,55fr) minmax(0,45fr)}}.Hero-module-scss-module__rtoUUG__textColumn{z-index:2;align-self:start;width:min(68%,15rem);position:relative}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__textColumn{width:auto;max-width:40rem;padding-bottom:var(--space-6);align-self:center}}@media (max-width:21.875rem){.Hero-module-scss-module__rtoUUG__textColumn{width:72%}}.Hero-module-scss-module__rtoUUG__roleLabel{font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-kicker);text-transform:uppercase;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);white-space:nowrap;display:flex}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__roleLabel{margin-bottom:var(--space-6)}}.Hero-module-scss-module__rtoUUG__roleMarker{--role-marker-size:.625rem;flex:0 0 var(--role-marker-size);width:var(--role-marker-size);height:var(--role-marker-size);background:var(--color-accent)}.Hero-module-scss-module__rtoUUG__heading{letter-spacing:var(--tracking-heading-display);text-wrap:balance;margin:0;font-size:clamp(2.75rem,8.5vw,5.5rem);line-height:.98}.Hero-module-scss-module__rtoUUG__summary{max-width:9.5rem;margin:var(--space-6) 0 0;font-size:clamp(1.0625rem,2.4vw,1.375rem);line-height:1.45}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__summary{max-width:34rem;margin-top:var(--space-7)}}.Hero-module-scss-module__rtoUUG__workLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-cta);text-transform:uppercase;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-ink);margin-top:var(--space-6);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.Hero-module-scss-module__rtoUUG__workLink:focus-visible{outline-color:var(--color-text)}@media (hover:hover){.Hero-module-scss-module__rtoUUG__workLink:hover{background:var(--color-text)}}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__workLink{margin-top:var(--space-7)}}.Hero-module-scss-module__rtoUUG__portraitComposition{z-index:1;right:calc(var(--space-5)*-1);pointer-events:none;width:clamp(16rem,74vw,18rem);height:100%;position:absolute;bottom:0}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__portraitComposition{grid-column:2;width:100%;position:relative;right:auto}}@media (max-width:21.875rem){.Hero-module-scss-module__rtoUUG__portraitComposition{right:calc(var(--space-2)*-1);width:15rem}}.Hero-module-scss-module__rtoUUG__portraitBackdrop{background:var(--color-accent);width:68%;height:45%;position:absolute;bottom:0;right:7%}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__portraitBackdrop{width:60%;height:64%;right:8%}}.Hero-module-scss-module__rtoUUG__portraitFrame{border-top:var(--border-width) solid var(--color-card);border-right:var(--border-width) solid var(--color-card);opacity:.65;width:79%;height:56%;position:absolute;bottom:6%;right:0}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__portraitFrame{width:85%;height:73%;bottom:8%}}.Hero-module-scss-module__rtoUUG__portraitImage{right:0;bottom:calc(var(--space-6)*-1);width:100%;max-width:none;height:auto;position:absolute}@media (min-width:48rem){.Hero-module-scss-module__rtoUUG__portraitImage{width:auto;height:clamp(31rem,48vw,42rem);right:50%;transform:translate(50%)}}
.ProjectCard-module-scss-module__5V3ALW__card{--project-card-background:color-mix(in srgb, var(--color-page) 82%, var(--color-card));--project-card-text-muted:color-mix(in srgb, var(--color-text) 80%, transparent);min-width:0;padding:var(--space-5);border:var(--border-width) solid var(--color-dark-border);border-radius:var(--radius-sm);background:var(--project-card-background);color:var(--color-text);flex-direction:column;display:flex}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__card{padding:var(--space-6);column-gap:var(--space-6);grid-template-rows:auto auto 1fr auto auto auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}}@media (min-width:72rem){.ProjectCard-module-scss-module__5V3ALW__card{display:flex}}.ProjectCard-module-scss-module__5V3ALW__categoryRow{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-emphasis);letter-spacing:var(--tracking-detail);text-transform:uppercase;color:var(--project-card-text-muted);align-items:baseline;display:flex}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__categoryRow{grid-area:1/1}}.ProjectCard-module-scss-module__5V3ALW__title{margin:var(--space-5) 0 0;overflow-wrap:anywhere;letter-spacing:-.045em;font-size:clamp(1.75rem,7vw,3.5rem);line-height:1}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__title{grid-area:2/1}}.ProjectCard-module-scss-module__5V3ALW__description{max-width:var(--measure-copy);margin:var(--space-4) 0 0;color:var(--project-card-text-muted);font-size:clamp(.9375rem,2vw,1.0625rem);line-height:1.55}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__description{grid-area:3/1}}@media (min-width:72rem){.ProjectCard-module-scss-module__5V3ALW__description{min-height:9rem}}.ProjectCard-module-scss-module__5V3ALW__coverFrame{aspect-ratio:16/7;border:var(--media-frame-border-width) solid var(--color-page);background:var(--color-page);outline:var(--border-width) solid var(--color-text);width:100%;box-shadow:var(--media-frame-shadow,var(--shadow-accent));display:block}@media (min-width:72rem){.ProjectCard-module-scss-module__5V3ALW__coverFrame{box-shadow:var(--media-frame-shadow-large,var(--shadow-accent-large))}}.ProjectCard-module-scss-module__5V3ALW__coverFrame{margin-top:var(--space-5);outline:1px solid #0000;overflow:hidden}@media (hover:hover) and (pointer:fine){.ProjectCard-module-scss-module__5V3ALW__coverFrame:hover{outline:1px solid var(--color-text);border-color:color-mix(in srgb, var(--color-page) 85%, white)}}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__coverFrame{grid-area:1/2/7;align-self:center;margin-top:0}}@media (min-width:72rem){.ProjectCard-module-scss-module__5V3ALW__coverFrame{margin-top:var(--space-5);align-self:stretch}}.ProjectCard-module-scss-module__5V3ALW__coverImage{object-fit:cover;width:100%;height:100%}.ProjectCard-module-scss-module__5V3ALW__accentBar{width:100%;height:var(--border-width-accent);margin-top:var(--space-5);background:var(--color-accent)}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__accentBar{grid-area:4/1}}.ProjectCard-module-scss-module__5V3ALW__role{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail);text-transform:uppercase;margin:var(--space-4) 0 0;color:var(--project-card-text-muted)}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__role{grid-area:5/1}}@media (min-width:72rem){.ProjectCard-module-scss-module__5V3ALW__role{flex-grow:1}}.ProjectCard-module-scss-module__5V3ALW__caseStudyLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-cta);text-transform:uppercase;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-accent);margin-top:var(--space-4);background:var(--color-page);box-shadow:inset 0 0 0 var(--border-width) var(--color-accent);font-size:var(--type-detail-xs);justify-content:center;align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.ProjectCard-module-scss-module__5V3ALW__caseStudyLink:focus-visible{outline-color:var(--color-text)}@media (hover:hover){.ProjectCard-module-scss-module__5V3ALW__caseStudyLink:hover{background:var(--color-accent);color:var(--color-ink)}}@media (min-width:48rem){.ProjectCard-module-scss-module__5V3ALW__caseStudyLink{grid-area:6/1}}
.SelectedWork-module-scss-module__EB-xTa__section{border-top:var(--border-width) solid var(--color-dark-border)}.SelectedWork-module-scss-module__EB-xTa__layout{width:min(100%,var(--site-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);padding-block:var(--section-padding-block);margin-inline:auto}.SelectedWork-module-scss-module__EB-xTa__title{font-size:var(--type-heading-section);letter-spacing:var(--tracking-heading-section);line-height:var(--leading-heading-section);max-width:var(--measure-heading-section);margin:0}.SelectedWork-module-scss-module__EB-xTa__projects{gap:var(--space-5);margin-top:var(--space-6);display:grid}@media (min-width:72rem){.SelectedWork-module-scss-module__EB-xTa__projects{grid-template-columns:repeat(3,minmax(0,1fr))}}
.page-module-scss-module__qnDekq__main{min-width:0}
.Resume-module-scss-module__VS-MMG__main{--resume-shell:76rem;background:var(--color-page);color:var(--color-text)}.Resume-module-scss-module__VS-MMG__layout{width:min(100%,var(--resume-shell) + var(--page-gutter)*2);padding-inline:var(--page-gutter);padding-block:var(--section-padding-block) var(--section-padding-block-large);margin-inline:auto}.Resume-module-scss-module__VS-MMG__hero{padding-block:var(--space-6) var(--space-7);border-top:var(--border-width-accent) solid var(--color-accent);border-bottom:var(--border-width) solid var(--color-dark-border)}@media (min-width:48rem){.Resume-module-scss-module__VS-MMG__hero{padding-block:var(--space-7) var(--space-8)}}.Resume-module-scss-module__VS-MMG__kickerRow{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.Resume-module-scss-module__VS-MMG__kicker{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--color-accent);margin:0}.Resume-module-scss-module__VS-MMG__heroGrid{gap:var(--space-6);margin-top:var(--space-5);display:grid}@media (min-width:48rem){.Resume-module-scss-module__VS-MMG__heroGrid{align-items:end;gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(14rem,auto)}}.Resume-module-scss-module__VS-MMG__identity{min-width:0}.Resume-module-scss-module__VS-MMG__title{letter-spacing:var(--tracking-heading-display);margin:0;font-size:clamp(3.5rem,12vw,7rem);line-height:.92}.Resume-module-scss-module__VS-MMG__role{max-width:var(--measure-copy);margin:var(--space-4) 0 0;color:var(--color-text);font-size:clamp(1.25rem,3vw,1.75rem);line-height:var(--leading-compact)}.Resume-module-scss-module__VS-MMG__printPortfolioLink{display:none}.Resume-module-scss-module__VS-MMG__contactList{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;gap:var(--space-2);color:var(--color-text-muted);font-style:normal;line-height:var(--leading-compact);margin:0;padding:0;list-style:none;display:grid}.Resume-module-scss-module__VS-MMG__contactLink{width:fit-content;color:inherit;overflow-wrap:anywhere;-webkit-text-decoration-color:var(--color-border-muted);text-decoration-color:var(--color-border-muted);text-underline-offset:var(--space-1);display:inline-flex}@media (hover:hover){.Resume-module-scss-module__VS-MMG__contactLink:hover{color:var(--color-accent);text-decoration-color:currentColor}}.Resume-module-scss-module__VS-MMG__profile{max-width:62rem;margin:var(--space-6) 0 0;font-size:var(--type-body-lg);line-height:var(--leading-copy)}.Resume-module-scss-module__VS-MMG__printButton{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-cta);text-transform:uppercase;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-ink);width:fit-content;margin-top:var(--space-4);cursor:pointer;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.Resume-module-scss-module__VS-MMG__printButton:focus-visible{outline-color:var(--color-text)}@media (hover:hover){.Resume-module-scss-module__VS-MMG__printButton:hover{background:var(--color-text)}}.Resume-module-scss-module__VS-MMG__resumeSection{gap:var(--space-5);padding-block:var(--space-7);border-bottom:var(--border-width) solid var(--color-dark-border);display:grid}@media (min-width:48rem){.Resume-module-scss-module__VS-MMG__resumeSection{gap:var(--space-7);padding-block:var(--space-8);grid-template-columns:minmax(10rem,14rem) minmax(0,1fr)}}.Resume-module-scss-module__VS-MMG__sectionHeading,.Resume-module-scss-module__VS-MMG__sectionContent{min-width:0}.Resume-module-scss-module__VS-MMG__sectionTitle{font-size:var(--type-heading-section);letter-spacing:var(--tracking-heading-section);line-height:var(--leading-heading-section);text-wrap:balance;margin:0;font-size:clamp(1.75rem,4vw,2.75rem)}.Resume-module-scss-module__VS-MMG__capabilityGrid,.Resume-module-scss-module__VS-MMG__skillGrid{gap:var(--space-5);display:grid}@media (min-width:48rem){.Resume-module-scss-module__VS-MMG__capabilityGrid,.Resume-module-scss-module__VS-MMG__skillGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.Resume-module-scss-module__VS-MMG__capability,.Resume-module-scss-module__VS-MMG__skillGroup{padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border-muted);break-inside:avoid}.Resume-module-scss-module__VS-MMG__capabilityTitle,.Resume-module-scss-module__VS-MMG__skillTitle{font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;color:var(--color-accent);margin:0}.Resume-module-scss-module__VS-MMG__capabilityDescription{margin:var(--space-3) 0 0;line-height:var(--leading-copy)}.Resume-module-scss-module__VS-MMG__experienceList{gap:var(--space-7);display:grid}.Resume-module-scss-module__VS-MMG__experienceItem{padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-border-muted);break-inside:avoid-page}.Resume-module-scss-module__VS-MMG__experienceHeader{gap:var(--space-3);display:grid}@media (min-width:72rem){.Resume-module-scss-module__VS-MMG__experienceHeader{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(11rem,auto)}}.Resume-module-scss-module__VS-MMG__jobIdentity{min-width:0}.Resume-module-scss-module__VS-MMG__jobTitle,.Resume-module-scss-module__VS-MMG__productTitle{letter-spacing:var(--tracking-heading-section);font-size:clamp(1.5rem,3vw,2rem);line-height:var(--leading-heading-section);text-wrap:balance;margin:0}.Resume-module-scss-module__VS-MMG__organization{font-family:var(--font-detail),monospace;font-size:var(--type-detail-sm);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;margin:var(--space-2) 0 0;color:var(--color-accent)}.Resume-module-scss-module__VS-MMG__jobMeta,.Resume-module-scss-module__VS-MMG__productMeta{font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;gap:var(--space-1);color:var(--color-text-muted);line-height:var(--leading-compact);margin:0;display:grid}@media (min-width:72rem){.Resume-module-scss-module__VS-MMG__jobMeta,.Resume-module-scss-module__VS-MMG__productMeta{text-align:right;justify-items:end}}.Resume-module-scss-module__VS-MMG__experienceSummary,.Resume-module-scss-module__VS-MMG__productDescription{margin:var(--space-4) 0 0;font-size:var(--type-body-base);line-height:var(--leading-copy)}.Resume-module-scss-module__VS-MMG__bulletList,.Resume-module-scss-module__VS-MMG__skillList{margin:var(--space-4) 0 0;padding:0;list-style:none}.Resume-module-scss-module__VS-MMG__bulletList{gap:var(--space-2);display:grid}.Resume-module-scss-module__VS-MMG__bulletList li{padding-left:var(--space-5);line-height:var(--leading-copy);orphans:3;widows:3;position:relative}.Resume-module-scss-module__VS-MMG__bulletList li:before{content:"—";color:var(--color-accent);font-weight:var(--font-weight-heading);position:absolute;top:0;left:0}.Resume-module-scss-module__VS-MMG__caseStudyLink{min-height:var(--touch-target);font-family:var(--font-detail),monospace;font-size:var(--type-detail-xs);font-weight:var(--font-weight-detail-strong);letter-spacing:var(--tracking-detail-tight);text-transform:uppercase;margin-top:var(--space-4);color:var(--color-accent);align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.Resume-module-scss-module__VS-MMG__caseStudyLink:hover{color:var(--color-text)}}.Resume-module-scss-module__VS-MMG__product{padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-border-muted);break-inside:avoid-page}.Resume-module-scss-module__VS-MMG__productMeta{margin-top:var(--space-3)}@media (min-width:72rem){.Resume-module-scss-module__VS-MMG__productMeta{text-align:left;justify-items:start}}.Resume-module-scss-module__VS-MMG__skillList{gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.Resume-module-scss-module__VS-MMG__skillList li{line-height:var(--leading-compact)}.Resume-module-scss-module__VS-MMG__skillList li:not(:last-child):after{margin-left:var(--space-3);content:"·";color:var(--color-accent)}@media print{@page{size:letter;margin:.5in}.Resume-module-scss-module__VS-MMG__main{--color-page:#fff;--color-text:#1b242b;--color-text-muted:#4f5b63;--color-dark-border:#adb4b9;--color-border-muted:#c8cdd0;background:var(--color-page);color:var(--color-text)}.Resume-module-scss-module__VS-MMG__layout{width:auto;padding:0}.Resume-module-scss-module__VS-MMG__hero{padding-block:0 .18in}.Resume-module-scss-module__VS-MMG__kicker{font-size:7.5pt}.Resume-module-scss-module__VS-MMG__heroGrid{margin-top:.12in;display:block}.Resume-module-scss-module__VS-MMG__identity{display:block}.Resume-module-scss-module__VS-MMG__title{font-size:34pt}.Resume-module-scss-module__VS-MMG__role{margin-top:.06in;font-size:12pt;line-height:1.25}.Resume-module-scss-module__VS-MMG__printPortfolioLink{white-space:nowrap;text-decoration:none;display:inline-flex}.Resume-module-scss-module__VS-MMG__heroGrid>div:last-child{display:none}.Resume-module-scss-module__VS-MMG__contactLink,.Resume-module-scss-module__VS-MMG__jobMeta,.Resume-module-scss-module__VS-MMG__productMeta{font-size:7.5pt}.Resume-module-scss-module__VS-MMG__profile{max-width:none;margin-top:.12in;font-size:9.5pt;line-height:1.4}.Resume-module-scss-module__VS-MMG__printButton,.Resume-module-scss-module__VS-MMG__resumeSection:first-of-type,.Resume-module-scss-module__VS-MMG__resumeSection:nth-of-type(3),.Resume-module-scss-module__VS-MMG__caseStudyLink,.Resume-module-scss-module__VS-MMG__skillGroup:nth-child(4),.Resume-module-scss-module__VS-MMG__experienceItem:first-child .Resume-module-scss-module__VS-MMG__bulletList li:nth-child(4),.Resume-module-scss-module__VS-MMG__experienceItem:nth-child(2) .Resume-module-scss-module__VS-MMG__bulletList li:nth-child(2),.Resume-module-scss-module__VS-MMG__experienceItem:nth-child(5) .Resume-module-scss-module__VS-MMG__bulletList li:nth-child(2),.Resume-module-scss-module__VS-MMG__experienceItem:nth-child(6) .Resume-module-scss-module__VS-MMG__bulletList li:nth-child(2){display:none}.Resume-module-scss-module__VS-MMG__resumeSection{padding-block:.18in;display:block}.Resume-module-scss-module__VS-MMG__sectionHeading{margin-bottom:.12in}.Resume-module-scss-module__VS-MMG__sectionTitle{font-size:14pt;line-height:1}.Resume-module-scss-module__VS-MMG__capabilityGrid,.Resume-module-scss-module__VS-MMG__skillGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.12in .2in}.Resume-module-scss-module__VS-MMG__capability,.Resume-module-scss-module__VS-MMG__skillGroup,.Resume-module-scss-module__VS-MMG__experienceItem,.Resume-module-scss-module__VS-MMG__product{padding-top:.08in}.Resume-module-scss-module__VS-MMG__capabilityTitle,.Resume-module-scss-module__VS-MMG__skillTitle,.Resume-module-scss-module__VS-MMG__organization{font-size:7.5pt}.Resume-module-scss-module__VS-MMG__capabilityDescription,.Resume-module-scss-module__VS-MMG__experienceSummary,.Resume-module-scss-module__VS-MMG__productDescription,.Resume-module-scss-module__VS-MMG__bulletList,.Resume-module-scss-module__VS-MMG__skillList{font-size:9pt;line-height:1.35}.Resume-module-scss-module__VS-MMG__capabilityDescription,.Resume-module-scss-module__VS-MMG__experienceSummary,.Resume-module-scss-module__VS-MMG__productDescription,.Resume-module-scss-module__VS-MMG__bulletList,.Resume-module-scss-module__VS-MMG__skillList,.Resume-module-scss-module__VS-MMG__caseStudyLink{margin-top:.07in}.Resume-module-scss-module__VS-MMG__experienceList{display:block}.Resume-module-scss-module__VS-MMG__experienceItem+.Resume-module-scss-module__VS-MMG__experienceItem{margin-top:.12in}.Resume-module-scss-module__VS-MMG__experienceHeader{grid-template-columns:minmax(0,1fr) 1.8in;gap:.2in}.Resume-module-scss-module__VS-MMG__jobTitle,.Resume-module-scss-module__VS-MMG__productTitle{font-size:11pt;line-height:1.1}.Resume-module-scss-module__VS-MMG__jobMeta{text-align:right;justify-items:end}.Resume-module-scss-module__VS-MMG__bulletList{gap:.04in}.Resume-module-scss-module__VS-MMG__bulletList li{padding-left:.14in}.Resume-module-scss-module__VS-MMG__skillList{gap:.03in .08in}.Resume-module-scss-module__VS-MMG__skillList li:not(:last-child):after{margin-left:.08in}}
