@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Syne:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--bg: #FFFFFF;--ink: #141414;--muted: #69645c;--line: rgba(20, 20, 20, .15);--panel: #fbfaf5;--panel-copy: #3f3b34;--media-surface: #d8d2c6;--card-surface: #ded8cb;--accent: #d7ff45;--accent-ink: #11150c;--focus: #2f5cff;--font-body: "Space Grotesk", system-ui, sans-serif;--font-display: "Syne", sans-serif;--text-caption: .78rem;--text-caption-mobile: .72rem;--text-body: 1rem;--text-body-large: 1.08rem;--text-meta: .875rem;--text-display: clamp(2.6rem, 4.6vw, 4.85rem);--text-display-small: clamp(1.7rem, 3vw, 3rem);--leading-tight: .95;--leading-body: 1.45;--leading-longform: 1.58;--ease-out: cubic-bezier(.23, 1, .32, 1);--duration-fast: .16s;--duration-base: .18s;--duration-slow: .6s;--content-max-width: 90rem;--page-x: clamp(1rem, 3vw, 3rem);--grid-columns: repeat(12, minmax(0, 1fr));--grid-gap: clamp(1rem, 2vw, 2rem);--section-y: clamp(4rem, 9vw, 8rem);--media-x: var(--page-x);--media-radius: clamp(1.2rem, 2vw, 2rem);--pill-radius: 999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden;min-width:320px;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);text-rendering:geometricPrecision}body:has(.drawer-panel){overflow:hidden}img,video{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:var(--font-display);letter-spacing:0}h1,h2,h3{line-height:var(--leading-tight)}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.brand,.site-nav a,.project-card-meta span,.drawer-top{font-size:var(--text-caption);font-weight:700;letter-spacing:0;text-transform:uppercase}.eyebrow{font-size:.875rem;font-weight:400;letter-spacing:0}.eyebrow,.home-hero-meta p,.project-card-meta p,.drawer-heading p,.drawer-outcome-label,.site-footer p{color:var(--muted)}.eyebrow{color:#141414}.home-hero-meta p,.project-card-meta p,.drawer-copy p,.drawer-outcome-copy{font-size:var(--text-body)}.drawer-heading p{line-height:var(--leading-body)}.drawer-copy p,.drawer-outcome-copy{color:var(--panel-copy);line-height:var(--leading-longform)}.site-nav a,.project-card a,.project-info-button,.icon-button{transition:transform var(--duration-fast) var(--ease-out)}.site-nav a:active,.project-card a:active,.project-info-button:active,.icon-button:active{transform:scale(.97)}.project-info-button,.not-found-page a{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.6rem;border:1px solid var(--ink);border-radius:var(--pill-radius);background:var(--ink);color:var(--bg);font-weight:700;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.project-info-button-label{display:inline-block;overflow:hidden;line-height:1.08}.project-info-button-label span{display:inline-block;will-change:transform}.project-info-button:hover,.not-found-page a:hover{background:var(--accent);color:var(--accent-ink)}.home-page,.project-page,.about-page,.not-found-page{min-height:100vh}.layout-container{width:100%;max-width:var(--content-max-width);margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:#fffc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header[data-scroll-aware=true]{transition:transform .3s var(--ease-out),opacity .26s var(--ease-out)}.site-header[data-scroll-aware=true][data-hidden=true]{transform:translateY(-100%);opacity:0}.site-header[data-scroll-aware=true]:focus-within{transform:translateY(0);opacity:1}.site-header-inner{display:grid;grid-template-columns:var(--grid-columns);column-gap:var(--grid-gap);align-items:center;padding:1rem var(--page-x)}.brand{grid-column:1 / span 2;font-size:16px}.site-nav{grid-column:9 / -1;display:flex;align-items:center;justify-content:flex-end;gap:clamp(.85rem,2vw,1.5rem)}.site-nav a{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem 0;color:var(--muted);font-size:1rem;font-weight:400;text-transform:none;transition:color var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.site-nav a:hover{color:var(--ink)}.site-nav a.active{color:#08f;font-weight:500}.home-projects,.site-footer{padding:var(--section-y) var(--page-x)}.section-kicker{grid-column:1 / -1;display:grid;grid-template-columns:var(--grid-columns);column-gap:var(--grid-gap)}.section-kicker .eyebrow{grid-column:1 / span 3}.site-footer{display:grid;grid-template-columns:var(--grid-columns);align-items:center;column-gap:var(--grid-gap);padding-bottom:2rem}.site-footer p{grid-column:1 / span 4;margin-bottom:0}.site-footer a{grid-column:9 / -1;justify-self:end;font-weight:700}.eyebrow{margin-bottom:0}.home-hero{display:grid;grid-template-columns:var(--grid-columns);align-content:start;gap:2.75rem var(--grid-gap);padding:64px var(--page-x) clamp(2rem,3vw,2.5rem)}.home-hero h1{grid-column:1 / span 8;margin-bottom:0;font-size:6em;font-weight:400;line-height:.92;text-wrap:balance}.home-hero-meta{grid-column:1 / span 4;display:grid;gap:.28rem}.home-hero-meta p{margin-bottom:0;line-height:1.35}.home-projects{display:grid;grid-template-columns:var(--grid-columns);padding:clamp(1rem,2vw,1.5rem) var(--page-x) 2rem}.home-page .site-footer{padding-top:2rem}.home-projects-shell{grid-column:1 / -1;display:grid;gap:1rem}.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.1vw,1rem)}.home-project-tile{min-width:0}.home-project-card{position:relative;display:block;overflow:hidden;aspect-ratio:426 / 729;background:#252525;color:#fff;isolation:isolate}.home-project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s var(--ease-out)}.home-project-card[data-image-crop=connected-homes] .home-project-image{inset:-6.07% auto auto -47.19%;width:272.13%;height:106.07%}.home-project-shade{position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,transparent 55.5%,rgba(0,0,0,.94) 100%)}.home-project-copy{position:absolute;z-index:1;right:1.5rem;bottom:1.5rem;left:1.5rem;display:grid;gap:.5rem}.home-project-category{font-size:.75rem;font-weight:500;line-height:1.2;text-transform:uppercase}.home-project-title{margin-bottom:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;line-height:1.1;text-wrap:pretty}.home-project-caption{color:#ccc;font-family:var(--font-display);font-size:1rem;line-height:1.2}.home-projects-all{display:inline-flex;align-items:center;justify-self:center;gap:.25rem;margin-top:1.5rem;padding:16px;border-radius:50px;color:#6155f5;font-size:1.25rem;font-weight:400;line-height:1.2;transition:background-color .22s var(--ease-out)}.home-projects-all:focus-visible{background-color:#efefef}@media(hover:hover)and (pointer:fine){.home-projects-all:hover{background-color:#efefef}}.home-project-card:hover .home-project-image{transform:scale(1.02)}.home-project-card:active,.home-projects-all:active{transform:scale(.99)}.media-sequence{display:grid;grid-template-columns:var(--grid-columns);gap:var(--grid-gap);padding:0 var(--media-x) clamp(4rem,7vw,7rem)}.media-sequence-looping-gallery{max-width:none;margin:0;grid-template-columns:minmax(0,1fr);gap:8px;padding:0}html:has(.vertical-loop-gallery){scroll-behavior:auto;scrollbar-width:none}html:has(.vertical-loop-gallery)::-webkit-scrollbar{display:none}.vertical-loop-gallery{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr);row-gap:8px;min-width:0}.vertical-loop-cycle{display:grid;grid-template-columns:minmax(0,1fr);row-gap:8px;min-width:0}.vertical-loop-image-frame{display:block;width:100%;background:var(--media-surface)}.vertical-loop-image{display:block;width:100%;height:auto;aspect-ratio:auto;border-radius:0;opacity:0;object-fit:initial;transition:opacity .18s ease-out}.vertical-loop-image[data-loaded=true]{opacity:1}.project-gallery-placeholder{display:grid;min-height:min(72svh,760px);padding:clamp(2rem,7vw,6rem) var(--page-x);place-items:center;background:var(--media-surface);color:var(--ink);text-align:center}.project-gallery-placeholder p{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5vw,5rem);line-height:.98}.project-gallery-placeholder span{display:inline-block;margin-bottom:.9rem;font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase}.project-info-button{position:relative;z-index:1;width:100%;height:100%;min-width:7.65rem;min-height:2.6rem;border:0;border-radius:16px;background:#fcfcfbb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink);font-size:.875rem;font-weight:400;padding:0 1.15rem;cursor:pointer;white-space:nowrap;box-shadow:0 12px 34px #14141429}.project-info-button:hover{background:#fcfcfbdb;color:var(--ink);box-shadow:0 12px 34px #14141429}.drawer-backdrop{position:fixed;inset:0;z-index:30;border:0;background:#1414141f;cursor:pointer}.drawer-shell{position:fixed;right:var(--page-x);bottom:2rem;z-index:31;overflow:hidden;border-radius:1.35rem}.drawer-shell[data-panel=true]{box-shadow:0 24px 80px #1414142e}.drawer-shell[data-keyboard-focus=false] .drawer-panel :focus-visible{outline:0}.drawer-shell[data-keyboard-focus=true] .project-info-button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--focus),0 12px 34px #14141429}.drawer-panel{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border-radius:inherit}.drawer-chrome{display:flex;flex:1;flex-direction:column;min-height:0}.drawer-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--panel);padding:1rem}.drawer-top-copy{display:flex;flex:1;flex-direction:column;gap:.25rem;min-width:0}.drawer-top h2{min-width:0;overflow:hidden;margin:0;color:var(--ink);font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:0;line-height:1.2;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.drawer-top-description{margin:0;color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.3;text-transform:none}.drawer-content{--drawer-section-gap: 1.5rem;display:grid;align-content:start;gap:var(--drawer-section-gap);flex:1;min-height:0;overflow-y:auto;padding:.35rem 1rem 1rem}.icon-button{display:inline-grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border:0;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.icon-button:hover{background:transparent}.drawer-heading h2{margin-bottom:.6rem;font-size:var(--text-display-small);font-weight:400;line-height:1}.drawer-heading p{margin-bottom:0;color:var(--muted);font-size:var(--text-body);line-height:var(--leading-longform)}.drawer-copy{display:grid;gap:1.5rem}.drawer-copy-section,.drawer-copy-section-body{display:grid}.drawer-copy-section{gap:.5rem}.drawer-copy-section-body{gap:1rem}.drawer-copy-heading,.drawer-outcome-label{margin:0;color:var(--ink);font-family:var(--font-body);font-size:1rem;font-weight:400;letter-spacing:0;line-height:1.3;text-transform:none}.drawer-copy p,.drawer-outcome-label,.drawer-outcome-copy{margin-bottom:0}.drawer-copy p,.drawer-outcome-copy{color:var(--muted)}.drawer-outcome{display:grid;gap:.5rem;margin-bottom:calc(16px - var(--drawer-section-gap));padding-bottom:16px;border-bottom:1px solid var(--line)}.drawer-outcome-list{display:grid;gap:.35rem;margin:0;padding-left:1.1rem}.about-hero{display:grid;grid-template-columns:var(--grid-columns);align-content:start;column-gap:var(--grid-gap);row-gap:4.5em;min-height:calc(100vh - 3.5rem);padding:42px var(--page-x) clamp(5rem,8vw,7rem)}.about-content{display:grid;grid-column:1 / span 6;grid-row:1;align-content:start;row-gap:1em}.about-lines{grid-column:1 / -1;grid-row:1;display:grid;gap:.35rem;align-self:start;margin:0;padding:0;color:#5a5a5a;font-family:var(--font-display);font-size:1rem;font-weight:400;line-height:1.2;list-style:none}.about-intro,.about-copy{grid-column:1 / -1}.about-intro{grid-row:2;margin-top:1em}.about-intro h1{margin-bottom:0;font-family:var(--font-body);font-size:2rem;font-weight:400;line-height:1.2}.about-copy{display:grid;gap:1.25rem;margin-bottom:0}.about-copy p{margin-bottom:0;color:var(--ink);font-size:1.25rem;line-height:1.18}.about-copy strong{font-weight:500}.about-engagements{display:grid;grid-column:1 / -1;grid-row:2;gap:1.5em;margin-top:0}.about-engagements h2{margin-bottom:0;font-family:var(--font-body);font-size:2rem;font-weight:400;line-height:1.2}.about-engagements-list{position:relative;display:grid;margin:0;padding:0;list-style:none}.about-engagements-list:before,.about-engagement-row:after{position:absolute;left:50%;width:100vw;height:1px;transform:translate(-50%);background:url(/work/work-line.svg) center / 100% 1px no-repeat;content:"";pointer-events:none}.about-engagements-list:before{top:0}.about-engagement-row{display:grid;position:relative;grid-template-columns:240px minmax(0,1fr) 3.5rem;align-items:center;column-gap:1rem;min-height:90px;padding-block:0;font-size:1.25rem;line-height:1.25}.about-engagement-row:after{bottom:0}.about-engagement-row>*{min-width:0}.about-engagement-role{font-weight:500;overflow-wrap:anywhere}.about-engagement-detail{color:var(--ink);font-weight:400;overflow-wrap:anywhere}.about-engagement-year{justify-self:end;font-weight:400}.about-portrait{grid-column:7 / -1;grid-row:1;align-self:start;justify-self:end;width:80%;aspect-ratio:1;margin:0;overflow:hidden}.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:bottom center}.not-found-page{display:grid;align-content:center;gap:1.5rem;padding:8rem var(--page-x)}.not-found-page h1{max-width:10ch;margin-bottom:0;font-size:clamp(4rem,14vw,12rem)}.not-found-page a{width:fit-content;padding:.65rem 1rem}@media(max-width:860px){.site-header-inner{padding-block:.85rem}.home-hero{padding-top:64px}.section-kicker,.home-hero,.home-projects,.home-projects-shell,.about-hero{grid-template-columns:1fr}.home-hero h1,.home-hero-meta,.home-projects-shell,.section-kicker,.section-kicker .eyebrow,.site-footer p,.site-footer a,.about-content,.about-intro,.about-lines,.about-copy,.about-engagements,.about-portrait{grid-column:1 / -1;grid-row:auto}.about-hero{row-gap:1.5em;padding-top:42px}.about-content{display:grid;max-width:46rem}.about-engagements{margin-top:4.5em}.about-portrait{order:-1;justify-self:center;width:min(80%,24rem);margin-top:0}.media-sequence{grid-template-columns:1fr}.home-hero h1{font-size:4.8rem}.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project-copy{right:1rem;left:1rem}.home-project-title{font-size:clamp(1.5rem,3.2vw,1.8rem)}.project-info-button{min-width:7.35rem}.drawer-shell{right:auto;left:50%;bottom:1rem;translate:-50% 0}.drawer-shell[data-panel=true]{border-right:0;border-left:0}.drawer-shell[data-panel=true] .drawer-top{padding-top:calc(.75rem + env(safe-area-inset-top))}.drawer-shell[data-panel=true] .drawer-content{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.site-footer{align-items:flex-start;row-gap:1rem}.site-footer a{justify-self:start}}@media(max-width:860px),(any-pointer:coarse){.brand,.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-inline-size:44px;min-block-size:44px}.about-copy a,.site-footer a{display:inline-flex;align-items:center;min-inline-size:44px;min-block-size:44px}.about-copy a{vertical-align:middle}.not-found-page a,.project-info-button{min-inline-size:44px;min-block-size:44px}.icon-button{inline-size:44px;block-size:44px}}@media(min-width:721px)and (max-width:860px)and (orientation:portrait){.about-portrait{justify-self:start}}@media(max-width:720px){.about-engagements{margin-top:.5em}.about-portrait{width:100%}.about-engagement-row{min-height:6.25rem;padding-block:1rem}}@media(max-width:560px){.site-footer{grid-template-columns:max-content max-content;justify-content:space-between;align-items:center;column-gap:1rem;row-gap:0}.site-footer p{grid-column:1}.site-footer a{grid-column:2;justify-self:end;white-space:nowrap}.eyebrow,.home-project-label,.project-card-meta span,.drawer-top{font-size:var(--text-caption-mobile)}.site-nav{gap:.8rem}.home-hero h1,.not-found-page h1{line-height:.9}.home-hero h1{font-size:3.15rem}.home-project-grid{grid-template-columns:1fr}.home-project-copy{bottom:1rem}.home-project-title{font-size:1.7rem}.project-card-meta{align-items:flex-start;flex-direction:column}.about-hero{padding-top:42px}.about-intro h1,.about-engagements h2{font-size:1.75rem}.about-copy p,.about-engagement-row{font-size:1.05rem;line-height:1.28}.about-engagement-row{grid-template-areas:"role year" "detail year";grid-template-columns:minmax(0,1fr) max-content;column-gap:1rem;row-gap:0em}.about-engagement-role{grid-area:role}.about-engagement-detail{grid-area:detail}.about-engagement-year{grid-area:year;align-self:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.work-page{min-height:100vh;padding-bottom:8rem}.work-intro{max-width:73.125rem;margin:42px var(--page-x) 0;font-family:var(--font-body);font-size:2rem;font-weight:400;line-height:1.18;letter-spacing:0}.work-groups{margin-top:4rem}.work-group+.work-group{margin-top:7.5rem}.work-group-heading{display:flex;align-items:baseline;gap:1rem;padding-inline:var(--page-x);margin-bottom:1.5em}.work-group-heading h2{margin:0;font-family:var(--font-body);font-size:clamp(3rem,4.444vw,4rem);font-weight:500;line-height:.98}.work-group-heading p{margin:0;font-size:clamp(1.125rem,1.667vw,1.5rem);line-height:1.2}.work-list{position:relative;margin:0;padding:0;list-style:none}.work-list:before,.work-row:after{position:absolute;z-index:1;left:50%;width:100vw;height:1px;transform:translate(-50%);background:url(/work/work-line.svg) center / 100% 1px no-repeat;content:"";pointer-events:none}.work-list:before{top:0}.work-row{position:relative;min-height:90px}.work-row-content{position:relative;isolation:isolate;display:grid;grid-template-columns:240px minmax(0,600px) minmax(0,1fr) 109px;align-items:center;min-height:90px;padding-inline:var(--page-x);background-color:transparent;font-size:1.25rem;line-height:1.25}.work-row-content:before{position:absolute;z-index:-1;inset-block:0;left:calc(50% - 50vw);width:100vw;opacity:0;background-color:var(--work-row-fill, var(--accent));content:"";pointer-events:none;transition:opacity .3s cubic-bezier(0,0,.5,1)}.work-row-content>*{min-width:0}.work-row:after{bottom:0}.work-item-name{font-weight:500}.work-item-description,.work-item-year{font-weight:400}.work-item-name,.work-item-description{overflow-wrap:anywhere}.work-item-action{justify-self:start;min-width:max-content;color:#6155f5;font-weight:400;white-space:nowrap}.work-row-link{--work-row-fill: #efefef}.work-row-link:focus-visible{color:var(--ink)}.work-row-link:focus-visible .work-item-action{color:#5b50eb}.work-row-link:focus-visible:before{opacity:1;transition-duration:.15s}@media(hover:hover)and (pointer:fine){.work-row-link:hover:before{opacity:1;transition-duration:.15s}.work-row-link:hover{color:var(--ink)}.work-row-link:hover .work-item-action{color:#5b50eb}}@media(prefers-reduced-motion:reduce){.work-row-content:before,.work-row-link:hover:before,.work-row-link:focus-visible:before{transition:none}}@media(min-width:721px)and (max-width:1080px){.work-row-content{grid-template-columns:minmax(7rem,.95fr) minmax(0,2.4fr) minmax(4.5rem,.75fr) 7rem;column-gap:1rem}}@media(max-width:720px){.work-page{padding-bottom:5rem}.work-intro{margin-top:42px;font-size:1.75rem}.work-groups{margin-top:4rem}.work-group+.work-group{margin-top:5rem}.work-group-heading{margin-bottom:1.5em}.work-row-content{grid-template-areas:"name action" "description action";grid-template-columns:minmax(0,1fr) 5.5em;column-gap:1rem;row-gap:0em;min-height:6.25rem;padding-block:1rem;font-size:1rem}.work-item-year{display:none}.work-item-name{grid-area:name}.work-item-description{grid-area:description}.work-item-year{grid-area:year;justify-self:end}.work-item-action{grid-area:action;justify-self:end;align-self:center}}@media(max-width:480px){.work-intro{margin-top:42px;font-size:1.75rem}.work-group-heading{flex-wrap:wrap;gap:.5rem .85rem}.work-group-heading h2{font-size:2.75rem}.work-group-heading p{font-size:1rem}.work-row{column-gap:.75rem;font-size:.875rem}}
