@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:75% 125%;font-display:swap;src:url(/fonts/archivo-latin-v25.woff2)format("woff2")}@property --color-font-primary{syntax:"<color>";inherits:true;initial-value:#aaa5a3}@property --color-font-inverse{syntax:"<color>";inherits:true;initial-value:#f2eeec}@property --color-font-secondary{syntax:"<color>";inherits:true;initial-value:#736f6d}@property --color-font-tertiary{syntax:"<color>";inherits:true;initial-value:#4e4947}@property --color-surface-1{syntax:"<color>";inherits:true;initial-value:#010101}@property --color-surface-2{syntax:"<color>";inherits:true;initial-value:#050504}@property --color-surface-3{syntax:"<color>";inherits:true;initial-value:#282321}@property --color-disabled-submit{syntax:"<color>";inherits:true;initial-value:#191717}@property --color-logo-cutout{syntax:"<color>";inherits:true;initial-value:#050504}:root{--color-disabled-submit:#191717;--color-logo-cutout:#050504;--color-control-hover:#fff}:root[data-theme=light]{--color-disabled-submit:#736f6d;--color-control-hover:#000}:root[data-theme-changing]{transition:--color-font-primary .3s,--color-font-inverse .3s,--color-font-secondary .3s,--color-font-tertiary .3s,--color-surface-1 .3s,--color-surface-2 .3s,--color-surface-3 .3s,--color-disabled-submit .3s,--color-logo-cutout .3s}html[data-theme-changing] *,html[data-theme-changing] :before,html[data-theme-changing] :after{transition-property:transform,translate,opacity,top,font-size,line-height,stroke-width!important}@media (prefers-reduced-motion:reduce){:root[data-theme-changing]{transition:none}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-v24.woff2)format("woff2")}::selection{background:var(--color-surface-strong);color:var(--color-surface-1);text-shadow:none}:root{--font-sans:"Archivo",Arial,sans-serif;--font-mono:"JetBrains Mono",monospace;--color-font-primary:#aaa5a3;--color-font-inverse:#f2eeec;--color-font-secondary:#736f6d;--color-font-tertiary:#4e4947;--color-font-strong:#ff2122;--color-surface-1:#010101;--color-surface-2:#050504;--color-surface-3:#282321;--color-surface-strong:#ff2122;--display-font-size:clamp(56px,8.333vw,160px);--display-line-height:1;--display-letter-spacing:.03em;--h1-font-size:clamp(32px,2.188vw,42px);--h1-line-height:1.19;--h1-letter-spacing:.022857em;--h2-font-size:clamp(26px,1.667vw,32px);--h2-line-height:1.375;--h3-alt-font-size:clamp(23px,1.25vw,24px);--h3-alt-line-height:32px;--h3-alt-letter-spacing:.02em;--h4-font-size:clamp(20px,1.146vw,22px);--h4-line-height:32px;--h4-letter-spacing:.02em;--p2-font-size:clamp(14px,.833vw,16px);--p2-line-height:30px;--p2-letter-spacing:.32px;--gutter:clamp(24px,2.5vw,48px);--gallery-gap:clamp(16px,1.25vw,24px);--border-width:1px;--border-color:var(--color-font-tertiary);--ink:var(--color-surface-1);--surface-2:var(--color-surface-2);--surface-3:var(--color-surface-3);--paper:var(--color-font-inverse);--primary:var(--color-font-primary);--secondary:var(--color-font-secondary);--tertiary:var(--color-font-tertiary);--muted:var(--secondary);--line:var(--primary);--red:var(--color-font-strong);--edge:var(--border-color)}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font:500 18px/28px var(--font-sans);font-variation-settings:"wdth" 110;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,.copy-subtitle,p{margin:0}h2{font:500 var(--h2-font-size)/var(--h2-line-height) var(--font-sans);font-variation-settings:"wdth" 110}h3{font:500 var(--h3-alt-font-size)/var(--h3-alt-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h3-alt-letter-spacing);text-transform:uppercase}.copy-subtitle{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing)}.hero,.work,.about,.plastic{width:100%;min-height:100vh}.hero{flex-direction:column;height:100vh;min-height:740px;display:flex}.site-nav{height:64px;padding:0 var(--gutter);border-bottom:1px solid var(--tertiary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.site-nav>a{padding:8px}.brand{width:51.809px;height:40px;display:block}.site-nav>div{align-items:center;display:flex}.site-nav>div>a{color:var(--primary);font-size:var(--h4-font-size);letter-spacing:.02em;padding:24px;line-height:32px}.hero-content{flex-direction:column;flex:1;justify-content:space-between;min-height:0;display:flex}.hero-copy{padding:clamp(64px,5.625vw,108px) var(--gutter) 0}.hero-copy h1{font:700 var(--display-font-size)/var(--display-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--display-letter-spacing);color:var(--paper);text-transform:uppercase}.hero-copy p{font:600 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h1-letter-spacing);color:var(--secondary);margin-top:48px}.hero-copy strong{font-weight:inherit;color:var(--red);display:block}.hero-bottom{padding:24px var(--gutter);justify-content:space-between;align-items:flex-end;display:flex}.profile{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);font-feature-settings:"ordn" 1,"zero" 1;letter-spacing:var(--p2-letter-spacing);text-transform:uppercase;flex-shrink:0;margin:0}.profile>div{grid-template-columns:auto 224px;display:grid}.profile dt{color:var(--tertiary)}.profile dd{text-align:right;color:var(--primary);margin:0}.profile dd.strong{color:var(--red)}.explore{color:var(--secondary);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing);align-items:center;gap:8px;display:flex}.explore>span{color:var(--red);font:900 24px/48px var(--font-sans)}.work{padding:48px var(--gutter);flex-direction:column;justify-content:center;gap:48px;display:flex;overflow:hidden}.work>h1{max-width:720px}.gallery-window{width:100%;overflow:hidden;container-type:inline-size}.gallery-track{--unit:calc((100cqw - 2 * var(--gallery-gap))/1776);grid-template-columns:calc(754 * var(--unit)) repeat(4,calc(511 * var(--unit)));gap:var(--gallery-gap);grid-template-rows:repeat(2,clamp(230px,18.75vw,360px));transition:transform .7s cubic-bezier(.22,1,.36,1);display:grid}.gallery-track.page-1{transform:translateX(calc(-1070 * var(--unit)))}.project{flex-direction:column;justify-content:space-between;min-width:0;display:flex;position:relative;overflow:hidden}.report{grid-area:1/1/3}.system{grid-area:1/2}.schools{grid-area:2/2}.membership{grid-area:1/3}.rewards{grid-area:2/3}.workflow{grid-area:1/4}.research{grid-area:1/5}.verification{grid-area:2/4/auto/6}.project-image{object-fit:cover;width:100%;height:100%;position:absolute}.report .project-image{width:136.41%;height:105.78%;top:-1.61%;left:-2.22%}.workflow .project-image{object-fit:fill;width:305.52%;left:-6.08%}.image-shade{background:#00000070;position:absolute;inset:0}.project-tags{flex-wrap:wrap;gap:8px;padding:16px;display:flex;position:relative}.project-tags span,.in-progress{color:var(--paper);font:var(--p3-font-weight) 12px/20px var(--font-mono);letter-spacing:.32px;text-transform:uppercase;background:#00000070;border-radius:8px;padding:8px}.project-caption{background:#00000070;align-items:center;gap:16px;width:100%;padding:16px;display:flex;position:relative}.project-caption .project-title{flex:1}.in-progress{background:var(--red);color:var(--ink);flex-shrink:0}.gallery-footer{color:var(--secondary);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:.32px;justify-content:space-between;align-items:center;display:flex}.gallery-footer>div{gap:8px;display:flex}.gallery-footer button{cursor:pointer;background:0 0;border:0;padding:0;display:block}.gallery-footer button img{width:144px;height:72px;display:block}.gallery-footer button:disabled{cursor:default}.about{padding:64px var(--gutter);justify-content:space-between;align-items:flex-start;gap:48px;display:flex}.about-left{flex-direction:column;justify-content:flex-end;gap:48px;max-width:640px;min-height:calc(100vh - 128px);display:flex}.about-copy{color:var(--primary);gap:32px;margin-top:-24px;display:grid}.about-profile{font-weight:var(--p3-font-weight);align-self:flex-end;font-size:12px;line-height:20px}.about-profile>div{grid-template-columns:auto 216px}.plastic{grid-template-columns:1fr 1fr;display:grid}.plastic-surface{background:var(--surface-2);border-right:.5px solid var(--tertiary)}.plastic-content{flex-direction:column;justify-content:space-between;display:flex}.plastic-heading{padding:24px var(--gutter);flex-direction:column;flex:1;justify-content:center;gap:16px;display:flex}.plastic-heading>span{color:var(--red);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:.32px;margin-bottom:8px}.plastic-heading .copy-subtitle{color:var(--secondary);max-width:720px}.plastic-rows article,.plastic-link{padding:32px var(--gutter);border-top:.5px solid var(--tertiary);justify-content:space-between;align-items:center;gap:24px;display:flex}.plastic-rows article>div{gap:16px;display:grid}.plastic-rows article p{color:var(--secondary);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:.32px;text-transform:uppercase}.plastic-rows article>img,.plastic-link>img{flex-shrink:0;max-width:48px}.plastic-link{background:var(--red);color:var(--ink)}footer{padding:24px var(--gutter);color:var(--secondary);font:500 var(--h3-alt-font-size)/32px var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:.02em;text-transform:uppercase;opacity:.89}.grid{border-top:1px solid var(--edge);border-left:1px solid var(--edge);grid-template-columns:repeat(4,1fr);min-height:620px;display:grid}.card{border-right:1px solid var(--edge);border-bottom:1px solid var(--edge);cursor:pointer;background:0 0;outline:none;min-height:620px;padding:28px;transition:background .35s;position:relative;overflow:hidden}.card:hover,.card:focus-visible{background:var(--surface-2)}.card:focus-visible{box-shadow:inset 0 0 0 1px var(--red)}.card-head h3{max-width:300px;color:var(--primary);font-family:var(--font-sans);letter-spacing:.48px;text-transform:uppercase;margin:20px 0 0;font-size:clamp(23px,1.75vw,24px);font-style:normal;font-weight:500;line-height:32px}.drawing{place-items:center;display:grid;position:absolute;inset:132px 20px 115px}.drawing svg{width:100%;max-width:350px;overflow:visible}.base{stroke:var(--paper);stroke-width:1.25px;fill:none;vector-effect:non-scaling-stroke}.draft{stroke:var(--line);stroke-width:.75px;fill:none;vector-effect:non-scaling-stroke;opacity:.7}.guide{stroke:var(--muted);stroke-width:.6px;stroke-dasharray:3 5;fill:none;vector-effect:non-scaling-stroke;opacity:.7}.accent{stroke:var(--red);fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.accent.filled{fill:var(--red)}.particle{fill:var(--line);stroke:none}.design-frame path{transition:stroke .34s,stroke-width .34s}.design-frame-outline{vector-effect:non-scaling-stroke}.design-frame.is-accent path{stroke:var(--red)}.card-copy{color:var(--paper);font-family:var(--font-sans);letter-spacing:.44px;margin:0;font-size:clamp(20px,1.55vw,22px);font-style:normal;font-weight:500;line-height:clamp(25px,2.2vw,32px);position:absolute;bottom:28px;left:28px;right:28px}.card-copy span{color:var(--muted)}[data-draw],[data-reveal]{will-change:opacity, transform, stroke-dashoffset}.mobile-snap-step{display:none}.product-loop{height:min(100vh,720px);max-height:720px}.product-loop .grid{height:100%;min-height:0}.product-loop .card{cursor:default;flex-direction:column;min-height:0;display:flex}.product-loop .card-head h3{font-size:var(--h3-alt-font-size);font-variation-settings:"wdth" 115}.product-loop .num{color:var(--red);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:.32px}.product-loop .card-copy{font-variation-settings:"wdth" 110;line-height:32px;position:static}.product-loop .drawing{flex:1;width:100%;min-height:0;margin:12px auto;position:relative;inset:auto}.product-loop .drawing svg{width:auto;max-width:100%;height:100%;max-height:240px}.mobile-scroll-shell{display:contents}@media (width<=1200px){:root{--gutter:16px;--display-font-size:clamp(56px,8.333vw,76px);--display-line-height:1.036;--h1-font-size:32px;--h1-line-height:38px;--h2-font-size:26px;--p2-line-height:28px}html{scroll-snap-type:y proximity}.hero{height:auto;min-height:947px}.site-nav{height:52px;padding:0}.site-nav>a{padding:16px}.brand{width:45.576px;height:32px}.site-nav>div>a{font-variation-settings:"wdth" 100;letter-spacing:0;padding:16px;font-size:14px;font-weight:400;line-height:28px}.hero-copy{padding:96px 16px 0}.hero-copy h1{color:var(--primary)}.hero-copy p{color:var(--primary);margin-top:24px}.hero-bottom{flex-direction:column;gap:24px;padding:0 16px 56px;position:relative}.hero-bottom .profile{width:100%}.profile>div{grid-template-columns:1fr auto;gap:12px}.hero-bottom .explore{gap:0;font-size:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-bottom .explore span{color:var(--primary)}.work{gap:24px;min-height:0;padding:48px 16px}.work>h1,.gallery-footer{display:none}.gallery-window{overflow:visible}.gallery-track,.gallery-track.page-1{flex-direction:column;gap:24px;display:flex;transform:none}.project{flex-shrink:0;height:300px}.project-tags{gap:8px;padding:8px}.project-tags span{padding:8px 6px}.project-caption{padding:16px}.project-caption .project-title{font-size:20px;line-height:30px}.workflow .project-image{object-fit:cover;width:100%;left:0}.report .project-image{width:136.41%;height:105.78%}.about{min-height:1048px;padding:48px 16px}.about-left{gap:48px;max-width:none;min-height:952px}.about-profile{display:none}.about-left>h1{font-size:32px;line-height:38px}.about-copy{gap:30px}.plastic{min-height:0;display:block}.plastic-surface{display:none}.plastic-heading{gap:16px;min-height:342px;padding:24px 16px}.plastic-rows{margin-top:48px}.plastic-rows article{min-height:206px;padding:24px 16px}.plastic-rows article>div{flex:1;gap:16px}.plastic-rows article p{font-size:14px;line-height:28px}.plastic-rows article>img{max-width:48px}.plastic-link{padding:24px 16px}footer{white-space:normal;padding:24px 16px;font-size:23px;line-height:30px}.product-loop{height:auto;max-height:none}.mobile-scroll-shell{height:400vh;display:block;position:relative}.grid{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;grid-template-columns:none;width:100vw;max-width:100vw;height:100svh;min-height:0;display:flex;position:sticky;top:0;overflow:hidden}.mobile-snap-step{scroll-snap-align:start;scroll-snap-stop:always;height:100svh;display:block}.card{cursor:default;flex:0 0 58px;height:58px;min-height:0;padding:0;transition:flex-basis .72s cubic-bezier(.76,0,.24,1),background .45s}.card.is-mobile-active{background:var(--surface-2);flex-basis:calc(100% - 174px)}.card-head{height:58px;padding:19px 24px;overflow:hidden}.card.is-mobile-active .card-head{height:auto;min-height:116px;overflow:visible}.card-head h3{opacity:1;max-width:310px;margin:20px 0 0;transition:opacity .36s .13s,transform .5s cubic-bezier(.16,1,.3,1) .13s;transform:translateY(0)}.card:not(.is-mobile-active) .card-head h3{opacity:0;transition-delay:0s;transform:translateY(12px)}.drawing{opacity:0;pointer-events:none;transition:opacity .34s .48s,transform .55s cubic-bezier(.16,1,.3,1) .48s;inset:130px 16px 112px;transform:translateY(12px)}.card.is-mobile-active .drawing{opacity:1;transform:translateY(0)}.card-copy{opacity:0;transition:opacity .36s .28s,transform .5s cubic-bezier(.16,1,.3,1) .28s;bottom:24px;left:24px;right:24px;transform:translateY(12px)}.card.is-mobile-active .card-copy{opacity:1;transform:translateY(0)}.product-loop .grid{height:100svh;min-height:0}.product-loop .card{min-height:0;padding:0}.product-loop .drawing{width:calc(100% - 32px)}.product-loop .card-copy{flex-shrink:0;margin:0 24px 24px;line-height:30px;position:static}.product-loop .card-head{flex-shrink:0}}.product-loop .card-copy{font-size:var(--h4-font-size);letter-spacing:var(--h4-letter-spacing)}@media (width<=1200px){.product-loop{--h3-alt-font-size:23px;--h4-font-size:20px;--p2-font-size:14px;width:100%}.product-loop .grid{flex-direction:column;width:100%;max-width:100%;height:100svh;display:flex}.product-loop .mobile-scroll-shell{height:400svh}.product-loop .card-head h3{max-width:none;font-size:var(--h3-alt-font-size);line-height:32px}.product-loop .card-head{padding:15px 24px}.product-loop .card-copy{font-size:var(--h4-font-size);line-height:30px}}@media (width>=1201px){.product-loop .grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;height:100%;display:grid;position:relative}.product-loop .mobile-scroll-shell{display:contents}.product-loop .card{min-width:0;height:auto}}:root{--display-font-size:clamp(56px,calc(28.6316px + 6.8421vw),160px);--display-line-height:clamp(58px,calc(31.1579px + 6.7105vw),160px);--display-letter-spacing:clamp(1.8px,calc(1.0105px + .1974vw),4.8px);--h1-font-size:clamp(32px,calc(29.3684px + .6579vw),42px);--h1-line-height:clamp(38px,calc(34.8421px + .7895vw),50px);--h2-font-size:clamp(26px,calc(24.4211px + .3947vw),32px);--h2-line-height:clamp(34px,calc(31.3684px + .6579vw),44px);--h3-alt-font-size:clamp(23px,calc(22.7368px + .0658vw),24px);--h4-font-size:clamp(20px,calc(19.4737px + .1316vw),22px);--h4-line-height:clamp(30px,calc(29.4737px + .1316vw),32px);--p1-font-size:clamp(16px,calc(15.4737px + .1316vw),18px);--p1-line-height:28px;--p1-letter-spacing:0px;--p2-font-size:clamp(14px,calc(13.4737px + .1316vw),16px);--p2-line-height:clamp(28px,calc(27.4737px + .1316vw),30px);--nav-font-size:clamp(18px,calc(16.9474px + .2632vw),22px);--p3-font-size:clamp(12px,calc(11.4737px + .1316vw),14px);--p3-font-weight:500;--p3-line-height:clamp(20px,calc(19.4737px + .1316vw),22px)}.product-loop{--h3-alt-font-size:clamp(23px,calc(22.7368px + .0658vw),24px);--h4-font-size:clamp(20px,calc(19.4737px + .1316vw),22px);--p2-font-size:clamp(14px,calc(13.4737px + .1316vw),16px)}.site-nav>div>a{font-size:var(--nav-font-size)}.site-nav>div{height:100%;min-height:0}.site-nav>div>a{align-items:center;height:100%;padding-block:0;display:flex}.nav-logo{align-items:center;max-height:100%;padding-block:0;display:flex}@media (width>=1201px){.site-nav>div>a{transition:background-color .2s,color .2s}.site-nav>div>a:hover{background:var(--color-surface-strong);color:var(--color-surface-1)}}@media (width<=1200px){.site-nav>div>a{font-family:var(--font-mono);font-size:var(--p2-font-size);font-weight:500;line-height:var(--p2-line-height);letter-spacing:var(--p2-letter-spacing);font-variation-settings:normal}}.site-nav{z-index:100;background:var(--color-surface-1);will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1);position:fixed;inset:0 0 auto;transform:translateY(0)}.site-nav.is-hidden{pointer-events:none;transform:translateY(-100%)}.site-nav:focus-within{pointer-events:auto;transform:translateY(0)}.hero{padding-top:64px}@media (width<=1200px){.hero{padding-top:52px}}.hero-copy h1{line-height:var(--display-line-height);letter-spacing:var(--display-letter-spacing)}.hero-copy p,.about-left>h1{font-size:var(--h1-font-size);line-height:var(--h1-line-height)}h2{line-height:var(--h2-line-height)}.project-caption .project-title,.product-loop .card-copy{font-size:var(--h4-font-size);line-height:var(--h4-line-height)}.plastic-rows article p{font-size:var(--p2-font-size);line-height:var(--p2-line-height)}.about-profile,.project-tags span,.in-progress{font-size:var(--p3-font-size)}.plastic-rows h3,.plastic-link h3{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);letter-spacing:var(--h4-letter-spacing);font-variation-settings:"wdth" 110;text-transform:uppercase}.plastic-rows article>img,.plastic-link>img{object-fit:contain;width:32px;max-width:32px;height:32px}.plastic-heading{gap:16px}.plastic-heading>span{margin-bottom:8px}.plastic-heading h2,.plastic-heading .copy-subtitle{max-width:720px}.plastic-rows article>div{gap:8px}@media (width>=1201px){.plastic-heading{padding:24px 48px}.plastic-rows article{padding:24px 32px}.plastic-link{padding:32px}}@media (width<=1200px){.plastic-heading{text-align:left;align-items:flex-start;min-height:0;padding:48px 16px}.plastic-rows{margin-top:48px}.plastic-rows article{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:24px;min-height:0;padding:24px 16px}.plastic-rows article>img{order:-1}.plastic-rows article>div{flex:none;justify-items:center;width:100%}.plastic-link{text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:24px;height:auto;min-height:0;padding:24px 16px}.plastic-link>img{order:-1;transform:rotate(-90deg)}}footer{font-size:var(--h3-alt-font-size)}.gallery-footer button{width:144px;height:72px;color:var(--color-font-inverse);background:0 0;transition:background-color .2s;position:relative}.gallery-footer button img{visibility:hidden}.gallery-footer button:after{content:"";background:currentColor;position:absolute;inset:0;-webkit-mask:url(/gallery-arrow-right.svg) 50%/144px 72px no-repeat;mask:url(/gallery-arrow-right.svg) 50%/144px 72px no-repeat}.gallery-footer button[aria-label=Previous\ projects]:after{-webkit-mask-image:url(/gallery-arrow-left.svg);mask-image:url(/gallery-arrow-left.svg)}.gallery-footer button:not(:disabled):hover{background:var(--color-control-hover);color:var(--color-surface-1)}.gallery-footer button:disabled{color:var(--color-font-secondary);cursor:default;pointer-events:none}.gallery-footer button:focus-visible{outline:2px solid var(--color-font-inverse);outline-offset:3px}.hero-copy h1{color:var(--color-font-inverse)}.hero-copy strong{white-space:nowrap;display:inline}@media (width<=1200px){.hero-copy strong{white-space:normal}}.hero-copy p{max-width:1440px}.project{min-height:0}.project-tags{flex-shrink:0;align-content:flex-start}.project-tags span{white-space:normal;overflow-wrap:anywhere;max-width:100%}.project-caption{flex-wrap:wrap;flex-shrink:0;min-width:0}.project-caption .project-title{overflow-wrap:anywhere;flex-basis:180px;min-width:0}.project-caption .in-progress{white-space:normal;max-width:100%}@media (width<=1200px){.work>h1{display:block}.project{gap:72px;height:auto;min-height:300px}.work .gallery-track{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:24px;width:100%;height:auto;max-height:none;padding:0;display:grid;transform:none}.work .gallery-track>.project{grid-area:auto/1;width:100%;min-width:0}.work .membership .project-image{object-fit:cover;object-position:left center;width:200%;height:100%;top:0;left:0}}@media (width>=701px) and (width<=1200px){.work .gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}.work .gallery-track>.project{grid-column:auto}.work .gallery-track>.report,.work .gallery-track>.rewards{grid-column:1/-1}}@media (width>=1201px){.work .gallery-track{grid-template-rows:repeat(2,minmax(220px,1fr))}.work .gallery-window{overflow-y:auto}.hero-copy h1{font-size:min(var(--display-font-size),calc((100vw - 2 * var(--gutter)) / 11.5),160px);white-space:nowrap;line-height:1}.hero-copy strong{white-space:nowrap;margin-left:0;display:inline}.work{justify-content:flex-start;gap:clamp(16px,4vh,48px);height:100vh;min-height:0;padding-block:clamp(16px,4vh,48px)}.work>h1,.work .gallery-footer{flex-shrink:0}.work .gallery-window{min-height:0;width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));overscroll-behavior-x:none;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;scroll-behavior:smooth;flex:1;overflow:auto hidden}.work .gallery-window::-webkit-scrollbar{display:none}.work .gallery-window.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto}.work .gallery-track{--unit:calc((100cqw - var(--gutter) - 2 * var(--gallery-gap))/2000);width:max-content;height:100%;padding-left:var(--gutter);grid-template-rows:repeat(2,minmax(0,1fr));padding-right:48px;transition:none;transform:none}}.about-left>h1{font:500 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:0;color:var(--color-font-inverse)}html,body{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}html.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth iframe{pointer-events:none}@media (prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}}.hero{height:100vh;min-height:0}@media (width<=1200px){.hero{height:100dvh;min-height:0}.hero-copy{padding-top:clamp(16px,6vh,64px)}.hero-bottom{padding-bottom:40px}.hero-bottom .profile{line-height:var(--p2-line-height)}html{scroll-snap-type:none}.product-loop .grid,.product-loop .mobile-snap-step{scroll-snap-align:none;scroll-snap-stop:normal}}@media (width>=1201px){.work .gallery-track{grid-template-rows:repeat(2,minmax(0,1fr));max-height:100%}.work .gallery-window{overflow-y:hidden}.work .project-tags{gap:6px;padding:10px}.work .project-tags span{padding:4px 6px}.work .project-caption{gap:8px;padding:10px}.work .project-caption .in-progress{padding:4px 6px}}:root{--nav-height:64px;--panel-height:calc(100vh - var(--nav-height));--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-font-primary:#191717;--color-font-inverse:#050504;--color-font-secondary:#191717;--color-font-tertiary:#4e4947;--color-surface-1:#f2eeec;--color-surface-2:#e2dedb;--color-surface-3:#aaa5a3}body,.site-nav,.card,.plastic-surface{transition:background-color .45s,color .45s,border-color .45s}.nav-logo{cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:8px}.site-nav .theme-toggle{width:56px;color:var(--color-font-primary);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0 12px;display:flex}.theme-circle{background:var(--color-surface-2);border-radius:50%;place-items:center;width:32px;height:32px;transition:background-color .2s,color .2s;display:grid}.theme-circle svg{width:18px;height:18px}.theme-toggle:hover .theme-circle{background:var(--color-surface-strong);color:var(--color-surface-1)}.theme-toggle:focus-visible{outline:none}.theme-toggle:focus-visible .theme-circle{outline:2px solid var(--color-font-primary);outline-offset:2px}@media (width<=700px){.site-nav .theme-toggle{width:44px;padding:0 6px}.site-nav>div>a{padding-inline:12px}}@media (width<=360px){.site-nav>div>a{padding-inline:8px}}.theme-logo{display:block;position:relative}.theme-logo picture{display:block}.theme-logo .brand{transition:filter .2s}.logo-dot{aspect-ratio:1;background:var(--color-logo-cutout);pointer-events:none;border-radius:50%;width:12.93%;position:absolute;top:23.52%;left:56.47%;transform:translate(-50%,-50%)}:root[data-theme=light]{--color-logo-cutout:#f2eeec}@media (hover:hover) and (pointer:fine){:root:not([data-theme=light]) .nav-logo:hover:not([data-nav-activated]) .brand{filter:brightness(0)invert()}:root[data-theme=light] .nav-logo:hover:not([data-nav-activated]) .brand{filter:brightness(0)}}.plastic-rows article>img,.plastic-link>img{display:none}.plastic-rows article:after,.plastic-link:after{content:"";background:var(--color-font-primary);width:32px;height:32px;-webkit-mask:var(--icon-mask) center/contain no-repeat;mask:var(--icon-mask) center/contain no-repeat;flex:0 0 32px;display:block}.plastic-rows article:first-child{--icon-mask:url(/figma/0abd0.svg)}.plastic-rows article:nth-child(2){--icon-mask:url(/figma/b3c38.svg)}.plastic-rows article:nth-child(3){--icon-mask:url(/figma/88a05.svg)}.plastic-rows article:nth-child(4){--icon-mask:url(/figma/3ce61.svg)}.plastic-link{--icon-mask:url(/arrow-up-right.svg);background-color:var(--color-font-strong);width:100%;transition:background-color .2s,color .2s}.plastic-link:hover{background-color:var(--color-control-hover);color:var(--color-surface-1)}.plastic-link:after{background:currentColor}@media (width>=1201px){.plastic#contact{min-height:0;display:block}.plastic-surface{display:none}.plastic-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;display:grid}.plastic-heading{min-width:0;min-height:0;padding:24px var(--gutter);justify-content:center}.plastic-heading h2{color:var(--color-font-inverse);font-weight:600}.plastic-heading>span,.plastic-rows article p{text-box-trim:trim-both;text-box-edge:cap alphabetic}.plastic-rows{border-left:.5px solid var(--tertiary);min-width:0;margin-top:0}.plastic-rows article{padding:32px var(--gutter);min-height:124px}.plastic-rows article>div{gap:16px;min-width:0}.plastic-rows h3{color:var(--color-font-inverse)}.plastic-link{padding:32px var(--gutter);min-height:96px;color:var(--color-surface-1)}.plastic-link h3{color:inherit}}@media (width<=1200px){.plastic-rows article:after,.plastic-link:after{order:-1}.plastic-link:after{transform:none}}.nav-logo:focus-visible{outline:2px solid var(--color-font-inverse);outline-offset:3px}@media (width<=1200px){.nav-logo{padding:16px}}@media (width<=920px){.logo-dot{width:11.77%;top:21.42%;left:63.3%}}.project-tags span,.project-caption .project-title{color:#f2eeec}.hero-bottom .profile{gap:0;width:max-content;max-width:100%;display:grid}.hero-bottom .profile>div{grid-template-columns:max-content max-content;justify-content:space-between;column-gap:32px}@media (width>=601px){.hero-bottom .profile{align-self:flex-end}}@media (width<=600px){.hero-bottom .profile{width:100%}.hero-bottom .profile>div{grid-template-columns:1fr auto;column-gap:12px}}body{padding-top:var(--nav-height)}.digital-static-overlay{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.digital-static-overlay:before{content:"";opacity:.8;will-change:transform;background:url(/textures/digital-static.png);animation:.5s steps(6,end) infinite digital-static;position:absolute;inset:-24%}:root:not([data-theme=light]) .digital-static-overlay{mix-blend-mode:screen}:root:not([data-theme=light]) .digital-static-overlay:before{filter:brightness(2.5);opacity:.55}.project-image{transform-origin:50%;transition:transform .75s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.project:hover .project-image{transform:scale(1.1)}.gallery-window.is-dragging .project-image{transform:none}}@keyframes digital-static{0%,to{transform:translate(0)}17%{transform:translate(-5%,-10%)}33%{transform:translate(3%,-15%)}50%{transform:translate(12%,9%)}67%{transform:translate(9%,4%)}83%{transform:translate(-1%,7%)}}@media (width<=1200px),(hover:none),(pointer:coarse){.digital-static-overlay{display:none}.digital-static-overlay:before{content:none;will-change:auto;animation:none;inset:0;transform:none}}html[data-page-hidden] .digital-static-overlay:before{animation-play-state:paused}html{scroll-padding-top:var(--nav-height);overflow-x:clip}.hero{height:var(--panel-height);min-height:0;padding-top:0}.hero-content{opacity:var(--hero-scroll-opacity,1)}@media (width>=1201px){.work{height:var(--panel-height)}.about,.plastic{min-height:var(--panel-height)}.about-left{min-height:calc(var(--panel-height) - 128px)}.product-loop{height:min(var(--panel-height),720px)}}@media (width<=1200px){:root{--nav-height:52px;--panel-height:calc(100dvh - var(--nav-height))}.hero{height:var(--panel-height);padding-top:0}.product-loop .grid{top:var(--nav-height);height:var(--panel-height)}.product-loop .mobile-scroll-shell{height:calc(4 * var(--panel-height))}.product-loop .mobile-snap-step{height:var(--panel-height)}}@media (prefers-reduced-motion:reduce){html,body,.work .gallery-window{scroll-behavior:auto}.digital-static-overlay:before{animation:none}.project:hover .project-image{transform:none}*,:before,:after{transition-duration:.01ms!important}}.product-loop .card-interior{display:contents}@media (width<=1200px){.product-loop .card{background:var(--color-surface-1);transition:flex-basis 1.1s cubic-bezier(.65,0,.25,1);position:relative;overflow:hidden}.product-loop .card.is-mobile-active{background:var(--color-surface-1)}.product-loop .card:before{content:"";background:var(--color-surface-2);opacity:var(--panel-reveal,0);pointer-events:none;position:absolute;inset:0}.product-loop .card-interior{flex-direction:column;height:100%;min-height:0;display:flex;position:absolute;inset:0}.product-loop .card .card-head{flex-shrink:0;height:auto;min-height:116px;overflow:visible}.product-loop .card .card-head h3,.product-loop .card .drawing,.product-loop .card .card-copy{opacity:var(--content-reveal,0);transform:translateY(calc((1 - var(--content-reveal,0)) * 12px));transition:opacity .18s,transform .4s cubic-bezier(.16,1,.3,1)}.product-loop .card.is-mobile-active .card-head h3,.product-loop .card.is-mobile-active .card-copy{transition:opacity .45s .35s,transform .6s cubic-bezier(.16,1,.3,1) .35s}.product-loop .card .drawing{opacity:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);transition:none;overflow:hidden;transform:none}.product-loop .drawing svg{max-height:min(100%,240px);overflow:hidden}}.work{background-color:var(--color-surface-1);background-image:linear-gradient(to bottom,var(--color-surface-1),var(--color-surface-2));background-position:bottom;background-repeat:no-repeat;background-size:100% 180px;position:relative}.work:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--color-surface-1),transparent);height:180px;position:absolute;inset:auto 0 0}.work .gallery-window,.work>h1,.work .gallery-footer{z-index:2;position:relative}.work>h1{color:var(--color-font-primary)}.hero-word{display:inline-block}:is(.hero,.contact-page,.case-study-page) [data-hero-reveal],.site-nav>*{opacity:0}:is(.hero,.contact-page,.case-study-page)[data-hero-ready] [data-hero-reveal]{animation:hero-line-enter .65s cubic-bezier(.16,1,.3,1) var(--hero-delay,.5s) both}.site-nav{border-bottom:0}.site-nav:after{content:"";background:var(--tertiary);transform-origin:0;pointer-events:none;height:1px;animation:.5s cubic-bezier(.16,1,.3,1) .5s both nav-line-draw;position:absolute;inset:auto 0 0;transform:scaleX(0)}.site-nav>*{animation:.65s cubic-bezier(.16,1,.3,1) 1s both hero-line-enter}@keyframes nav-line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-line-enter{0%{opacity:0;translate:0 24px}to{opacity:1;translate:0}}.metadata-type{clip-path:inset(0 100% 0 0);vertical-align:bottom;display:inline-block}.about-profile{--typing-start:0s}.hero[data-hero-ready] .metadata-type,.about-profile.is-typing .metadata-type{animation:metadata-type-in var(--typing-duration) steps(var(--typing-chars),end) calc(var(--typing-start,0s) + var(--typing-delay,0s)) both,metadata-unclip 1ms linear calc(var(--typing-start,0s) + var(--typing-delay,0s) + var(--typing-duration)) forwards}@keyframes metadata-type-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes metadata-unclip{to{clip-path:none}}.profile dd.strong{white-space:nowrap}.status-ellipsis{visibility:hidden;display:inline-block}.hero[data-hero-ready] .status-ellipsis,.about-profile.is-typing .status-ellipsis{animation:status-ellipsis-ready 1ms linear calc(var(--typing-start,0s) + var(--typing-delay,0s) + var(--typing-duration,0s)) forwards}@keyframes status-ellipsis-ready{to{visibility:visible}}.hero[data-hero-ready] .status-dot,.about-profile.is-typing .status-dot{animation:status-dot-blink 1.6s steps(1,end) calc(var(--typing-start,0s) + var(--typing-delay,0s) + var(--typing-duration,0s)) infinite}.hero[data-hero-ready] .status-dot:nth-child(2),.about-profile.is-typing .status-dot:nth-child(2){animation-name:status-dot-two}.hero[data-hero-ready] .status-dot:nth-child(3),.about-profile.is-typing .status-dot:nth-child(3){animation-name:status-dot-three}@keyframes status-dot-blink{0%,74.99%{opacity:1}75%,to{opacity:0}}@keyframes status-dot-two{0%,12.49%{opacity:0}12.5%,74.99%{opacity:1}75%,to{opacity:0}}@keyframes status-dot-three{0%,24.99%{opacity:0}25%,74.99%{opacity:1}75%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.status-dot{opacity:1!important;animation:none!important}.status-ellipsis{visibility:visible!important;animation:none!important}.metadata-type{clip-path:none!important;animation:none!important}:is(.hero,.contact-page,.case-study-page) [data-hero-reveal],.site-nav>*{opacity:1!important;animation:none!important;translate:none!important}.site-nav:after{transform:scaleX(1);animation:none!important}}[data-scroll-reveal]:not(.scroll-reveal-mobile){opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0s),translate .65s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0s);translate:0 24px}[data-scroll-reveal].is-scroll-revealed:not(.scroll-reveal-mobile){opacity:1;translate:0}.profile>[data-scroll-reveal]:not(.is-scroll-revealed){translate:0 16px}@media (width<=1200px){[data-scroll-reveal].scroll-reveal-mobile{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),translate .65s cubic-bezier(.16,1,.3,1);translate:0 24px}[data-scroll-reveal].scroll-reveal-mobile.is-scroll-revealed{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){[data-scroll-reveal]{opacity:1!important;transition:none!important;translate:none!important}}.about.about-scene{--about-panel-height:var(--panel-height);height:calc(var(--about-panel-height) + var(--about-scroll-distance,calc(var(--about-panel-height) * 2.916)));background:var(--color-surface-2);scroll-snap-align:none;outline-offset:-4px;gap:0;min-height:0;max-height:none;padding:0;display:block;position:relative;overflow:visible}.about-scene::-webkit-scrollbar{display:none}.about-runway{height:100%;position:relative}.about-stage{top:var(--nav-height);height:var(--about-panel-height);isolation:isolate;background:var(--color-surface-2);position:sticky;overflow:visible}.about-scene-content{position:absolute;inset:0}.about-copy-window{z-index:1;position:absolute;inset:0;overflow:hidden}.about-scene .about-left{left:var(--gutter);will-change:transform;justify-content:flex-start;gap:48px;width:32vw;max-width:400px;min-height:0;display:flex;position:absolute;top:0;transform:translateY(110vh)}.about-scene .about-copy{gap:32px;margin-top:-16px}.about-scene .about-left>h1,.about-scene .about-copy .copy-subtitle{color:var(--color-font-primary)}.about-mechanism{z-index:0;pointer-events:none;position:absolute;inset:0}.about-scene .about-left,.about-scene .about-profile{z-index:1}.about-mechanism .assembly-drawing-area{width:120%;height:120%;position:absolute;top:-10%;left:-10%}.about-mechanism canvas{width:100%;height:100%;color:var(--color-font-secondary);opacity:1;will-change:opacity;display:block;position:absolute;top:0;left:0}@media (width>=1201px){.about-mechanism{overflow:visible}.about-mechanism .assembly-drawing-area{width:170%;height:220%;top:-60%;left:-35%}.about-scene .about-copy-word{text-shadow:0 0 5px var(--color-surface-2),0 0 10px var(--color-surface-2)}}.about-scene .about-profile{top:auto;bottom:64px;right:var(--gutter);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing);align-self:auto;width:20%;display:block;position:absolute}.about-scene .about-profile>div{grid-template-columns:1fr auto;gap:12px}@media (width<=1200px){.about-scene .about-left{gap:32px;width:27%;left:24px}.about-scene .about-left>h1{font-size:var(--h1-font-size);line-height:var(--h1-line-height)}.about-scene .about-copy .copy-subtitle{font-size:var(--h4-font-size);line-height:var(--h4-line-height)}.about-scene .about-profile{width:24%;font-size:var(--p3-font-size);line-height:var(--p3-line-height);right:24px}}@media (width<=700px){.about-scene .about-left{z-index:1;gap:28px;width:52%;top:0;left:16px}.about-scene .about-left>h1{font-size:var(--h1-font-size);line-height:var(--h1-line-height)}.about-scene .about-copy .copy-subtitle{font-size:var(--h4-font-size);line-height:var(--h4-line-height)}.about-mechanism{opacity:.6}.about-scene .about-profile{width:42%;font-size:var(--p3-font-size);line-height:var(--p3-line-height);bottom:24px;right:16px}}@media (prefers-reduced-motion:reduce){.about.about-scene{height:auto}.about-runway{height:auto;min-height:100%}.about-stage{height:auto;min-height:var(--about-panel-height);position:relative;top:auto;overflow:hidden}.about-scene-content{opacity:1;position:relative}.about-scene .about-left{padding-block:64px;position:relative;top:auto;transform:none!important}.about-mechanism canvas{opacity:1;filter:none}}.about.about-scene{outline:none}.about.about-scene:focus-visible{outline:1px solid var(--color-font-primary);outline-offset:-3px}@media (width<=1200px){.about.about-scene:focus-visible{outline:none}}.about-scene .about-profile{font-size:var(--p3-font-size);line-height:var(--p3-line-height);letter-spacing:var(--p2-letter-spacing)}.about-scene .about-profile>div{gap:8px}.about-scene .about-copy .copy-subtitle{font-weight:400}.about-scene .about-left>h1{font-weight:500}@media (width>=1201px){.about-scene .about-profile{width:max-content;max-width:calc(100% - 2 * var(--gutter))}.about-scene .about-profile>div{grid-template-columns:calc(17ch + 7px) calc(21ch + 7px)}}@media (width<=1200px){.about-mechanism{opacity:1;inset:0 0 40%;overflow:visible}.about-copy-window{inset:60% 0 0;overflow:hidden}.about-scene .about-profile{display:none}.about-scene .about-left{gap:24px;width:auto;max-width:none;left:24px;right:24px}.about-scene .about-left>h1{font-size:var(--h1-font-size);line-height:var(--h1-line-height)}.about-scene .about-copy{gap:32px;margin-top:0}.about-scene .about-copy .copy-subtitle{font-size:var(--h4-font-size);line-height:var(--h4-line-height);font-weight:500}}@media (width<=700px){.about-scene .about-left{left:16px;right:16px}}.about-copy-word{display:inline-block}@media (width<=1200px) and (prefers-reduced-motion:reduce){.about-mechanism{height:calc(var(--about-panel-height) * .6);position:relative;inset:auto}.about-copy-window{position:relative;inset:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}.about-scene .about-left{width:100%;padding:24px;left:auto;right:auto}}@media (width<=700px) and (prefers-reduced-motion:reduce){.about-scene .about-left{padding-inline:16px}}.about-scene .about-mechanism{opacity:calc(var(--about-content-opacity,1) * var(--about-overlap-opacity,1));will-change:opacity}.about-scene .about-loop-link{bottom:24px;left:var(--gutter);z-index:2;opacity:var(--loop-link-reveal,0);visibility:hidden;position:absolute}@media (width<=1200px){.product-loop{--panel-height:calc(100svh - var(--nav-height));height:min(var(--panel-height),720px);max-height:720px;overflow:hidden}.product-loop .mobile-scroll-shell{flex-direction:column;height:100%;min-height:0;display:flex}.product-loop .grid{height:calc(min(var(--panel-height),720px) - 44px);scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;flex-direction:row;flex:1;align-items:stretch;min-height:0;max-height:676px;padding-right:0;display:flex;position:relative;top:auto;overflow:auto hidden}.product-loop .grid::-webkit-scrollbar{display:none}.product-loop .card{border-right:1px solid var(--edge);scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 96%;max-width:640px;height:100%;min-height:0;padding:0;transition:none;overflow:hidden}.product-loop .card-interior{height:100%;min-height:0;padding:24px var(--gutter);flex-direction:column;flex:1;display:flex;position:relative;inset:auto}.product-loop .card .card-head{flex-shrink:0;height:auto;min-height:116px;padding:0}.product-loop .card .card-head h3,.product-loop .card .card-copy{opacity:1;transform:none}.product-loop .card .card-copy{flex-shrink:0;margin:24px 0 0;padding:0;position:static}.product-loop .card .drawing{flex:1;width:100%;min-height:0;margin:16px auto;overflow:hidden}.product-loop .drawing svg{max-height:240px}.product-loop .mobile-snap-step{display:none}.loop-carousel-nav{border-top:1px solid var(--edge);flex:0 0 44px;justify-content:flex-start;align-items:center;gap:0;padding-inline:16px;display:flex}.loop-carousel-indicator{width:24px;height:44px;color:var(--color-font-secondary);cursor:pointer;background:0 0;border:0;flex:0 0 24px;place-items:center start;padding:0;display:grid}.loop-carousel-indicator:before{content:"";background:currentColor;width:20px;height:2px;transition:background-color .2s}.loop-carousel-indicator.is-active{color:var(--color-font-strong)}.loop-carousel-indicator:focus-visible{outline:1px solid var(--color-font-primary);outline-offset:-1px}}.loop-carousel-nav{visibility:visible}@media (width<=1200px){.product-loop .grid[data-controlled-carousel]{scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y pinch-zoom}}@media (width>=1201px){.loop-carousel-nav,.product-loop .loop-copy{display:none}.product-loop .card{padding-left:var(--gutter);padding-right:var(--gutter)}}@media (prefers-reduced-motion:reduce){.product-loop .grid{scroll-behavior:auto}.loop-carousel-indicator:before{transition:none}}@media (width<=1200px){.about-scene .about-loop-link{left:24px}}@media (width<=700px){.about-scene .about-loop-link{left:16px}}@media (prefers-reduced-motion:reduce){.about-scene .about-loop-link{margin:24px var(--gutter);opacity:1;visibility:visible;position:relative;bottom:auto;left:auto;transform:none}}.site-nav{border-bottom-width:var(--border-width);border-bottom-color:var(--border-color);border-bottom:0}.site-nav:after{border-top:var(--border-width) solid var(--border-color);background:0 0;height:0}.product-loop .grid{border-color:var(--border-color);border-top-width:var(--border-width);border-left-width:var(--border-width);border-bottom:var(--border-width) solid var(--border-color)}.product-loop .card{border-right:var(--border-width) solid var(--border-color);border-bottom:0}.plastic-surface{border-right:var(--border-width) solid var(--border-color)}.plastic-rows article,.plastic-link{border-top:var(--border-width) solid var(--border-color)}@media (width>=1201px){.product-loop .grid,.product-loop .card{border-left:0;border-right:0}.product-loop .card:not(.loop-copy)~.card:not(.loop-copy),.plastic-rows{border-left:var(--border-width) solid var(--border-color)}.plastic-rows article:first-child{border-top:0}}@media (width<=1200px){.product-loop .grid{border-bottom:0}.loop-carousel-nav{border-top:var(--border-width) solid var(--border-color)}}.about-mobile-followup{display:none}@media (width<=1200px){.about.about-scene{height:auto}.about-scene .about-runway{height:calc(var(--about-panel-height) + var(--about-scroll-distance,calc(var(--about-panel-height) * 2.916)))}.about-scene-content>.about-loop-link{display:none}.about-mobile-followup{z-index:2;background:var(--color-surface-2);flex-direction:column;gap:40px;padding:48px 24px 24px;display:flex;position:relative}.about-mobile-followup .about-profile{width:min(100%,38ch + 22px);font-size:var(--p2-font-size);line-height:var(--p2-line-height);letter-spacing:var(--p2-letter-spacing);opacity:1;will-change:auto;align-self:flex-start;display:block;position:static}.about-mobile-followup .about-profile>div{grid-template-columns:minmax(0,1fr) auto;gap:8px}.about-mobile-followup .about-loop-link{opacity:1;visibility:visible;margin:0;position:static;transform:none}}@media (width<=700px){.about-mobile-followup{padding-inline:16px}}@media (width>=701px) and (width<=1200px){.about-mobile-followup .about-profile{align-self:flex-start;width:max-content;max-width:100%}.about-mobile-followup .about-profile>div{grid-template-columns:calc(17ch + 7px) calc(21ch + 7px);gap:8px}}@media (width<=1200px) and (prefers-reduced-motion:reduce){.about-scene .about-runway{height:auto}}body{font-size:var(--h4-font-size);line-height:var(--h4-line-height)}.project-tags span,.in-progress{font-size:var(--p3-font-size);line-height:var(--p3-line-height)}.product-loop .card-head h3{font-size:var(--h3-alt-font-size);line-height:var(--h3-alt-line-height);letter-spacing:var(--h3-alt-letter-spacing);margin-top:8px}@media (width>=1201px) and (width<=1400px){.product-loop .card-head h3{font-size:clamp(20px,1.67vw,var(--h3-alt-font-size))}}.product-loop .card-copy{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing)}.product-loop .drawing svg{width:var(--loop-illustration-size,320px);height:var(--loop-illustration-size,320px);max-width:100%;max-height:100%}.plastic-heading>span,.plastic-rows article p,.gallery-footer{font-size:var(--p2-font-size);line-height:var(--p2-line-height);letter-spacing:var(--p2-letter-spacing)}:is(html:has(.contact-page),body:has(.contact-page)){overscroll-behavior:none}@media (width>=1201px){:is(html:has(.contact-page),body:has(.contact-page)){scroll-snap-type:none;scroll-behavior:auto;overflow:hidden}}.contact-fields textarea{overscroll-behavior:contain}.contact-page{height:calc(100vh - var(--nav-height));height:calc(100dvh - var(--nav-height));min-height:0}.contact-panel{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0;display:grid}.contact-heading{min-height:0;padding:clamp(32px,6dvh,96px) var(--gutter);flex-direction:column;align-items:flex-start;gap:24px;display:flex}.contact-heading .linkedin-link{margin-top:24px}.contact-tag,.contact-back,.contact-fields label,.contact-notice,.contact-privacy{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing)}.contact-tag{color:var(--color-font-strong)}.contact-heading h1{font:600 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h1-letter-spacing);color:var(--color-font-inverse);text-transform:uppercase}.contact-heading .copy-subtitle{max-width:520px;color:var(--color-font-secondary)}.contact-form{--contact-on-accent:var(--color-surface-1);border-left:var(--border-width) solid var(--border-color);flex-direction:column;gap:0;min-width:0;min-height:0;display:flex}:root[data-theme=light] .contact-form{--contact-on-accent:var(--color-font-inverse)}.contact-fields{flex:1;grid-template-rows:auto auto minmax(112px,1fr);grid-template-columns:minmax(0,1fr);gap:0;min-height:0;display:grid}.contact-fields label{border-bottom:var(--border-width) solid var(--border-color);min-width:0;min-height:0;color:var(--color-font-primary);flex-direction:column;display:flex;position:relative}.contact-fields label:last-child{grid-column:1/-1}.contact-fields label:after{content:"";left:0;right:0;bottom:calc(-1 * var(--border-width));background:var(--color-font-strong);transform-origin:0;pointer-events:none;height:1px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;transform:scaleX(0)}.contact-fields label:focus-within:after{background:var(--color-font-tertiary);transform:scaleX(1)}.contact-fields label.has-error:after{transform:scaleX(1)}.contact-field-error{padding:0 var(--gutter) 12px;color:var(--color-font-inverse);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-sans);letter-spacing:var(--p2-letter-spacing);overflow-wrap:anywhere;flex-shrink:0;display:block;position:static}.contact-fields label.has-error .contact-field-label{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);color:var(--color-font-primary);top:6px;transform:none}.contact-fields input,.contact-fields textarea{width:100%;min-width:0;padding:32px var(--gutter) 12px;color:var(--color-font-inverse);font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);letter-spacing:var(--h4-letter-spacing);background:0 0;border:0;border-radius:0;outline:none;display:block}.contact-fields input{flex-shrink:0;height:clamp(72px,10dvh,96px)}.contact-fields textarea{resize:none;scrollbar-width:none;flex:1;height:100%;min-height:112px;padding-top:52px}.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid var(--color-font-tertiary);outline-offset:-5px}.contact-fields input,.contact-fields textarea,.contact-submit{scroll-margin-block:calc(var(--nav-height) + 12px) 12px}.contact-fields textarea::-webkit-scrollbar{display:none}.contact-field-label{left:var(--gutter);pointer-events:none;font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);letter-spacing:var(--h4-letter-spacing);color:var(--color-font-secondary);transition:top .25s,transform .25s,font-size .25s,line-height .25s,color .25s;position:absolute;top:50%;transform:translateY(-50%)}.contact-fields label:last-child .contact-field-label{top:24px;transform:none}.contact-fields label:focus-within .contact-field-label{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing);color:var(--color-font-primary);top:6px;transform:none}.contact-fields label:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown)) .contact-field-label{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing);color:var(--color-font-primary);top:6px;transform:none}.contact-fields label:last-child:focus-within .contact-field-label{top:12px}.contact-fields label:last-child:has(textarea:not(:placeholder-shown)) .contact-field-label{top:12px}@media (hover:hover){.contact-fields label:hover:not(:focus-within):not(:has(input:not(:placeholder-shown),textarea:not(:placeholder-shown))) .contact-field-label{color:var(--color-surface-strong)}}.contact-submit:focus-visible{outline:2px solid var(--color-surface-1);outline-offset:-6px;box-shadow:inset 0 0 0 3px var(--color-font-inverse)}.contact-submit{width:100%;padding:clamp(12px,3dvh,32px) var(--gutter);color:var(--color-font-primary);font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);letter-spacing:var(--h4-letter-spacing);cursor:pointer;background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;transition:background-color .25s,color .25s;display:flex}.contact-submit[data-inactive=false]{background:var(--color-font-strong);color:var(--contact-on-accent)}.contact-submit[data-inactive=false]:hover{background-color:var(--color-control-hover);color:var(--color-surface-1)}.contact-submit[data-inactive=true],.contact-submit:disabled{background-color:var(--color-disabled-submit);opacity:1;background-image:none}:root[data-theme=light] .contact-submit[data-inactive=true],:root[data-theme=light] .contact-submit:disabled{background-color:var(--color-disabled-submit)}.contact-submit[data-inactive=true]>span{opacity:.6}.contact-submit:disabled{cursor:not-allowed}.contact-heading .copy-subtitle,.contact-fields input,.contact-fields textarea,.contact-submit{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing)}.contact-field-label{font-variation-settings:"wdth" 110}.contact-form[aria-busy=true] .contact-submit{cursor:wait}@media (width>=1201px){.contact-form{overflow-y:auto}.contact-fields{flex-shrink:0;min-height:calc(2*clamp(72px,10dvh,96px) + 114px)}}.site-nav>div>a:focus-visible{outline:2px solid var(--color-font-inverse);outline-offset:-5px}@media (forced-colors:active){.contact-submit:focus-visible,.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline-color:highlight}.contact-submit:focus-visible{box-shadow:none}}.contact-send-icon{background:currentColor;flex:0 0 32px;width:32px;height:32px;-webkit-mask:url(/send.svg) 50%/contain no-repeat;mask:url(/send.svg) 50%/contain no-repeat}.contact-send-icon.is-sent{-webkit-mask-image:url(/check.svg);mask-image:url(/check.svg)}.contact-notice{padding:12px var(--gutter);border-top:var(--border-width) solid var(--border-color);color:var(--color-font-inverse);flex-shrink:0}.contact-notice:empty{display:none}.contact-privacy{padding:12px var(--gutter);border-top:var(--border-width) solid var(--border-color);color:var(--color-font-secondary);text-transform:uppercase;flex-shrink:0}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (width<=1200px){.contact-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.contact-heading{gap:8px;padding:32px 24px}.contact-heading .linkedin-link{margin-top:16px}.contact-form{border-left:0;border-top:var(--border-width) solid var(--border-color)}.contact-fields input,.contact-fields textarea{padding-inline:24px}.contact-field-label{left:24px}.contact-field-error,.contact-submit,.contact-notice,.contact-privacy{padding-inline:24px}}@media (width<=700px){.contact-heading,.contact-fields input,.contact-fields textarea,.contact-submit,.contact-notice,.contact-privacy{padding-inline:16px}.contact-field-label{left:16px}.contact-field-error{padding-inline:16px}}@media (prefers-reduced-motion:reduce){.contact-field-label,.contact-fields label:after,.contact-submit{transition:none}}@media (width<=1200px){html:has(.contact-page){scroll-snap-type:none;scroll-behavior:auto}.contact-page{height:auto;min-height:calc(100svh - var(--nav-height))}.contact-panel{height:auto;min-height:calc(100svh - var(--nav-height));grid-template-rows:auto auto}.contact-heading{flex-shrink:0;position:relative}.contact-fields{grid-template-rows:auto auto minmax(112px,1fr)}.contact-fields textarea{min-height:112px}.contact-page[data-keyboard-open]{padding-bottom:var(--contact-keyboard-space,0px)}.contact-page[data-keyboard-open] .contact-panel{min-height:0}.contact-page[data-keyboard-open] .contact-heading{display:none}.contact-page[data-keyboard-open] .contact-fields{flex:none;grid-template-rows:auto auto auto}.contact-page[data-keyboard-open] .contact-fields input{height:64px;padding-top:28px;padding-bottom:8px}.contact-page[data-keyboard-open] .contact-fields textarea{min-height:80px}.contact-page[data-keyboard-open] .contact-submit{padding-block:12px}}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.hero{height:calc(100dvh - var(--nav-height))}.hero-copy{padding-top:clamp(12px,3dvh,40px)}.hero-copy p{margin-top:clamp(12px,2dvh,24px)}.hero-bottom{flex-shrink:0;padding-block:clamp(8px,1.5dvh,20px)}.hero-bottom .profile{line-height:var(--p2-line-height)}@media (width>=1201px){.hero-copy h1{font-size:min(var(--display-font-size),calc((100vw - 2 * var(--gutter)) / 11.5),20dvh,160px)}}@media (width<=1200px){.hero{height:calc(100svh - var(--nav-height))}.hero-copy h1{font-size:min(var(--display-font-size),9svh,calc((100vw - 32px) / 6.2));line-height:1.04}.hero-copy{padding-top:clamp(12px,2svh,24px)}.hero-copy p{font-size:min(var(--h1-font-size),3.5svh);margin-top:clamp(12px,2svh,24px);line-height:1.18}.hero-bottom{padding-top:8px;padding-bottom:32px}.hero-bottom .profile{line-height:var(--p2-line-height)}}@media (width>=1201px){.plastic#contact{height:100vh;min-height:0;padding-top:var(--nav-height);position:relative}.plastic#contact:after{content:"";width:var(--border-width);background:var(--border-color);pointer-events:none;position:absolute;inset:0 auto 0 50%}.plastic-content{height:100%;min-height:0}.plastic-heading{min-height:0}.plastic-rows{border-left:0;grid-template-rows:repeat(4,minmax(0,1fr)) auto;min-height:0;display:grid}.plastic-rows article{min-height:0;padding-block:clamp(12px,2vh,32px)}.plastic-link{min-height:0;padding-block:clamp(16px,3vh,32px)}}.site-nav{padding-right:0}.site-nav>div>a{position:relative}.site-nav>div>a:after{content:"";width:var(--nav-dot-size,6.7px);height:calc(var(--nav-dot-size,6.7px) * .866025);clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--color-surface-strong);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.site-nav>div>a[aria-current]:after{opacity:1}@media (width>=921px){.site-nav>div>a[aria-current]:hover:after{background:currentColor}}@media (prefers-reduced-motion:reduce){.site-nav>div>a:after{transition:none}}@media (width>=701px) and (width<=1200px){.work>h1{display:block}}.project-link{z-index:3;cursor:pointer;position:absolute;inset:0}.project-tags .in-progress{background:var(--red);color:var(--ink)}.project:has(.project-link:focus-visible){outline:2px solid var(--color-font-strong);outline-offset:-3px}.project-link:focus-visible{outline:2px solid var(--color-font-strong);outline-offset:-3px}@media (hover:hover) and (pointer:fine){:is(.project:hover:has(.project-link:focus-visible),.project-link:hover){outline:none}}.gallery-window.is-dragging .project-link{cursor:grabbing}.case-study-page{width:100%;min-height:var(--panel-height)}:is(html:has(.case-study-page),body:has(.case-study-page)){scroll-behavior:smooth;scroll-snap-type:none}@media (prefers-reduced-motion:reduce){:is(html:has(.case-study-page),body:has(.case-study-page)){scroll-behavior:auto}}body:has(.case-study-page) .site-nav{padding-inline:max(0px,50% - 720px)}body:has(.case-study-page) .site-nav .nav-logo{padding-inline:24px}.case-content{width:100%;max-width:1440px;margin-inline:auto;padding-inline:24px}.case-heading{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-block:32px;display:grid}.case-intro{flex-direction:column;gap:24px;min-width:0;display:flex}.case-intro h1{font:600 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h1-letter-spacing);text-transform:uppercase;color:var(--color-font-primary)}.case-intro .copy-subtitle,.case-section-grid>h2{font:500 var(--h3-alt-font-size)/var(--h3-alt-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h3-alt-letter-spacing);color:var(--color-font-secondary)}.case-intro>p,.case-body,.case-results dd{font:400 var(--case-body-size,18px)/28px var(--font-sans);font-variation-settings:"wdth" 100;color:var(--color-font-primary)}.case-metadata{text-align:right;font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);font-feature-settings:"ordn" 1,"zero" 1;letter-spacing:var(--p2-letter-spacing);color:var(--color-font-secondary);text-transform:uppercase;margin:0;padding:0;list-style:none}.case-label{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);font-feature-settings:"ordn" 1,"zero" 1;letter-spacing:var(--p2-letter-spacing);color:var(--color-font-strong);text-transform:uppercase}.case-study-page[data-hero-ready] .case-metadata .metadata-type{animation:metadata-type-in var(--typing-duration) steps(var(--typing-chars),end) calc(var(--typing-start,0s) + var(--typing-delay,0s)) both,metadata-unclip 1ms linear calc(var(--typing-start,0s) + var(--typing-delay,0s) + var(--typing-duration)) forwards}.case-results{border-block:var(--border-width) solid transparent;flex-direction:column;gap:32px;margin-block:32px;padding-block:32px;display:flex;position:relative}.case-results:before,.case-results:after{content:"";width:100vw;height:var(--border-width);background:var(--border-color);pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.case-results:before{top:calc(-1 * var(--border-width))}.case-results:after{bottom:calc(-1 * var(--border-width))}.case-results dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;display:grid}.case-results dl>div{flex-direction:column;gap:8px;min-width:0;display:flex}.case-results dt{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing);color:var(--color-font-inverse)}.case-results dd{max-width:360px;margin:0}.case-results-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.case-results-highlights p{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing);color:var(--color-font-inverse)}.case-school-image{aspect-ratio:660/320;width:calc(100% - 24px)}.case-school-image>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-section{flex-direction:column;gap:24px;padding-block:24px;display:flex}.case-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.case-section-grid>h2{max-width:640px}.case-body{flex-direction:column;gap:28px;min-width:0;display:flex}.case-body .case-sequence{font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);font-feature-settings:"ordn" 1,"zero" 1;letter-spacing:var(--p2-letter-spacing);text-transform:uppercase;color:var(--color-font-secondary)}.case-body .case-emphasis,.case-body .case-school-emphasis,.case-body .case-conversion-emphasis,.case-body .case-accent,.case-body strong{color:var(--color-font-inverse)}.case-figure{background:var(--color-surface-3);grid-column:2;min-width:0;margin:24px 0 0;position:relative;overflow:hidden}.case-figure img{width:100%;height:auto;display:block}.case-workflow{aspect-ratio:684/424}.case-workflow img{object-fit:fill;width:92.68%;height:88.5%;position:absolute;top:7.7%;left:2.46%}.case-summary{aspect-ratio:684/531.095}.case-summary>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-audit{aspect-ratio:684/390}.case-audit>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-audit>img:not(.case-image-base){width:100.13%;top:.12%;left:-.07%}.case-end{padding-block:64px}.case-more{background:var(--color-surface-strong);color:#f4eae4;font:500 var(--h3-alt-font-size)/var(--h3-alt-line-height) var(--font-sans);font-variation-settings:"wdth" 115;letter-spacing:var(--h3-alt-letter-spacing);text-transform:uppercase;justify-content:center;align-items:center;gap:24px;padding:24px 16px;transition:background-color .25s;display:flex}.case-more img{flex-shrink:0;display:block}.case-more:hover{background-color:var(--color-control-hover);color:var(--color-surface-1)}.case-more:hover img{filter:brightness(0)}:root[data-theme=light] .case-more:hover img{filter:brightness(0)invert()}.case-more:focus-visible{outline:2px solid var(--color-font-inverse);outline-offset:4px}.case-footer{text-align:center;color:var(--color-font-primary);white-space:normal;padding:24px 0}.case-system-ecosystem{aspect-ratio:1392/309;grid-column:1/-1}.case-system-ecosystem>img{object-fit:cover;width:100%;height:100%}.case-system-tokens{aspect-ratio:696/309}.case-system-tokens>img{object-fit:cover;width:100%;height:100%}.case-system-foundations{aspect-ratio:696/298}.case-system-foundations>img{object-fit:contain;width:100%;height:100%}.case-system-components{aspect-ratio:696/433}.case-system-components>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-conversion-results dl{grid-template-columns:repeat(4,minmax(0,1fr))}.case-results-note{font:400 14px/28px var(--font-sans);color:var(--color-font-secondary)}.case-conversion-image>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-conversion-flow{aspect-ratio:660/495;width:calc(100% - 24px)}.case-conversion-membership{aspect-ratio:686/416}.case-conversion-membership>img:not(.case-image-base){object-fit:fill;height:123.79%;top:-11.91%}.case-conversion-signup{aspect-ratio:682/382}.case-conversion-signup>img{object-fit:fill;height:100.43%;top:-.47%}.case-conversion-home{aspect-ratio:696/320}.case-conversion-home>img{object-fit:fill;height:270.4%;top:.05%}.case-conversion-impact{aspect-ratio:696/392}.case-conversion-impact>img{object-fit:fill;height:99.87%;top:.06%}.case-intro-copy{font:400 var(--case-body-size,18px)/28px var(--font-sans);font-variation-settings:"wdth" 100;color:var(--color-font-primary);flex-direction:column;gap:28px;display:flex}.case-photo{grid-column:2;min-width:0;margin:24px 0 0}.case-photo-wide{grid-column:1/-1}.case-photo>.case-figure{background:var(--color-surface-3);width:100%;margin:0}.case-photo figcaption{font:500 12px/20px var(--font-mono);font-feature-settings:"ordn" 1,"zero" 1;letter-spacing:var(--p2-letter-spacing);text-transform:uppercase;color:var(--color-font-secondary);align-items:baseline;gap:16px;margin-top:16px;display:flex}.case-photo figcaption>img{flex:none;width:11px;height:10px;display:block}.case-photo figcaption>span{overflow-wrap:anywhere;min-width:0}.case-detail-image>img{width:100%;height:100%;position:absolute;inset:0}.project{background:var(--color-surface-3)}@media (width<=1200px){.case-photo{grid-column:1;width:100%;max-width:760px;margin-top:8px}.case-intro-copy{max-width:760px}}@media (width<=700px){.case-intro-copy{--case-body-size:16px}}@media (width<=1200px){.case-heading,.case-section-grid{grid-template-columns:minmax(0,1fr)}.case-metadata{text-align:left;order:-1}.case-intro{max-width:760px}.case-heading{gap:32px}.case-body{max-width:760px}.case-figure{grid-column:1;width:100%;max-width:760px;margin-top:8px}.case-section{padding-block:32px}.case-section-grid>h2{max-width:760px}.case-conversion-results dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){body:has(.case-study-page) .site-nav .nav-logo{padding-inline:16px}.case-content{padding-inline:16px}.case-metadata{display:none}.case-heading{padding-block:24px}.case-results dl,.case-results-highlights{grid-template-columns:minmax(0,1fr);gap:24px}.case-results{gap:24px;margin-block:24px;padding-block:24px}.case-intro>p,.case-body,.case-results dd{--case-body-size:16px}.case-section{gap:16px;padding-block:24px}.case-section-grid{gap:16px}.case-end{margin-inline:-16px;padding-top:40px;padding-bottom:0}.case-more{gap:16px}.case-footer{font-size:var(--p2-font-size);line-height:var(--p2-line-height)}}@media (prefers-reduced-motion:no-preference){.home-page>.product-loop{z-index:3;margin-top:calc(-1.35 * var(--panel-height));background:var(--color-surface-1);position:relative}.home-page>.plastic{z-index:3;background:var(--color-surface-1);position:relative}}@media (width>=1201px) and (prefers-reduced-motion:no-preference){.about.about-scene{height:calc(2 * var(--about-panel-height) + var(--about-scroll-distance,calc(var(--about-panel-height) * 2.916)))}}@media (width<=1200px) and (prefers-reduced-motion:no-preference){.about.about-scene:after{content:"";height:var(--panel-height);display:block}.about-mobile-followup{top:var(--nav-height);min-height:var(--panel-height);position:sticky}}@media (width<=1200px){.about.about-scene{--about-panel-height:calc(100svh - var(--nav-height))}.about-scene .about-runway{height:calc(var(--about-panel-height) * .6)}.about-scene .about-stage{height:100%;min-height:0;position:relative;top:auto}.about-scene .about-scene-content{position:absolute;inset:0}.about-scene .about-mechanism{height:100%;position:absolute;inset:0;overflow:visible}.about-scene .about-copy-window{display:none}.about-mobile-followup{min-height:0;scroll-margin-top:var(--nav-height);gap:48px;position:relative;top:auto}.about-mobile-followup .about-left{will-change:auto;width:100%;max-width:none;min-height:0;padding:0;position:static;left:auto;right:auto;transform:none!important}.about-mobile-followup .about-left>h1,.about-mobile-followup .about-copy,.about-mobile-followup .about-profile{opacity:1;will-change:auto}.about.about-scene:after{display:none}.home-page>.product-loop{margin-top:0}}.about-mobile-heading{display:none}@media (width<=700px){.about-mobile-heading{padding:48px 16px 24px;display:block}.about-mobile-heading>h1{font:500 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:0;color:var(--color-font-primary)}.about-mobile-followup .about-left>h1{display:none}.about-mobile-followup .about-copy{margin-top:0}.about-scene .about-mechanism{height:auto;inset:24px 0}.about-scene .about-mechanism .assembly-drawing-area{width:100%;height:300%;top:-100%;left:0}}.about-inline-metadata{display:none}@media (width>=701px) and (width<=1200px){.about.about-scene{--about-overlap-panels:.65;--about-copy-exit:64}.about-scene .about-runway{height:calc(1.65 * var(--about-panel-height) + var(--about-scroll-distance,0px))}.about-scene .about-stage{top:var(--nav-height);height:var(--about-panel-height);background:0 0;position:sticky;overflow:visible}.about-scene .about-copy-window{background:0 0;display:block;inset:0}.about-scene .about-copy-window .about-left{background:0 0;width:32vw;max-width:400px;left:24px;right:auto}.about-inline-metadata{margin-top:8px;display:block}.about-scene .about-inline-metadata .about-profile{width:100%;max-width:100%;font-size:var(--p2-font-size);line-height:var(--p2-line-height);display:block;position:static}.about-inline-metadata .about-profile>div{grid-template-columns:minmax(0,1fr) auto}.about-inline-metadata .about-profile dt{overflow-wrap:anywhere}.about-scene .about-mechanism{inset:0 0 0 50%}.about-scene .about-mechanism .assembly-drawing-area{--assembly-drawing-width:.55;width:400%;height:300%;top:-100%;left:-150%}.about-mobile-followup{display:none}.about-scene-content>.about-loop-link{display:flex}.about-mobile-followup .about-left,.about-mobile-followup .about-profile{display:none}.about-mobile-followup .about-profile>div{grid-template-columns:minmax(0,1fr) auto}.about-mobile-followup .about-profile dt{overflow-wrap:anywhere}}@media (width>=701px) and (width<=1200px) and (prefers-reduced-motion:no-preference){.home-page>.product-loop{margin-top:calc(-1 * (100svh - var(--nav-height)))}}@media (width>=701px) and (width<=1200px) and (prefers-reduced-motion:reduce){.about-scene .about-runway{height:auto}.about-scene .about-stage{height:auto;min-height:var(--about-panel-height);position:relative;top:auto}.about-scene .about-copy-window{position:relative;overflow:visible}.about-scene .about-copy-window .about-left{padding-block:48px;position:relative}}@media (width<=1200px){html{overscroll-behavior-x:none;overflow-x:clip}body{width:100%;max-width:100%;overflow-x:clip}.site-nav,.site-nav.is-hidden{will-change:auto;pointer-events:auto;transition:none;position:fixed;inset:0 0 auto;transform:none}}.about-scene .about-stage{overflow:clip visible}@media (width<=1200px){.about-scene .about-stage{overflow:visible}}.about-viewport-measure{visibility:hidden;pointer-events:none;contain:strict;width:0;height:100svh;position:absolute}.project-title{font:500 var(--h4-font-size)/var(--h4-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h4-letter-spacing);text-transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.explore:focus-visible,.linkedin-link:focus-visible{outline:2px solid var(--red);outline-offset:6px}.work:focus{outline:none}.linkedin-link{border:.5px solid var(--color-font-primary);min-height:44px;color:var(--color-font-primary);font:500 var(--p2-font-size)/var(--p2-line-height) var(--font-mono);letter-spacing:var(--p2-letter-spacing);background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;padding:8px 16px;transition:background-color .2s,color .2s;display:inline-flex}.linkedin-link:hover{background:var(--color-surface-strong);border-color:var(--color-surface-strong);color:var(--color-surface-1)}.explore:hover,.explore:hover>span,.loop-carousel-indicator:hover{color:var(--color-control-hover)}.progressive-image-preview{filter:blur(10px);pointer-events:none}.case-figure .progressive-image-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.progressive-image-full[data-image-state=pending],.progressive-image-preview[data-image-state=ready],.progressive-image-preview[data-image-state=error]{opacity:0}.progressive-image-full[data-image-animate=true],.progressive-image-preview[data-image-animate=true]{transition:opacity .45s,transform .75s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.progressive-image-full,.progressive-image-preview{transition:none!important}}@media (width>=1921px){:root{--display-font-size:clamp(160px,calc(80px + 4.16667vw),320px);--h1-font-size:clamp(42px,calc(21px + 1.09375vw),84px);--h2-font-size:clamp(32px,calc(16px + .833333vw),64px);--h3-alt-font-size:clamp(24px,calc(12px + .625vw),48px);--h3-alt-line-height:clamp(32px,calc(16px + .833333vw),64px);--h4-font-size:clamp(22px,calc(11px + .572917vw),44px);--h4-line-height:var(--h3-alt-line-height);--p2-font-size:clamp(16px,calc(8px + .416667vw),32px);--p2-line-height:clamp(30px,calc(15px + .78125vw),60px);--gutter:clamp(48px,calc(24px + 1.25vw),96px);--gallery-gap:clamp(24px,calc(12px + .625vw),48px);--nav-height:clamp(64px,calc(32px + 1.66667vw),128px)}.site-nav{height:var(--nav-height)}.site-nav>div>a{line-height:var(--h4-line-height)}.hero-copy h1{font-size:min(var(--display-font-size),calc((100vw - 2 * var(--gutter)) / 11.5),20dvh)}.about-scene .about-left{gap:var(--gutter);max-width:clamp(400px,200px + 10.4167vw,800px)}.about-scene .about-copy{gap:var(--h4-line-height)}.work>h1,.plastic-heading h2,.plastic-heading .copy-subtitle{max-width:clamp(720px,360px + 18.75vw,1440px)}.hero-copy p{max-width:clamp(1440px,720px + 37.5vw,2880px)}.contact-heading .copy-subtitle{max-width:clamp(520px,260px + 13.5417vw,1040px)}.case-content{max-width:clamp(1440px,720px + 37.5vw,2880px);padding-inline:var(--gutter)}.case-intro>p,.case-body,.case-results dd,.case-intro-copy{--case-body-size:clamp(18px,calc(9px + .46875vw),36px);line-height:clamp(28px,14px + .729167vw,56px)}.case-results dd{max-width:clamp(360px,180px + 9.375vw,720px)}.case-section-grid>h2{max-width:clamp(640px,320px + 16.6667vw,1280px)}.gallery-track{grid-template-rows:repeat(2,clamp(360px,180px + 9.375vw,720px))}}.about-left>h1,.about-mobile-heading>h1{color:var(--color-font-primary);margin:0}@media (width<=480px){.about-mobile-followup .about-profile{width:100vw;max-width:none;margin-inline:-16px;padding-inline:16px}.about-mobile-followup .about-profile>div{grid-template-columns:minmax(0,1fr) auto}}.work>h1{font:500 var(--h1-font-size)/var(--h1-line-height) var(--font-sans);font-variation-settings:"wdth" 110;letter-spacing:var(--h1-letter-spacing);color:var(--color-font-primary);margin:0}@media (prefers-reduced-motion:no-preference){.about-profile .metadata-type,.about-profile.is-typing .metadata-type{clip-path:inset(0 calc(100% - var(--metadata-reveal,0%)) 0 0);animation:none}.about-profile .status-ellipsis,.about-profile.is-typing .status-ellipsis{visibility:var(--metadata-status-visibility,hidden);animation:none}}.about-scene .about-copy{margin-top:-8px}@media (width>=1921px){.about-scene .about-copy{margin-top:calc(var(--gutter) * .25 - 20px)}}@media (width>=701px) and (width<=1200px){.about-scene .about-copy{margin-top:6px}}@media (width<=700px){.about-mobile-heading{padding-top:clamp(96px,25svh,240px);padding-bottom:30px}.about-mobile-followup{padding-top:60px}.about-scene .about-copy{margin-top:0}}.hero-copy strong{white-space:normal;vertical-align:baseline;max-width:100%;display:inline-block}.about-left>h1,.about-mobile-heading>h1,.work>h1,.contact-heading h1,.case-intro h1{line-height:calc(var(--h1-line-height) + 4px)}.hero-copy h1{line-height:calc(1em + 4px)}@media (width<=1200px){.hero-copy h1{line-height:calc(1.04em + 4px)}}@media (width>=1921px){.about-left>h1,.about-mobile-heading>h1,.work>h1,.contact-heading h1,.case-intro h1{line-height:calc(1.19em + 4px)}}@media (width<=700px){.hero-copy strong{display:inline}.about.about-scene{background-color:var(--color-surface-2);background-image:linear-gradient(to bottom,var(--color-surface-1),var(--color-surface-2));background-position:top;background-repeat:no-repeat;background-size:100% clamp(160px,30svh,320px)}.about-mobile-heading{padding-bottom:16px}.about-scene .about-mechanism{inset:8px 0}.about-mobile-followup{padding-top:24px}}
